-- Ajouter les métadonnées de signature PAdES aux signataires
-- Ces champs seront utilisés par la Lambda pour signer avec /Name et /Reason

ALTER TABLE signers
ADD COLUMN IF NOT EXISTS signature_name TEXT,
ADD COLUMN IF NOT EXISTS signature_reason TEXT,
ADD COLUMN IF NOT EXISTS signature_location TEXT DEFAULT 'France',
ADD COLUMN IF NOT EXISTS signature_contact_info TEXT;

-- Mettre à jour les signataires existants avec des valeurs par défaut
-- signature_name prend la même valeur que name par défaut
UPDATE signers
SET 
  signature_name = name,  -- ← Copie le nom existant
  signature_reason = CASE 
    WHEN role = 'Employeur' THEN 'Signature du contrat en tant qu''employeur'
    WHEN role = 'Salarié' THEN 'Signature du contrat en tant que salarié'
    ELSE 'Signature du document'
  END,
  signature_location = 'France',
  signature_contact_info = email
WHERE signature_name IS NULL;

-- Note : Pour l'employeur, vous pouvez ensuite manuellement mettre 
-- le nom de l'entreprise dans signature_name si vous le souhaitez

-- Rendre signature_name et signature_reason obligatoires après mise à jour
ALTER TABLE signers
ALTER COLUMN signature_name SET NOT NULL,
ALTER COLUMN signature_reason SET NOT NULL;

-- Index pour les recherches par nom de signature
CREATE INDEX IF NOT EXISTS idx_signers_signature_name ON signers(signature_name);

-- Commentaires
COMMENT ON COLUMN signers.signature_name IS 'Champ /Name de la signature PAdES (nom du signataire affiché)';
COMMENT ON COLUMN signers.signature_reason IS 'Champ /Reason de la signature PAdES (raison de la signature)';
COMMENT ON COLUMN signers.signature_location IS 'Champ /Location de la signature PAdES (lieu géographique)';
COMMENT ON COLUMN signers.signature_contact_info IS 'Champ /ContactInfo de la signature PAdES (email ou téléphone)';
