espace-paie-odentas/supabase/migrations/20251029_add_signature_metadata_to_signers.sql

39 lines
1.8 KiB
SQL

-- 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)';