Antes: 'permission denied for table marcas' ao tentar criar/editar
qualquer entidade. Authenticated so tinha SELECT.
Agora:
- Grants de INSERT/UPDATE/DELETE pra authenticated nas 9 tabelas
- RLS enabled em todas
- Helper function is_tenant_member(bigint) via security definer
- Policies members_write_* permitem escrita apenas se user estiver
no tenant_members do tenant_id da row
- public_read_* mantem SELECT livre pro anon da pagina publica
- Reservas/reserva_extras continuam service_role-only (backend Chatwoot)
Aplicada via MCP. Testada com curl + JWT do admin (INSERT marcas = 201).
- 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
- Novas tabelas reserva_hotel.tenants e reserva_hotel.app_config
- Coluna tenant_id adicionada em todas as tabelas de catalogo/reservas
- Tenant default 'grupo-1001' criado + backfill das rows existentes
- RLS + grants pro anon ler tenants e app_config
- Types TS regenerados
Aplicado via MCP. Arquivos de migration sao source of truth historica.