From b14a96819146ea26d53b48b6c0ecd833aad399e6 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Fri, 17 Apr 2026 02:11:22 +0000 Subject: [PATCH] Changes Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com> --- src/integrations/supabase/types.ts | 35 +++++++++++++++++++ ...7_f95ebbb3-2131-46c7-994a-d09ca4d98059.sql | 20 +++++++++++ 2 files changed, 55 insertions(+) create mode 100644 supabase/migrations/20260417021117_f95ebbb3-2131-46c7-994a-d09ca4d98059.sql diff --git a/src/integrations/supabase/types.ts b/src/integrations/supabase/types.ts index 7d68dbc..99ee050 100644 --- a/src/integrations/supabase/types.ts +++ b/src/integrations/supabase/types.ts @@ -524,6 +524,38 @@ export type Database = { }, ] } + document_folders: { + Row: { + case_id: string + created_at: string + created_by: string | null + id: string + path: string + } + Insert: { + case_id: string + created_at?: string + created_by?: string | null + id?: string + path: string + } + Update: { + case_id?: string + created_at?: string + created_by?: string | null + id?: string + path?: string + } + Relationships: [ + { + foreignKeyName: "document_folders_case_id_fkey" + columns: ["case_id"] + isOneToOne: false + referencedRelation: "cases" + referencedColumns: ["id"] + }, + ] + } document_templates: { Row: { body: string @@ -571,6 +603,7 @@ export type Database = { case_id: string created_at: string description: string | null + folder: string id: string mime_type: string | null name: string @@ -582,6 +615,7 @@ export type Database = { case_id: string created_at?: string description?: string | null + folder?: string id?: string mime_type?: string | null name: string @@ -593,6 +627,7 @@ export type Database = { case_id?: string created_at?: string description?: string | null + folder?: string id?: string mime_type?: string | null name?: string diff --git a/supabase/migrations/20260417021117_f95ebbb3-2131-46c7-994a-d09ca4d98059.sql b/supabase/migrations/20260417021117_f95ebbb3-2131-46c7-994a-d09ca4d98059.sql new file mode 100644 index 0000000..831677b --- /dev/null +++ b/supabase/migrations/20260417021117_f95ebbb3-2131-46c7-994a-d09ca4d98059.sql @@ -0,0 +1,20 @@ +ALTER TABLE public.documents ADD COLUMN IF NOT EXISTS folder text NOT NULL DEFAULT ''; +CREATE INDEX IF NOT EXISTS documents_case_folder_idx ON public.documents (case_id, folder); + +CREATE TABLE IF NOT EXISTS public.document_folders ( + id uuid PRIMARY KEY DEFAULT gen_random_uuid(), + case_id uuid NOT NULL REFERENCES public.cases(id) ON DELETE CASCADE, + path text NOT NULL, + created_by uuid, + created_at timestamptz NOT NULL DEFAULT now(), + UNIQUE (case_id, path) +); + +ALTER TABLE public.document_folders ENABLE ROW LEVEL SECURITY; + +CREATE POLICY "df_select_case" ON public.document_folders FOR SELECT TO authenticated + USING (public.can_access_case(case_id, auth.uid())); +CREATE POLICY "df_insert_case" ON public.document_folders FOR INSERT TO authenticated + WITH CHECK (public.can_access_case(case_id, auth.uid())); +CREATE POLICY "df_delete_case" ON public.document_folders FOR DELETE TO authenticated + USING (public.can_access_case(case_id, auth.uid())); \ No newline at end of file