@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
425 lines (424 loc) • 12.5 kB
TypeScript
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;
}