@tricoteuses/senat 1.1.2 → 1.3.1

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 (259) hide show
  1. package/README.md +53 -15
  2. package/lib/aggregates.d.ts +4 -6
  3. package/lib/aggregates.mjs +908 -780
  4. package/lib/aggregates.ts +8 -122
  5. package/lib/data/legislatures.json +38 -0
  6. package/lib/databases.d.ts +9 -0
  7. package/lib/databases.js +41 -11
  8. package/lib/databases.mjs +32 -1
  9. package/lib/databases.ts +40 -1
  10. package/lib/fields.mjs +64 -18
  11. package/lib/index.d.ts +5 -7
  12. package/lib/index.js +8 -112
  13. package/lib/index.mjs +4 -7
  14. package/lib/index.ts +9 -30
  15. package/lib/inserters.d.ts +0 -4
  16. package/lib/inserters.mjs +461 -337
  17. package/lib/inserters.ts +0 -24
  18. package/lib/legislatures.json +38 -0
  19. package/lib/loaders.d.ts +64 -0
  20. package/lib/loaders.js +682 -0
  21. package/lib/loaders.mjs +158 -0
  22. package/lib/loaders.ts +271 -0
  23. package/lib/model/ameli.d.ts +105 -4
  24. package/lib/model/ameli.js +20 -160
  25. package/lib/model/ameli.mjs +84 -57
  26. package/lib/model/ameli.ts +94 -80
  27. package/lib/model/debats.d.ts +0 -4
  28. package/lib/model/debats.js +1 -122
  29. package/lib/model/debats.mjs +1 -43
  30. package/lib/model/debats.ts +0 -68
  31. package/lib/model/dosleg.d.ts +227 -29
  32. package/lib/model/dosleg.js +92 -832
  33. package/lib/model/dosleg.mjs +196 -337
  34. package/lib/model/dosleg.ts +213 -531
  35. package/lib/model/index.d.ts +4 -5
  36. package/lib/model/index.js +14 -15
  37. package/lib/model/index.mjs +4 -5
  38. package/lib/model/index.ts +8 -5
  39. package/lib/model/questions.d.ts +88 -2
  40. package/lib/model/questions.js +40 -45
  41. package/lib/model/questions.mjs +71 -8
  42. package/lib/model/questions.ts +90 -11
  43. package/lib/model/sens.d.ts +524 -2
  44. package/lib/model/sens.js +172 -49
  45. package/lib/model/sens.mjs +415 -9
  46. package/lib/model/sens.ts +514 -16
  47. package/lib/model/texte.d.ts +7 -0
  48. package/lib/model/texte.js +321 -0
  49. package/lib/model/texte.mjs +208 -0
  50. package/lib/model/texte.ts +229 -0
  51. package/lib/model/util.d.ts +7 -1
  52. package/lib/model/util.js +37 -53
  53. package/lib/model/util.mjs +19 -10
  54. package/lib/model/util.ts +30 -14
  55. package/lib/raw_types/ameli.d.ts +912 -538
  56. package/lib/raw_types/ameli.js +1 -39
  57. package/lib/raw_types/ameli.mjs +4 -1
  58. package/lib/raw_types/ameli.ts +947 -597
  59. package/lib/raw_types/debats.d.ts +204 -124
  60. package/lib/raw_types/debats.js +1 -18
  61. package/lib/raw_types/debats.mjs +4 -1
  62. package/lib/raw_types/debats.ts +218 -141
  63. package/lib/raw_types/dosleg.d.ts +3533 -2024
  64. package/lib/raw_types/dosleg.js +1 -92
  65. package/lib/raw_types/dosleg.mjs +4 -1
  66. package/lib/raw_types/dosleg.ts +3621 -2189
  67. package/lib/raw_types/questions.d.ts +404 -220
  68. package/lib/raw_types/questions.js +1 -18
  69. package/lib/raw_types/questions.mjs +4 -1
  70. package/lib/raw_types/questions.ts +404 -226
  71. package/lib/raw_types/sens.d.ts +4391 -2706
  72. package/lib/raw_types/sens.js +1 -108
  73. package/lib/raw_types/sens.mjs +4 -1
  74. package/lib/raw_types/sens.ts +4495 -2903
  75. package/lib/raw_types_kysely/ameli.d.ts +6 -0
  76. package/lib/raw_types_kysely/ameli.mjs +7 -0
  77. package/lib/raw_types_kysely/ameli.ts +6 -0
  78. package/lib/raw_types_kysely/debats.d.ts +6 -0
  79. package/lib/raw_types_kysely/debats.mjs +7 -0
  80. package/lib/raw_types_kysely/debats.ts +6 -0
  81. package/lib/raw_types_kysely/dosleg.d.ts +6 -0
  82. package/lib/raw_types_kysely/dosleg.mjs +7 -0
  83. package/lib/raw_types_kysely/dosleg.ts +6 -0
  84. package/lib/raw_types_kysely/questions.d.ts +6 -0
  85. package/lib/raw_types_kysely/questions.mjs +7 -0
  86. package/lib/raw_types_kysely/questions.ts +6 -0
  87. package/lib/raw_types_kysely/sens.d.ts +6 -0
  88. package/lib/raw_types_kysely/sens.mjs +7 -0
  89. package/lib/raw_types_kysely/sens.ts +6 -0
  90. package/lib/raw_types_kysely/texte.d.ts +45 -0
  91. package/lib/raw_types_kysely/texte.mjs +7 -0
  92. package/lib/raw_types_kysely/texte.ts +53 -0
  93. package/lib/raw_types_schemats/ameli.d.ts +541 -0
  94. package/lib/raw_types_schemats/ameli.js +45 -0
  95. package/lib/raw_types_schemats/ameli.mjs +2 -0
  96. package/lib/raw_types_schemats/ameli.ts +601 -0
  97. package/lib/raw_types_schemats/debats.d.ts +127 -0
  98. package/lib/raw_types_schemats/debats.js +24 -0
  99. package/lib/raw_types_schemats/debats.mjs +2 -0
  100. package/lib/raw_types_schemats/debats.ts +145 -0
  101. package/lib/raw_types_schemats/dosleg.d.ts +2029 -0
  102. package/lib/raw_types_schemats/dosleg.js +98 -0
  103. package/lib/raw_types_schemats/dosleg.mjs +2 -0
  104. package/lib/raw_types_schemats/dosleg.ts +2195 -0
  105. package/lib/raw_types_schemats/questions.d.ts +233 -0
  106. package/lib/raw_types_schemats/questions.js +24 -0
  107. package/lib/raw_types_schemats/questions.mjs +2 -0
  108. package/lib/raw_types_schemats/questions.ts +251 -0
  109. package/lib/raw_types_schemats/sens.d.ts +2709 -0
  110. package/lib/raw_types_schemats/sens.js +114 -0
  111. package/lib/raw_types_schemats/sens.mjs +2 -0
  112. package/lib/raw_types_schemats/sens.ts +2907 -0
  113. package/lib/scripts/convert_data.js +574 -215
  114. package/lib/scripts/convert_data.mjs +134 -99
  115. package/lib/scripts/convert_data.ts +173 -112
  116. package/lib/scripts/datautil.d.ts +5 -0
  117. package/lib/scripts/datautil.js +64 -0
  118. package/lib/scripts/datautil.mjs +16 -0
  119. package/lib/scripts/datautil.ts +19 -0
  120. package/lib/scripts/parse_textes.js +132 -0
  121. package/lib/scripts/parse_textes.mjs +46 -0
  122. package/lib/scripts/parse_textes.ts +65 -0
  123. package/lib/scripts/retrieve_documents.d.ts +1 -0
  124. package/lib/scripts/retrieve_documents.js +521 -0
  125. package/lib/scripts/retrieve_documents.mjs +249 -0
  126. package/lib/scripts/retrieve_documents.ts +298 -0
  127. package/lib/scripts/retrieve_open_data.js +77 -69
  128. package/lib/scripts/retrieve_open_data.mjs +48 -49
  129. package/lib/scripts/retrieve_open_data.ts +74 -58
  130. package/lib/scripts/retrieve_senateurs_photos.js +45 -63
  131. package/lib/scripts/retrieve_senateurs_photos.mjs +4 -21
  132. package/lib/scripts/retrieve_senateurs_photos.ts +6 -29
  133. package/lib/scripts/retrieve_textes.mjs +325 -74
  134. package/lib/scripts/retrieve_textes.ts +111 -63
  135. package/lib/scripts/shared/cli_helpers.d.ts +44 -0
  136. package/lib/scripts/shared/cli_helpers.js +35 -0
  137. package/lib/scripts/shared/cli_helpers.ts +36 -0
  138. package/lib/scripts/shared/util.d.ts +3 -0
  139. package/lib/scripts/shared/util.js +102 -0
  140. package/lib/scripts/shared/util.ts +33 -0
  141. package/lib/src/aggregates.d.ts +52 -0
  142. package/lib/src/aggregates.mjs +726 -0
  143. package/lib/src/config.d.ts +2 -0
  144. package/lib/src/config.mjs +16 -0
  145. package/lib/src/databases.d.ts +18 -0
  146. package/lib/src/databases.mjs +55 -0
  147. package/lib/src/datasets.d.ts +28 -0
  148. package/lib/src/datasets.mjs +78 -0
  149. package/lib/src/fields.d.ts +10 -0
  150. package/lib/src/fields.mjs +22 -0
  151. package/lib/src/index.d.ts +8 -0
  152. package/lib/src/index.mjs +7 -0
  153. package/lib/src/inserters.d.ts +98 -0
  154. package/lib/src/inserters.mjs +360 -0
  155. package/lib/src/loaders.d.ts +36 -0
  156. package/lib/src/loaders.mjs +107 -0
  157. package/lib/src/model/ameli.d.ts +4 -0
  158. package/lib/src/model/ameli.js +57 -0
  159. package/lib/src/model/debats.d.ts +4 -0
  160. package/lib/src/model/debats.js +43 -0
  161. package/lib/src/model/dosleg.d.ts +197 -0
  162. package/lib/src/model/dosleg.js +169 -0
  163. package/lib/src/model/index.d.ts +4 -0
  164. package/lib/src/model/index.js +4 -0
  165. package/lib/src/model/questions.d.ts +89 -0
  166. package/lib/src/model/questions.js +76 -0
  167. package/lib/src/model/sens.d.ts +390 -0
  168. package/lib/src/model/sens.js +339 -0
  169. package/lib/src/model/texte.d.ts +7 -0
  170. package/lib/src/model/texte.js +183 -0
  171. package/lib/src/raw_types_kysely/ameli.d.ts +915 -0
  172. package/lib/src/raw_types_kysely/ameli.js +5 -0
  173. package/lib/src/raw_types_kysely/debats.d.ts +207 -0
  174. package/lib/src/raw_types_kysely/debats.js +5 -0
  175. package/lib/src/raw_types_kysely/dosleg.d.ts +3532 -0
  176. package/lib/src/raw_types_kysely/dosleg.js +5 -0
  177. package/lib/src/raw_types_kysely/questions.d.ts +414 -0
  178. package/lib/src/raw_types_kysely/questions.js +5 -0
  179. package/lib/src/raw_types_kysely/sens.d.ts +4394 -0
  180. package/lib/src/raw_types_kysely/sens.js +5 -0
  181. package/lib/src/raw_types_schemats/ameli.d.ts +541 -0
  182. package/lib/src/raw_types_schemats/ameli.js +2 -0
  183. package/lib/src/raw_types_schemats/debats.d.ts +127 -0
  184. package/lib/src/raw_types_schemats/debats.js +2 -0
  185. package/lib/src/raw_types_schemats/dosleg.d.ts +2027 -0
  186. package/lib/src/raw_types_schemats/dosleg.js +2 -0
  187. package/lib/src/raw_types_schemats/questions.d.ts +231 -0
  188. package/lib/src/raw_types_schemats/questions.js +2 -0
  189. package/lib/src/raw_types_schemats/sens.d.ts +2709 -0
  190. package/lib/src/raw_types_schemats/sens.js +2 -0
  191. package/lib/src/scripts/convert_data.d.ts +1 -0
  192. package/lib/src/scripts/convert_data.js +95 -0
  193. package/lib/src/scripts/datautil.d.ts +5 -0
  194. package/lib/src/scripts/datautil.js +16 -0
  195. package/lib/src/scripts/parse_textes.d.ts +1 -0
  196. package/lib/src/scripts/parse_textes.js +47 -0
  197. package/lib/src/scripts/retrieve_documents.d.ts +1 -0
  198. package/lib/src/scripts/retrieve_documents.js +258 -0
  199. package/lib/src/scripts/retrieve_open_data.d.ts +1 -0
  200. package/lib/src/scripts/retrieve_open_data.js +214 -0
  201. package/lib/src/scripts/retrieve_senateurs_photos.d.ts +1 -0
  202. package/lib/src/scripts/retrieve_senateurs_photos.js +147 -0
  203. package/lib/src/scripts/shared/cli_helpers.d.ts +44 -0
  204. package/lib/src/scripts/shared/cli_helpers.js +32 -0
  205. package/lib/src/scripts/shared/util.d.ts +3 -0
  206. package/lib/src/scripts/shared/util.js +28 -0
  207. package/lib/src/strings.d.ts +1 -0
  208. package/lib/src/strings.mjs +18 -0
  209. package/lib/src/types/ameli.d.ts +10 -0
  210. package/lib/src/types/ameli.js +13 -0
  211. package/lib/src/types/debats.d.ts +4 -0
  212. package/lib/src/types/debats.js +2 -0
  213. package/lib/src/types/dosleg.d.ts +98 -0
  214. package/lib/src/types/dosleg.js +151 -0
  215. package/lib/src/types/questions.d.ts +2 -0
  216. package/lib/src/types/questions.js +1 -0
  217. package/lib/src/types/sens.d.ts +10 -0
  218. package/lib/src/types/sens.js +1 -0
  219. package/lib/src/types/sessions.d.ts +42 -0
  220. package/lib/src/types/sessions.js +43 -0
  221. package/lib/src/types/texte.d.ts +61 -0
  222. package/lib/src/types/texte.js +16 -0
  223. package/lib/src/validators/config.d.ts +1 -0
  224. package/lib/src/validators/config.js +54 -0
  225. package/lib/src/validators/senat.d.ts +0 -0
  226. package/lib/src/validators/senat.js +24 -0
  227. package/lib/types/ameli.d.ts +1 -1
  228. package/lib/types/ameli.js +2 -2
  229. package/lib/types/ameli.ts +1 -1
  230. package/lib/types/debats.d.ts +1 -1
  231. package/lib/types/debats.js +2 -2
  232. package/lib/types/debats.ts +1 -1
  233. package/lib/types/dosleg.d.ts +2 -2
  234. package/lib/types/dosleg.js +2 -2
  235. package/lib/types/dosleg.ts +2 -2
  236. package/lib/types/questions.d.ts +1 -1
  237. package/lib/types/questions.js +2 -2
  238. package/lib/types/questions.ts +1 -1
  239. package/lib/types/sens.d.ts +1 -3
  240. package/lib/types/sens.js +2 -5
  241. package/lib/types/sens.mjs +1 -23
  242. package/lib/types/sens.ts +1 -25
  243. package/lib/types/sessions.d.ts +42 -0
  244. package/lib/types/sessions.js +51 -0
  245. package/lib/types/sessions.mjs +43 -0
  246. package/lib/types/sessions.ts +42 -0
  247. package/lib/types/texte.d.ts +65 -0
  248. package/lib/types/texte.js +24 -0
  249. package/lib/types/texte.mjs +16 -0
  250. package/lib/types/texte.ts +76 -0
  251. package/package.json +35 -10
  252. package/lib/aggregates.js +0 -1122
  253. package/lib/fields.js +0 -68
  254. package/lib/inserters.js +0 -518
  255. package/lib/scripts/fix_db.js +0 -144
  256. package/lib/scripts/fix_db.mjs +0 -64
  257. package/lib/scripts/fix_db.ts +0 -75
  258. package/lib/scripts/retrieve_textes.js +0 -179
  259. /package/lib/scripts/{fix_db.d.ts → parse_textes.d.ts} +0 -0
@@ -0,0 +1,197 @@
1
+ import { InferResult } from "kysely";
2
+ declare const findAllQuery: import("kysely").SelectQueryBuilder<{
3
+ ble: import("../raw_types_kysely/dosleg").Ble;
4
+ ass: import("../raw_types_kysely/dosleg").Ass;
5
+ aud: import("../raw_types_kysely/dosleg").Aud;
6
+ org: import("../raw_types_kysely/dosleg").Org;
7
+ auteur: import("../raw_types_kysely/dosleg").Auteur;
8
+ qua: import("../raw_types_kysely/dosleg").Qua;
9
+ date_seance: import("../raw_types_kysely/dosleg").DateSeance;
10
+ deccoc: import("../raw_types_kysely/dosleg").Deccoc;
11
+ denrap: import("../raw_types_kysely/dosleg").Denrap;
12
+ docatt: import("../raw_types_kysely/dosleg").Docatt;
13
+ rap: import("../raw_types_kysely/dosleg").Rap;
14
+ typatt: import("../raw_types_kysely/dosleg").Typatt;
15
+ ecr: import("../raw_types_kysely/dosleg").Ecr;
16
+ etaloi: import("kysely").Nullable<import("../raw_types_kysely/dosleg").Etaloi>;
17
+ lecass: import("../raw_types_kysely/dosleg").Lecass;
18
+ lecassrap: import("../raw_types_kysely/dosleg").Lecassrap;
19
+ lecture: import("../raw_types_kysely/dosleg").Lecture;
20
+ typlec: import("../raw_types_kysely/dosleg").Typlec;
21
+ loi: import("../raw_types_kysely/dosleg").Loi;
22
+ typloi: import("kysely").Nullable<import("../raw_types_kysely/dosleg").Typloi>;
23
+ oritxt: import("../raw_types_kysely/dosleg").Oritxt;
24
+ scr: import("../raw_types_kysely/dosleg").Scr;
25
+ ses: import("../raw_types_kysely/dosleg").Ses;
26
+ texte: import("../raw_types_kysely/dosleg").Texte;
27
+ typtxt: import("../raw_types_kysely/dosleg").Typtxt;
28
+ typurl: import("../raw_types_kysely/dosleg").Typurl;
29
+ amescr: import("../raw_types_kysely/dosleg").Amescr;
30
+ bur: import("../raw_types_kysely/dosleg").Bur;
31
+ catrap: import("../raw_types_kysely/dosleg").Catrap;
32
+ com: import("../raw_types_kysely/dosleg").Com;
33
+ corscr: import("../raw_types_kysely/dosleg").Corscr;
34
+ delega: import("../raw_types_kysely/dosleg").Delega;
35
+ designorg: import("../raw_types_kysely/dosleg").Designorg;
36
+ doc: import("../raw_types_kysely/dosleg").Doc;
37
+ docsea: import("../raw_types_kysely/dosleg").Docsea;
38
+ dpt: import("../raw_types_kysely/dosleg").Dpt;
39
+ dptele: import("../raw_types_kysely/dosleg").Dptele;
40
+ elusen: import("../raw_types_kysely/dosleg").Elusen;
41
+ etadebman: import("../raw_types_kysely/dosleg").Etadebman;
42
+ etafinman: import("../raw_types_kysely/dosleg").Etafinman;
43
+ etasen: import("../raw_types_kysely/dosleg").Etasen;
44
+ evtsea: import("../raw_types_kysely/dosleg").Evtsea;
45
+ foncom: import("../raw_types_kysely/dosleg").Foncom;
46
+ fondelega: import("../raw_types_kysely/dosleg").Fondelega;
47
+ fongrppol: import("../raw_types_kysely/dosleg").Fongrppol;
48
+ fonmemcom: import("../raw_types_kysely/dosleg").Fonmemcom;
49
+ fonmemdelega: import("../raw_types_kysely/dosleg").Fonmemdelega;
50
+ fonmemgrppol: import("../raw_types_kysely/dosleg").Fonmemgrppol;
51
+ forpub: import("../raw_types_kysely/dosleg").Forpub;
52
+ gen: import("../raw_types_kysely/dosleg").Gen;
53
+ grppol: import("../raw_types_kysely/dosleg").Grppol;
54
+ libcom: import("../raw_types_kysely/dosleg").Libcom;
55
+ libdelega: import("../raw_types_kysely/dosleg").Libdelega;
56
+ libgrppol: import("../raw_types_kysely/dosleg").Libgrppol;
57
+ lnkrap: import("../raw_types_kysely/dosleg").Lnkrap;
58
+ loithe: import("../raw_types_kysely/dosleg").Loithe;
59
+ memcom: import("../raw_types_kysely/dosleg").Memcom;
60
+ memdelega: import("../raw_types_kysely/dosleg").Memdelega;
61
+ memgrppol: import("../raw_types_kysely/dosleg").Memgrppol;
62
+ natloi: import("../raw_types_kysely/dosleg").Natloi;
63
+ orgnomhis: import("../raw_types_kysely/dosleg").Orgnomhis;
64
+ orippr: import("../raw_types_kysely/dosleg").Orippr;
65
+ posvot: import("../raw_types_kysely/dosleg").Posvot;
66
+ qua_sen: import("../raw_types_kysely/dosleg").QuaSen;
67
+ raporg: import("../raw_types_kysely/dosleg").Raporg;
68
+ rapthe: import("../raw_types_kysely/dosleg").Rapthe;
69
+ rolsig: import("../raw_types_kysely/dosleg").Rolsig;
70
+ sen: import("../raw_types_kysely/dosleg").Sen;
71
+ senbur: import("../raw_types_kysely/dosleg").Senbur;
72
+ sennom: import("../raw_types_kysely/dosleg").Sennom;
73
+ stavot: import("../raw_types_kysely/dosleg").Stavot;
74
+ texte_ancien: import("../raw_types_kysely/dosleg").TexteAncien;
75
+ the: import("../raw_types_kysely/dosleg").The;
76
+ titsen: import("../raw_types_kysely/dosleg").Titsen;
77
+ typapppol: import("../raw_types_kysely/dosleg").Typapppol;
78
+ typaut: import("../raw_types_kysely/dosleg").Typaut;
79
+ typdoc: import("../raw_types_kysely/dosleg").Typdoc;
80
+ typevtsea: import("../raw_types_kysely/dosleg").Typevtsea;
81
+ typorg: import("../raw_types_kysely/dosleg").Typorg;
82
+ typorg_sen: import("../raw_types_kysely/dosleg").TyporgSen;
83
+ typrap: import("../raw_types_kysely/dosleg").Typrap;
84
+ votsen: import("../raw_types_kysely/dosleg").Votsen;
85
+ }, "etaloi" | "loi" | "typloi", {
86
+ url: string;
87
+ signet: string;
88
+ titre: string;
89
+ type_dossier: string;
90
+ etat_dossier: string;
91
+ lectures: {
92
+ type_lecture: string;
93
+ libelle: string;
94
+ lectures_assemblee: {
95
+ assemblee: string;
96
+ libelle_organisme: string | null;
97
+ textes: {
98
+ url: string;
99
+ auteurs: {
100
+ prenom: string | null;
101
+ nom_usuel: string;
102
+ matricule: string | null;
103
+ }[];
104
+ numero: string | null;
105
+ origine_texte: string;
106
+ type_texte: string;
107
+ date: Date;
108
+ session: string | null;
109
+ }[];
110
+ rapports: {
111
+ numero: string | null;
112
+ type_rapport: string;
113
+ url: string;
114
+ date_depot: Date;
115
+ auteurs: {
116
+ prenom: string | null;
117
+ nom_usuel: string;
118
+ matricule: string | null;
119
+ }[];
120
+ organismes: {
121
+ libelle: string;
122
+ }[];
123
+ }[];
124
+ dates_seances: {
125
+ date: Date | null;
126
+ }[];
127
+ }[];
128
+ }[];
129
+ themes: {
130
+ libelle: string;
131
+ }[];
132
+ url_dossier_assemblee_nationale: string | null;
133
+ date_promulgation: Date | null;
134
+ numero_loi: string | null;
135
+ }>;
136
+ export declare function findAll(): AsyncIterableIterator<{
137
+ url: string;
138
+ signet: string;
139
+ titre: string;
140
+ type_dossier: string;
141
+ etat_dossier: string;
142
+ lectures: {
143
+ type_lecture: string;
144
+ libelle: string;
145
+ lectures_assemblee: {
146
+ assemblee: string;
147
+ libelle_organisme: string | null;
148
+ textes: {
149
+ url: string;
150
+ auteurs: {
151
+ prenom: string | null;
152
+ nom_usuel: string;
153
+ matricule: string | null;
154
+ }[];
155
+ numero: string | null;
156
+ origine_texte: string;
157
+ type_texte: string;
158
+ date: Date;
159
+ session: string | null;
160
+ }[];
161
+ rapports: {
162
+ numero: string | null;
163
+ type_rapport: string;
164
+ url: string;
165
+ date_depot: Date;
166
+ auteurs: {
167
+ prenom: string | null;
168
+ nom_usuel: string;
169
+ matricule: string | null;
170
+ }[];
171
+ organismes: {
172
+ libelle: string;
173
+ }[];
174
+ }[];
175
+ dates_seances: {
176
+ date: Date | null;
177
+ }[];
178
+ }[];
179
+ }[];
180
+ themes: {
181
+ libelle: string;
182
+ }[];
183
+ url_dossier_assemblee_nationale: string | null;
184
+ date_promulgation: Date | null;
185
+ numero_loi: string | null;
186
+ }>;
187
+ export declare function findSenatTexteUrls(sessions?: string[]): AsyncIterableIterator<{
188
+ session: string | null | undefined;
189
+ url: string;
190
+ hasExposeDesMotifs: boolean;
191
+ }>;
192
+ export declare function findSenatRapportUrls(sessions?: string[]): AsyncIterableIterator<{
193
+ url: string;
194
+ session: string | null | undefined;
195
+ }>;
196
+ export type DossierLegislatifResult = InferResult<typeof findAllQuery>[0];
197
+ export {};
@@ -0,0 +1,169 @@
1
+ import { sql } from "kysely";
2
+ import { dbDosleg } from "../databases";
3
+ import { jsonArrayFrom } from "kysely/helpers/postgres";
4
+ function datesSeances(lectureAssembleeId) {
5
+ return jsonArrayFrom(dbDosleg.selectFrom("date_seance")
6
+ .where("date_seance.lecidt", "=", lectureAssembleeId)
7
+ .select([
8
+ "date_seance.date_s as date",
9
+ ]));
10
+ }
11
+ function organismesRapport(rapportId) {
12
+ return jsonArrayFrom(dbDosleg.selectFrom("org")
13
+ .leftJoin("raporg", "raporg.orgcod", "org.orgcod")
14
+ .where("raporg.rapcod", "=", rapportId)
15
+ .select([
16
+ "org.orgnom as libelle",
17
+ ]));
18
+ }
19
+ function auteursRapport(rapportId) {
20
+ return jsonArrayFrom(dbDosleg.selectFrom("auteur")
21
+ .leftJoin("ecr", "ecr.autcod", "auteur.autcod")
22
+ .where("ecr.rapcod", "=", rapportId)
23
+ .select([
24
+ "auteur.prenom as prenom",
25
+ "auteur.nomuse as nom_usuel",
26
+ "auteur.autmat as matricule",
27
+ ])
28
+ .orderBy("ecr.ecrnumtri", "asc"));
29
+ }
30
+ function rapports(lectureAssembleeId) {
31
+ return jsonArrayFrom(dbDosleg.selectFrom("rap")
32
+ .leftJoin("lecassrap", "lecassrap.rapcod", "rap.rapcod")
33
+ .leftJoin("denrap", "denrap.coddenrap", "rap.coddenrap")
34
+ .where("lecassrap.lecassidt", "=", lectureAssembleeId)
35
+ .select((eb) => [
36
+ "rap.rapnum as numero",
37
+ sql `rtrim(denrap.libdenrap)`.as("type_rapport"),
38
+ eb.case()
39
+ .when("rap.typurl", "=", "I")
40
+ .then(sql `concat('https://www.senat.fr/rap/', rtrim(rap.rapurl))`)
41
+ .else(sql `rtrim(rap.rapurl)`)
42
+ .end()
43
+ .as("url"),
44
+ "rap.date_depot as date_depot",
45
+ auteursRapport(eb.ref("rap.rapcod")).as("auteurs"),
46
+ organismesRapport(eb.ref("rap.rapcod")).as("organismes"),
47
+ ]));
48
+ }
49
+ function auteursTextes(texteId) {
50
+ return jsonArrayFrom(dbDosleg.selectFrom("auteur")
51
+ .leftJoin("ecr", "ecr.autcod", "auteur.autcod")
52
+ .where("ecr.texcod", "=", texteId)
53
+ .select([
54
+ "auteur.prenom as prenom",
55
+ "auteur.nomuse as nom_usuel",
56
+ "auteur.autmat as matricule",
57
+ ])
58
+ .orderBy("ecr.ecrnumtri", "asc"));
59
+ }
60
+ function textes(lectureAssembleeId) {
61
+ return jsonArrayFrom(dbDosleg.selectFrom("texte")
62
+ .leftJoin("oritxt", "oritxt.oritxtcod", "texte.oritxtcod")
63
+ .leftJoin("typtxt", "typtxt.typtxtcod", "texte.typtxtcod")
64
+ .where("texte.lecassidt", "=", lectureAssembleeId)
65
+ .select((eb) => [
66
+ "texte.texnum as numero",
67
+ eb.case()
68
+ .when("texte.typurl", "=", "I")
69
+ .then(sql `concat('https://www.senat.fr/leg/', rtrim(texte.texurl))`)
70
+ .else(sql `rtrim(texte.texurl)`)
71
+ .end()
72
+ .as("url"),
73
+ sql `rtrim(oritxt.oritxtlib)`.as("origine_texte"),
74
+ sql `rtrim(typtxt.typtxtlib)`.as("type_texte"),
75
+ "texte.txtoritxtdat as date",
76
+ "sesann as session",
77
+ auteursTextes(eb.ref("texte.texcod")).as("auteurs"),
78
+ ])
79
+ .orderBy(sql `array_position(array['0','2','1'], oritxt.oriordre)`));
80
+ }
81
+ function lecturesAssemblee(lectureId) {
82
+ return jsonArrayFrom(dbDosleg.selectFrom("lecass")
83
+ .where("lecass.lecidt", "=", lectureId)
84
+ .leftJoin("ass", "ass.codass", "lecass.codass")
85
+ .leftJoin("org", "org.orgcod", "lecass.orgcod")
86
+ .select(({ ref }) => [
87
+ sql `rtrim(ass.libass)`.as("assemblee"),
88
+ "org.orgnom as libelle_organisme",
89
+ textes(ref("lecass.lecassidt")).as("textes"),
90
+ rapports(ref("lecass.lecassidt")).as("rapports"),
91
+ datesSeances(ref("lecass.lecassidt")).as("dates_seances"),
92
+ ])
93
+ .orderBy("lecass.ordreass", "asc"));
94
+ }
95
+ function lectures(loiId) {
96
+ return jsonArrayFrom(dbDosleg.selectFrom("lecture")
97
+ .leftJoin("typlec", "typlec.typleccod", "lecture.typleccod")
98
+ .where("lecture.loicod", "=", loiId)
99
+ .select(({ ref }) => [
100
+ sql `rtrim(typlec.typleclib)`.as("type_lecture"),
101
+ sql `rtrim(lecture.leccom)`.as("libelle"),
102
+ lecturesAssemblee(ref("lecture.lecidt")).as("lectures_assemblee"),
103
+ ])
104
+ .orderBy("typlec.typlecord", "asc"));
105
+ }
106
+ function themes(loiId) {
107
+ return jsonArrayFrom(dbDosleg.selectFrom("the")
108
+ .leftJoin("loithe", "loithe.thecle", "the.thecle")
109
+ .where("loithe.loicod", "=", loiId)
110
+ .select([
111
+ "the.thelib as libelle",
112
+ ]));
113
+ }
114
+ const findAllQuery = dbDosleg
115
+ .selectFrom("loi")
116
+ .leftJoin("typloi", "typloi.typloicod", "loi.typloicod")
117
+ .leftJoin("etaloi", "etaloi.etaloicod", "loi.etaloicod")
118
+ .select(({ ref }) => [
119
+ "loi.signet as signet",
120
+ sql `concat('https://www.senat.fr/dossier-legislatif/', loi.signet, '.html')`.as("url"),
121
+ sql `concat(rtrim(typloi.typloilib), ' ', rtrim(loi.loitit))`.as("titre"),
122
+ sql `rtrim(typloi.typloilib)`.as("type_dossier"),
123
+ sql `rtrim(etaloi.etaloilib)`.as("etat_dossier"),
124
+ "loi.url_an as url_dossier_assemblee_nationale",
125
+ //" as decision_conseil_constitutionnel", // TODO
126
+ //" as date_decision_conseil_constitutionnel", // TODO
127
+ "loi.date_loi as date_promulgation",
128
+ "loi.numero as numero_loi",
129
+ lectures(ref("loi.loicod")).as("lectures"),
130
+ themes(ref("loi.loicod")).as("themes"),
131
+ ])
132
+ .$narrowType();
133
+ export function findAll() {
134
+ return findAllQuery.stream();
135
+ }
136
+ export function findSenatTexteUrls(sessions = []) {
137
+ return dbDosleg
138
+ .selectFrom("texte")
139
+ .where("texurl", "is not", null)
140
+ .where("typurl", "=", "I")
141
+ .$if(sessions.length > 0, (qb) => qb
142
+ .where("sesann", "in", sessions))
143
+ .select((eb) => [
144
+ "sesann as session",
145
+ sql `rtrim(texurl)`.as("url"),
146
+ eb.case()
147
+ .when("oritxtcod", "=", "1")
148
+ .then(true)
149
+ .else(false)
150
+ .end()
151
+ .as("hasExposeDesMotifs"),
152
+ ])
153
+ .$narrowType()
154
+ .stream();
155
+ }
156
+ export function findSenatRapportUrls(sessions = []) {
157
+ return dbDosleg
158
+ .selectFrom("rap")
159
+ .where("rapurl", "is not", null)
160
+ .where("typurl", "=", "I")
161
+ .$if(sessions.length > 0, (qb) => qb
162
+ .where("sesann", "in", sessions))
163
+ .select([
164
+ sql `rtrim(rapurl)`.as("url"),
165
+ "sesann as session",
166
+ ])
167
+ .$narrowType()
168
+ .stream();
169
+ }
@@ -0,0 +1,4 @@
1
+ export { findAll as findAllLois, } from "./dosleg";
2
+ export { findAll as findAllQuestions, getDbSchema as getQuestionsDbSchema, } from "./questions";
3
+ export { findAll as findAllSens, findAllCirconscriptions, getDbSchema as getSensDbSchema, } from "./sens";
4
+ export { allFollows, Aggregator } from "../aggregates";
@@ -0,0 +1,4 @@
1
+ export { findAll as findAllLois, } from "./dosleg";
2
+ export { findAll as findAllQuestions, getDbSchema as getQuestionsDbSchema, } from "./questions";
3
+ export { findAll as findAllSens, findAllCirconscriptions, getDbSchema as getSensDbSchema, } from "./sens";
4
+ export { allFollows, Aggregator } from "../aggregates";
@@ -0,0 +1,89 @@
1
+ import { InferResult } from "kysely";
2
+ declare const findAllQuery: import("kysely").SelectQueryBuilder<{
3
+ tam_questions: import("../raw_types_kysely/questions").TamQuestions;
4
+ the: import("../raw_types_kysely/questions").The;
5
+ tam_reponses: import("../raw_types_kysely/questions").TamReponses;
6
+ etatquestion: import("kysely").Nullable<import("../raw_types_kysely/questions").Etatquestion>;
7
+ legquestion: import("../raw_types_kysely/questions").Legquestion;
8
+ naturequestion: import("kysely").Nullable<import("../raw_types_kysely/questions").Naturequestion>;
9
+ sortquestion: import("kysely").Nullable<import("../raw_types_kysely/questions").Sortquestion>;
10
+ tam_ministeres: import("kysely").Nullable<import("../raw_types_kysely/questions").TamMinisteres>;
11
+ }, "tam_questions" | "etatquestion" | "naturequestion" | "sortquestion" | "tam_ministeres", {
12
+ republique: string | null;
13
+ legislature: string | null;
14
+ sort: string | null;
15
+ nature: string | null;
16
+ numero: string | null;
17
+ reference: string | null;
18
+ titre: string | null;
19
+ nom: string | null;
20
+ prenom: string | null;
21
+ civilite: string | null;
22
+ matricule: string;
23
+ circonscription: string | null;
24
+ groupe: string | null;
25
+ type_appartenance: string | null;
26
+ date_publication_JO: Date | null;
27
+ ministere_depot: string | null;
28
+ ministere_depot_date_debut: Date | null;
29
+ date_transmission: Date | null;
30
+ ministere_transmission: string | null;
31
+ date_reponse_JO: Date | null;
32
+ ministere_reponse: string | null;
33
+ date_cloture: Date | null;
34
+ reference_question_rappelee: string | null;
35
+ texte: string | null;
36
+ texte_erratum: string | null;
37
+ rubrique: string | null;
38
+ } & {
39
+ themes: {
40
+ libelle: string;
41
+ }[];
42
+ reponses: {
43
+ date_reponse_JO: Date | null;
44
+ ministere_reponse: string | null;
45
+ texte: string | null;
46
+ texte_erratum: string | null;
47
+ }[];
48
+ }>;
49
+ export type QuestionResult = InferResult<typeof findAllQuery>[0];
50
+ export declare function findAll(): AsyncIterableIterator<{
51
+ republique: string | null;
52
+ legislature: string | null;
53
+ sort: string | null;
54
+ nature: string | null;
55
+ numero: string | null;
56
+ reference: string | null;
57
+ titre: string | null;
58
+ nom: string | null;
59
+ prenom: string | null;
60
+ civilite: string | null;
61
+ matricule: string;
62
+ circonscription: string | null;
63
+ groupe: string | null;
64
+ type_appartenance: string | null;
65
+ date_publication_JO: Date | null;
66
+ ministere_depot: string | null;
67
+ ministere_depot_date_debut: Date | null;
68
+ date_transmission: Date | null;
69
+ ministere_transmission: string | null;
70
+ date_reponse_JO: Date | null;
71
+ ministere_reponse: string | null;
72
+ date_cloture: Date | null;
73
+ reference_question_rappelee: string | null;
74
+ texte: string | null;
75
+ texte_erratum: string | null;
76
+ rubrique: string | null;
77
+ } & {
78
+ themes: {
79
+ libelle: string;
80
+ }[];
81
+ reponses: {
82
+ date_reponse_JO: Date | null;
83
+ ministere_reponse: string | null;
84
+ texte: string | null;
85
+ texte_erratum: string | null;
86
+ }[];
87
+ }>;
88
+ export declare function getDbSchema(): Promise<import("kysely").TableMetadata[]>;
89
+ export {};
@@ -0,0 +1,76 @@
1
+ import { sql } from "kysely";
2
+ import { jsonArrayFrom } from "kysely/helpers/postgres";
3
+ import { dbQuestions } from "../databases";
4
+ function reponses(questionId) {
5
+ return jsonArrayFrom(dbQuestions.selectFrom("tam_reponses")
6
+ .where("tam_reponses.idque", "=", questionId)
7
+ .select([
8
+ "tam_reponses.datejorep as date_reponse_JO",
9
+ "tam_reponses.minreplib as ministere_reponse",
10
+ "tam_reponses.txtrep as texte",
11
+ "tam_reponses.txterrrep as texte_erratum",
12
+ ])
13
+ .orderBy("tam_reponses.datejorep asc"));
14
+ }
15
+ function themes(questionId) {
16
+ return jsonArrayFrom(dbQuestions.with("question_theme", (db) => db
17
+ .selectFrom("tam_questions")
18
+ .select([
19
+ "id as question_id",
20
+ eb => eb
21
+ .cast(sql `unnest(regexp_matches(tam_questions.themes, '#(\\d+)', 'g'))`, "smallint")
22
+ .as("theme_id"),
23
+ ]))
24
+ .selectFrom("the")
25
+ .leftJoin("question_theme", "the.thenouidt", "question_theme.theme_id")
26
+ .where("question_theme.question_id", "=", questionId)
27
+ .select("the.thelib as libelle")
28
+ .orderBy("the.thenouidt asc"));
29
+ }
30
+ const findAllQuery = dbQuestions
31
+ .selectFrom("tam_questions")
32
+ .leftJoin("tam_ministeres", "tam_questions.mindepotid", "tam_ministeres.minid")
33
+ .leftJoin("sortquestion", (join) => join
34
+ .onRef("tam_questions.sorquecod", "=", eb => eb.cast("sortquestion.sorquecod", "bigint")))
35
+ .leftJoin("naturequestion", "tam_questions.natquecod", "naturequestion.natquecod")
36
+ .leftJoin("etatquestion", (join) => join
37
+ .onRef("tam_questions.etaquecod", "=", eb => eb.cast("etatquestion.etaquecod", "bigint")))
38
+ .select([
39
+ "tam_questions.repub as republique",
40
+ "tam_questions.legislature as legislature",
41
+ "sortquestion.sorquelib as sort",
42
+ "tam_questions.natquecod as nature",
43
+ "tam_questions.numero as numero",
44
+ "tam_questions.reference as reference",
45
+ "tam_questions.titre as titre",
46
+ "tam_questions.nom as nom",
47
+ "tam_questions.prenom as prenom",
48
+ "tam_questions.codequalite as civilite",
49
+ "tam_questions.matricule as matricule",
50
+ "tam_questions.circonscription as circonscription",
51
+ "tam_questions.groupe as groupe",
52
+ "tam_questions.ratgrp as type_appartenance",
53
+ "tam_questions.datejodepot as date_publication_JO",
54
+ "tam_questions.mindepotlib as ministere_depot",
55
+ "tam_ministeres.datedebut as ministere_depot_date_debut",
56
+ "tam_questions.datejotran as date_transmission",
57
+ "tam_questions.mintranlib as ministere_transmission",
58
+ "tam_questions.datejorep1 as date_reponse_JO",
59
+ "tam_questions.minreplib1 as ministere_reponse",
60
+ "tam_questions.datecloture as date_cloture",
61
+ "tam_questions.refquerappelee as reference_question_rappelee",
62
+ //"tam_questions.url as url", // TODO ?
63
+ "tam_questions.txtque as texte",
64
+ "tam_questions.txtque as texte_erratum",
65
+ "tam_questions.rubrique as rubrique",
66
+ ])
67
+ .select(({ ref }) => [
68
+ themes(ref("tam_questions.id")).as("themes"),
69
+ reponses(ref("tam_questions.id")).as("reponses"),
70
+ ]);
71
+ export function findAll() {
72
+ return findAllQuery.stream();
73
+ }
74
+ export function getDbSchema() {
75
+ return dbQuestions.introspection.getTables();
76
+ }