Skip to content

chore(contracts): 同步后端 schema 漂移(多租户 tenantId / device-identity / policy 导出)+ 修消费方 #66

Description

@ghbvf

背景

实施 #27(PR #65)时,对本地后端 ../gocell 跑 pnpm codegen 暴露出 packages/contracts/src/ 与后端 schema 的广泛漂移——远超 #27 范围。#27 故意未纳入这些改动(其 cookie 接线用未类型化请求体即可编译),改由本 issue 单独协同消费方处理。

codegen 漂移清单(pnpm codegen vs 当前 committed contracts)

文件 改动 关联后端
http/auth/refresh/v1/request.ts refreshToken 由必填 → 可选(required:[]) BR-005(#27 已在运行时对接,类型未更)
http/auth/role/assign/v1/request.ts 新增必填 tenantId: string 多租户(epic #1337 PR-12)
http/auth/role/revoke/v1/request.ts 新增必填 tenantId: string 多租户
http/audit/list/v1/response.ts 新增 tenantId?、scope? + 文案改写(ResourceProjection/FieldMask 列掩码) 多租户
index.ts 新增导出:admin/health/cells、devicecompliance、deviceidentity/*、devicestate、policy/*、shared/deviceidentity/certificate-identity device-identity / compliance / policy 新 cell

为何不混入 #27

  • role/assign、role/revoke 新增必填 tenantId 是破坏性变更——会让 @gocell/access 的 usePoliciesStore / api/roles 消费方 typecheck 红,需同步改调用点。
  • device-identity/compliance/policy 是整块新 cell,与冷启动续期无关。
  • 混入会让 feat(access): 冷启动 httpOnly cookie 静默续期接线(依赖 BR-005) #27 从 ~216 行膨胀到跨多 epic,违反 slice=PR 粒度。

范围

  • pnpm codegen 重新派生 packages/contracts/src/(一次性吸收全部漂移)
  • 修 role/assign / role/revoke 消费方传 tenantId(@gocell/access:api/roles、usePoliciesStore 及 UI)
  • 评估 audit/list 新字段 tenantId/scope 是否需在 @gocell/audit 视图呈现(列掩码语义)
  • 评估新导出的 device-identity / compliance / policy 类型是否有前端消费需求(可能仅落类型、暂不接 UI)
  • 跑 pnpm codegen && git diff --exit-code packages/contracts/src/ 守门转绿 + pnpm -w typecheck

备注

tenantId 多租户接线很可能本身是更大的前端 epic 的一部分;本 issue 至少先让 codegen-diff 守门与 typecheck 恢复一致,避免后续 PR 持续撞上同一片漂移。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions