feat: update all endpoints and schemas for account-based model

Replace team_id with account_id across all API endpoints (trees,
categories, tags, steps, step_categories, admin, auth). Add new
accounts and webhooks endpoints. Registration now atomically creates
Account + Subscription, with account_invite_code bypassing the
platform invite gate.

Schemas updated for account_id/account_role. 82 tests passing
including 18 new tests for accounts, subscriptions, and permissions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chihlasm
2026-02-07 02:39:01 -05:00
parent 4ccb93ee31
commit e0089a9c5a
24 changed files with 1178 additions and 152 deletions

View File

@@ -20,7 +20,7 @@ class StepCategoryBase(BaseModel):
class StepCategoryCreate(StepCategoryBase):
team_id: Optional[UUID] = Field(None, description="Team ID for team-specific category. NULL for global.")
account_id: Optional[UUID] = Field(None, description="Account ID for account-specific category. NULL for global.")
class StepCategoryUpdate(BaseModel):
@@ -33,7 +33,7 @@ class StepCategoryUpdate(BaseModel):
class StepCategoryResponse(StepCategoryBase):
id: UUID
slug: str
team_id: Optional[UUID] = None
account_id: Optional[UUID] = None
display_order: int
is_active: bool
created_at: datetime
@@ -49,7 +49,7 @@ class StepCategoryListResponse(BaseModel):
name: str
slug: str
description: Optional[str] = None
team_id: Optional[UUID] = None
account_id: Optional[UUID] = None
display_order: int
is_active: bool
step_count: int = 0