Files
tracksteel_app/supabase/migrations/20250630105816-86447563-9189-4a58-85b0-2c2c81143209.sql

41 lines
1.3 KiB
PL/PgSQL

-- Criar tabela para armazenar prompts de instrução
CREATE TABLE public.prompts (
id uuid NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY,
name text NOT NULL,
content text NOT NULL,
created_at timestamp with time zone NOT NULL DEFAULT now(),
updated_at timestamp with time zone NOT NULL DEFAULT now(),
created_by uuid REFERENCES auth.users(id) NOT NULL
);
-- Adicionar RLS à tabela
ALTER TABLE public.prompts ENABLE ROW LEVEL SECURITY;
-- Políticas para prompts
CREATE POLICY "Users can view their own prompts" ON public.prompts
FOR SELECT USING (auth.uid() = created_by);
CREATE POLICY "Users can create their own prompts" ON public.prompts
FOR INSERT WITH CHECK (auth.uid() = created_by);
CREATE POLICY "Users can update their own prompts" ON public.prompts
FOR UPDATE USING (auth.uid() = created_by);
CREATE POLICY "Users can delete their own prompts" ON public.prompts
FOR DELETE USING (auth.uid() = created_by);
-- Trigger para atualizar updated_at automaticamente
CREATE OR REPLACE FUNCTION update_updated_at_prompts()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = now();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER update_prompts_updated_at
BEFORE UPDATE ON public.prompts
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_prompts();