🚀 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,57 @@
-- Corrigir a função generate_task_ref para evitar ambiguidade na coluna task_ref
CREATE OR REPLACE FUNCTION public.generate_task_ref()
RETURNS TEXT
LANGUAGE plpgsql
AS $$
DECLARE
next_num INTEGER;
new_task_ref TEXT;
BEGIN
SELECT COALESCE(MAX(CAST(SUBSTRING(tasks.task_ref FROM 'T-(\d+)') AS INTEGER)), 0) + 1
INTO next_num
FROM public.tasks
WHERE tasks.task_ref ~ '^T-\d+$';
new_task_ref := 'T-' || LPAD(next_num::TEXT, 4, '0');
RETURN new_task_ref;
END;
$$;
-- Verificar e recriar as políticas RLS para garantir que estão funcionando corretamente
DROP POLICY IF EXISTS "Users can view tasks assigned to them or created by them" ON public.tasks;
DROP POLICY IF EXISTS "Authenticated users can create tasks" ON public.tasks;
DROP POLICY IF EXISTS "Users can update their own tasks or assigned tasks" ON public.tasks;
DROP POLICY IF EXISTS "Users can delete their own tasks" ON public.tasks;
-- Recriar as políticas RLS
CREATE POLICY "Users can view tasks assigned to them or created by them"
ON public.tasks
FOR SELECT
USING (
auth.uid() = created_by OR
auth.uid() = ANY(assigned_to) OR
public.has_role(auth.uid(), 'admin')
);
CREATE POLICY "Authenticated users can create tasks"
ON public.tasks
FOR INSERT
WITH CHECK (auth.uid() = created_by);
CREATE POLICY "Users can update their own tasks or assigned tasks"
ON public.tasks
FOR UPDATE
USING (
auth.uid() = created_by OR
auth.uid() = ANY(assigned_to) OR
public.has_role(auth.uid(), 'admin')
);
CREATE POLICY "Users can delete their own tasks"
ON public.tasks
FOR DELETE
USING (
auth.uid() = created_by OR
public.has_role(auth.uid(), 'admin')
);