@tricoteuses/senat 3.1.18 → 3.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/lib/src/config.d.ts +0 -22
  2. package/lib/src/config.js +7 -17
  3. package/lib/src/conversion_textes.js +1 -5
  4. package/lib/src/databases.d.ts +2 -0
  5. package/lib/src/databases.js +26 -0
  6. package/lib/src/datasets.d.ts +0 -4
  7. package/lib/src/datasets.js +2 -16
  8. package/lib/src/git.d.ts +0 -1
  9. package/lib/src/git.js +11 -45
  10. package/lib/src/loaders.d.ts +12 -12
  11. package/lib/src/loaders.js +8 -14
  12. package/lib/src/model/agenda.d.ts +1 -1
  13. package/lib/src/model/agenda.js +3 -3
  14. package/lib/src/model/ameli.d.ts +52 -64
  15. package/lib/src/model/ameli.js +145 -147
  16. package/lib/src/model/commission.d.ts +4 -5
  17. package/lib/src/model/commission.js +6 -6
  18. package/lib/src/model/debats.d.ts +66 -38
  19. package/lib/src/model/debats.js +93 -110
  20. package/lib/src/model/documents.d.ts +12 -32
  21. package/lib/src/model/documents.js +130 -171
  22. package/lib/src/model/dosleg.d.ts +5 -142
  23. package/lib/src/model/dosleg.js +156 -298
  24. package/lib/src/model/index.d.ts +7 -7
  25. package/lib/src/model/index.js +7 -7
  26. package/lib/src/model/questions.d.ts +45 -54
  27. package/lib/src/model/questions.js +87 -89
  28. package/lib/src/model/scrutins.d.ts +13 -48
  29. package/lib/src/model/scrutins.js +111 -118
  30. package/lib/src/model/seance.d.ts +1 -1
  31. package/lib/src/model/seance.js +7 -7
  32. package/lib/src/model/sens.d.ts +179 -109
  33. package/lib/src/model/sens.js +484 -384
  34. package/lib/src/model/util.d.ts +8 -0
  35. package/lib/src/model/util.js +23 -0
  36. package/lib/src/raw_types/ameli.d.ts +800 -1648
  37. package/lib/src/raw_types/ameli.js +5 -1074
  38. package/lib/src/raw_types/debats.d.ts +180 -353
  39. package/lib/src/raw_types/debats.js +5 -266
  40. package/lib/src/raw_types/dosleg.d.ts +1523 -2858
  41. package/lib/src/raw_types/dosleg.js +5 -2005
  42. package/lib/src/raw_types/questions.d.ts +395 -671
  43. package/lib/src/raw_types/questions.js +5 -493
  44. package/lib/src/raw_types/senat.d.ts +11372 -0
  45. package/lib/src/raw_types/senat.js +5 -0
  46. package/lib/src/raw_types/sens.d.ts +8148 -7743
  47. package/lib/src/raw_types/sens.js +5 -4691
  48. package/lib/src/raw_types_schemats/ameli.d.ts +2 -4
  49. package/lib/src/raw_types_schemats/debats.d.ts +2 -2
  50. package/lib/src/raw_types_schemats/dosleg.d.ts +2 -2
  51. package/lib/src/raw_types_schemats/questions.d.ts +2 -2
  52. package/lib/src/raw_types_schemats/sens.d.ts +4235 -29
  53. package/lib/src/scripts/test_iter_load.d.ts +1 -0
  54. package/lib/src/scripts/test_iter_load.js +12 -0
  55. package/lib/src/types/ameli.d.ts +4 -4
  56. package/lib/src/types/dosleg.d.ts +39 -39
  57. package/lib/src/types/questions.d.ts +2 -2
  58. package/lib/src/types/sens.d.ts +2 -0
  59. package/lib/src/types/texte.d.ts +2 -2
  60. package/lib/src/utils/reunion_odj_building.js +27 -11
  61. package/package.json +1 -1
  62. package/lib/src/databases_postgres.d.ts +0 -4
  63. package/lib/src/databases_postgres.js +0 -23
  64. package/lib/src/scripts/debug_dosleg_query.d.ts +0 -6
  65. package/lib/src/scripts/debug_dosleg_query.js +0 -50
@@ -1,32 +1,12 @@
1
- export interface AuteurDocumentRow {
2
- matricule: string | null;
3
- nom_usuel: string;
4
- ordre: string | null;
5
- prenom: string | null;
6
- qualite: string | null;
7
- role: string | null;
8
- }
9
- export interface DocumentAnnexeRow {
10
- type_document: string;
11
- url: string | null;
12
- }
13
- export interface DocumentResult {
14
- auteurs: AuteurDocumentRow[];
15
- code_adoption?: string | null;
16
- code_organisme: string | null;
17
- date: string;
18
- documents_annexes?: DocumentAnnexeRow[];
19
- id: string | null;
20
- modification?: string | null;
21
- numero: number | string | null;
22
- ordre_origine?: string | null;
23
- origine?: string | null;
24
- session: number | null;
25
- signet_dossier?: string | null;
26
- sous_titre?: string | null;
27
- titre: string | null;
28
- type: string | null;
29
- url: string | null;
30
- }
31
- export declare function findAllTextes(): AsyncGenerator<DocumentResult, void, unknown>;
32
- export declare function findAllRapports(): AsyncGenerator<DocumentResult, void, unknown>;
1
+ import { Expression, InferResult, SelectQueryBuilder } from "kysely";
2
+ export declare function rapports(lectureAssembleeId: Expression<string>): import("kysely").RawBuilder<{
3
+ [x: string]: any;
4
+ }[]>;
5
+ declare const queryTextes: SelectQueryBuilder<any, any, any>;
6
+ export declare function textes(lectureAssembleeId: Expression<string>): import("kysely").RawBuilder<{
7
+ [x: string]: any;
8
+ }[]>;
9
+ export declare function findAllTextes(): AsyncIterableIterator<DocumentResult>;
10
+ export declare function findAllRapports(): AsyncIterableIterator<DocumentResult>;
11
+ export type DocumentResult = InferResult<typeof queryTextes>[0];
12
+ export {};
@@ -1,182 +1,141 @@
1
- import { streamUnsafeQuery } from "../databases_postgres.js";
2
- function buildAuteursRapportSql(rapportIdSql) {
3
- return `
4
- (
5
- select coalesce(json_agg(author_rows order by author_rows.ordre_num nulls last), '[]'::json)
6
- from (
7
- select
8
- auteur.prenom as prenom,
9
- auteur.nomuse as nom_usuel,
10
- auteur.autmat as matricule,
11
- ecr.ecrnumtri::text as ordre,
12
- ecr.ecrnumtri as ordre_num,
13
- rolsig.rolsiglib as role,
14
- ecr.ecrqua as qualite
15
- from senat.dosleg_auteur as auteur
16
- left join senat.dosleg_ecr as ecr on ecr.autcod = auteur.autcod
17
- left join senat.dosleg_rolsig as rolsig on rolsig.signataire = ecr.signataire
18
- where ecr.rapcod = ${rapportIdSql}
19
- ) as author_rows
20
- )
21
- `;
1
+ import { sql } from "kysely";
2
+ import { dbSenat } from "../databases";
3
+ import { concat, rtrim, toDateString } from "./util";
4
+ import { jsonArrayFrom } from "kysely/helpers/postgres";
5
+ function stripTrailingHashes(expr) {
6
+ return sql `regexp_replace(${expr}, '#+$', '')`;
22
7
  }
23
- function buildDocumentsAttachesSql(rapportIdSql) {
24
- return `
25
- (
26
- select coalesce(json_agg(attached_rows), '[]'::json)
27
- from (
28
- select
29
- docatt.docatturl as url,
30
- typatt.typattlib as type_document
31
- from senat.dosleg_docatt as docatt
32
- left join senat.dosleg_typatt as typatt on docatt.typattcod = typatt.typattcod
33
- where docatt.rapcod = ${rapportIdSql}
34
- ) as attached_rows
35
- )
36
- `;
8
+ function orderOrdreOrigineTexte(expr) {
9
+ return sql `array_position(array['0','2','1'], ${expr})`;
37
10
  }
38
- function buildAuteursTexteSql(texteIdSql) {
39
- return `
40
- (
41
- select coalesce(json_agg(author_rows order by author_rows.ordre_num nulls last), '[]'::json)
42
- from (
43
- select
44
- auteur.prenom as prenom,
45
- auteur.nomuse as nom_usuel,
46
- auteur.autmat as matricule,
47
- ecr.ecrnumtri::text as ordre,
48
- ecr.ecrnumtri as ordre_num,
49
- rolsig.rolsiglib as role,
50
- ecr.ecrqua as qualite
51
- from senat.dosleg_auteur as auteur
52
- left join senat.dosleg_ecr as ecr on ecr.autcod = auteur.autcod
53
- left join senat.dosleg_rolsig as rolsig on rolsig.signataire = ecr.signataire
54
- where ecr.texcod = ${texteIdSql}
55
- ) as author_rows
56
- )
57
- `;
11
+ function auteursRapport(rapportId) {
12
+ return jsonArrayFrom(dbSenat
13
+ .withSchema("dosleg")
14
+ .selectFrom("dosleg.auteur")
15
+ .leftJoin("dosleg.ecr", "dosleg.ecr.autcod", "dosleg.auteur.autcod")
16
+ .leftJoin("dosleg.rolsig", "dosleg.rolsig.signataire", "dosleg.ecr.signataire")
17
+ .where("dosleg.ecr.rapcod", "=", rapportId)
18
+ .select([
19
+ "dosleg.auteur.prenom as prenom",
20
+ "dosleg.auteur.nomuse as nom_usuel",
21
+ "dosleg.auteur.autmat as matricule",
22
+ "dosleg.ecr.ecrnumtri as ordre",
23
+ "dosleg.rolsig.rolsiglib as role",
24
+ "dosleg.ecr.ecrqua as qualite",
25
+ ])
26
+ .orderBy("dosleg.ecr.ecrnumtri", "asc"));
58
27
  }
59
- function stripTrailingHashesSql(expr) {
60
- return `regexp_replace(${expr}, '#+$', '')`;
28
+ function documentsAttaches(rapportId) {
29
+ return jsonArrayFrom(dbSenat
30
+ .withSchema("dosleg")
31
+ .selectFrom("docatt")
32
+ .leftJoin("typatt", "docatt.typattcod", "typatt.typattcod")
33
+ .where("docatt.rapcod", "=", rapportId)
34
+ .select(["docatt.docatturl as url", "typatt.typattlib as type_document"]));
61
35
  }
62
- function rapportIdSql() {
63
- return `
64
- case
65
- when rap.rapurl is not null then
66
- ${stripTrailingHashesSql("regexp_replace(trim(rap.rapurl), '^(.*/)?(.*?)(\\.html)?$', '\\2')")}
67
- else null
68
- end
69
- `;
36
+ function selectRapportAttributes({ eb, ref, val }) {
37
+ return [
38
+ "rap.rapnum as numero",
39
+ "raporg.orgcod as code_organisme",
40
+ eb
41
+ .case()
42
+ .when("rap.rapurl", "is not", null)
43
+ .then(stripTrailingHashes(sql `regexp_replace(trim(${ref("rap.rapurl")}), '^(.*/)?(.*?)(\\.html)?$', '\\2')`))
44
+ .else(null)
45
+ .end()
46
+ .as("id"),
47
+ eb
48
+ .case()
49
+ .when("rap.typurl", "=", "I")
50
+ .then(stripTrailingHashes(concat(val("https://www.senat.fr/rap/"), rtrim(ref("rap.rapurl")))))
51
+ .else(stripTrailingHashes(rtrim(ref("rap.rapurl"))))
52
+ .end()
53
+ .as("url"),
54
+ rtrim(ref("denrap.libdenrap")).as("type"),
55
+ rtrim(rtrim(ref("rap.raptil"))).as("titre"),
56
+ rtrim(rtrim(ref("rap.rapsoustit"))).as("sous_titre"),
57
+ toDateString(ref("rap.date_depot")).as("date"),
58
+ "rap.sesann as session",
59
+ auteursRapport(ref("rap.rapcod")).as("auteurs"),
60
+ documentsAttaches(ref("rap.rapcod")).as("documents_annexes"),
61
+ ];
70
62
  }
71
- function rapportUrlSql() {
72
- return `
73
- case
74
- when rap.typurl = 'I' then ${stripTrailingHashesSql("'https://www.senat.fr/rap/' || rtrim(rap.rapurl)")}
75
- else ${stripTrailingHashesSql("rtrim(rap.rapurl)")}
76
- end
77
- `;
63
+ const baseQueryRapports = dbSenat
64
+ .withSchema("dosleg")
65
+ .selectFrom("rap")
66
+ .leftJoin("raporg", "raporg.rapcod", "rap.rapcod")
67
+ .leftJoin("denrap", "denrap.coddenrap", "rap.coddenrap")
68
+ .leftJoin("lecassrap", "lecassrap.rapcod", "rap.rapcod");
69
+ const queryRapports = baseQueryRapports
70
+ .leftJoin("lecass", "lecass.lecassidt", "lecassrap.lecassidt")
71
+ .leftJoin("lecture", "lecture.lecidt", "lecass.lecidt")
72
+ .leftJoin("loi", "loi.loicod", "lecture.loicod")
73
+ .select((args) => ["loi.signet as signet_dossier", ...selectRapportAttributes(args)]);
74
+ export function rapports(lectureAssembleeId) {
75
+ return jsonArrayFrom(baseQueryRapports.select(selectRapportAttributes).where("lecassrap.lecassidt", "=", lectureAssembleeId));
78
76
  }
79
- function texteIdSql() {
80
- return `
81
- case
82
- when texte.texurl is not null then
83
- ${stripTrailingHashesSql("regexp_replace(trim(texte.texurl), '^(.*/)?(.*?)(\\.html)?$', '\\2')")}
84
- else null
85
- end
86
- `;
77
+ function auteursTexte(texteId) {
78
+ return jsonArrayFrom(dbSenat
79
+ .withSchema("dosleg")
80
+ .selectFrom("auteur")
81
+ .leftJoin("ecr", "ecr.autcod", "auteur.autcod")
82
+ .leftJoin("rolsig", "rolsig.signataire", "ecr.signataire")
83
+ .where("ecr.texcod", "=", texteId)
84
+ .select([
85
+ "auteur.prenom as prenom",
86
+ "auteur.nomuse as nom_usuel",
87
+ "auteur.autmat as matricule",
88
+ "ecr.ecrnumtri as ordre",
89
+ "rolsig.rolsiglib as role",
90
+ "ecr.ecrqua as qualite",
91
+ ])
92
+ .orderBy("ecr.ecrnumtri", "asc"));
87
93
  }
88
- function texteUrlSql() {
89
- return `
90
- case
91
- when texte.typurl = 'I' then ${stripTrailingHashesSql("'https://www.senat.fr/leg/' || rtrim(texte.texurl)")}
92
- else ${stripTrailingHashesSql("rtrim(texte.texurl)")}
93
- end
94
- `;
94
+ function selectTexteAttributes({ eb, ref, val }) {
95
+ return [
96
+ "texte.texnum as numero",
97
+ "texte.orgcod as code_organisme",
98
+ eb
99
+ .case()
100
+ .when("texte.texurl", "is not", null)
101
+ .then(stripTrailingHashes(sql `regexp_replace(trim(${ref("texte.texurl")}), '^(.*/)?(.*?)(\\.html)?$', '\\2')`))
102
+ .else(null)
103
+ .end()
104
+ .as("id"),
105
+ eb
106
+ .case()
107
+ .when("texte.typurl", "=", "I")
108
+ .then(stripTrailingHashes(concat(val("https://www.senat.fr/leg/"), rtrim(ref("texte.texurl")))))
109
+ .else(stripTrailingHashes(rtrim(ref("texte.texurl"))))
110
+ .end()
111
+ .as("url"),
112
+ rtrim(ref("oritxt.oritxtlib")).as("origine"),
113
+ "oritxt.oriordre as ordre_origine",
114
+ "oritxt.oritxtado as code_adoption",
115
+ "oritxt.oritxtmod as modification",
116
+ rtrim(ref("typtxt.typtxtlib")).as("type"),
117
+ toDateString(ref("texte.txtoritxtdat")).as("date"),
118
+ "texte.sesann as session",
119
+ auteursTexte(ref("texte.texcod")).as("auteurs"),
120
+ ];
95
121
  }
96
- function baseRapportsSelect(includeSignetDossier) {
97
- const signet = includeSignetDossier ? "loi.signet as signet_dossier," : "";
98
- return `
99
- select
100
- ${signet}
101
- rap.rapnum as numero,
102
- raporg.orgcod as code_organisme,
103
- ${rapportIdSql()} as id,
104
- ${rapportUrlSql()} as url,
105
- rtrim(denrap.libdenrap) as type,
106
- rtrim(rtrim(rap.raptil)) as titre,
107
- rtrim(rtrim(rap.rapsoustit)) as sous_titre,
108
- to_char(rap.date_depot, 'YYYY-MM-DD') as date,
109
- rap.sesann::int as session,
110
- ${buildAuteursRapportSql("rap.rapcod")} as auteurs,
111
- ${buildDocumentsAttachesSql("rap.rapcod")} as documents_annexes
112
- `;
122
+ const baseQueryTextes = dbSenat
123
+ .withSchema("dosleg")
124
+ .selectFrom("texte")
125
+ .leftJoin("oritxt", "oritxt.oritxtcod", "texte.oritxtcod")
126
+ .leftJoin("typtxt", "typtxt.typtxtcod", "texte.typtxtcod")
127
+ .orderBy(({ ref }) => orderOrdreOrigineTexte(ref("oritxt.oriordre")));
128
+ const queryTextes = baseQueryTextes
129
+ .leftJoin("lecass", "lecass.lecassidt", "texte.lecassidt")
130
+ .leftJoin("lecture", "lecture.lecidt", "lecass.lecidt")
131
+ .leftJoin("loi", "loi.loicod", "lecture.loicod")
132
+ .select((args) => ["loi.signet as signet_dossier", ...selectTexteAttributes(args)]);
133
+ export function textes(lectureAssembleeId) {
134
+ return jsonArrayFrom(baseQueryTextes.select(selectTexteAttributes).where("texte.lecassidt", "=", lectureAssembleeId));
113
135
  }
114
- function baseTextesSelect(includeSignetDossier) {
115
- const signet = includeSignetDossier ? "loi.signet as signet_dossier," : "";
116
- return `
117
- select
118
- ${signet}
119
- texte.texnum as numero,
120
- texte.orgcod as code_organisme,
121
- ${texteIdSql()} as id,
122
- ${texteUrlSql()} as url,
123
- rtrim(oritxt.oritxtlib) as origine,
124
- oritxt.oriordre as ordre_origine,
125
- oritxt.oritxtado as code_adoption,
126
- oritxt.oritxtmod as modification,
127
- rtrim(typtxt.typtxtlib) as type,
128
- to_char(texte.txtoritxtdat, 'YYYY-MM-DD') as date,
129
- texte.sesann::int as session,
130
- ${buildAuteursTexteSql("texte.texcod")} as auteurs,
131
- null::text as titre
132
- `;
136
+ export function findAllTextes() {
137
+ return queryTextes.stream();
133
138
  }
134
- function buildFindAllRapportsQuery() {
135
- return {
136
- params: [],
137
- query: `
138
- ${baseRapportsSelect(true)}
139
- from senat.dosleg_rap as rap
140
- left join senat.dosleg_raporg as raporg on raporg.rapcod = rap.rapcod
141
- left join senat.dosleg_denrap as denrap on denrap.coddenrap = rap.coddenrap
142
- left join senat.dosleg_lecassrap as lecassrap on lecassrap.rapcod = rap.rapcod
143
- left join senat.dosleg_lecass as lecass on lecass.lecassidt = lecassrap.lecassidt
144
- left join senat.dosleg_lecture as lecture on lecture.lecidt = lecass.lecidt
145
- left join senat.dosleg_loi as loi on loi.loicod = lecture.loicod
146
- `,
147
- };
148
- }
149
- function buildFindAllTextesQuery() {
150
- return {
151
- params: [],
152
- query: `
153
- ${baseTextesSelect(true)}
154
- from senat.dosleg_texte as texte
155
- left join senat.dosleg_oritxt as oritxt on oritxt.oritxtcod = texte.oritxtcod
156
- left join senat.dosleg_typtxt as typtxt on typtxt.typtxtcod = texte.typtxtcod
157
- left join senat.dosleg_lecass as lecass on lecass.lecassidt = texte.lecassidt
158
- left join senat.dosleg_lecture as lecture on lecture.lecidt = lecass.lecidt
159
- left join senat.dosleg_loi as loi on loi.loicod = lecture.loicod
160
- order by array_position(array['0','2','1'], oritxt.oriordre)
161
- `,
162
- };
163
- }
164
- export async function* findAllTextes() {
165
- const { query, params } = buildFindAllTextesQuery();
166
- for await (const row of streamUnsafeQuery(query, params)) {
167
- yield {
168
- ...row,
169
- auteurs: row.auteurs ?? [],
170
- };
171
- }
172
- }
173
- export async function* findAllRapports() {
174
- const { query, params } = buildFindAllRapportsQuery();
175
- for await (const row of streamUnsafeQuery(query, params)) {
176
- yield {
177
- ...row,
178
- auteurs: row.auteurs ?? [],
179
- documents_annexes: row.documents_annexes ?? [],
180
- };
181
- }
139
+ export function findAllRapports() {
140
+ return queryRapports.stream();
182
141
  }
@@ -1,144 +1,7 @@
1
- export interface DossierThemeRow {
2
- libelle: string;
3
- }
4
- type DossierAuteurRow = {
5
- matricule: string | null;
6
- nom_usuel: string;
7
- ordre: string | null;
8
- prenom: string | null;
9
- qualite: string | null;
10
- role: string | null;
11
- };
12
- type DossierDocumentAnnexeRow = {
13
- type_document: string;
14
- url: string | null;
15
- };
16
- type DossierTexte = {
17
- auteurs?: DossierAuteurRow[] | null;
18
- code_adoption?: string | null;
19
- code_organisme?: string | null;
20
- date?: string | null;
21
- id?: string | null;
22
- modification?: string | null;
23
- numero?: number | string | null;
24
- ordre_origine?: string | null;
25
- origine?: string | null;
26
- session?: number | null;
27
- titre?: string | null;
28
- type?: string | null;
29
- url?: string | null;
30
- };
31
- type DossierRapport = {
32
- auteurs?: DossierAuteurRow[] | null;
33
- code_organisme?: string | null;
34
- date?: string | null;
35
- documents_annexes?: DossierDocumentAnnexeRow[] | null;
36
- id?: string | null;
37
- numero?: number | string | null;
38
- session?: number | null;
39
- sous_titre?: string | null;
40
- titre?: string | null;
41
- type?: string | null;
42
- url?: string | null;
43
- };
44
- type DossierDateSeance = {
45
- date?: string | null;
46
- };
47
- type DossierLectureAssemblee = {
48
- assemblee?: string | null;
49
- code_organisme?: string | null;
50
- date_publication_amendements_commission?: string | null;
51
- date_publication_amendements_seance?: string | null;
52
- dates_seances?: DossierDateSeance[] | null;
53
- libelle_organisme?: string | null;
54
- loi_intitule_modifie?: string | null;
55
- numero_petite_loi?: number | null;
56
- ordre_lecture_assemblee?: string | null;
57
- origine_proposition?: string | null;
58
- rapports?: DossierRapport[] | null;
59
- session?: number | null;
60
- textes?: DossierTexte[] | null;
61
- url_cr_debats?: string | null;
62
- url_petite_loi?: string | null;
63
- };
64
- type DossierLecture = {
65
- lectures_assemblee?: DossierLectureAssemblee[] | null;
66
- libelle?: string | null;
67
- ordre_lecture?: number | string | null;
68
- type_lecture?: string | null;
69
- };
70
- export interface DossierLegislatifResult {
71
- code: string | null;
72
- code_dossier_an: string | null;
73
- code_nature_dossier: string | null;
74
- code_organisme_resolution: string | null;
75
- condition_saisine_CoC: string | null;
76
- date_decision_CoC: string | null;
77
- date_opposition_procedure_acceleree: string | null;
78
- date_procedure_acceleree: string | null;
79
- date_publication_JO: string | null;
80
- date_publication_JO_correctif_1: string | null;
81
- date_publication_JO_correctif_2: string | null;
82
- date_promulgation: string | null;
83
- date_retrait_procedure_acceleree: string | null;
84
- date_saisine_CoC: string | null;
85
- etat_dossier: string | null;
86
- lectures: DossierLecture[];
87
- libelle_decision_CoC: string | null;
88
- libelle_type_dossier: string | null;
89
- mot_cle: string | null;
90
- num_decision_CoC: string | null;
91
- numero: string | null;
92
- numero_JO: string | null;
93
- numero_JO_correctif_1: string | null;
94
- numero_JO_correctif_2: string | null;
95
- signet: string;
96
- signet_alternatif: string | null;
97
- themes: DossierThemeRow[];
98
- titre: string | null;
99
- titre_JO: string;
100
- titre_court: string | null;
101
- titre_long: string | null;
102
- titre_long_original: string | null;
103
- urgence: string | null;
104
- url: string;
105
- url_JO: string | null;
106
- url_JO_correctif_1: string | null;
107
- url_JO_correctif_2: string | null;
108
- url_decision_CoC: string | null;
109
- url_dossier_assemblee_nationale: string | null;
110
- url_dossier_CoC: string | null;
111
- url_ordonnance: string | null;
112
- url_presentation_articles: string | null;
113
- }
114
- export type DossierWithLectures = DossierLegislatifResult & {
115
- actes_legislatifs?: ActeLegislatif[] | null;
116
- lectures?: DossierLecture[] | null;
117
- numero_JO?: string | number | null;
118
- signet: string;
119
- themes?: DossierThemeRow[] | null;
120
- url_JO?: string | null;
121
- url_decision_CoC?: string | null;
122
- url_dossier_CoC?: string | null;
123
- };
124
- export type ActeLegislatif = {
125
- adoption?: string;
126
- chambre: "AN" | "SN";
127
- code_acte: string;
128
- code_organisme: string | null;
129
- date: string;
130
- date_publication_JO?: string | null;
131
- id?: string | null;
132
- libelle: string;
133
- numero?: string | number | null;
134
- numero_JO?: string | number | null;
135
- session?: number | null;
136
- signet_dossier: string;
137
- texte_url?: string | null;
138
- uid: string;
139
- url_legifrance?: string | null;
140
- };
141
- export declare function findAllDossiers(): AsyncGenerator<DossierLegislatifResult, void, unknown>;
1
+ import { InferResult, SelectQueryBuilder } from "kysely";
2
+ declare const findAllDossiersQuery: SelectQueryBuilder<any, any, any>;
3
+ export declare function findAllDossiers(): AsyncIterableIterator<DossierLegislatifResult>;
142
4
  export declare function getCodeActeLecture(codeNatureDossier: string, typeLecture: string, assemblee: string): string | null;
143
- export declare function buildActesLegislatifs(dossier: DossierWithLectures): ActeLegislatif[];
5
+ export type DossierLegislatifResult = InferResult<typeof findAllDossiersQuery>[0];
6
+ export declare function buildActesLegislatifs(dossier: any): any[];
144
7
  export {};