diff --git a/src/notion/publish/v2/updatePageContent.ts b/src/notion/publish/v2/updatePageContent.ts index d295cc8..1308e70 100644 --- a/src/notion/publish/v2/updatePageContent.ts +++ b/src/notion/publish/v2/updatePageContent.ts @@ -16,8 +16,17 @@ export async function updatePageContent( const blocksIdsToRemove = childrenBlocks.map((b) => b.id); await removeBlocks(notionClient, blocksIdsToRemove); - await notionClient.blocks.children.append({ - block_id: notionPageId, - children: [...newBlocks], - }); + + if (useLayeredAppend) { + firstLevel = newBlocks.map(b => if ("bulleted_list_item" in b) { + return {} + }) + + + } else { + await notionClient.blocks.children.append({ + block_id: notionPageId, + children: [...newBlocks], + }); + } } diff --git a/src/statistiques/v2/penales/computeStatsPenales.ts b/src/statistiques/v2/penales/computeStatsPenales.ts index cd24a6c..6c84826 100644 --- a/src/statistiques/v2/penales/computeStatsPenales.ts +++ b/src/statistiques/v2/penales/computeStatsPenales.ts @@ -14,6 +14,7 @@ import { average } from "../../../utils/math/average"; import { filterFamillesWithOneOfEvenements } from "../filterFamillesWithOneOfEvenements"; import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType"; import { StatsPenales } from "./StatsPenales"; +import { nbFamillesAvecPagesLiées } from "./nbFamillesAvecPagesLiées"; type FamilleAvecInfoTribunaux = Famille & { evtTribunal1?: EvenementFamille; @@ -59,31 +60,41 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales { }); const statsPenales: StatsPenales = { - nbFamillesMisesEnDemeure: famillesMisesEnDemeure.length, - nbFamillesAvecProcedurePenale: filterFamillesWithOneOfEvenements( - famillesResistantesOuEx, - isEvtProcedurePenale - ).length, - nbFamillesAvecGendarmerie: famillesGendarmerie.length, - nbFamillesAvecGendarmerieSansSuiteACeJour: - famillesAvecGendarmerieSansSuiteACeJour.length, - nbFamillesAvecEvtProcedurePenaleHorsGendarmerie: - famillesAvecEvtProcedurePenaleHorsGendarmerie.length, - procureur: { - nbFamillesAuditionProcureur: filterFamillesWithOneOfEvenementsOfType( + nbFamillesMisesEnDemeure: nbFamillesAvecPagesLiées(famillesMisesEnDemeure), + nbFamillesAvecProcedurePenale: nbFamillesAvecPagesLiées( + filterFamillesWithOneOfEvenements( famillesResistantesOuEx, - "Audition procureur" - ).length, + isEvtProcedurePenale + ) + ), + nbFamillesAvecGendarmerie: nbFamillesAvecPagesLiées(famillesGendarmerie), + nbFamillesAvecGendarmerieSansSuiteACeJour: nbFamillesAvecPagesLiées( + famillesAvecGendarmerieSansSuiteACeJour + ), + nbFamillesAvecEvtProcedurePenaleHorsGendarmerie: nbFamillesAvecPagesLiées( + famillesAvecEvtProcedurePenaleHorsGendarmerie + ), + procureur: { + nbFamillesAuditionProcureur: nbFamillesAvecPagesLiées( + filterFamillesWithOneOfEvenementsOfType( + famillesResistantesOuEx, + "Audition procureur" + ) + ), compositionPenales: computeCompositionPenales(familles), crpc: computeCrpc(familles), - nbFamillesClassementSansSuite: filterFamillesWithOneOfEvenementsOfType( - famillesResistantesOuEx, - "Classement pénal sans suite" - ).length, - nbFamilleAcceptationAPP: filterFamillesWithOneOfEvenementsOfType( - famillesResistantesOuEx, - "Acceptation avertissement pénal probatoire" - ).length, + nbFamillesClassementSansSuite: nbFamillesAvecPagesLiées( + filterFamillesWithOneOfEvenementsOfType( + famillesResistantesOuEx, + "Classement pénal sans suite" + ) + ), + nbFamilleAcceptationAPP: nbFamillesAvecPagesLiées( + filterFamillesWithOneOfEvenementsOfType( + famillesResistantesOuEx, + "Acceptation avertissement pénal probatoire" + ) + ), }, tribunalCorrectionnel1: computeTribunalCorrectionnel1( famillesAvecInfoTribunaux @@ -92,19 +103,25 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales { famillesAvecInfoTribunaux ), - nbFamilleAvecRequisitionJudiciaire: filterFamillesWithOneOfEvenementsOfType( - famillesResistantesOuEx, - "Réquisition judiciaire" - ).length, - nbFamilleAvecStageParentalité: filterFamillesWithOneOfEvenementsOfType( - famillesResistantesOuEx, - "Stage parentalité" - ).length, + nbFamilleAvecRequisitionJudiciaire: nbFamillesAvecPagesLiées( + filterFamillesWithOneOfEvenementsOfType( + famillesResistantesOuEx, + "Réquisition judiciaire" + ) + ), + nbFamilleAvecStageParentalité: nbFamillesAvecPagesLiées( + filterFamillesWithOneOfEvenementsOfType( + famillesResistantesOuEx, + "Stage parentalité" + ) + ), - nbFamillesTribunalDePolice: filterFamillesWithOneOfEvenementsOfType( - famillesResistantesOuEx, - "Tribunal de police judiciaire" - ).length, + nbFamillesTribunalDePolice: nbFamillesAvecPagesLiées( + filterFamillesWithOneOfEvenementsOfType( + famillesResistantesOuEx, + "Tribunal de police judiciaire" + ) + ), intervalGendarmerieProcureur: computeIntervalGendarmerieProcureur(familles), intervalProcureurTribunalCorrectionnel: @@ -130,9 +147,9 @@ function computeCrpc( ); return { - nbFamilles: famillesConcernees.length, - acceptees: acceptees.length, - refusees: refusees.length, + nbFamilles: nbFamillesAvecPagesLiées(famillesConcernees), + acceptees: nbFamillesAvecPagesLiées(acceptees), + refusees: nbFamillesAvecPagesLiées(refusees), }; } @@ -153,9 +170,9 @@ function computeCompositionPenales( ); return { - nbFamilles: famillesConcernees.length, - acceptees: acceptees.length, - refusees: refusees.length, + nbFamilles: nbFamillesAvecPagesLiées(famillesConcernees), + acceptees: nbFamillesAvecPagesLiées(acceptees), + refusees: nbFamillesAvecPagesLiées(refusees), }; } @@ -172,13 +189,15 @@ function computeTribunalCorrectionnel1( ); return { - nbFamillesPassees: famillesPassees.length, - nbFamillesConvoquees: famillesProgrammees.length, + nbFamillesPassees: nbFamillesAvecPagesLiées(famillesPassees), + nbFamillesConvoquees: nbFamillesAvecPagesLiées(famillesProgrammees), - nbFamilleAppelDuJugement: filterFamillesWithOneOfEvenementsOfType( - famillesResistantesOuEx, - "Appel du 1er jugement" - ).length, + nbFamilleAppelDuJugement: nbFamillesAvecPagesLiées( + filterFamillesWithOneOfEvenementsOfType( + famillesResistantesOuEx, + "Appel du 1er jugement" + ) + ), }; } @@ -195,13 +214,15 @@ function computeTribunalCorrectionnel2( ); return { - nbFamillesPassees: famillesPassees.length, - nbFamillesConvoquees: famillesProgrammees.length, + nbFamillesPassees: nbFamillesAvecPagesLiées(famillesPassees), + nbFamillesConvoquees: nbFamillesAvecPagesLiées(famillesProgrammees), - nbFamilleAppelDuJugement: filterFamillesWithOneOfEvenementsOfType( - famillesResistantesOuEx, - "Appel du 2eme jugement" - ).length, + nbFamilleAppelDuJugement: nbFamillesAvecPagesLiées( + filterFamillesWithOneOfEvenementsOfType( + famillesResistantesOuEx, + "Appel du 2eme jugement" + ) + ), }; } diff --git a/src/statistiques/v2/penales/nbFamillesAvecPagesLiées.ts b/src/statistiques/v2/penales/nbFamillesAvecPagesLiées.ts new file mode 100644 index 0000000..2b9bef1 --- /dev/null +++ b/src/statistiques/v2/penales/nbFamillesAvecPagesLiées.ts @@ -0,0 +1,9 @@ +import { Famille } from "../../../data/Famille"; +import { StatsData } from "../desc/StatsDesc"; + +export function nbFamillesAvecPagesLiées(familles: Famille[]): StatsData { + return { + value: familles.length, + relatedPageIds: familles.map((f) => f.notionId), + }; +}