UNPKG

@tricoteuses/assemblee

Version:

Retrieve, clean up & handle French Assemblée nationale's open data

425 lines (424 loc) 12.5 kB
import { Acteur, Mandat, Organe } from "./acteurs_et_organes"; import { PointOdj, Reunion } from "./agendas"; import { Scrutin } from "./scrutins"; import { CodeActe } from "../shared_types/codes_actes"; export interface DossiersLegislatifs { textesLegislatifs: Document[]; dossiersParlementaires: DossierParlementaire[]; } export interface DossierParlementaire { schemaVersion?: string; xsiType?: DossierParlementaireXsiType; uid: string; legislature: string; titreDossier: TitreDossier; procedureParlementaire: ProcedureParlementaire; initiateur?: Initiateur; actesLegislatifs?: ActeLegislatif[]; fusionDossier?: FusionDossier; indexation?: Indexation; plf?: EtudePlf[]; } export declare enum DossierParlementaireXsiType { DossierCommissionEnqueteType = "DossierCommissionEnquete_Type", DossierIniativeExecutifType = "DossierIniativeExecutif_Type", DossierLegislatifType = "DossierLegislatif_Type", DossierMissionControleType = "DossierMissionControle_Type", DossierMissionInformationType = "DossierMissionInformation_Type", DossierResolutionAn = "DossierResolutionAN" } export interface EtudePlf { uid: string; organeRef: string; texteAssocie?: string; rapporteurs?: Rapporteur[]; missionMinefi?: MissionMinefi; ordreDiqs: string; ordreCommission: string; } export interface MissionMinefi { typeMission: TypeMission; codeMission?: string; libelleLong: string; libelleCourt: string; typeBudget: TypeBudget; missions?: MissionMinefi[]; } 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 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 declare enum TypeActeLegislatif { 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", RenvoiCmpType = "RenvoiCMP_Type", RenvoiPrealableType = "RenvoiPrealable_Type", RetraitInitiativeType = "RetraitInitiative_Type", SaisieComAvisType = "SaisieComAvis_Type", SaisieComFondType = "SaisieComFond_Type", SaisineConseilConstitType = "SaisineConseilConstit_Type" } export interface ActeLegislatif { xsiType: TypeActeLegislatif; uid: string; codeActe: CodeActe; libelleActe: LibelleActe; organeRef?: string; organe?: Organe; dateActe?: Date; anneeDecision?: string; auteurMotion?: string; auteursRefs?: string[]; casSaisine?: TypeDeclaration; codeLoi?: string; contributionInternaute?: ContributionInternaute; decision?: TypeDeclaration; depotInitialLectureDefinitiveRef?: string; depotInitialLectureDefinitive?: Document; formuleDecision?: string; infoJo?: InfoJo; infoJoce?: InfoJoce; infoJoRect?: InfoJo[]; initiateur?: Initiateur; motif?: Motif; numDecision?: string; odjRef?: string; odj?: PointOdj; provenanceRef?: string; provenance?: Organe; rapporteurs?: Rapporteur[]; referenceNor?: string; reunionRef?: string; reunion?: Reunion; statutAdoption?: TypeDeclaration; statutConclusion?: TypeDeclaration; texteAdopteRef?: string; texteAdopte?: Document; texteAssocieRef?: string; texteAssocie?: Document; texteEuropeen?: TexteEuropeen; texteExterneAssocie?: TexteExterneAssocie; texteLoiRef?: string; textesAssocies?: TexteAssocie[]; titreLoi?: string; typeDeclaration?: TypeDeclaration; typeMotion?: TypeDeclaration; typeMotionCensure?: TypeDeclaration; urlConclusion?: string; urlEcheancierLoi?: string; urlLegifrance?: string; voteRefs?: string[]; votes?: Scrutin[]; actesLegislatifs?: ActeLegislatif[]; } export interface LibelleActe { nomCanonique: string; libelleCourt?: string; } export interface Rapporteur { acteurRef: string; acteur?: Acteur; typeRapporteur: Qualite; etudePlfRef?: string; } export interface TypeDeclaration { famCode: string; libelle: string; } export interface TexteAssocie { typeTexte: TypeTexte; texteAssocieRef: string; texteAssocie?: Document; } export declare enum TypeTexte { Bta = "BTA", Tap = "TAP" } export interface ContributionInternaute { dateOuverture?: string; dateFermeture?: string; } export interface InfoJoce { refJoce: string; dateJoce: string; } export interface InitiateurActeur { acteurRef: string; acteur?: Acteur; mandatRef?: string; mandat?: Mandat; } export declare enum Motif { EnApplicationDeLArticle612DeLaConstitution = "En application de l'article 61\u00A72 de la Constitution" } export interface TexteEuropeen { typeTexteEuropeen: string; titreTexteEuropeen: string; } export interface InfoJo { typeJo: TypeJo; dateJo: string; numJo: string; urlLegifrance?: string; referenceNor?: string; } export declare enum TypeJo { JoLoiDecret = "JO_LOI_DECRET" } export interface InfoJoRectElement { typeJo: TypeJo; dateJo: string; numJo: string; } export interface FusionDossier { cause: Cause; dossierAbsorbantRef: string; } export declare enum Cause { DossierAbsorbé = "Dossier absorb\u00E9", ExamenCommun = "Examen commun" } export interface Indexation { themes: Themes; } export interface Themes { "@niveau": string; theme: Theme; } export interface Theme { libelleTheme: string; } export interface Initiateur { acteurs?: InitiateurActeur[]; organeRef?: string; organe?: Organe; } export interface ProcedureParlementaire { code: string; libelle: string; } export interface TitreDossier { titre: string; titreChemin?: string; senatChemin?: string; } export interface TexteExterneAssocie { typeDoc: TexteExterneAssocieTypeDoc; texteRef: string; titreDoc: string; urlDoc: string; } export declare enum TexteExterneAssocieTypeDoc { Decret = "D\u00E9cret" } export interface Document { schemaVersion?: string; xsiType: TypeDocument; uid: string; legislature?: string; cycleDeVie: CycleDeVie; denominationStructurelle: DocumentDenominationStructurelle; provenance?: Provenance; titres: Titres; divisions?: Division[]; dossierRef: string; dossier?: DossierParlementaire; classification: Classification; auteurs: Auteur[]; correction?: Correction; notice: Notice; indexation?: Indexation; imprimerie?: Imprimerie; coSignataires?: CoSignataireElement[]; depotAmendements?: DepotAmendements; organesReferents?: string[]; rapportPublie?: boolean; subdivisions?: Subdivision[] | null; } export declare enum TypeDocument { AccordInternationalType = "accordInternational_Type", AvisConseilEtatType = "avisConseilEtat_Type", DocumentEtudeImpactType = "documentEtudeImpact_Type", RapportParlementaireType = "rapportParlementaire_Type", TexteLoiType = "texteLoi_Type" } export interface Subdivision { id: string; type?: string; niveau: number; niveauRelatif: number; titres?: ContenuSubdivision[]; alineas?: ContenuSubdivision[]; } export interface ContenuSubdivision { texte?: string; html?: string; } export interface Auteur { acteur?: AuteurActeur; organeRef?: string; organe?: Organe; } export interface AuteurActeur { acteurRef: string; acteur?: Acteur; qualite: Qualite; } export interface Classification { famille?: Famille; type: ProcedureParlementaire; sousType?: SousType; statutAdoption?: StatutAdoption; } export interface Famille { depot: ProcedureParlementaire; classe: ProcedureParlementaire; espece?: ProcedureParlementaire; } export interface SousType { code: string; libelle?: string; libelleEdition?: string; } export declare enum StatutAdoption { Adoptcom = "ADOPTCOM", Adoptseance = "ADOPTSEANCE", Rejetseance = "REJETSEANCE" } export interface CoSignataireElement { acteurRef?: string; dateCosignature: string; dateRetraitCosignature?: string; edite: boolean; organe?: CoSignataireOrgane; } export interface CoSignataireOrgane { organeRef: string; etApparentes: boolean; } 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; datePublication?: Date; datePublicationWeb?: Date; } 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 { organeRef: string; amendable: boolean; } export interface AmendementsSeance { amendable: boolean; } export interface Division { xsiType: TypeDocument; uid: string; legislature?: string; cycleDeVie: CycleDeVie; denominationStructurelle: string; titres: Titres; divisions?: Division[]; dossierRef: string; dossier?: DossierParlementaire; classification: Classification; auteurs: Auteur[]; organesReferents?: string[]; correction?: Correction; notice: Notice; indexation?: Indexation; imprimerie?: Imprimerie; rapportPublie?: boolean; } export interface Imprimerie { dian?: string; isbn?: string; nbPage?: string; prix?: string; } export interface Notice { numNotice?: string; formule?: string; adoptionConforme: boolean; } export interface Titres { titrePrincipal: string; titrePrincipalCourt: string; } export declare enum Provenance { Commission = "Commission", Séance = "S\u00E9ance", TexteDéposé = "Texte D\u00E9pos\u00E9" } export declare class Convert { static toDossiersLegislatifs(json: string): DossiersLegislatifs; static dossiersLegislatifsToJson(value: DossiersLegislatifs): string; static toDocument(json: string): Document; static documentToJson(value: Document): string; static toDossierParlementaire(json: string): DossierParlementaire; static dossierParlementaireToJson(value: DossierParlementaire): string; }