-- Table pour stocker les signatures créées par l'admin -- (différent de user_signatures qui est 1 signature par utilisateur) CREATE TABLE IF NOT EXISTS signatures ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, created_by UUID REFERENCES auth.users(id) ON DELETE CASCADE, -- Infos personnelles first_name TEXT NOT NULL, last_name TEXT, job_title TEXT, company TEXT DEFAULT 'Navier Instruments', -- Contact email TEXT, phone TEXT, mobile TEXT, website TEXT DEFAULT 'www.navier-instruments.com', address TEXT, -- Images photo_url TEXT, logo_url TEXT DEFAULT '/preview.webp', -- Réseaux sociaux linkedin TEXT, twitter TEXT, facebook TEXT, instagram TEXT, -- Style primary_color TEXT DEFAULT '#F5A623', secondary_color TEXT DEFAULT '#1a1a2e', accent_color TEXT DEFAULT '#F5A623', photo_shape TEXT DEFAULT 'hexagon', style_template TEXT DEFAULT 'geometric', -- Bannière banner_url TEXT, banner_link TEXT, -- Métadonnées created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() ); -- Index CREATE INDEX IF NOT EXISTS idx_signatures_created_by ON signatures(created_by); CREATE INDEX IF NOT EXISTS idx_signatures_name ON signatures(first_name, last_name); -- Trigger pour updated_at DROP TRIGGER IF EXISTS signatures_updated_at ON signatures; CREATE TRIGGER signatures_updated_at BEFORE UPDATE ON signatures FOR EACH ROW EXECUTE FUNCTION update_updated_at(); -- RLS ALTER TABLE signatures ENABLE ROW LEVEL SECURITY; -- Tout utilisateur authentifié peut créer des signatures CREATE POLICY "Users peuvent creer signatures" ON signatures FOR INSERT WITH CHECK (auth.uid() = created_by); -- Users peuvent voir leurs propres signatures CREATE POLICY "Users peuvent voir leurs signatures" ON signatures FOR SELECT USING (auth.uid() = created_by); -- Users peuvent modifier leurs propres signatures CREATE POLICY "Users peuvent modifier leurs signatures" ON signatures FOR UPDATE USING (auth.uid() = created_by); -- Users peuvent supprimer leurs propres signatures CREATE POLICY "Users peuvent supprimer leurs signatures" ON signatures FOR DELETE USING (auth.uid() = created_by);