已登录用户提交建租申请,落 pending_approval。
会话用户。
建租申请载荷(name/slug)。
新建的待批租户读模型;BA 重复 slug 等 4xx 经 mapBaError 归一透传。
平台运营者批准 pending 租户(pending → active)。
租户 id。
会话用户(操作者)。
激活后的租户读模型;查无抛 NotFoundException。
平台运营者驳回 pending 租户(硬删)。
租户 id。
会话用户(操作者)。
无;查无抛 NotFoundException。
租户申请/审批参考切片端点(global-tenancy S4 · FR-1/FR-11/FR-12)。
Remarks
FR-11 three-layer separation is expressed by the guard chosen PER ROUTE — none of these is tenant-scoped (you have no active tenant while applying; approval is cross-tenant):
POST /tenants/applications→ user-level (SessionGuard): authenticated user applies.POST /tenants/applications/:id/approve|reject→ platform-level (PlatformOperatorGuard).Applying creates a
pending_approvalorganization (self-service instant provisioning is closed at the BA layer —allowUserToCreateOrganization:false); the applicant becomes the firstownervia BA (FR-12). A pending tenant binds no tenant context, so its business routes fail closed until an operator approves it (S4 middleware deny-list).