statistiques/src/data/EvenementFamille.ts

71 lines
2.5 KiB
TypeScript
Raw Normal View History

import { Period } from "../period/Period";
import { isPeriodContaining } from "../period/isPeriodContaining";
import { TypeEvenement } from "./TypeEvenement";
export type EvenementFamille = {
notionId: string;
notionIdFamille: string;
Évènement: string;
Date: Date | null;
Type: TypeEvenement;
"Enfants concernés": string;
};
export function isProcedurePenale(evenement: EvenementFamille): boolean {
return categorieEvenement[evenement.Type] === "Procédure Pénale";
}
export function isProcedureCivile(evenement: EvenementFamille): boolean {
return categorieEvenement[evenement.Type] === "Procédure Civile";
}
const categorieEvenement: {
[evt in TypeEvenement]: CategorieEvenement;
} = {
["Récidive gendarmerie"]: "Procédure Pénale",
["Appel du jugement"]: "Procédure Pénale",
["Tribunal de police judiciaire"]: "Procédure Pénale",
["Signalement au procureur"]: "Procédure Civile", // TBC
["Mise en demeure de scolarisation"]: "Procédure Pénale",
["Signalement"]: "Procédure Civile",
["Audition gendarmerie / police"]: "Procédure Pénale",
["Convocation procureur"]: "Procédure Pénale",
["Audition procureur"]: "Procédure Pénale",
["Composition pénale refusée"]: "Procédure Pénale",
["Composition pénale acceptée"]: "Procédure Pénale",
["Classement social sans suite"]: "Procédure Civile",
["Classement pénal sans suite"]: "Procédure Pénale",
["Enquête sociale"]: "Procédure Civile",
["Information préoccupante"]: "Procédure Civile",
["Juge pour enfants"]: "Procédure Civile",
["Tribunal correctionnel"]: "Procédure Pénale",
["Convocation CRPC"]: "Procédure Pénale",
["Plaidoirie"]: "Procédure Pénale",
["Audience CRPC"]: "Procédure Pénale",
["Refus CRPC"]: "Procédure Pénale",
["Audition des enfants"]: "Procédure Civile",
["Assistance éducative"]: "Procédure Civile",
["Contrôle forcé"]: "Autre",
["Refus de contrôle"]: "Autre",
["Rappel à la loi"]: "Procédure Pénale",
["Passage police municipale"]: "Procédure Pénale",
["Administrateur AD'HOC"]: "Autre",
["Validation désobéissance"]: "Autre",
};
export type CategorieEvenement =
| "Procédure Pénale"
| "Procédure Civile"
| "Autre";
export function isEvenementInPeriod(
evt: EvenementFamille,
period: Period
): unknown {
return evt.Date && isPeriodContaining(period, evt.Date);
}
export function isEvenementBefore(evt: EvenementFamille, date: Date): unknown {
return evt.Date !== null && evt.Date < date;
}