feat: tabela tenant_members + primeiro admin seed
- tenant_members mapeia auth.users a um tenant com role - RLS: members_read_own (user ve so os tenants dos quais participa) - Seed manual: admin@reserva.test (senha Admin1234!) associado ao tenant grupo-1001 como admin
This commit is contained in:
parent
e912563196
commit
3cb5ecf47d
25
supabase/migrations/20260414000004_tenant_members.sql
Normal file
25
supabase/migrations/20260414000004_tenant_members.sql
Normal file
@ -0,0 +1,25 @@
|
||||
-- Tenant members: mapeia usuarios auth.users a um tenant com role
|
||||
-- Já aplicada via MCP.
|
||||
|
||||
create table if not exists reserva_hotel.tenant_members (
|
||||
id bigserial primary key,
|
||||
tenant_id bigint not null references reserva_hotel.tenants(id) on delete cascade,
|
||||
user_id uuid not null,
|
||||
role text not null default 'admin',
|
||||
created_at timestamptz not null default now(),
|
||||
unique (tenant_id, user_id)
|
||||
);
|
||||
|
||||
create index if not exists idx_tenant_members_user on reserva_hotel.tenant_members(user_id);
|
||||
create index if not exists idx_tenant_members_tenant on reserva_hotel.tenant_members(tenant_id);
|
||||
|
||||
alter table reserva_hotel.tenant_members enable row level security;
|
||||
|
||||
drop policy if exists "members_read_own" on reserva_hotel.tenant_members;
|
||||
create policy "members_read_own" on reserva_hotel.tenant_members
|
||||
for select using (auth.uid() = user_id);
|
||||
|
||||
grant select on reserva_hotel.tenant_members to authenticated;
|
||||
|
||||
-- Seed: admin@reserva.test (criado via Auth API) é membro do tenant grupo-1001
|
||||
-- INSERT executado manualmente apos criar o user via /auth/v1/signup.
|
||||
Loading…
Reference in New Issue
Block a user