Skip to content

Commit

Permalink
feat: notes
Browse files Browse the repository at this point in the history
  • Loading branch information
alanlr committed Jun 20, 2024
1 parent 185a197 commit 56ff063
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 4 deletions.
2 changes: 1 addition & 1 deletion server/src/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ program
.option("-t, --to <string>", "Récupère les données disponibles via l'API Deca jusuqu'a une date yyyy-MM-dd")
.option("-c, --chunk <number>", "Chunk days default 1")
.option("-q, --queued", "Run job asynchronously", false)
.action(createJobAction("hydrate:deca"));
.action(createJobAction("deca:hydrate"));

program
.command("deca:merge")
Expand Down
4 changes: 2 additions & 2 deletions server/src/modules/jobs/deca/hydrate-deca.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ const ifDefined = (key: string, value: any, transform = (v: any) => v) => {
* - from : depuis yyyy-MM-dd
* - to : jusqu'a yyyy-MM-dd
*/
export const hydrateDeca = async ({ from, to, chunk = 1 }: { from: string; to: string; chunk: number }) => {
export const hydrateDeca = async ({ from, to, chunk = 1 }: { from?: string; to?: string; chunk: number }) => {
// Récupération de la date début / fin
const dateDebutToFetch: Date = from
? new Date(`${from}T00:00:00.000Z`)
: (await getLastDecaCreatedDateInDb()) ?? new Date(`2023-10-01T00:00:00.000Z`);
: (await getLastDecaCreatedDateInDb()) ?? new Date(`2024-05-21T00:00:00.000Z`);
const dateFinToFetch = to ? new Date(`${to}T00:00:00.000Z`) : addDays(new Date(), -1);

if (isAfter(dateDebutToFetch, dateFinToFetch)) {
Expand Down
19 changes: 18 additions & 1 deletion server/src/modules/jobs/jobs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import { createUser } from "../actions/users.actions";
import { runCatalogueImporter } from "./catalogueSiretEmailImport";
import { recreateIndexes } from "./db/recreateIndexes";
import { validateModels } from "./db/schemaValidation";
import { hydrateDeca } from "./deca/hydrate-deca";
import { mergeDecaDumps } from "./deca/merge-dumps-deca";
import { createHistory } from "./deca/watcher";
import { run_hydrate_from_constructys } from "./validation/hydrate_from_constructys";
Expand Down Expand Up @@ -97,7 +98,23 @@ export async function setupJobProcessor() {
},

"deca:merge": {
handler: async () => mergeDecaDumps(),
handler: async () => mergeDecaDumps(), // ALAN : peut être balancé à la poubelle
},
"deca:hydrate": {
handler: async () => hydrateDeca(),
/*
ALAN:
faire tourner une fenêtre glissante de 1 jour tous les jours
en cas d'échec récupérer la last update et partir de là sur une fenêtre élargie pour se repositionner
supprimer le watcher sur la collection deca et mesurer / enregistrer les diff de manière séquentielle (findOne -> buildDiff -> createHistory)
les documents dans decaHistory concernent un seul champ (ex: update de 3 champs --> 3 documents enregistrés )
decaHistory contient les modifs lorsque modif sur numéro de contrat + nom + type contrat identique
une modif sur contrat + nom identiques mais type différent implique un nouveau document dans deca (et pas dans history en première entrée)
!!!! L'api n'est fonctionnelle qu'après 20h00.
L'api est fragile et ne doit pas être sur sollicitée
*/
},
"deca:history": {
handler: async () => createHistory(),
Expand Down

0 comments on commit 56ff063

Please sign in to comment.