diff --git a/src/integrations/supabase/types.ts b/src/integrations/supabase/types.ts index ba7e5bb..3d77ad6 100644 --- a/src/integrations/supabase/types.ts +++ b/src/integrations/supabase/types.ts @@ -14,7 +14,30 @@ export type Database = { } public: { Tables: { - [_ in never]: never + share_rooms: { + Row: { + code: string + created_at: string + expires_at: string + is_active: boolean + viewer_count: number + } + Insert: { + code: string + created_at?: string + expires_at?: string + is_active?: boolean + viewer_count?: number + } + Update: { + code?: string + created_at?: string + expires_at?: string + is_active?: boolean + viewer_count?: number + } + Relationships: [] + } } Views: { [_ in never]: never diff --git a/supabase/migrations/20260514124951_23703083-0333-44bc-bb04-a2eef2d65bb8.sql b/supabase/migrations/20260514124951_23703083-0333-44bc-bb04-a2eef2d65bb8.sql new file mode 100644 index 0000000..c671f59 --- /dev/null +++ b/supabase/migrations/20260514124951_23703083-0333-44bc-bb04-a2eef2d65bb8.sql @@ -0,0 +1,21 @@ +create table public.share_rooms ( + code text primary key, + created_at timestamptz not null default now(), + expires_at timestamptz not null default (now() + interval '4 hours'), + is_active boolean not null default true, + viewer_count int not null default 0 +); + +alter table public.share_rooms enable row level security; + +create policy "anyone can read active rooms" + on public.share_rooms for select + using (is_active = true and expires_at > now()); + +create policy "anyone can create rooms" + on public.share_rooms for insert + with check (true); + +create policy "anyone can update rooms" + on public.share_rooms for update + using (true); \ No newline at end of file