公共 API 参考(@saas/contracts + @core/saas-kit + apps/api 对外接口)
    Preparing search index...

    用户状态读写唯一卡点(S6 · FR-10):经 USER_STATUS_STORE 端口落 user.status 真列。

    (global-governance-lifecycle-consolidation 切片 C:原 user_status 旁表归位 BA user 共享表的 additive 自撰域列·写经 AUTH_USER_STORE 落 auth 属主)。deny-list 语义——列默认 'active', 仅显式 suspended/deleted 才失能(本体不存在 → 视同 active)。

    Index
    • 严格状态迁移:目标用户不存在 → not-found(转 404);非法边 → illegal(转 409)。

      Parameters

      • userId: string

        目标用户 id

      • to: OrganizationStatus

        目标状态

      • Optionalopts: { actorId?: string; reason?: string }

        可选治理上下文(主体/理由)

      Returns Promise<UserTransitionResult>

      迁移结果结合(ok/not-found/illegal)

      合法则 upsert user_status 并返回 previous 供审计。平台级动作专用(suspend/resume/delete), 权限裁决归 PlatformOperatorGuard;session 硬删由调用方(治理 handler)叠加。 ES 第三切片 + Phase B 后半(module-es-outbox-transactional 切片 B):upsert + 发布关键段包入 UNIT_OF_WORK(outbox 同事务原子·shadow 连带回滚·inproc 空转等价),产出 user.status.transitioned(与 user.registered 同聚合流·not-found/illegal 零发)。