@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
204 lines (203 loc) • 4.58 kB
TypeScript
export interface Questions {
questions: Question[];
}
/**
* Question.
*
* Questions écrites ou question au gouvernement posées par les députés.
*/
export interface Question {
schemaVersion?: string;
/**
* Type de question (QuestionEcrite_Type, QuestionGouvernement_Type, QuestionOrale_Type).
*/
"@xsi:type": QuestionXsiType;
/**
* Identifiant unique.
*/
uid: string;
identifiant: Identifiant;
/**
* Type de question abrégé (QE, QG, QOSD).
*/
type: TypeQuestion;
indexationAN: IndexationAn;
auteur: AuteurQuestion;
minInt: Groupe;
minAttribs: MinAttribs;
textesQuestion?: TextesQuestion | null;
textesReponse?: TextesReponse | null;
cloture?: Cloture | null;
signalement?: Signalement | null;
renouvellements?: Renouvellements | null;
}
export declare enum QuestionXsiType {
QuestionEcrite = "QuestionEcrite_Type",
QuestionGouvernement = "QuestionGouvernement_Type",
QuestionOrale = "QuestionOrale_Type"
}
/**
* Auteur d'une question.
*/
export interface AuteurQuestion {
/**
* Identité de l'auteur.
*/
identite: IdentiteAuteurQuestion;
/**
* Groupe politique de l'auteur.
*/
groupe: Groupe;
}
/**
* Groupe politique de l'auteur.
*/
export interface Groupe {
/**
* Identifiant unique de l'{@link Organe | organe}
*/
organeRef: string;
abrege: string;
developpe: string;
}
/**
* Identité de l'auteur.
*/
export interface IdentiteAuteurQuestion {
/**
* Identifiant unique de l'{@link Acteur | acteur}
*/
acteurRef: string;
/**
* Identifiant unique du {@link Mandat | mandat}
*/
mandatRef: string;
}
/**
* Champs liés à la cloture de la question.
*/
export interface Cloture {
/**
* Code de la clôture.
*/
codeCloture: string;
/**
* Libellé de la clôture.
*/
libelleCloture: string;
/**
* Date de clôture.
*/
dateCloture: Date;
/**
* Informations Journal Officiel liées à la clôture.
*/
infoJO: InfoJoQuestion | null;
}
/**
* TypeQuestion de Journal Officiel.
*/
export declare enum TypeJoQuestion {
JoQuestion = "JO_QUESTION",
JoLoiDecret = "JO_LOI_DECRET",
JoDebate = "JO_DEBAT"
}
export interface Identifiant {
numero: string;
regime: string;
legislature: string;
}
export interface IndexationAn {
rubrique: string | null;
teteAnalyse: null;
analyses: Analyse;
}
export interface Analyse {
analyse: string | null;
}
export interface MinAttribs {
minAttrib: MinAttribElement[] | MinAttribElement;
}
/**
* MinAttribElement.
*/
export interface MinAttribElement {
infoJO: InfoJoQuestion;
denomination: Groupe;
}
export interface TextesQuestion {
texteQuestion: TexteQuestion[] | TexteQuestion;
}
/**
* Contenu de la question ou de la réponse.
*/
export interface TexteQuestion {
infoJO: InfoJoQuestion;
texte: string | null;
erratum?: string;
}
/**
* Champs liés à la publication d'un texte promulgué au journal officiel.
*/
export interface InfoJoQuestion {
/**
* Type de Journal Officiel.
*/
typeJO: TypeJoQuestion | null;
/**
* Date de publication au Journal Officiel.
*/
dateJO: Date;
/**
* Page du Journal Officiel.
*/
pageJO: string | null;
/**
* Numéro du Journal Officiel.
*/
numJO: string | null;
/**
* URL du texte promulgué sur le site https://www.legifrance.gouv.fr/
*/
urlLegifrance: string | null;
/**
* Numéro {@link https://fr.wikipedia.org/wiki/Syst%C3%A8me_NOR | NOR} attribué au texte promulgué.
*/
referenceNOR: string | null;
}
export interface TextesReponse {
texteReponse: TexteQuestion[] | TexteQuestion;
}
/**
* Signalement.
*/
export interface Signalement {
/**
* Date de dépôt du signalement.
*/
dateDepotSignal: string;
/**
* Informations Journal Officiel du signalement.
*/
infoJO: InfoJoQuestion;
}
export interface Renouvellements {
renouvellement: Renouvellement[] | Renouvellement;
}
/**
* Renouvellement.
*/
export interface Renouvellement {
infoJO: InfoJoQuestion;
}
export declare enum TypeQuestion {
Qe = "QE",
Qg = "QG",
Qosd = "QOSD"
}
export declare class Convert {
static toQuestions(json: string): Questions;
static questionsToJson(value: Questions): string;
static toQuestion(json: string): Question;
static questionToJson(value: Question): string;
}