basePath: /api/v1 definitions: internal_app_upgrade.Manifest: properties: changelog: type: string checksum_sha256: type: string critical: type: boolean download_url: type: string min_version: type: string published_at: type: string size: type: integer version: type: string type: object internal_app_upgrade.UpgradeStatus: properties: available: type: boolean checked_at: type: string critical: type: boolean current_version: type: string latest_version: type: string manifest: $ref: '#/definitions/internal_app_upgrade.Manifest' type: object internal_modules_dashboard_interfaces.StatsResponse: properties: onlineCount: type: integer roleCount: type: integer roleGrowth: type: number tenantCount: type: integer tenantGrowth: type: number todayActiveUsers: type: integer userCount: type: integer userGrowth: type: number type: object mengstack_internal_app_version.Info: properties: arch: type: string build_date: type: string commit: type: string go_version: type: string os: type: string version: type: string type: object mengstack_internal_kernel_response.Response: properties: code: type: integer data: {} message: type: string trace_id: type: string type: object mengstack_internal_modules_auth_domain.ChangePasswordRequest: properties: new_password: maxLength: 128 minLength: 8 type: string old_password: type: string required: - new_password - old_password type: object mengstack_internal_modules_auth_domain.CreateUserRequest: properties: email: type: string nickname: type: string password: maxLength: 128 minLength: 8 type: string status: type: integer username: maxLength: 64 minLength: 3 type: string required: - email - password - username type: object mengstack_internal_modules_auth_domain.LoginRequest: properties: email: type: string password: type: string required: - email - password type: object mengstack_internal_modules_auth_domain.RegisterRequest: properties: email: type: string nickname: type: string password: maxLength: 128 minLength: 8 type: string username: maxLength: 64 minLength: 3 type: string required: - email - password - username type: object mengstack_internal_modules_auth_domain.TokenPair: properties: access_token: type: string expires_in: type: integer refresh_token: type: string type: object mengstack_internal_modules_auth_domain.UpdateUserRequest: properties: email: type: string nickname: type: string status: type: integer type: object mengstack_internal_modules_auth_domain.UserDTO: properties: avatar: type: string email: type: string id: type: integer last_login: type: string nickname: type: string status: type: integer tenant_id: type: string username: type: string type: object mengstack_internal_modules_notification_domain.CreateNotificationRequest: properties: content: type: string title: type: string type: type: string user_id: type: integer required: - title - user_id type: object mengstack_internal_modules_notification_domain.NotificationDTO: properties: content: type: string created_at: type: string id: type: integer is_read: type: boolean tenant_id: type: string title: type: string type: type: string user_id: type: integer type: object mengstack_internal_modules_org_domain.CreateTenantRequest: properties: name: type: string slug: type: string required: - name - slug type: object mengstack_internal_modules_org_domain.TenantDTO: properties: created_at: type: string id: type: string name: type: string slug: type: string status: type: integer updated_at: type: string type: object mengstack_internal_modules_org_domain.UpdateTenantRequest: properties: name: type: string slug: type: string status: type: integer type: object mengstack_internal_modules_rbac_domain.AssignRoleRequest: properties: role_id: type: integer required: - role_id type: object mengstack_internal_modules_rbac_domain.CreateRoleRequest: properties: description: type: string name: type: string required: - name type: object mengstack_internal_modules_rbac_domain.PermissionDTO: properties: code: type: string description: type: string id: type: integer module: type: string name: type: string type: object mengstack_internal_modules_rbac_domain.RoleDTO: properties: description: type: string id: type: integer is_system: type: boolean name: type: string permissions: items: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.PermissionDTO' type: array tenant_id: type: string type: object mengstack_internal_modules_rbac_domain.SetRolePermissionsRequest: properties: permission_ids: items: type: integer type: array required: - permission_ids type: object mengstack_internal_modules_rbac_domain.UpdateRoleRequest: properties: description: type: string name: type: string type: object mengstack_internal_modules_settings_domain.SettingDTO: properties: id: type: integer key: type: string scope: type: string tenant_id: type: string type: type: string updated_at: type: string updated_by: type: integer value: type: string type: object mengstack_internal_modules_settings_domain.UpdateSettingRequest: properties: type: type: string value: type: string required: - value type: object host: localhost:2222 info: contact: {} description: MengStack 平台 API 文档 title: MengStack API version: 0.1.0 paths: /api/upgrade/check: get: description: 检查是否有新版本可用(当前为预留接口,返回当前版本信息) produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/internal_app_upgrade.UpgradeStatus' summary: 升级检查 tags: - System /api/v1/audit/logs: get: description: 分页查询审计日志,支持按用户、操作、资源筛选 parameters: - description: 按用户 ID 筛选 in: query name: user_id type: integer - description: 按操作筛选 in: query name: action type: string - description: 按资源类型筛选 in: query name: resource type: string - description: 页码(默认 1) in: query name: page type: integer - description: 每页条数(默认 20) in: query name: page_size type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "500": description: Internal Server Error schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 查询审计日志 tags: - Audit /api/v1/notifications: post: consumes: - application/json description: 向指定用户发送通知 parameters: - description: 通知内容 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_notification_domain.CreateNotificationRequest' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_notification_domain.NotificationDTO' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 创建通知 tags: - Notification /api/v1/notifications/{id}: delete: description: 删除指定通知 parameters: - description: 通知 ID in: path name: id required: true type: integer responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 删除通知 tags: - Notification get: description: 根据 ID 获取指定通知的详细信息 parameters: - description: 通知 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_notification_domain.NotificationDTO' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 获取通知详情 tags: - Notification /api/v1/notifications/{id}/read: put: description: 将指定通知标记为已读 parameters: - description: 通知 ID in: path name: id required: true type: integer responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 标记通知已读 tags: - Notification /api/v1/notifications/read-all: put: description: 将当前用户的所有通知标记为已读 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "500": description: Internal Server Error schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 全部标记已读 tags: - Notification /api/v1/notifications/unread-count: get: description: 获取当前用户的未读通知数量 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "500": description: Internal Server Error schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 获取未读通知数 tags: - Notification /api/v1/notifications/user/{userId}: get: description: 分页获取指定用户的通知列表 parameters: - description: 用户 ID in: path name: userId required: true type: integer - description: 页码(默认 1) in: query name: page type: integer - description: 每页条数(默认 20) in: query name: page_size type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "500": description: Internal Server Error schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 获取用户通知列表 tags: - Notification /api/v1/org/tenants: get: description: 获取系统中的所有租户列表 produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: items: $ref: '#/definitions/mengstack_internal_modules_org_domain.TenantDTO' type: array type: object "500": description: Internal Server Error schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 列出所有租户 tags: - Org post: consumes: - application/json description: 创建新的租户(组织),需提供名称和 slug parameters: - description: 租户信息 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_org_domain.CreateTenantRequest' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_org_domain.TenantDTO' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "409": description: Conflict schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 创建租户 tags: - Org /api/v1/org/tenants/{id}: delete: description: 删除指定租户及其所有关联数据 parameters: - description: 租户 ID (UUID) in: path name: id required: true type: string responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 删除租户 tags: - Org get: description: 根据 ID 获取指定租户的详细信息 parameters: - description: 租户 ID (UUID) in: path name: id required: true type: string produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_org_domain.TenantDTO' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 获取租户详情 tags: - Org put: consumes: - application/json description: 更新租户的名称、slug 或状态 parameters: - description: 租户 ID (UUID) in: path name: id required: true type: string - description: 更新内容 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_org_domain.UpdateTenantRequest' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_org_domain.TenantDTO' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 更新租户 tags: - Org /api/v1/rbac/permissions: get: description: 获取所有权限列表,可按模块筛选 parameters: - description: 按模块筛选 in: query name: module type: string produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: items: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.PermissionDTO' type: array type: object "500": description: Internal Server Error schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 列出权限 tags: - RBAC /api/v1/rbac/roles: get: description: 获取当前租户下的所有角色 produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: items: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.RoleDTO' type: array type: object "500": description: Internal Server Error schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 列出角色 tags: - RBAC post: consumes: - application/json description: 在当前租户下创建新角色 parameters: - description: 角色信息 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.CreateRoleRequest' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.RoleDTO' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "409": description: Conflict schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 创建角色 tags: - RBAC /api/v1/rbac/roles/{id}: delete: description: 删除指定角色(系统角色不可删除) parameters: - description: 角色 ID in: path name: id required: true type: integer responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "403": description: Forbidden schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 删除角色 tags: - RBAC get: description: 根据 ID 获取角色信息,包含权限列表 parameters: - description: 角色 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.RoleDTO' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 获取角色详情 tags: - RBAC put: consumes: - application/json description: 更新角色名称或描述 parameters: - description: 角色 ID in: path name: id required: true type: integer - description: 更新内容 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.UpdateRoleRequest' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.RoleDTO' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 更新角色 tags: - RBAC /api/v1/rbac/roles/{id}/permissions: get: description: 获取指定角色已分配的权限列表 parameters: - description: 角色 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: items: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.PermissionDTO' type: array type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 获取角色权限列表 tags: - RBAC put: consumes: - application/json description: 为角色批量设置权限(覆盖原有权限) parameters: - description: 角色 ID in: path name: id required: true type: integer - description: 权限 ID 列表 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.SetRolePermissionsRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 设置角色权限 tags: - RBAC /api/v1/rbac/users/{userId}/roles: get: description: 获取指定用户的所有角色及权限 parameters: - description: 用户 ID in: path name: userId required: true type: integer produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: items: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.RoleDTO' type: array type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 获取用户角色 tags: - RBAC post: consumes: - application/json description: 为指定用户分配一个角色 parameters: - description: 用户 ID in: path name: userId required: true type: integer - description: 角色 ID in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_rbac_domain.AssignRoleRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "409": description: Conflict schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 分配角色给用户 tags: - RBAC /api/v1/rbac/users/{userId}/roles/{roleId}: delete: description: 从指定用户移除一个角色 parameters: - description: 用户 ID in: path name: userId required: true type: integer - description: 角色 ID in: path name: roleId required: true type: integer responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 移除用户角色 tags: - RBAC /api/v1/settings: get: description: 获取所有全局配置项 produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: items: $ref: '#/definitions/mengstack_internal_modules_settings_domain.SettingDTO' type: array type: object "500": description: Internal Server Error schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 列出全局配置 tags: - Settings /api/v1/settings/global/{key}: get: description: 根据 key 获取全局(非租户)配置项 parameters: - description: 配置键名 in: path name: key required: true type: string produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_settings_domain.SettingDTO' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 获取全局配置 tags: - Settings put: consumes: - application/json description: 创建或更新全局配置项 parameters: - description: 配置键名 in: path name: key required: true type: string - description: 配置值 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_settings_domain.UpdateSettingRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 更新全局配置 tags: - Settings /api/v1/settings/tenant: get: description: 获取当前租户的所有配置项 produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: items: $ref: '#/definitions/mengstack_internal_modules_settings_domain.SettingDTO' type: array type: object "500": description: Internal Server Error schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 列出租户配置 tags: - Settings /api/v1/settings/tenant/{key}: delete: description: 删除当前租户的指定配置项 parameters: - description: 配置键名 in: path name: key required: true type: string responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 删除租户配置 tags: - Settings get: description: 根据 key 获取当前租户的配置项 parameters: - description: 配置键名 in: path name: key required: true type: string produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_settings_domain.SettingDTO' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 获取租户配置 tags: - Settings put: consumes: - application/json description: 创建或更新当前租户的配置项 parameters: - description: 配置键名 in: path name: key required: true type: string - description: 配置值 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_settings_domain.UpdateSettingRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 更新租户配置 tags: - Settings /api/version: get: description: 返回构建版本、提交哈希、编译时间等 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_app_version.Info' summary: 版本信息 tags: - System /auth/login: post: consumes: - application/json description: 使用邮箱和密码登录,返回 JWT token parameters: - description: 登录信息 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_auth_domain.LoginRequest' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_auth_domain.TokenPair' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "401": description: Unauthorized schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' summary: 用户登录 tags: - Auth /auth/refresh: post: consumes: - application/json description: 使用 refresh_token 获取新的 token 对 parameters: - description: '{ \' in: body name: request required: true schema: type: object produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_auth_domain.TokenPair' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "401": description: Unauthorized schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' summary: 刷新 Token tags: - Auth /auth/register: post: consumes: - application/json description: 使用邮箱、用户名和密码注册新用户,返回 JWT token parameters: - description: 注册信息 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_auth_domain.RegisterRequest' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_auth_domain.TokenPair' type: object "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "409": description: Conflict schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' summary: 用户注册 tags: - Auth /dashboard/stats: get: description: 返回平台核心指标的统计数据 produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/internal_modules_dashboard_interfaces.StatsResponse' type: object security: - Bearer: [] - TenantID: [] summary: 仪表盘统计 tags: - Dashboard /health: get: description: 检查 PostgreSQL 和 Redis 连接状态 produces: - application/json responses: "200": description: OK schema: properties: database: type: string redis: type: string status: type: string timestamp: type: integer trace_id: type: string version: type: string type: object summary: 健康检查 tags: - System /healthz: get: description: Kubernetes liveness probe,进程存活即返回 200 produces: - application/json responses: "200": description: OK schema: properties: status: type: string type: object summary: 存活探针 tags: - System /password: post: consumes: - application/json description: 使用旧密码验证后设置新密码 parameters: - description: 密码修改请求 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_auth_domain.ChangePasswordRequest' produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "400": description: Bad Request schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "401": description: Unauthorized schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 修改密码 tags: - Auth /ping: get: description: 返回 pong,用于验证认证和多租户中间件是否正常 produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 健康探测 tags: - System /profile: get: description: 返回当前认证用户的个人资料 produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_auth_domain.UserDTO' type: object "401": description: Unauthorized schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' "404": description: Not Found schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 获取当前用户信息 tags: - Auth /readyz: get: description: Kubernetes readiness probe,检查数据库和 Redis 连接 produces: - application/json responses: "200": description: OK schema: properties: database: type: string redis: type: string status: type: string type: object "503": description: Service Unavailable schema: properties: database: type: string redis: type: string status: type: string type: object summary: 就绪探针 tags: - System /users: get: description: 分页获取当前租户下的用户列表,支持搜索和状态过滤 parameters: - description: 页码 in: query name: page type: integer - description: 每页数量 in: query name: page_size type: integer - description: 搜索关键词 in: query name: search type: string - description: 状态过滤 in: query name: status type: integer produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 用户列表 tags: - Users post: consumes: - application/json parameters: - description: 用户信息 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_auth_domain.CreateUserRequest' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_auth_domain.UserDTO' type: object security: - Bearer: [] - TenantID: [] summary: 创建用户 tags: - Users /users/{id}: delete: parameters: - description: 用户 ID in: path name: id required: true type: integer responses: "200": description: OK schema: $ref: '#/definitions/mengstack_internal_kernel_response.Response' security: - Bearer: [] - TenantID: [] summary: 删除用户 tags: - Users get: parameters: - description: 用户 ID in: path name: id required: true type: integer produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_auth_domain.UserDTO' type: object security: - Bearer: [] - TenantID: [] summary: 获取用户详情 tags: - Users put: consumes: - application/json parameters: - description: 用户 ID in: path name: id required: true type: integer - description: 更新内容 in: body name: request required: true schema: $ref: '#/definitions/mengstack_internal_modules_auth_domain.UpdateUserRequest' produces: - application/json responses: "200": description: OK schema: allOf: - $ref: '#/definitions/mengstack_internal_kernel_response.Response' - properties: data: $ref: '#/definitions/mengstack_internal_modules_auth_domain.UserDTO' type: object security: - Bearer: [] - TenantID: [] summary: 更新用户 tags: - Users securityDefinitions: Bearer: description: Bearer in: header name: Authorization type: apiKey TenantID: description: 租户 ID(受保护接口必填) in: header name: X-Tenant-ID type: apiKey swagger: "2.0"