feat(gateway): 多成员租户·成员管理后端 —— 租户目录 + 成员增改删
真·多租户地基(此前只有单人默认租户 + admin 页是 mock): - store:ListTenants(含成员数+余额) / MyTenants / ListMembers(join user) / AddMemberByEmail(邮箱归一化小写、幂等 upsert、复活已移除、未注册报友好错) / SetMemberRole(禁改 owner、禁直接授 owner) / RemoveMember(软移除、禁移除 owner) / ValidRole。 - admin 接口:GET/POST /admin/tenants、GET/POST /admin/tenants/:id/members、 PUT/DELETE /admin/tenants/:id/members/:uid。 live 验证:加 demoB 入公司A→member、列表、改角色→admin、移除 owner 被拒、移除 member,全过。 admin 前端接线 + 租户切换 见后续。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -102,6 +102,13 @@ func New(db *store.Postgres, cache *store.Redis, bus *nats.Bus, blobStore *blob.
|
||||
admin.GET("/billing-config", h.BillingConfig) // 全局计费规则(token→积分汇率 + 硬拦截开关)
|
||||
admin.PUT("/billing-config", h.SaveBillingConfig)
|
||||
admin.POST("/credits/grant", h.GrantCredits) // 给租户充值/发放积分
|
||||
// 多租户成员管理(平台运维口径)
|
||||
admin.GET("/tenants", h.AdminTenants) // 租户目录(成员数+余额)
|
||||
admin.POST("/tenants", h.AdminCreateTenant) // 新建租户(可选指定 owner)
|
||||
admin.GET("/tenants/:id/members", h.AdminMembers) // 成员列表
|
||||
admin.POST("/tenants/:id/members", h.AdminAddMember) // 按邮箱加成员
|
||||
admin.PUT("/tenants/:id/members/:uid", h.AdminSetMemberRole) // 改角色
|
||||
admin.DELETE("/tenants/:id/members/:uid", h.AdminRemoveMember) // 移除成员
|
||||
admin.GET("/status", h.AdminStatus) // 服务状态:基建/服务探活 + MCP 工具注册
|
||||
admin.GET("/overview", h.AdminOverview) // 系统级聚合:全平台用户/任务/评测/模型态/提示词态/健康
|
||||
admin.GET("/usage", h.AdminUsage) // 用量/积分/成本:全平台按天趋势 + 租户排行 / 单租户余额
|
||||
|
||||
Reference in New Issue
Block a user