chore: sincroniza projeto para gitea
This commit is contained in:
39
sql/add-client-passwords.sql
Normal file
39
sql/add-client-passwords.sql
Normal file
@@ -0,0 +1,39 @@
|
||||
-- =============================================
|
||||
-- ADICIONAR SISTEMA DE SENHAS PARA CLIENTES
|
||||
-- =============================================
|
||||
|
||||
-- Adicionar coluna de senha na tabela clientes (opcional, para referência)
|
||||
ALTER TABLE clientes
|
||||
ADD COLUMN IF NOT EXISTS senha_hash VARCHAR(255);
|
||||
|
||||
-- Criar índice para melhor performance nas consultas de autenticação
|
||||
CREATE INDEX IF NOT EXISTS idx_clientes_whatsapp ON clientes(whatsapp);
|
||||
CREATE INDEX IF NOT EXISTS idx_clientes_email ON clientes(email);
|
||||
|
||||
-- Comentários para documentação
|
||||
COMMENT ON COLUMN clientes.senha_hash IS 'Hash da senha do cliente para autenticação no catálogo';
|
||||
|
||||
-- Habilitar RLS (Row Level Security) se ainda não estiver habilitado
|
||||
ALTER TABLE clientes ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Remover políticas existentes se houver (para evitar conflitos)
|
||||
DROP POLICY IF EXISTS "Clientes podem ver apenas seus próprios dados" ON clientes;
|
||||
DROP POLICY IF EXISTS "Permitir inserção de novos clientes" ON clientes;
|
||||
DROP POLICY IF EXISTS "Clientes podem atualizar seus próprios dados" ON clientes;
|
||||
|
||||
-- Política para permitir inserção de novos clientes (cadastro público)
|
||||
CREATE POLICY "Permitir inserção de novos clientes" ON clientes
|
||||
FOR INSERT WITH CHECK (true);
|
||||
|
||||
-- Política para permitir leitura pública de clientes (necessário para login)
|
||||
CREATE POLICY "Permitir leitura de clientes" ON clientes
|
||||
FOR SELECT USING (true);
|
||||
|
||||
-- Política para permitir que clientes atualizem seus próprios dados
|
||||
CREATE POLICY "Clientes podem atualizar seus próprios dados" ON clientes
|
||||
FOR UPDATE USING (auth.uid()::text = id::text);
|
||||
|
||||
-- Verificar se as políticas foram criadas corretamente
|
||||
SELECT schemaname, tablename, policyname, permissive, roles, cmd, qual
|
||||
FROM pg_policies
|
||||
WHERE tablename = 'clientes';
|
||||
Reference in New Issue
Block a user