# Migration SQL - Nouveaux Types d'Emails

## 📋 Context

Ajout de nouveaux types d'emails pour supporter les notifications d'avenants et autres fonctionnalités récentes.

## 🎯 Types à Ajouter

Les types TypeScript ont été ajoutés dans :
- `lib/emailTemplateService.ts` (EmailTypeV2)
- `lib/emailLoggingService.ts` (EmailType)

Il faut maintenant ajouter les valeurs correspondantes à l'enum PostgreSQL `email_type` dans Supabase.

## 🔧 Script SQL à Exécuter

Exécuter dans **Supabase SQL Editor** :

```sql
-- Ajouter les nouveaux types d'emails à l'enum email_type
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'signature-request-employee-amendment';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'signature-request-salarie';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'contribution-notification';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'support-reply';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'support-ticket-created';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'support-ticket-reply';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'contact-support';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'amendment-completed-employer';
ALTER TYPE email_type ADD VALUE IF NOT EXISTS 'amendment-completed-employee';
```

## ✅ Vérification

Après exécution, vérifier que les types sont bien ajoutés :

```sql
SELECT enumlabel 
FROM pg_enum 
WHERE enumtypid = 'email_type'::regtype 
ORDER BY enumlabel;
```

## 📝 Détails des Nouveaux Types

| Type | Description | Utilisé par |
|------|-------------|-------------|
| `signature-request-employee-amendment` | Demande signature avenant par salarié | Webhook avenant (étape 1) |
| `signature-request-salarie` | Demande signature salarié (legacy Lambda) | Lambda DocuSeal |
| `contribution-notification` | Notification cotisations mensuelles | Envoi cotisations |
| `support-reply` | Réponse du support | Système tickets |
| `support-ticket-created` | Nouveau ticket créé | Système tickets |
| `support-ticket-reply` | Réponse utilisateur sur ticket | Système tickets |
| `contact-support` | Formulaire contact public | Page contact |
| `amendment-completed-employer` | Avenant signé (notif employeur) | Webhook avenant (étape 2) |
| `amendment-completed-employee` | Avenant signé (notif salarié) | Webhook avenant (étape 2) |

## ⚠️ Important

**L'ajout d'une valeur à un ENUM PostgreSQL est irréversible** (ne peut pas être supprimé sans recréer l'enum).

La commande `IF NOT EXISTS` permet d'exécuter le script plusieurs fois sans erreur.

## 🔗 Références

- Route webhook : `/api/webhooks/docuseal-amendment-completed`
- Template service : `lib/emailTemplateService.ts`
- Logging service : `lib/emailLoggingService.ts`
