kovakmedya 30cbb8f1be feat(onboarding): create-workspace flow
- /onboarding page (server component): redirects to /sign-in if not authed,
  to /dashboard if user already has a team. Otherwise renders form.
- createWorkspaceAction:
  * teams.create (user becomes owner via session SDK)
  * tablesDB.createRow on tenant_settings (admin SDK) with team-scoped permissions:
    Permission.read(Role.team(id)), update(owner|admin), delete(owner)
  * account.updatePrefs({ activeTenant }) — persisted source of truth
  * isletmem-tenant cookie for fast access
  * redirect to /dashboard
- setActiveTenantAction stub for future workspace switcher
- lib/appwrite/tenant.ts: getUserTeams, getActiveTenantId helpers (server-only)
- tenant-types.ts holds WorkspaceState + ACTIVE_TENANT_COOKIE (no 'use server')
2026-04-30 03:22:48 +03:00
S
Description
No description provided
5.2 MiB
Languages
TypeScript 99.5%
CSS 0.5%