🚀 Initial commit: Versão atual do TrackSteel APP

This commit is contained in:
2026-03-18 21:17:53 +00:00
commit bde410c9ad
633 changed files with 108150 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
-- Criar tabela para armazenar chaves API
CREATE TABLE public.api_keys (
id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY,
name TEXT NOT NULL,
key TEXT NOT NULL,
is_primary BOOLEAN NOT NULL DEFAULT false,
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now()
);
-- Habilitar Row Level Security
ALTER TABLE public.api_keys ENABLE ROW LEVEL SECURITY;
-- Criar políticas RLS - apenas administradores podem gerenciar chaves API
CREATE POLICY "Only admins can manage API keys"
ON public.api_keys
FOR ALL
USING (public.has_role(auth.uid(), 'admin'));
-- Criar trigger para atualizar updated_at automaticamente
CREATE TRIGGER update_api_keys_updated_at
BEFORE UPDATE ON public.api_keys
FOR EACH ROW
EXECUTE FUNCTION public.update_updated_at_column();
-- Garantir que apenas uma chave seja primary por vez
CREATE UNIQUE INDEX idx_api_keys_single_primary
ON public.api_keys (is_primary)
WHERE is_primary = true;