@tricoteuses/senat 3.1.20 → 3.1.22
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/lib/add-js-extensions-v2.d.ts +1 -0
- package/lib/add-js-extensions-v2.js +23 -0
- package/lib/add-js-extensions.d.ts +1 -0
- package/lib/add-js-extensions.js +17 -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/ameli.d.ts +66 -0
- package/lib/src/ameli.js +1 -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/db_types/ameli.d.ts +1762 -0
- package/lib/src/db_types/ameli.js +1074 -0
- package/lib/src/db_types/debats.d.ts +380 -0
- package/lib/src/db_types/debats.js +266 -0
- package/lib/src/db_types/dosleg.d.ts +2954 -0
- package/lib/src/db_types/dosleg.js +2005 -0
- package/lib/src/db_types/questions.d.ts +699 -0
- package/lib/src/db_types/questions.js +493 -0
- package/lib/src/db_types/sens.d.ts +7843 -0
- package/lib/src/db_types/sens.js +4691 -0
- package/lib/src/debats.d.ts +38 -0
- package/lib/src/debats.js +1 -0
- package/lib/src/dosleg.d.ts +142 -0
- package/lib/src/dosleg.js +193 -0
- package/lib/src/git.d.ts +1 -0
- package/lib/src/git.js +45 -11
- package/lib/src/loaders.d.ts +12 -12
- package/lib/src/loaders.js +14 -8
- package/lib/src/model/agenda.d.ts +1 -1
- package/lib/src/model/agenda.js +3 -3
- 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 +5 -4
- package/lib/src/model/commission.js +6 -6
- 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/index.d.ts +7 -7
- package/lib/src/model/index.js +7 -7
- 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.d.ts +1 -1
- package/lib/src/model/seance.js +7 -7
- 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/other_types/manifest.d.ts +11 -0
- package/lib/src/other_types/manifest.js +1 -0
- package/lib/src/other_types/questions.d.ts +2 -0
- package/lib/src/other_types/questions.js +1 -0
- package/lib/src/questions.d.ts +53 -0
- package/lib/src/questions.js +1 -0
- package/lib/src/raw_types/ameli.d.ts +1651 -803
- package/lib/src/raw_types/ameli.js +1074 -5
- package/lib/src/raw_types/debats.d.ts +353 -180
- package/lib/src/raw_types/debats.js +266 -5
- package/lib/src/raw_types/dosleg.d.ts +2862 -1527
- package/lib/src/raw_types/dosleg.js +2005 -5
- package/lib/src/raw_types/questions.d.ts +671 -395
- package/lib/src/raw_types/questions.js +493 -5
- package/lib/src/raw_types/sens.d.ts +7743 -8148
- package/lib/src/raw_types/sens.js +4691 -5
- 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/rich_types/agenda.d.ts +45 -0
- package/lib/src/rich_types/agenda.js +1 -0
- package/lib/src/rich_types/compte_rendu.d.ts +83 -0
- package/lib/src/rich_types/compte_rendu.js +1 -0
- package/lib/src/rich_types/dosleg.js +0 -7
- package/lib/src/rich_types/sessions.d.ts +6 -0
- package/lib/src/rich_types/sessions.js +19 -0
- package/lib/src/rich_types/texte.d.ts +72 -0
- package/lib/src/rich_types/texte.js +15 -0
- package/lib/src/scripts/convert_data.js +4 -5
- package/lib/src/scripts/retrieve_agenda.js +38 -4
- package/lib/src/scripts/retrieve_cr_commission.js +1 -1
- package/lib/src/scripts/retrieve_open_data.js +39 -0
- package/lib/src/scripts/retrieve_videos.js +1 -2
- package/lib/src/sens.d.ts +104 -0
- package/lib/src/sens.js +1 -0
- package/lib/src/server/ameli.js +0 -2
- package/lib/src/server/conversion_textes.js +1 -1
- package/lib/src/server/debats.js +0 -5
- package/lib/src/server/documents.js +0 -3
- package/lib/src/server/dosleg.js +0 -11
- package/lib/src/server/questions.js +0 -1
- package/lib/src/server/scrutins.js +0 -4
- package/lib/src/server/sens.js +0 -17
- package/lib/src/types/ameli.d.ts +1761 -4
- package/lib/src/types/ameli.js +1074 -1
- package/lib/src/types/debats.d.ts +380 -2
- package/lib/src/types/debats.js +266 -1
- package/lib/src/types/dosleg.d.ts +2953 -69
- package/lib/src/types/dosleg.js +2005 -1
- package/lib/src/types/questions.d.ts +699 -2
- package/lib/src/types/questions.js +493 -1
- package/lib/src/types/sens.d.ts +7842 -9
- package/lib/src/types/sens.js +4691 -1
- package/lib/src/types/texte.d.ts +2 -2
- package/lib/src/utils/manifest.d.ts +6 -0
- package/lib/src/utils/manifest.js +37 -0
- package/lib/src/utils/reunion_deletion.d.ts +2 -0
- package/lib/src/utils/reunion_deletion.js +27 -0
- 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/tsconfig.tsbuildinfo +1 -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 +30 -28
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as cheerio from "cheerio";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import { makeReunionUid } from "../utils/reunion_parsing";
|
|
4
|
-
import { norm } from "../utils/string_cleaning";
|
|
5
|
-
import { frDateToISO, hourShortToStartTime } from "../utils/date";
|
|
6
|
-
import { toCRDate } from "./util";
|
|
3
|
+
import { makeReunionUid } from "../utils/reunion_parsing.js";
|
|
4
|
+
import { norm } from "../utils/string_cleaning.js";
|
|
5
|
+
import { frDateToISO, hourShortToStartTime } from "../utils/date.js";
|
|
6
|
+
import { toCRDate } from "./util.js";
|
|
7
7
|
const PARA_h3_SEL = "p.sh_justify, p.sh_center, p.sh_marge, p[align], li, h3";
|
|
8
8
|
function findDayRoot($, targetISO) {
|
|
9
9
|
let $root = $();
|
|
@@ -39,7 +39,7 @@ function collectLeadingHeaderStrongEls($, $clone) {
|
|
|
39
39
|
}
|
|
40
40
|
if ($n.is("a") && $n.children("strong, b").length) {
|
|
41
41
|
$n.children("strong, b").each((_, el) => {
|
|
42
|
-
els.push(
|
|
42
|
+
els.push(el);
|
|
43
43
|
});
|
|
44
44
|
continue;
|
|
45
45
|
}
|
|
@@ -68,7 +68,7 @@ function buildPointsFromParagraphs($, paras) {
|
|
|
68
68
|
const normSpeaker = (s) => s
|
|
69
69
|
.normalize("NFKC")
|
|
70
70
|
.replace(/\s+/g, " ")
|
|
71
|
-
.replace(/[
|
|
71
|
+
.replace(/[.:]\s*$/, "")
|
|
72
72
|
.trim();
|
|
73
73
|
const normQual = (s) => s
|
|
74
74
|
.normalize("NFKC")
|
|
@@ -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.js";
|
|
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>;
|