@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
568 lines (567 loc) • 16.7 kB
TypeScript
import { CodeActe } from '../shared_types/dossiers_legislatifs';
export interface Document {
document: DocumentDocument | DocumentSupprime;
}
export interface DocumentDocument {
"@xmlns": string;
"@xmlns:xsi": string;
"@xsi:type": DocumentXsiType;
uid: string;
legislature: null | string;
cycleDeVie: CycleDeVie;
denominationStructurelle: DocumentDenominationStructurelle;
provenance?: Provenance;
titres: Titres;
divisions: Divisions | null;
dossierRef: string;
redacteur: null;
classification: Classification;
auteurs: Auteurs;
correction: Correction | null;
notice: Notice;
indexation: Indexation | null;
imprimerie: Imprimerie | null;
coSignataires?: CoSignataires | null;
depotAmendements?: DepotAmendements | null;
organesReferents?: OrganesReferents | null;
rapportPublie?: string;
}
export interface DocumentSupprime {
"@xmlns": string;
"@xmlns:xsi": string;
"@xsi:type": DocumentXsiType;
uid: string;
metadatas: DocumentSupprimeMetadata;
}
export interface DocumentSupprimeMetadata {
dateSuppression: Date;
}
export declare enum DocumentXsiType {
AccordInternationalType = "accordInternational_Type",
AvisConseilEtatType = "avisConseilEtat_Type",
DocumentEtudeImpactType = "documentEtudeImpact_Type",
RapportParlementaireType = "rapportParlementaire_Type",
TexteLoiType = "texteLoi_Type"
}
export interface Auteurs {
auteur: AuteurElement[] | AuteurElement;
}
export interface AuteurElement {
acteur?: AuteurActeur;
organe?: AuteurOrgane;
}
export interface AuteurActeur {
acteurRef: string;
qualite: Qualite;
}
export declare enum Qualite {
Auteur = "auteur",
Cosignataire = "cosignataire",
Rapporteur = "rapporteur",
RapporteurGénéral = "rapporteur g\u00E9n\u00E9ral",
RapporteurPourAvis = "rapporteur pour avis",
RapporteurSpécial = "rapporteur sp\u00E9cial"
}
export interface AuteurOrgane {
organeRef: string;
}
export interface Classification {
famille: Famille | null;
type: ProcedureParlementaire;
sousType: SousType | null;
statutAdoption: StatutAdoption | null;
}
export interface Famille {
depot: ProcedureParlementaire;
classe: ProcedureParlementaire;
espece?: ProcedureParlementaire;
}
export interface ProcedureParlementaire {
code: string;
libelle: string;
}
export interface SousType {
code: Code;
libelle?: string;
libelleEdition?: string;
}
export declare enum Code {
Accpresrp = "ACCPRESRP",
Appart1515 = "APPART1515",
Appart341 = "APPART341",
Apploi = "APPLOI",
Aue = "AUE",
Autratconv = "AUTRATCONV",
Avecvote = "AVECVOTE",
Censure492 = "CENSURE492",
Censure493 = "CENSURE493",
Comenq = "COMENQ",
Compa = "COMPA",
Comspcpte = "COMSPCPTE",
Const = "CONST",
Ctrlbudg = "CTRLBUDG",
Divers = "DIVERS",
Engresptxt = "ENGRESPTXT",
Enqu = "ENQU",
Fin = "FIN",
Fingest = "FINGEST",
Finrect = "FINRECT",
Finssoc = "FINSSOC",
Finssocrec = "FINSSOCREC",
Impactlois = "IMPACTLOIS",
Legdelegan = "LEGDELEGAN",
Minfocomper = "MINFOCOMPER",
Modregltan = "MODREGLTAN",
Noteopecst = "NOTEOPECST",
Offparl = "OFFPARL",
Org = "ORG",
Petition = "PETITION",
Presidage = "PRESIDAGE",
Presidass = "PRESIDASS",
Presidrep = "PRESIDREP",
Propactcom = "PROPACTCOM",
Prpdit = "PRPDIT",
Rect = "RECT",
Refart11 = "REFART11",
Rgltbudg = "RGLTBUDG",
Rgltbudg2 = "RGLTBUDG2",
Supp = "SUPP",
Suspours = "SUSPOURS",
Tvxinstiteurop = "TVXINSTITEUROP"
}
export declare enum StatutAdoption {
Adoptcom = "ADOPTCOM",
Adoptseance = "ADOPTSEANCE",
Rejetseance = "REJETSEANCE"
}
export interface CoSignataires {
coSignataire: CoSignataireElement[] | CoSignataireElement;
}
export interface CoSignataireElement {
acteur?: CoSignataireActeur;
dateCosignature: string;
dateRetraitCosignature: null | string;
edite: string;
organe?: CoSignataireOrgane;
}
export interface CoSignataireActeur {
acteurRef: string;
}
export interface InitiateursRefs {
acteurRef?: string;
organeRef?: string;
}
export interface CoSignataireOrgane {
organeRef: string;
etApparentes: string;
}
export interface Correction {
typeCorrection: TypeCorrection;
niveauCorrection?: string;
}
export declare enum TypeCorrection {
Rectifié = "Rectifi\u00E9"
}
export interface CycleDeVie {
chrono: Chrono;
}
export interface Chrono {
dateCreation: Date;
dateDepot: Date | null;
datePublication: Date | null;
datePublicationWeb: Date | null;
}
export declare enum DocumentDenominationStructurelle {
Allocution = "Allocution",
Avis = "Avis",
Déclaration = "D\u00E9claration",
Lettre = "Lettre",
Message = "Message",
Motion = "Motion",
ProjetDeLoi = "Projet de loi",
PropositionDeLoi = "Proposition de loi",
PropositionDeRésolution = "Proposition de r\u00E9solution",
Rapport = "Rapport",
RapportDInformation = "Rapport d'information",
Résolution = "R\u00E9solution"
}
export interface DepotAmendements {
amendementsSeance: AmendementsSeance;
amendementsCommission?: AmendementsCommission;
}
export interface AmendementsCommission {
commission: CommissionElement[] | CommissionElement;
}
export interface CommissionElement {
organeRef: string;
amendable: string;
dateLimiteDepot: null;
}
export interface AmendementsSeance {
amendable: string;
dateLimiteDepot: null;
}
export interface Divisions {
division: Division[] | Division;
}
export interface Division {
"@xsi:type": DocumentXsiType;
uid: string;
legislature: null | string;
cycleDeVie: CycleDeVie;
denominationStructurelle: string;
titres: Titres;
divisions: Divisions | null;
dossierRef: string;
redacteur: null;
classification: Classification;
auteurs: Auteurs;
organesReferents?: OrganesReferents | null;
correction: Correction | null;
notice: Notice;
indexation: Indexation | null;
imprimerie: Imprimerie | null;
coSignataires?: null;
depotAmendements?: null;
rapportPublie?: string;
}
export interface Imprimerie {
DIAN?: null | string;
ISBN?: null | string;
ISSN?: null | string;
nbPage?: null | string;
prix: null | string;
}
export interface Notice {
numNotice?: string;
formule?: string;
adoptionConforme: string;
}
export interface Titres {
titrePrincipal: string;
titrePrincipalCourt: string;
}
export interface OrganesReferents {
organeRef: string[] | string;
}
export declare enum Provenance {
Commission = "Commission",
Séance = "S\u00E9ance",
TexteDéposé = "Texte D\u00E9pos\u00E9"
}
export interface DossierParlementaire {
dossierParlementaire: DossierParlementaireDossierParlementaire;
}
export interface DossierParlementaireDossierParlementaire {
"@xmlns": string;
"@xmlns:xsi": string;
"@xsi:type": DossierParlementaireXsiType;
uid: string;
legislature: string;
titreDossier: TitreDossier;
procedureParlementaire: ProcedureParlementaire;
initiateur: Initiateur | null;
actesLegislatifs: ActesLegislatifs | null;
indexation?: Indexation;
fusionDossier: FusionDossier | null;
PLF?: Plf;
}
export declare enum DossierParlementaireXsiType {
DossierCommissionEnqueteType = "DossierCommissionEnquete_Type",
DossierIniativeExecutifType = "DossierIniativeExecutif_Type",
DossierLegislatifType = "DossierLegislatif_Type",
DossierMissionControleType = "DossierMissionControle_Type",
DossierMissionInformationType = "DossierMissionInformation_Type",
DossierResolutionAn = "DossierResolutionAN"
}
export interface Plf {
EtudePLF: EtudePlf[];
}
export interface EtudePlf {
uid: string;
organeRef: string;
texteAssocie?: string;
rapporteur?: Rapporteur[] | Rapporteur;
missionMinefi?: MissionMinefiElement;
ordreDIQS: string;
ordreCommission: string;
}
export interface Missions {
mission: MissionMinefiElement[] | MissionMinefiElement;
}
export interface MissionMinefiElement {
typeMission: TypeMission;
codeMission?: string;
libelleLong: string;
libelleCourt: string;
typeBudget: TypeBudget;
missions?: Missions;
}
export declare enum TypeBudget {
BudgetAnnexe = "Budget annexe",
BudgetGénéral = "Budget g\u00E9n\u00E9ral",
CompteDeConcoursFinancier = "Compte de concours financier",
CompteSpécial = "Compte sp\u00E9cial",
PremièrePartie = "Premi\u00E8re partie"
}
export declare enum TypeMission {
MissionPrincipale = "mission principale",
MissionSecondaire = "mission secondaire",
PartieDeMission = "partie de mission"
}
export interface ActesLegislatifs {
acteLegislatif: ActeLegislatif[] | ActeLegislatif;
}
export interface ActeLegislatif {
"@xsi:type": ActeLegislatifXsiType;
uid: string;
codeActe: CodeActe;
libelleActe: LibelleActe;
organeRef?: string;
dateActe: Date | null;
actesLegislatifs: ActesLegislatifs | null;
texteAssocie?: string;
contributionInternaute?: ContributionInternaute;
provenance?: string;
depotInitialLectureDefinitiveRef?: null | string;
initiateur?: Initiateur;
statutConclusion?: FamCodeEtLibelle;
reunionRef?: string | null;
odjRef?: string | null;
odSeancejRef?: null;
voteRefs?: VoteRefs | null;
textesAssocies?: TextesAssocies;
rapporteurs?: Rapporteurs;
reunion?: null;
texteAdopte?: null | string;
casSaisine?: FamCodeEtLibelle;
decision?: FamCodeEtLibelle;
formuleDecision?: string;
initiateurs?: InitiateursRefs | null;
motif?: Motif;
urlConclusion?: string;
numDecision?: string;
anneeDecision?: string;
typeDeclaration?: FamCodeEtLibelle;
typeMotionCensure?: FamCodeEtLibelle;
auteurs?: ActeLegislatifAuteurs | null;
typeMotion?: FamCodeEtLibelle;
auteurMotion?: string;
dateRetrait?: null;
texteLoiRef?: string;
infoJO?: InfoJoElement | null;
urlEcheancierLoi?: null | string;
codeLoi?: string;
titreLoi?: string | null;
infoJORect?: InfoJoElement[] | InfoJoElement;
texteEuropeen?: TexteEuropeen;
infoJOCE?: InfoJoce;
statutAdoption?: FamCodeEtLibelle;
urlLegifrance?: string;
referenceNOR?: string;
texteExterneAssocie?: TexteExterneAssocie;
}
export declare enum ActeLegislatifXsiType {
AdoptionEuropeType = "Adoption_Europe_Type",
ConclusionEtapeCcType = "ConclusionEtapeCC_Type",
ConvocationCongresType = "ConvocationCongres_Type",
CreationOrganeTemporaireType = "CreationOrganeTemporaire_Type",
DecisionMotionCensureType = "DecisionMotionCensure_Type",
DecisionRecevabiliteBureauType = "DecisionRecevabiliteBureau_Type",
DecisionType = "Decision_Type",
DeclarationGouvernementType = "DeclarationGouvernement_Type",
DepotAccordInternationalType = "DepotAccordInternational_Type",
DepotAvisConseilEtatType = "DepotAvisConseilEtat_Type",
DepotInitiativeNavetteType = "DepotInitiativeNavette_Type",
DepotInitiativeType = "DepotInitiative_Type",
DepotLettreRectificativeType = "DepotLettreRectificative_Type",
DepotMotionCensureType = "DepotMotionCensure_Type",
DepotMotionReferendaireType = "DepotMotionReferendaire_Type",
DepotRapportType = "DepotRapport_Type",
DiscussionCommissionType = "DiscussionCommission_Type",
DiscussionSeancePubliqueType = "DiscussionSeancePublique_Type",
EtapeType = "Etape_Type",
EtudeImpactType = "EtudeImpact_Type",
MotionProcedureType = "MotionProcedure_Type",
NominRapporteursType = "NominRapporteurs_Type",
ProcedureAccelereType = "ProcedureAccelere_Type",
PromulgationType = "Promulgation_Type",
RenvoiPrealableType = "RenvoiPrealable_Type",
RenvoiCmpType = "RenvoiCMP_Type",
RetraitInitiativeType = "RetraitInitiative_Type",
SaisieComAvisType = "SaisieComAvis_Type",
SaisieComFondType = "SaisieComFond_Type",
SaisineConseilConstitType = "SaisineConseilConstit_Type"
}
export interface LibelleActe {
nomCanonique: string;
libelleCourt?: string;
}
export interface Rapporteur {
acteurRef: string;
typeRapporteur: Qualite;
etudePLFRef?: string;
}
export interface Rapporteurs {
rapporteur: Rapporteur[] | Rapporteur;
}
export interface FamCodeEtLibelle {
fam_code: string;
libelle?: string;
}
export interface Rapporteurs {
rapporteur: Rapporteur[] | Rapporteur;
}
export interface TextesAssocies {
texteAssocie: TexteAssocieElement[] | TexteAssocieElement;
}
export interface TexteAssocieElement {
typeTexte: TypeTexte;
refTexteAssocie: string;
}
export declare enum TypeTexte {
Bta = "BTA",
Tap = "TAP"
}
export interface VoteRefs {
voteRef: string[] | string;
}
export interface ActeLegislatifAuteurs {
acteurRef: string[] | string;
}
export interface ContributionInternaute {
dateFermeture: null | string;
dateOuverture?: string;
}
export interface ActeurElement {
acteurRef: string;
mandatRef: string;
}
export declare enum Motif {
EnApplicationDeLArticle612DeLaConstitution = "En application de l'article 61\u00A72 de la Constitution"
}
export interface InfoJoElement {
typeJO: TypeJo;
dateJO: string;
pageJO: null;
numJO: string;
urlLegifrance?: string;
referenceNOR?: string;
}
export declare enum TypeJo {
JoLoiDecret = "JO_LOI_DECRET"
}
export interface FusionDossier {
cause: Cause;
dossierAbsorbantRef: string;
}
export declare enum Cause {
DossierAbsorbé = "Dossier absorb\u00E9",
ExamenCommun = "Examen commun"
}
export interface Initiateur {
acteurs?: InitiateurActeurs;
organes?: Organes;
}
export interface InitiateurActeurs {
acteur: ActeurElement[] | ActeurElement;
}
export interface Organes {
organe: OrganesOrgane;
}
export interface OrganesOrgane {
organeRef: OrganeRefClass;
}
export interface OrganeRefClass {
uid: string;
}
export interface TitreDossier {
titre: string;
titreChemin: null | string;
senatChemin: null | string;
}
export interface DossiersLegislatifs {
export: Export;
}
export interface Export {
"@xmlns:xsi": string;
textesLegislatifs: TextesLegislatifs;
dossiersLegislatifs: DossiersLegislatifsClass;
}
export interface DossiersLegislatifsClass {
dossier: Dossier[];
}
export interface Dossier {
dossierParlementaire: DossierDossierParlementaire;
}
export interface DossierDossierParlementaire {
"@xsi:type"?: DossierParlementaireXsiType;
uid: string;
legislature: string;
titreDossier: TitreDossier;
procedureParlementaire: ProcedureParlementaire;
initiateur: Initiateur | null;
actesLegislatifs: ActesLegislatifs;
indexation?: Indexation;
fusionDossier: FusionDossier | null;
PLF?: Plf;
}
export interface InfoJoce {
refJOCE: string;
dateJOCE: string;
}
export interface TexteEuropeen {
typeTexteEuropeen: string;
titreTexteEuropeen: string;
}
export interface Indexation {
themes: Themes;
}
export interface Themes {
"@niveau": string;
theme: Theme;
}
export interface Theme {
libelleTheme: string;
}
export interface TextesLegislatifs {
document: DocumentElement[];
}
export interface DocumentElement {
"@xsi:type": DocumentXsiType;
uid: string;
legislature: null | string;
cycleDeVie: CycleDeVie;
denominationStructurelle: DocumentDenominationStructurelle;
provenance?: Provenance;
titres: Titres;
divisions: Divisions | null;
dossierRef: string;
redacteur: null;
classification: Classification;
auteurs: Auteurs;
correction: Correction | null;
notice: Notice;
indexation: Indexation | null;
imprimerie: Imprimerie | null;
coSignataires?: CoSignataires | null;
depotAmendements?: DepotAmendements | null;
rapportPublie?: string;
}
export interface TexteExterneAssocie {
typeDoc: TexteExterneAssocieTypeDoc;
texteRef: string;
titreDoc: string;
urlDoc: string;
}
export declare enum TexteExterneAssocieTypeDoc {
Decret = "D\u00E9cret"
}
export declare class Convert {
static toDocument(json: string): Document;
static documentToJson(value: Document): string;
static toDossierParlementaire(json: string): DossierParlementaire;
static dossierParlementaireToJson(value: DossierParlementaire): string;
static toDossiersLegislatifs(json: string): DossiersLegislatifs;
static dossiersLegislatifsToJson(value: DossiersLegislatifs): string;
}