🚀 Initial commit: Versão atual do TrackSteel APP
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
|
||||
-- Atualizar a política RLS da tabela profiles para permitir que todos vejam os nomes dos usuários
|
||||
DROP POLICY IF EXISTS "Usuários podem ver seus próprios perfis" ON profiles;
|
||||
DROP POLICY IF EXISTS "Usuários podem ver perfis de outros usuários" ON profiles;
|
||||
|
||||
-- Criar nova política que permite a todos visualizar informações básicas dos perfis
|
||||
CREATE POLICY "Todos podem visualizar perfis básicos"
|
||||
ON profiles
|
||||
FOR SELECT
|
||||
USING (true);
|
||||
|
||||
-- Manter política restritiva para updates (apenas próprio perfil ou admin)
|
||||
CREATE POLICY "Usuários podem atualizar próprio perfil ou admin todos"
|
||||
ON profiles
|
||||
FOR UPDATE
|
||||
USING (auth.uid() = id OR has_role(auth.uid(), 'admin'::app_role));
|
||||
|
||||
-- Criar bucket para anexos de solicitações de compra
|
||||
INSERT INTO storage.buckets (id, name, public)
|
||||
VALUES ('solicitacao-compras-anexos', 'solicitacao-compras-anexos', false);
|
||||
|
||||
-- Política para permitir usuários autenticados fazerem upload
|
||||
CREATE POLICY "Usuários autenticados podem fazer upload de anexos"
|
||||
ON storage.objects
|
||||
FOR INSERT
|
||||
WITH CHECK (
|
||||
bucket_id = 'solicitacao-compras-anexos'
|
||||
AND auth.uid() IS NOT NULL
|
||||
AND (storage.foldername(name))[1] = auth.uid()::text
|
||||
);
|
||||
|
||||
-- Política para permitir usuários visualizarem anexos
|
||||
CREATE POLICY "Usuários podem visualizar anexos de solicitações"
|
||||
ON storage.objects
|
||||
FOR SELECT
|
||||
USING (
|
||||
bucket_id = 'solicitacao-compras-anexos'
|
||||
AND auth.uid() IS NOT NULL
|
||||
);
|
||||
|
||||
-- Política para permitir usuários deletarem seus próprios anexos
|
||||
CREATE POLICY "Usuários podem deletar seus próprios anexos"
|
||||
ON storage.objects
|
||||
FOR DELETE
|
||||
USING (
|
||||
bucket_id = 'solicitacao-compras-anexos'
|
||||
AND auth.uid() IS NOT NULL
|
||||
AND (storage.foldername(name))[1] = auth.uid()::text
|
||||
);
|
||||
|
||||
-- Adicionar coluna para armazenar URLs dos anexos na tabela solicitacoes_compra
|
||||
ALTER TABLE solicitacoes_compra
|
||||
ADD COLUMN IF NOT EXISTS anexos_urls text[] DEFAULT '{}';
|
||||
Reference in New Issue
Block a user