Workspace and team models #9

Closed
opened 2026-01-28 19:03:35 +00:00 by jason.woltje · 0 comments
Owner

Implement workspace and team data models.

Workspace model:

  • id, name, slug, owner_id
  • settings (JSON: theme, timezone, defaults)
  • created_at, updated_at

Team model:

  • id, workspace_id, name
  • created_at, updated_at

Workspace membership:

  • workspace_id, user_id, role (owner/admin/member/viewer)
  • joined_at

Team membership:

  • team_id, user_id
  • joined_at

Requirements:

  • User can own multiple workspaces
  • User can be member of multiple workspaces
  • Teams are scoped to workspaces
  • Default personal workspace created on user signup
Implement workspace and team data models. **Workspace model:** - id, name, slug, owner_id - settings (JSON: theme, timezone, defaults) - created_at, updated_at **Team model:** - id, workspace_id, name - created_at, updated_at **Workspace membership:** - workspace_id, user_id, role (owner/admin/member/viewer) - joined_at **Team membership:** - team_id, user_id - joined_at **Requirements:** - User can own multiple workspaces - User can be member of multiple workspaces - Teams are scoped to workspaces - Default personal workspace created on user signup
jason.woltje added this to the M2-MultiTenant (0.0.2) milestone 2026-01-28 19:03:35 +00:00
jason.woltje added the databasep0 labels 2026-01-28 19:03:35 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaic/stack#9