> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wethehivers.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Énumérations

> Toutes les valeurs énumérées utilisées par l'API

# Énumérations

Les valeurs énumérées sont **stables** — ajout possible, retrait = breaking change.

## Rôles & statuts

### UserRole

```mermaid theme={null}
flowchart LR
    SA[SUPER_ADMIN] --> A[ADMIN]
    A --> R[RECRUTEUR]
    A --> C[CANDIDAT]
```

| Valeur        | Description                       |
| ------------- | --------------------------------- |
| `CANDIDAT`    | Chercheur d'emploi                |
| `RECRUTEUR`   | Publie des offres                 |
| `ADMIN`       | Modération, validation recruteurs |
| `SUPER_ADMIN` | Contrôle total                    |

### UserStatus / RecruiterStatus

| Valeur                       | Contexte                   |
| ---------------------------- | -------------------------- |
| `PENDING_EMAIL_VERIFICATION` | Email non validé           |
| `PENDING_ADMIN_APPROVAL`     | Recruteur en attente admin |
| `ACTIVE`                     | Opérationnel               |
| `REJECTED`                   | Recruteur rejeté           |
| `SUSPENDED`                  | Sanction temporaire        |
| `DEACTIVATED`                | Compte supprimé / ban      |
| `ANONYMIZED`                 | Droit à l'oubli RGPD       |

### OffreStatus

| Valeur      | Visible | Candidatures |
| ----------- | :-----: | :----------: |
| `DRAFT`     |   Non   |      Non     |
| `PUBLISHED` |   Oui   |      Oui     |
| `CLOSED`    |   Oui   |      Non     |
| `ARCHIVED`  |   Non   |      Non     |

### CandidatureStatus

```mermaid theme={null}
stateDiagram-v2
    NEW --> TO_MEET
    NEW --> REJECTED
    NEW --> WITHDRAWN
    TO_MEET --> IN_PROGRESS
    IN_PROGRESS --> INTERVIEWED
    INTERVIEWED --> HIRED
    INTERVIEWED --> REJECTED
```

| Valeur        | Côté candidat   |
| ------------- | --------------- |
| `NEW`         | En examen       |
| `TO_MEET`     | En examen       |
| `IN_PROGRESS` | En examen       |
| `INTERVIEWED` | Entretien passé |
| `HIRED`       | Retenu          |
| `REJECTED`    | Non retenu      |
| `WITHDRAWN`   | Retirée         |

### ArticleStatus

| Valeur      | Public | Indexé SEO |
| ----------- | :----: | :--------: |
| `DRAFT`     |   Non  |     Non    |
| `PUBLISHED` |   Oui  |     Oui    |
| `ARCHIVED`  |   Non  |     Non    |

## Emploi

### TypeContrat

| Valeur          | Description                  |
| --------------- | ---------------------------- |
| `CDI`           | Contrat à durée indéterminée |
| `CDD`           | Contrat à durée déterminée   |
| `STAGE`         | Stage                        |
| `ALTERNANCE`    | Alternance / apprentissage   |
| `FREELANCE`     | Prestation indépendante      |
| `INTERIM`       | Mission intérim              |
| `TEMPS_PARTIEL` | Temps partiel                |
| `BENEVOLAT`     | Bénévolat                    |

### NiveauExperience

```mermaid theme={null}
flowchart LR
    DEB[DEBUTANT\n 0-1 an] --> JUN[JUNIOR\n 1-3 ans]
    JUN --> INT[INTERMEDIAIRE\n 3-5 ans]
    INT --> SEN[SENIOR\n 5-10 ans]
    SEN --> EXP[EXPERT\n 10+ ans]
```

| Valeur          | Fourchette |
| --------------- | ---------- |
| `DEBUTANT`      | 0–1 an     |
| `JUNIOR`        | 1–3 ans    |
| `INTERMEDIAIRE` | 3–5 ans    |
| `SENIOR`        | 5–10 ans   |
| `EXPERT`        | 10+ ans    |

### NiveauEtude

| Valeur         | Équivalent   |
| -------------- | ------------ |
| `SANS_DIPLOME` | —            |
| `CEPE`         | Primaire     |
| `BEPC`         | Collège      |
| `PROBATOIRE`   | Première     |
| `BAC`          | Baccalauréat |
| `LICENCE`      | Bac+3        |
| `MASTER`       | Bac+5        |
| `DOCTORAT`     | Bac+8        |

### Secteur

| Valeur        | Libellé FR                     |
| ------------- | ------------------------------ |
| `SOFTWARE`    | Informatique / Logiciel        |
| `FINANCE`     | Banque / Finance               |
| `TELECOM`     | Télécommunications             |
| `SANTE`       | Santé / Médical                |
| `EDUCATION`   | Éducation / Formation          |
| `INDUSTRIE`   | Industrie / Manufacturing      |
| `BTP`         | Bâtiment / Travaux publics     |
| `TRANSPORT`   | Transport / Logistique         |
| `COMMERCE`    | Commerce / Distribution        |
| `AGRICULTURE` | Agriculture / Agro-alimentaire |
| `ENERGIE`     | Énergie / Pétrole / Mines      |
| `MARKETING`   | Marketing / Communication      |
| `JURIDIQUE`   | Juridique                      |
| `RH`          | Ressources humaines            |
| `HOTELLERIE`  | Hôtellerie / Restauration      |
| `MEDIA`       | Média / Journalisme            |
| `ONG`         | ONG / Humanitaire              |
| `AUTRE`       | Autre                          |

### TailleEntreprise

| Valeur        | Effectif |
| ------------- | -------- |
| `MICRO`       | 1–9      |
| `PETITE`      | 10–49    |
| `MOYENNE`     | 50–249   |
| `GRANDE`      | 250–999  |
| `TRES_GRANDE` | 1000+    |

## Monnaie & locale

### Devise

| Valeur | ISO 4217 | Usage           |
| ------ | :------: | --------------- |
| `XAF`  | CFA BEAC | Par défaut      |
| `EUR`  |   Euro   | Multinationales |
| `USD`  |  Dollar  | Multinationales |

### Locale

| Valeur | Libellé           |
| ------ | ----------------- |
| `fr`   | Français (défaut) |
| `en`   | English           |

## Alertes & notifications

### AlerteFrequence

| Valeur   | Délai            |
| -------- | ---------------- |
| `DAILY`  | Cron 07:00       |
| `WEEKLY` | Cron lundi 07:00 |

### NotificationChannel

| Valeur   | Support           |
| -------- | ----------------- |
| `EMAIL`  | Obligatoire       |
| `IN_APP` | Cloche bell       |
| `PUSH`   | Web push (future) |
| `SMS`    | Non implémenté    |

## Fichiers

### FileScanStatus

| Valeur         | Sens                     |
| -------------- | ------------------------ |
| `PENDING_SCAN` | Upload OK, scan en cours |
| `ACTIVE`       | Scan propre              |
| `QUARANTINED`  | ClamAV positif → isolé   |
| `DELETED`      | Supprimé                 |

### FileType

| Valeur          | MIME                        |
| --------------- | --------------------------- |
| `CV`            | application/pdf             |
| `LOGO`          | image/png, image/jpeg       |
| `BANNER`        | image/jpeg                  |
| `STAFF_PHOTO`   | image/jpeg                  |
| `PROFILE_PHOTO` | image/jpeg, image/png       |
| `BLOG_COVER`    | image/jpeg, image/webp      |
| `KYC`           | application/pdf, image/jpeg |

## Vivier

### VivierCandidatStatut

```mermaid theme={null}
stateDiagram-v2
    NOUVEAU --> CONTACTE
    CONTACTE --> INVITE
    INVITE --> INSCRIT
    NOUVEAU --> HORS_CIBLE
    CONTACTE --> HORS_CIBLE
```

| Valeur       | Description                   |
| ------------ | ----------------------------- |
| `NOUVEAU`    | Ajouté, pas contacté          |
| `CONTACTE`   | Premier contact effectué      |
| `INVITE`     | Invitation plateforme envoyée |
| `INSCRIT`    | S'est inscrit via invitation  |
| `HORS_CIBLE` | Disqualifié                   |

### ExternalCandidatSource

| Valeur           | Origine                 |
| ---------------- | ----------------------- |
| `LINKEDIN`       | Profil LinkedIn         |
| `MANUAL`         | Saisi à la main         |
| `IMPORT_CSV`     | Import bulk             |
| `RECOMMANDATION` | Parrainage              |
| `CV_RECU`        | CV reçu hors-plateforme |

## Événements système

### EventType

| Valeur                       | Déclenchement     |
| ---------------------------- | ----------------- |
| `offre.published`            | Offre → PUBLISHED |
| `offre.expired`              | Cron expiration   |
| `offre.closed`               | Close manuel      |
| `offre.archived`             | Archivage         |
| `candidature.submitted`      | Candidat postule  |
| `candidature.status-changed` | Statut change     |
| `recruteur.approved`         | Admin approve     |
| `recruteur.rejected`         | Admin reject      |
| `user.password-changed`      | Changement PW     |
| `alerte.triggered`           | Cron alerte       |
