@tricoteuses/senat 2.8.6 → 2.9.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.
@@ -11,67 +11,39 @@ declare const findAllQuery: import("kysely").SelectQueryBuilder<{
11
11
  aud: import("../raw_types/dosleg").Aud;
12
12
  auteur: import("../raw_types/dosleg").Auteur;
13
13
  ble: import("../raw_types/dosleg").Ble;
14
- bur: import("../raw_types/dosleg").Bur;
15
14
  catrap: import("../raw_types/dosleg").Catrap;
16
- com: import("../raw_types/dosleg").Com;
17
15
  corscr: import("../raw_types/dosleg").Corscr;
18
16
  date_seance: import("../raw_types/dosleg").DateSeance;
19
17
  deccoc: import("../raw_types/dosleg").Deccoc;
20
- delega: import("../raw_types/dosleg").Delega;
21
18
  denrap: import("../raw_types/dosleg").Denrap;
22
- designorg: import("../raw_types/dosleg").Designorg;
23
19
  doc: import("../raw_types/dosleg").Doc;
24
20
  docatt: import("../raw_types/dosleg").Docatt;
25
21
  docsea: import("../raw_types/dosleg").Docsea;
26
- dpt: import("../raw_types/dosleg").Dpt;
27
- dptele: import("../raw_types/dosleg").Dptele;
28
22
  ecr: import("../raw_types/dosleg").Ecr;
29
- elusen: import("../raw_types/dosleg").Elusen;
30
- etadebman: import("../raw_types/dosleg").Etadebman;
31
- etafinman: import("../raw_types/dosleg").Etafinman;
32
23
  etaloi: import("kysely").Nullable<import("../raw_types/dosleg").Etaloi>;
33
- etasen: import("../raw_types/dosleg").Etasen;
34
24
  evtsea: import("../raw_types/dosleg").Evtsea;
35
- foncom: import("../raw_types/dosleg").Foncom;
36
- fondelega: import("../raw_types/dosleg").Fondelega;
37
- fongrppol: import("../raw_types/dosleg").Fongrppol;
38
- fonmemcom: import("../raw_types/dosleg").Fonmemcom;
39
- fonmemdelega: import("../raw_types/dosleg").Fonmemdelega;
40
- fonmemgrppol: import("../raw_types/dosleg").Fonmemgrppol;
41
25
  forpub: import("../raw_types/dosleg").Forpub;
42
26
  gen: import("../raw_types/dosleg").Gen;
43
- grppol: import("../raw_types/dosleg").Grppol;
44
27
  lecass: import("../raw_types/dosleg").Lecass;
45
28
  lecassrap: import("../raw_types/dosleg").Lecassrap;
46
- libcom: import("../raw_types/dosleg").Libcom;
47
- libdelega: import("../raw_types/dosleg").Libdelega;
48
- libgrppol: import("../raw_types/dosleg").Libgrppol;
49
29
  lnkrap: import("../raw_types/dosleg").Lnkrap;
50
30
  loithe: import("../raw_types/dosleg").Loithe;
51
- memcom: import("../raw_types/dosleg").Memcom;
52
- memdelega: import("../raw_types/dosleg").Memdelega;
53
- memgrppol: import("../raw_types/dosleg").Memgrppol;
54
31
  natloi: import("../raw_types/dosleg").Natloi;
55
32
  org: import("../raw_types/dosleg").Org;
56
33
  orgnomhis: import("../raw_types/dosleg").Orgnomhis;
57
34
  orippr: import("../raw_types/dosleg").Orippr;
58
35
  oritxt: import("../raw_types/dosleg").Oritxt;
59
36
  posvot: import("../raw_types/dosleg").Posvot;
60
- qua_sen: import("../raw_types/dosleg").QuaSen;
61
37
  rap: import("../raw_types/dosleg").Rap;
62
38
  raporg: import("../raw_types/dosleg").Raporg;
63
39
  rapthe: import("../raw_types/dosleg").Rapthe;
64
40
  rolsig: import("../raw_types/dosleg").Rolsig;
65
41
  scr: import("../raw_types/dosleg").Scr;
66
- sen: import("../raw_types/dosleg").Sen;
67
- senbur: import("../raw_types/dosleg").Senbur;
68
- sennom: import("../raw_types/dosleg").Sennom;
69
42
  stavot: import("../raw_types/dosleg").Stavot;
70
43
  texte: import("../raw_types/dosleg").Texte;
71
44
  texte_ancien: import("../raw_types/dosleg").TexteAncien;
72
45
  the: import("../raw_types/dosleg").The;
73
46
  titsen: import("../raw_types/dosleg").Titsen;
74
- typapppol: import("../raw_types/dosleg").Typapppol;
75
47
  typatt: import("../raw_types/dosleg").Typatt;
76
48
  typaut: import("../raw_types/dosleg").Typaut;
77
49
  typdoc: import("../raw_types/dosleg").Typdoc;
@@ -79,7 +51,6 @@ declare const findAllQuery: import("kysely").SelectQueryBuilder<{
79
51
  typlec: import("../raw_types/dosleg").Typlec;
80
52
  typloi: import("kysely").Nullable<import("../raw_types/dosleg").Typloi>;
81
53
  typorg: import("../raw_types/dosleg").Typorg;
82
- typorg_sen: import("../raw_types/dosleg").TyporgSen;
83
54
  typrap: import("../raw_types/dosleg").Typrap;
84
55
  typtxt: import("../raw_types/dosleg").Typtxt;
85
56
  typurl: import("../raw_types/dosleg").Typurl;
@@ -1,12 +1,14 @@
1
1
  import { InferResult } from "kysely";
2
2
  export type QuestionResult = InferResult<typeof findAllQuery>[0];
3
3
  declare const findAllQuery: import("kysely").SelectQueryBuilder<{
4
+ the: import("../raw_types/questions").The;
4
5
  tam_questions: import("../raw_types/questions").TamQuestions;
5
6
  etatquestion: import("kysely").Nullable<import("../raw_types/questions").Etatquestion>;
6
7
  legquestion: import("../raw_types/questions").Legquestion;
7
8
  naturequestion: import("kysely").Nullable<import("../raw_types/questions").Naturequestion>;
8
9
  sortquestion: import("kysely").Nullable<import("../raw_types/questions").Sortquestion>;
9
10
  tam_ministeres: import("kysely").Nullable<import("../raw_types/questions").TamMinisteres>;
11
+ tam_reponses: import("../raw_types/questions").TamReponses;
10
12
  }, "tam_questions" | "etatquestion" | "naturequestion" | "sortquestion" | "tam_ministeres", {
11
13
  date_publication_JO: string;
12
14
  republique: string | null;
@@ -34,6 +36,15 @@ declare const findAllQuery: import("kysely").SelectQueryBuilder<{
34
36
  texte: string | null;
35
37
  texte_erratum: string | null;
36
38
  rubrique: string | null;
39
+ themes: {
40
+ libelle: string;
41
+ }[];
42
+ reponses: {
43
+ date_reponse_JO: string;
44
+ ministere_reponse: string | null;
45
+ texte: string | null;
46
+ texte_erratum: string | null;
47
+ }[];
37
48
  }>;
38
49
  export declare function findAll(): AsyncIterableIterator<{
39
50
  date_publication_JO: string;
@@ -62,5 +73,14 @@ export declare function findAll(): AsyncIterableIterator<{
62
73
  texte: string | null;
63
74
  texte_erratum: string | null;
64
75
  rubrique: string | null;
76
+ themes: {
77
+ libelle: string;
78
+ }[];
79
+ reponses: {
80
+ date_reponse_JO: string;
81
+ ministere_reponse: string | null;
82
+ texte: string | null;
83
+ texte_erratum: string | null;
84
+ }[];
65
85
  }>;
66
86
  export {};
@@ -1,5 +1,34 @@
1
+ import { jsonArrayFrom } from "kysely/helpers/postgres";
1
2
  import { dbQuestions } from "../databases";
2
- import { rtrim, toDateString } from "./util";
3
+ import { expandToRows, rtrim, toDateString } from "./util";
4
+ function reponses(questionId) {
5
+ return jsonArrayFrom(dbQuestions
6
+ .selectFrom("tam_reponses")
7
+ .where("tam_reponses.idque", "=", questionId)
8
+ .select(({ ref }) => [
9
+ toDateString(ref("tam_reponses.datejorep")).as("date_reponse_JO"),
10
+ "tam_reponses.minreplib as ministere_reponse",
11
+ "tam_reponses.txtrep as texte",
12
+ "tam_reponses.txterrrep as texte_erratum",
13
+ ])
14
+ .orderBy("tam_reponses.datejorep asc"));
15
+ }
16
+ function themes(questionId) {
17
+ return jsonArrayFrom(dbQuestions
18
+ .with("question_theme", (db) => db
19
+ .selectFrom("tam_questions")
20
+ .select(({ eb, ref, val }) => [
21
+ "id as question_id",
22
+ eb
23
+ .cast(expandToRows(ref("tam_questions.themes"), val("#(\\d+)")), "smallint")
24
+ .as("theme_id"),
25
+ ]))
26
+ .selectFrom("the")
27
+ .leftJoin("question_theme", "the.thenouidt", "question_theme.theme_id")
28
+ .where("question_theme.question_id", "=", questionId)
29
+ .select("the.thelib as libelle")
30
+ .orderBy("the.thenouidt asc"));
31
+ }
3
32
  const findAllQuery = dbQuestions
4
33
  .selectFrom("tam_questions")
5
34
  .leftJoin("tam_ministeres", "tam_questions.mindepotid", "tam_ministeres.minid")
@@ -34,6 +63,8 @@ const findAllQuery = dbQuestions
34
63
  "tam_questions.txtque as texte",
35
64
  "tam_questions.txtque as texte_erratum",
36
65
  "tam_questions.rubrique as rubrique",
66
+ themes(ref("tam_questions.id")).as("themes"),
67
+ reponses(ref("tam_questions.id")).as("reponses"),
37
68
  ]);
38
69
  export function findAll() {
39
70
  return findAllQuery.stream();