# WHERE Clauses Extract

Ce document recense les occurrences `where: { ... }` identifiées dans le code (`backend/backend_envie2e/src`) et les colonnes Prisma utilisées.

---

## src/services/contrats.service.ts
- `getContratById` — where: `{ id }` (technical PK `id`)
- `getContratByBusinessId` — where: `{ ID_Contrat: idContrat }` (business contract id)
- `hasContratForSalarie` — where: `{ Id_Salarie: cos }` (contracts FK referencing employee identifier / COS?)
- `updateContratById` — where: `{ id: id }`
- `deleteContratById` — where: `{ id: id }`

## src/services/employes.service.ts
- `getEmployeByCos` — where: `{ COS: cos }` (employee business id `COS`)
- `updateEmployeByCos` — where: `{ COS: cos }`
- `deleteEmployeByCos` — where: `{ COS: cos }`
- (Also `findUnique`/`update`/`delete` use `{ COS }`)

## src/services/visites-medicales.service.ts
- `getVisiteMedicaleById` — where: `{ id }`
- `updateVisiteMedicaleById` — where: `{ id }`
- `deleteVisiteMedicaleById` — where: `{ id }`
- `findUnique` calls consistently use `{ id }`

## src/services/diplomes.service.ts
- `getDiplomeById` — where: `{ id: id }`
- `updateDiplomeById` — where: `{ id: id }`
- `deleteDiplomeById` — where: `{ id: id }`

## src/lib/auth.ts
- `authenticateAuthUser` — where: `{ username }` (lookup auth_users by username)

## src/services/sanction.service.ts
- `listSanctionsByEmployeId` — where: `{ num_salarie: cos }` (sanctions table uses `num_salarie` as FK)

## src/services/avenants.service.ts
- `listAvenantsByContratBusinessId` — where: `{ id_contrat: idContrat }` (avenants references contract by business id column `id_contrat`)

## src/services/absences.service.ts
- `getAbsenceById` — where: `{ id: id }`
- `updateAbsenceById` — where: `{ id: id }`
- `deleteAbsenceById` — where: `{ id: id }`

---

Notes:
- Les colonnes métiers importantes repérées: `COS` (employé), `ID_Contrat` / `id_contrat` (contrat business id), `Id_Salarie` / `id_salarie` / `num_salarie` (références salariés dans différentes tables).
- Recommandation: harmoniser la casse/nommage (`Id_Salarie` vs `id_salarie`) et documenter clairement la correspondance `COS` ↔ `Id_Salarie` ↔ `id` technique où applicable.

Si tu veux, je peux:
- exporter ce tableau au format CSV/JSON,
- extraire aussi toutes les `select: { ... }` pour dresser un mapping complet colonne ↔ endpoint,
- ou automatiser un script pour rechercher d'autres patterns (`include`, `orderBy`, etc.).
