-- =============================================================================
-- F3 — my_tenants() passa a devolver slug (e nome) do tenant
--
-- O frontend resolve o schema físico do tenant ativo no cliente:
-- tenantStore guarda memberships de my_tenants(); slug -> 'tenant_<slug>'.
-- Campo extra é inofensivo pro frontend atual (main) que ignora colunas novas.
-- (mudança de RETURNS TABLE exige DROP + CREATE)
-- =============================================================================

BEGIN;

DROP FUNCTION IF EXISTS public.my_tenants();

CREATE FUNCTION public.my_tenants()
 RETURNS TABLE(tenant_id uuid, role text, status text, kind text, slug text, tenant_name text)
 LANGUAGE sql
 STABLE
AS $function$
  select
    tm.tenant_id,
    tm.role,
    tm.status,
    t.kind,
    t.slug,
    t.name
  from public.tenant_members tm
  join public.tenants t on t.id = tm.tenant_id
  where tm.user_id = auth.uid();
$function$;

GRANT EXECUTE ON FUNCTION public.my_tenants() TO authenticated;

COMMIT;
