@tricoteuses/senat 2.22.16 → 2.23.0
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.
- package/README.md +168 -0
- package/lib/aggregates.d.ts +52 -0
- package/lib/aggregates.js +930 -0
- package/lib/aggregates.mjs +713 -0
- package/lib/aggregates.ts +833 -0
- package/lib/config.d.ts +10 -0
- package/lib/config.js +16 -0
- package/lib/config.mjs +16 -0
- package/lib/config.ts +26 -0
- package/lib/databases.d.ts +2 -0
- package/lib/databases.js +26 -0
- package/lib/databases.mjs +57 -0
- package/lib/databases.ts +71 -0
- package/lib/datasets.d.ts +34 -0
- package/lib/datasets.js +233 -0
- package/lib/datasets.mjs +78 -0
- package/lib/datasets.ts +118 -0
- package/lib/fields.d.ts +10 -0
- package/lib/fields.js +68 -0
- package/lib/fields.mjs +22 -0
- package/lib/fields.ts +29 -0
- package/lib/git.d.ts +26 -0
- package/lib/git.js +167 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.js +1 -0
- package/lib/index.mjs +7 -0
- package/lib/index.ts +64 -0
- package/lib/inserters.d.ts +98 -0
- package/lib/inserters.js +500 -0
- package/lib/inserters.mjs +360 -0
- package/lib/inserters.ts +521 -0
- package/lib/legislatures.json +38 -0
- package/lib/loaders.d.ts +58 -0
- package/lib/loaders.js +286 -0
- package/lib/loaders.mjs +158 -0
- package/lib/loaders.ts +271 -0
- package/lib/model/agenda.d.ts +6 -0
- package/lib/model/agenda.js +148 -0
- package/lib/model/ameli.d.ts +51 -0
- package/lib/model/ameli.js +149 -0
- package/lib/model/ameli.mjs +84 -0
- package/lib/model/ameli.ts +100 -0
- package/lib/model/commission.d.ts +18 -0
- package/lib/model/commission.js +269 -0
- package/lib/model/debats.d.ts +67 -0
- package/lib/model/debats.js +95 -0
- package/lib/model/debats.mjs +43 -0
- package/lib/model/debats.ts +68 -0
- package/lib/model/documents.d.ts +12 -0
- package/lib/model/documents.js +151 -0
- package/lib/model/dosleg.d.ts +7 -0
- package/lib/model/dosleg.js +326 -0
- package/lib/model/dosleg.mjs +196 -0
- package/lib/model/dosleg.ts +240 -0
- package/lib/model/index.d.ts +7 -0
- package/lib/model/index.js +7 -0
- package/lib/model/index.mjs +5 -0
- package/lib/model/index.ts +15 -0
- package/lib/model/questions.d.ts +45 -0
- package/lib/model/questions.js +89 -0
- package/lib/model/questions.mjs +71 -0
- package/lib/model/questions.ts +93 -0
- package/lib/model/scrutins.d.ts +13 -0
- package/lib/model/scrutins.js +114 -0
- package/lib/model/seance.d.ts +3 -0
- package/lib/model/seance.js +267 -0
- package/lib/model/sens.d.ts +146 -0
- package/lib/model/sens.js +454 -0
- package/lib/model/sens.mjs +415 -0
- package/lib/model/sens.ts +516 -0
- package/lib/model/texte.d.ts +7 -0
- package/lib/model/texte.js +256 -0
- package/lib/model/texte.mjs +208 -0
- package/lib/model/texte.ts +229 -0
- package/lib/model/util.d.ts +9 -0
- package/lib/model/util.js +38 -0
- package/lib/model/util.mjs +19 -0
- package/lib/model/util.ts +32 -0
- package/lib/parsers/texte.d.ts +7 -0
- package/lib/parsers/texte.js +228 -0
- package/lib/raw_types/ameli.d.ts +914 -0
- package/lib/raw_types/ameli.js +5 -0
- package/lib/raw_types/ameli.mjs +163 -0
- package/lib/raw_types/debats.d.ts +207 -0
- package/lib/raw_types/debats.js +5 -0
- package/lib/raw_types/debats.mjs +58 -0
- package/lib/raw_types/dosleg.d.ts +1619 -0
- package/lib/raw_types/dosleg.js +5 -0
- package/lib/raw_types/dosleg.mjs +438 -0
- package/lib/raw_types/questions.d.ts +419 -0
- package/lib/raw_types/questions.js +5 -0
- package/lib/raw_types/questions.mjs +11 -0
- package/lib/raw_types/senat.d.ts +11368 -0
- package/lib/raw_types/senat.js +5 -0
- package/lib/raw_types/sens.d.ts +8248 -0
- package/lib/raw_types/sens.js +5 -0
- package/lib/raw_types/sens.mjs +508 -0
- package/lib/raw_types_kysely/ameli.d.ts +915 -0
- package/lib/raw_types_kysely/ameli.js +7 -0
- package/lib/raw_types_kysely/ameli.mjs +5 -0
- package/lib/raw_types_kysely/ameli.ts +951 -0
- package/lib/raw_types_kysely/debats.d.ts +207 -0
- package/lib/raw_types_kysely/debats.js +7 -0
- package/lib/raw_types_kysely/debats.mjs +5 -0
- package/lib/raw_types_kysely/debats.ts +222 -0
- package/lib/raw_types_kysely/dosleg.d.ts +3532 -0
- package/lib/raw_types_kysely/dosleg.js +7 -0
- package/lib/raw_types_kysely/dosleg.mjs +5 -0
- package/lib/raw_types_kysely/dosleg.ts +3621 -0
- package/lib/raw_types_kysely/questions.d.ts +414 -0
- package/lib/raw_types_kysely/questions.js +7 -0
- package/lib/raw_types_kysely/questions.mjs +5 -0
- package/lib/raw_types_kysely/questions.ts +426 -0
- package/lib/raw_types_kysely/sens.d.ts +4394 -0
- package/lib/raw_types_kysely/sens.js +7 -0
- package/lib/raw_types_kysely/sens.mjs +5 -0
- package/lib/raw_types_kysely/sens.ts +4499 -0
- package/lib/raw_types_schemats/ameli.d.ts +539 -0
- package/lib/raw_types_schemats/ameli.js +2 -0
- package/lib/raw_types_schemats/ameli.mjs +2 -0
- package/lib/raw_types_schemats/ameli.ts +601 -0
- package/lib/raw_types_schemats/debats.d.ts +127 -0
- package/lib/raw_types_schemats/debats.js +2 -0
- package/lib/raw_types_schemats/debats.mjs +2 -0
- package/lib/raw_types_schemats/debats.ts +145 -0
- package/lib/raw_types_schemats/dosleg.d.ts +977 -0
- package/lib/raw_types_schemats/dosleg.js +2 -0
- package/lib/raw_types_schemats/dosleg.mjs +2 -0
- package/lib/raw_types_schemats/dosleg.ts +2193 -0
- package/lib/raw_types_schemats/questions.d.ts +235 -0
- package/lib/raw_types_schemats/questions.js +2 -0
- package/lib/raw_types_schemats/questions.mjs +2 -0
- package/lib/raw_types_schemats/questions.ts +249 -0
- package/lib/raw_types_schemats/sens.d.ts +6915 -0
- package/lib/raw_types_schemats/sens.js +2 -0
- package/lib/raw_types_schemats/sens.mjs +2 -0
- package/lib/raw_types_schemats/sens.ts +2907 -0
- package/lib/scripts/convert_data.d.ts +1 -0
- package/lib/scripts/convert_data.js +354 -0
- package/lib/scripts/convert_data.mjs +181 -0
- package/lib/scripts/convert_data.ts +243 -0
- package/lib/scripts/data-download.d.ts +1 -0
- package/lib/scripts/data-download.js +12 -0
- package/lib/scripts/datautil.d.ts +8 -0
- package/lib/scripts/datautil.js +34 -0
- package/lib/scripts/datautil.mjs +16 -0
- package/lib/scripts/datautil.ts +19 -0
- package/lib/scripts/images/transparent_150x192.jpg +0 -0
- package/lib/scripts/images/transparent_155x225.jpg +0 -0
- package/lib/scripts/parse_textes.d.ts +1 -0
- package/lib/scripts/parse_textes.js +44 -0
- package/lib/scripts/parse_textes.mjs +46 -0
- package/lib/scripts/parse_textes.ts +65 -0
- package/lib/scripts/retrieve_agenda.d.ts +1 -0
- package/lib/scripts/retrieve_agenda.js +132 -0
- package/lib/scripts/retrieve_cr_commission.d.ts +1 -0
- package/lib/scripts/retrieve_cr_commission.js +364 -0
- package/lib/scripts/retrieve_cr_seance.d.ts +6 -0
- package/lib/scripts/retrieve_cr_seance.js +347 -0
- package/lib/scripts/retrieve_documents.d.ts +3 -0
- package/lib/scripts/retrieve_documents.js +219 -0
- package/lib/scripts/retrieve_documents.mjs +249 -0
- package/lib/scripts/retrieve_documents.ts +298 -0
- package/lib/scripts/retrieve_open_data.d.ts +1 -0
- package/lib/scripts/retrieve_open_data.js +315 -0
- package/lib/scripts/retrieve_open_data.mjs +217 -0
- package/lib/scripts/retrieve_open_data.ts +268 -0
- package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
- package/lib/scripts/retrieve_senateurs_photos.js +147 -0
- package/lib/scripts/retrieve_senateurs_photos.mjs +147 -0
- package/lib/scripts/retrieve_senateurs_photos.ts +177 -0
- package/lib/scripts/retrieve_videos.d.ts +1 -0
- package/lib/scripts/retrieve_videos.js +461 -0
- package/lib/scripts/shared/cli_helpers.d.ts +95 -0
- package/lib/scripts/shared/cli_helpers.js +91 -0
- package/lib/scripts/shared/cli_helpers.ts +36 -0
- package/lib/scripts/shared/util.d.ts +4 -0
- package/lib/scripts/shared/util.js +35 -0
- package/lib/scripts/shared/util.ts +33 -0
- package/lib/scripts/test_iter_load.d.ts +1 -0
- package/lib/scripts/test_iter_load.js +12 -0
- package/lib/src/config.d.ts +22 -0
- package/lib/src/config.js +17 -7
- package/lib/src/conversion_textes.js +5 -1
- package/lib/src/databases.d.ts +2 -1
- package/lib/src/databases_postgres.d.ts +4 -0
- package/lib/src/databases_postgres.js +23 -0
- package/lib/src/datasets.d.ts +4 -0
- package/lib/src/datasets.js +16 -2
- package/lib/src/git.d.ts +1 -0
- package/lib/src/git.js +45 -11
- package/lib/src/loaders.js +10 -4
- package/lib/src/model/agenda.js +2 -2
- package/lib/src/model/ameli.d.ts +64 -52
- package/lib/src/model/ameli.js +147 -145
- package/lib/src/model/ameli_postgres.d.ts +67 -0
- package/lib/src/model/ameli_postgres.js +150 -0
- package/lib/src/model/commission.d.ts +3 -2
- package/lib/src/model/commission.js +2 -2
- package/lib/src/model/debats.d.ts +38 -66
- package/lib/src/model/debats.js +110 -93
- package/lib/src/model/documents.d.ts +32 -12
- package/lib/src/model/documents.js +171 -130
- package/lib/src/model/dosleg.d.ts +142 -5
- package/lib/src/model/dosleg.js +298 -156
- package/lib/src/model/questions.d.ts +54 -45
- package/lib/src/model/questions.js +89 -87
- package/lib/src/model/scrutins.d.ts +48 -13
- package/lib/src/model/scrutins.js +118 -111
- package/lib/src/model/seance.js +3 -3
- package/lib/src/model/sens.d.ts +109 -179
- package/lib/src/model/sens.js +384 -484
- package/lib/src/model/util.d.ts +0 -8
- package/lib/src/model/util.js +0 -23
- package/lib/src/parsers/texte.js +7 -7
- package/lib/src/raw_types_schemats/ameli.d.ts +4 -2
- package/lib/src/raw_types_schemats/debats.d.ts +2 -2
- package/lib/src/raw_types_schemats/dosleg.d.ts +2 -2
- package/lib/src/raw_types_schemats/questions.d.ts +2 -2
- package/lib/src/raw_types_schemats/sens.d.ts +10 -4216
- package/lib/src/scripts/convert_data.js +7 -6
- package/lib/src/scripts/convert_xml_to_html.js +2 -2
- package/lib/src/scripts/data-download.js +3 -2
- package/lib/src/scripts/retrieve_agenda.js +21 -9
- package/lib/src/scripts/retrieve_cr_commission.js +17 -17
- package/lib/src/scripts/retrieve_cr_seance.d.ts +14 -1
- package/lib/src/scripts/retrieve_cr_seance.js +10 -11
- package/lib/src/scripts/retrieve_documents.d.ts +11 -2
- package/lib/src/scripts/retrieve_documents.js +25 -14
- package/lib/src/scripts/retrieve_open_data.js +400 -145
- package/lib/src/scripts/retrieve_senateurs_photos.js +25 -11
- package/lib/src/scripts/retrieve_videos.js +12 -11
- package/lib/src/scripts/shared/cli_helpers.d.ts +1 -6
- package/lib/src/scripts/shared/cli_helpers.js +9 -8
- package/lib/src/scripts/shared/incremental_import_sql.d.ts +2 -0
- package/lib/src/scripts/shared/incremental_import_sql.js +894 -0
- package/lib/src/scripts/shared/prefixed_tables.d.ts +7 -0
- package/lib/src/scripts/shared/prefixed_tables.js +30 -0
- package/lib/src/scripts/shared/schema_version.d.ts +3 -0
- package/lib/src/scripts/shared/schema_version.js +97 -0
- package/lib/src/scripts/shared/staging_import.d.ts +3 -0
- package/lib/src/scripts/shared/staging_import.js +80 -0
- package/lib/src/scripts/shared/staging_metadata_sql.d.ts +1 -0
- package/lib/src/scripts/shared/staging_metadata_sql.js +221 -0
- package/lib/src/scripts/validate_prefixed_tables.d.ts +1 -0
- package/lib/src/scripts/validate_prefixed_tables.js +102 -0
- package/lib/src/types/texte.d.ts +1 -1
- package/lib/src/utils/cr_spliting.d.ts +9 -6
- package/lib/src/utils/cr_spliting.js +6 -101
- package/lib/src/utils/reunion_odj_building.d.ts +7 -3
- package/lib/src/utils/reunion_parsing.d.ts +2 -1
- package/lib/src/utils/reunion_parsing.js +2 -2
- package/lib/src/videos/match.js +8 -5
- package/lib/src/videos/pipeline.d.ts +6 -2
- package/lib/src/videos/pipeline.js +21 -8
- package/lib/src/videos/search.js +6 -2
- package/lib/strings.d.ts +1 -0
- package/lib/strings.js +18 -0
- package/lib/strings.mjs +18 -0
- package/lib/strings.ts +26 -0
- package/lib/tests/incrementalImportSql.test.d.ts +1 -0
- package/lib/tests/incrementalImportSql.test.js +155 -0
- package/lib/tests/prefixedTables.test.d.ts +1 -0
- package/lib/tests/prefixedTables.test.js +29 -0
- package/lib/tests/schemaVersion.test.d.ts +1 -0
- package/lib/tests/schemaVersion.test.js +23 -0
- package/lib/tests/validatePrefixedTables.test.d.ts +1 -0
- package/lib/tests/validatePrefixedTables.test.js +14 -0
- package/lib/types/agenda.d.ts +44 -0
- package/lib/types/agenda.js +1 -0
- package/lib/types/ameli.d.ts +5 -0
- package/lib/types/ameli.js +1 -0
- package/lib/types/ameli.mjs +13 -0
- package/lib/types/ameli.ts +21 -0
- package/lib/types/compte_rendu.d.ts +83 -0
- package/lib/types/compte_rendu.js +1 -0
- package/lib/types/debats.d.ts +2 -0
- package/lib/types/debats.js +1 -0
- package/lib/types/debats.mjs +2 -0
- package/lib/types/debats.ts +6 -0
- package/lib/types/dosleg.d.ts +70 -0
- package/lib/types/dosleg.js +1 -0
- package/lib/types/dosleg.mjs +151 -0
- package/lib/types/dosleg.ts +284 -0
- package/lib/types/questions.d.ts +2 -0
- package/lib/types/questions.js +1 -0
- package/lib/types/questions.mjs +1 -0
- package/lib/types/questions.ts +3 -0
- package/lib/types/sens.d.ts +10 -0
- package/lib/types/sens.js +1 -0
- package/lib/types/sens.mjs +1 -0
- package/lib/types/sens.ts +12 -0
- package/lib/types/sessions.d.ts +5 -0
- package/lib/types/sessions.js +84 -0
- package/lib/types/sessions.mjs +43 -0
- package/lib/types/sessions.ts +42 -0
- package/lib/types/texte.d.ts +74 -0
- package/lib/types/texte.js +16 -0
- package/lib/types/texte.mjs +16 -0
- package/lib/types/texte.ts +76 -0
- package/lib/typings/windows-1252.d.js +2 -0
- package/lib/typings/windows-1252.d.mjs +2 -0
- package/lib/typings/windows-1252.d.ts +11 -0
- package/lib/utils/cr_spliting.d.ts +28 -0
- package/lib/utils/cr_spliting.js +265 -0
- package/lib/utils/date.d.ts +10 -0
- package/lib/utils/date.js +100 -0
- package/lib/utils/nvs-timecode.d.ts +7 -0
- package/lib/utils/nvs-timecode.js +79 -0
- package/lib/utils/reunion_grouping.d.ts +9 -0
- package/lib/utils/reunion_grouping.js +361 -0
- package/lib/utils/reunion_odj_building.d.ts +5 -0
- package/lib/utils/reunion_odj_building.js +154 -0
- package/lib/utils/reunion_parsing.d.ts +23 -0
- package/lib/utils/reunion_parsing.js +209 -0
- package/lib/utils/scoring.d.ts +14 -0
- package/lib/utils/scoring.js +147 -0
- package/lib/utils/string_cleaning.d.ts +7 -0
- package/lib/utils/string_cleaning.js +57 -0
- package/lib/validators/config.d.ts +9 -0
- package/lib/validators/config.js +10 -0
- package/lib/validators/config.mjs +54 -0
- package/lib/validators/config.ts +79 -0
- package/lib/validators/senat.d.ts +0 -0
- package/lib/validators/senat.js +28 -0
- package/lib/validators/senat.mjs +24 -0
- package/lib/validators/senat.ts +26 -0
- package/package.json +6 -10
|
@@ -1,67 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export interface DebatAuteurRow {
|
|
2
|
+
code: string | null;
|
|
3
|
+
matricule: string | null;
|
|
4
|
+
nom: string | null;
|
|
5
|
+
prenom: string | null;
|
|
6
|
+
}
|
|
7
|
+
export interface DebatInterventionRow {
|
|
8
|
+
analyse: string | null;
|
|
9
|
+
auteur: DebatAuteurRow | null;
|
|
10
|
+
auteur_code: string;
|
|
11
|
+
fonction_intervenant: string | null;
|
|
12
|
+
id: string | null;
|
|
13
|
+
url: string | null;
|
|
14
|
+
}
|
|
15
|
+
export interface DebatSectionRow {
|
|
16
|
+
categorie: string | null;
|
|
17
|
+
id?: string | null;
|
|
18
|
+
interventions: DebatInterventionRow[];
|
|
19
|
+
lecture_id?: string | null;
|
|
20
|
+
libelle?: string | null;
|
|
21
|
+
numero?: string | null;
|
|
22
|
+
objet: string | null;
|
|
23
|
+
type: string | null;
|
|
24
|
+
url?: string | null;
|
|
25
|
+
}
|
|
26
|
+
export interface DebatLectureRow {
|
|
5
27
|
id: string;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}[];
|
|
19
|
-
sections_divers: {
|
|
20
|
-
[x: string]: any;
|
|
21
|
-
interventions: {
|
|
22
|
-
[x: string]: any;
|
|
23
|
-
auteur: {
|
|
24
|
-
code: any;
|
|
25
|
-
nom: any;
|
|
26
|
-
prenom: any;
|
|
27
|
-
matricule: any;
|
|
28
|
-
};
|
|
29
|
-
}[];
|
|
30
|
-
}[];
|
|
31
|
-
lectures: {
|
|
32
|
-
id: any;
|
|
33
|
-
}[];
|
|
34
|
-
}>;
|
|
35
|
-
export declare function findAll(fromSession?: number): AsyncIterableIterator<{
|
|
36
|
-
[x: string]: any;
|
|
37
|
-
id: string;
|
|
38
|
-
date_seance: string;
|
|
39
|
-
sections: {
|
|
40
|
-
[x: string]: any;
|
|
41
|
-
interventions: {
|
|
42
|
-
[x: string]: any;
|
|
43
|
-
auteur: {
|
|
44
|
-
code: any;
|
|
45
|
-
nom: any;
|
|
46
|
-
prenom: any;
|
|
47
|
-
matricule: any;
|
|
48
|
-
};
|
|
49
|
-
}[];
|
|
50
|
-
}[];
|
|
51
|
-
sections_divers: {
|
|
52
|
-
[x: string]: any;
|
|
53
|
-
interventions: {
|
|
54
|
-
[x: string]: any;
|
|
55
|
-
auteur: {
|
|
56
|
-
code: any;
|
|
57
|
-
nom: any;
|
|
58
|
-
prenom: any;
|
|
59
|
-
matricule: any;
|
|
60
|
-
};
|
|
61
|
-
}[];
|
|
62
|
-
}[];
|
|
63
|
-
lectures: {
|
|
64
|
-
id: any;
|
|
65
|
-
}[];
|
|
66
|
-
}>;
|
|
67
|
-
export {};
|
|
28
|
+
}
|
|
29
|
+
export interface DebatResult {
|
|
30
|
+
date_seance: string | null;
|
|
31
|
+
etat_synchronisation: string | null;
|
|
32
|
+
id: string | null;
|
|
33
|
+
lectures: DebatLectureRow[];
|
|
34
|
+
numero: string | null;
|
|
35
|
+
sections: DebatSectionRow[];
|
|
36
|
+
sections_divers: DebatSectionRow[];
|
|
37
|
+
url: string | null;
|
|
38
|
+
}
|
|
39
|
+
export declare function findAll(): AsyncGenerator<DebatResult, void, unknown>;
|
package/lib/src/model/debats.js
CHANGED
|
@@ -1,95 +1,112 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
import { streamUnsafeQuery } from "../databases_postgres";
|
|
2
|
+
function buildFindAllDebatsQuery() {
|
|
3
|
+
return {
|
|
4
|
+
params: [],
|
|
5
|
+
query: `
|
|
6
|
+
select
|
|
7
|
+
to_char(debats.datsea, 'YYYYMMDD') as id,
|
|
8
|
+
to_char(debats.datsea, 'YYYY-MM-DD') as date_seance,
|
|
9
|
+
debats.numero::text as numero,
|
|
10
|
+
debats.deburl as url,
|
|
11
|
+
debats.debsyn as etat_synchronisation,
|
|
12
|
+
(
|
|
13
|
+
select coalesce(json_agg(section_rows order by section_rows.section_order nulls last), '[]'::json)
|
|
14
|
+
from (
|
|
15
|
+
select
|
|
16
|
+
secdis.secdisordid::text as id,
|
|
17
|
+
secdis.secdisnum as numero,
|
|
18
|
+
secdis.secdisobj as objet,
|
|
19
|
+
secdis.secdisurl as url,
|
|
20
|
+
typsec.typseclib as type,
|
|
21
|
+
typsec.typseccat as categorie,
|
|
22
|
+
secdis.lecassidt as lecture_id,
|
|
23
|
+
secdis.secdisordid as section_order,
|
|
24
|
+
(
|
|
25
|
+
select coalesce(
|
|
26
|
+
json_agg(intervention_rows order by intervention_rows.intervention_order nulls last),
|
|
27
|
+
'[]'::json
|
|
28
|
+
)
|
|
29
|
+
from (
|
|
30
|
+
select
|
|
31
|
+
intpjl.intordid::text as id,
|
|
32
|
+
intpjl.autcod as auteur_code,
|
|
33
|
+
intpjl.intfon as fonction_intervenant,
|
|
34
|
+
intpjl.inturl as url,
|
|
35
|
+
intpjl.intana as analyse,
|
|
36
|
+
json_build_object(
|
|
37
|
+
'code', auteur.autcod,
|
|
38
|
+
'nom', auteur.nomuse,
|
|
39
|
+
'prenom', auteur.prenom,
|
|
40
|
+
'matricule', auteur.autmat
|
|
41
|
+
) as auteur,
|
|
42
|
+
intpjl.intordid as intervention_order
|
|
43
|
+
from senat.debats_intpjl as intpjl
|
|
44
|
+
left join senat.dosleg_auteur as auteur on intpjl.autcod = auteur.autcod
|
|
45
|
+
where intpjl.secdiscle = secdis.secdiscle
|
|
46
|
+
) as intervention_rows
|
|
47
|
+
) as interventions
|
|
48
|
+
from senat.debats_secdis as secdis
|
|
49
|
+
left join senat.debats_typsec as typsec on secdis.typseccod = typsec.typseccod
|
|
50
|
+
where secdis.datsea = debats.datsea
|
|
51
|
+
) as section_rows
|
|
52
|
+
) as sections,
|
|
53
|
+
(
|
|
54
|
+
select coalesce(json_agg(section_rows), '[]'::json)
|
|
55
|
+
from (
|
|
56
|
+
select
|
|
57
|
+
secdivers.secdiverslibelle as libelle,
|
|
58
|
+
secdivers.secdiversobj as objet,
|
|
59
|
+
typsec.typseclib as type,
|
|
60
|
+
typsec.typseccat as categorie,
|
|
61
|
+
(
|
|
62
|
+
select coalesce(
|
|
63
|
+
json_agg(intervention_rows order by intervention_rows.intervention_order nulls last),
|
|
64
|
+
'[]'::json
|
|
65
|
+
)
|
|
66
|
+
from (
|
|
67
|
+
select
|
|
68
|
+
intdivers.intdiversordid::text as id,
|
|
69
|
+
intdivers.autcod as auteur_code,
|
|
70
|
+
intdivers.intfon as fonction_intervenant,
|
|
71
|
+
intdivers.inturl as url,
|
|
72
|
+
intdivers.intana as analyse,
|
|
73
|
+
json_build_object(
|
|
74
|
+
'code', auteur.autcod,
|
|
75
|
+
'nom', auteur.nomuse,
|
|
76
|
+
'prenom', auteur.prenom,
|
|
77
|
+
'matricule', auteur.autmat
|
|
78
|
+
) as auteur,
|
|
79
|
+
intdivers.intdiversordid as intervention_order
|
|
80
|
+
from senat.debats_intdivers as intdivers
|
|
81
|
+
left join senat.dosleg_auteur as auteur on intdivers.autcod = auteur.autcod
|
|
82
|
+
where intdivers.secdiverscle = secdivers.secdiverscle
|
|
83
|
+
) as intervention_rows
|
|
84
|
+
) as interventions
|
|
85
|
+
from senat.debats_secdivers as secdivers
|
|
86
|
+
left join senat.debats_typsec as typsec on secdivers.typseccod = typsec.typseccod
|
|
87
|
+
where secdivers.datsea = debats.datsea
|
|
88
|
+
) as section_rows
|
|
89
|
+
) as sections_divers,
|
|
90
|
+
(
|
|
91
|
+
select coalesce(json_agg(lecture_rows), '[]'::json)
|
|
92
|
+
from (
|
|
93
|
+
select lecassdeb.lecassidt as id
|
|
94
|
+
from senat.debats_lecassdeb as lecassdeb
|
|
95
|
+
where lecassdeb.datsea = debats.datsea
|
|
96
|
+
) as lecture_rows
|
|
97
|
+
) as lectures
|
|
98
|
+
from senat.debats_debats as debats
|
|
99
|
+
`,
|
|
100
|
+
};
|
|
21
101
|
}
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"debats.intpjl.intana as analyse",
|
|
33
|
-
jsonBuildObject({
|
|
34
|
-
code: ref("dosleg.auteur.autcod"),
|
|
35
|
-
nom: ref("dosleg.auteur.nomuse"),
|
|
36
|
-
prenom: ref("dosleg.auteur.prenom"),
|
|
37
|
-
matricule: ref("dosleg.auteur.autmat"),
|
|
38
|
-
}).as("auteur"),
|
|
39
|
-
])
|
|
40
|
-
.orderBy("debats.intpjl.intordid", "asc"));
|
|
41
|
-
}
|
|
42
|
-
function sectionsNonLegislatives(dateSeance) {
|
|
43
|
-
return jsonArrayFrom(dbSenat
|
|
44
|
-
.selectFrom("debats.secdivers")
|
|
45
|
-
.leftJoin("debats.typsec", "debats.secdivers.typseccod", "debats.typsec.typseccod")
|
|
46
|
-
.where("debats.secdivers.datsea", "=", dateSeance)
|
|
47
|
-
.select(({ ref }) => [
|
|
48
|
-
"debats.secdivers.secdiverslibelle as libelle",
|
|
49
|
-
"debats.secdivers.secdiversobj as objet",
|
|
50
|
-
"debats.typsec.typseclib as type",
|
|
51
|
-
"debats.typsec.typseccat as categorie",
|
|
52
|
-
interventionsNonLegislatives(ref("debats.secdivers.secdiverscle")).as("interventions"),
|
|
53
|
-
]));
|
|
54
|
-
}
|
|
55
|
-
function interventionsNonLegislatives(sectionId) {
|
|
56
|
-
return jsonArrayFrom(dbSenat
|
|
57
|
-
.selectFrom("debats.intdivers")
|
|
58
|
-
.leftJoin("dosleg.auteur", "debats.intdivers.autcod", "dosleg.auteur.autcod")
|
|
59
|
-
.where("debats.intdivers.intdiverscle", "=", sectionId)
|
|
60
|
-
.select(({ ref, val }) => [
|
|
61
|
-
"debats.intdivers.intdiversordid as id",
|
|
62
|
-
"debats.intdivers.autcod as auteur_code",
|
|
63
|
-
"debats.intdivers.intfon as fonction_intervenant",
|
|
64
|
-
"debats.intdivers.inturl as url",
|
|
65
|
-
"debats.intdivers.intana as analyse",
|
|
66
|
-
jsonBuildObject({
|
|
67
|
-
code: ref("dosleg.auteur.autcod"),
|
|
68
|
-
nom: ref("dosleg.auteur.nomuse"),
|
|
69
|
-
prenom: ref("dosleg.auteur.prenom"),
|
|
70
|
-
matricule: ref("dosleg.auteur.autmat"),
|
|
71
|
-
}).as("auteur"),
|
|
72
|
-
])
|
|
73
|
-
.orderBy("debats.intdivers.intdiversordid", "asc"));
|
|
74
|
-
}
|
|
75
|
-
function lecturesAssemblee(dateSeance) {
|
|
76
|
-
return jsonArrayFrom(dbSenat
|
|
77
|
-
.selectFrom("debats.lecassdeb")
|
|
78
|
-
.where("debats.lecassdeb.datsea", "=", dateSeance)
|
|
79
|
-
.select("debats.lecassdeb.lecassidt as id"));
|
|
80
|
-
}
|
|
81
|
-
const findAllQuery = dbSenat
|
|
82
|
-
.selectFrom("debats.debats")
|
|
83
|
-
.select(({ ref, val }) => [
|
|
84
|
-
toDateString(ref("debats.debats.datsea"), val(ID_DATE_FORMAT)).as("id"),
|
|
85
|
-
toDateString(ref("debats.debats.datsea")).as("date_seance"),
|
|
86
|
-
"debats.debats.numero as numero",
|
|
87
|
-
"debats.debats.deburl as url",
|
|
88
|
-
"debats.debats.debsyn as etat_synchronisation",
|
|
89
|
-
sectionsLegislatives(ref("debats.debats.datsea")).as("sections"),
|
|
90
|
-
sectionsNonLegislatives(ref("debats.debats.datsea")).as("sections_divers"),
|
|
91
|
-
lecturesAssemblee(ref("debats.debats.datsea")).as("lectures"),
|
|
92
|
-
]);
|
|
93
|
-
export function findAll(fromSession) {
|
|
94
|
-
return findAllQuery.stream();
|
|
102
|
+
export async function* findAll() {
|
|
103
|
+
const { query, params } = buildFindAllDebatsQuery();
|
|
104
|
+
for await (const row of streamUnsafeQuery(query, params)) {
|
|
105
|
+
yield {
|
|
106
|
+
...row,
|
|
107
|
+
lectures: row.lectures ?? [],
|
|
108
|
+
sections: row.sections ?? [],
|
|
109
|
+
sections_divers: row.sections_divers ?? [],
|
|
110
|
+
};
|
|
111
|
+
}
|
|
95
112
|
}
|
|
@@ -1,12 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
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>;
|