🚀 Initial commit: Versão atual do TrackSteel APP
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
|
||||
-- Criar tabela para cadastro de peças
|
||||
CREATE TABLE public.pecas (
|
||||
id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY,
|
||||
of_number TEXT NOT NULL,
|
||||
etapa_fase TEXT,
|
||||
marca TEXT NOT NULL,
|
||||
descricao TEXT,
|
||||
quantidade INTEGER DEFAULT 0,
|
||||
peso_unitario NUMERIC(10,3) DEFAULT 0,
|
||||
peso_total NUMERIC(10,3) DEFAULT 0,
|
||||
tratamento_superficial TEXT,
|
||||
material TEXT,
|
||||
perfil_principal TEXT,
|
||||
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
|
||||
user_id UUID REFERENCES auth.users
|
||||
);
|
||||
|
||||
-- Habilitar RLS (Row Level Security)
|
||||
ALTER TABLE public.pecas ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Política para permitir que usuários vejam todas as peças
|
||||
CREATE POLICY "Users can view all pecas"
|
||||
ON public.pecas
|
||||
FOR SELECT
|
||||
USING (true);
|
||||
|
||||
-- Política para permitir que usuários criem peças
|
||||
CREATE POLICY "Users can create pecas"
|
||||
ON public.pecas
|
||||
FOR INSERT
|
||||
WITH CHECK (auth.uid() = user_id);
|
||||
|
||||
-- Política para permitir que usuários atualizem suas próprias peças
|
||||
CREATE POLICY "Users can update their own pecas"
|
||||
ON public.pecas
|
||||
FOR UPDATE
|
||||
USING (auth.uid() = user_id);
|
||||
|
||||
-- Política para permitir que usuários deletem suas próprias peças
|
||||
CREATE POLICY "Users can delete their own pecas"
|
||||
ON public.pecas
|
||||
FOR DELETE
|
||||
USING (auth.uid() = user_id);
|
||||
|
||||
-- Trigger para atualizar updated_at automaticamente
|
||||
CREATE OR REPLACE FUNCTION update_pecas_updated_at()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.updated_at = now();
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE TRIGGER update_pecas_updated_at_trigger
|
||||
BEFORE UPDATE ON public.pecas
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_pecas_updated_at();
|
||||
Reference in New Issue
Block a user