mirror of
https://framagit.org/enfance-libre/statistiques
synced 2025-12-08 18:13:45 +00:00
71 lines
2.5 KiB
TypeScript
71 lines
2.5 KiB
TypeScript
|
|
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;
|
||
|
|
}
|