Files
cnb/docs/api-groups/users/api.json
2026-01-16 13:03:57 +08:00

691 lines
16 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"swagger": "2.0",
"info": {
"title": "CNB OPENAPI",
"contact": {
"name": "Open API Support",
"url": "https://docs.cnb.cool/",
"email": "cnb@tencent.com"
},
"version": "1.0"
},
"paths": {
"/user": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/vnd.cnb.api+json"
],
"tags": [
"Users"
],
"summary": "获取指定用户的详情信息。Get detailed information for a specified user.",
"operationId": "GetUserInfo",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/dto.UsersResultForSelf"
}
}
},
"description": "访问令牌调用此接口需包含以下权限。Required permissions for access token. \naccount-profile:r"
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/vnd.cnb.api+json"
],
"tags": [
"Users"
],
"summary": "更新指定用户的详情信息。Updates the specified user's profile information.",
"operationId": "UpdateUserInfo",
"parameters": [
{
"description": "user info",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.UpdateUserInfoPayload"
}
}
],
"responses": {
"200": {
"description": "OK"
}
},
"description": "访问令牌调用此接口需包含以下权限。Required permissions for access token. \naccount-profile:rw"
}
},
"/user/autocomplete_source": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/vnd.cnb.api+json"
],
"tags": [
"Users"
],
"summary": "查询当前用户用户拥有指定权限的所有资源列表。List resources that the current user has specified permissions for.",
"operationId": "AutoCompleteSource",
"parameters": [
{
"enum": [
"Group",
"Repo"
],
"type": "string",
"default": "Group",
"description": "Source type",
"name": "source_type",
"in": "query"
},
{
"type": "integer",
"default": 1,
"description": "Pagination page number",
"name": "page",
"in": "query"
},
{
"type": "integer",
"default": 10,
"description": "Pagination page size",
"name": "page_size",
"in": "query"
},
{
"type": "string",
"default": "",
"description": "Filter by resources.",
"name": "search",
"in": "query"
},
{
"enum": [
"Reporter",
"Developer",
"Master",
"Owner"
],
"type": "string",
"default": "Owner",
"description": "最小仓库权限默认owner。Minima repository permissions",
"name": "access",
"in": "query"
},
{
"enum": [
"created_at",
"slug_path"
],
"type": "string",
"default": "created_at",
"description": "Order field",
"name": "order_by",
"in": "query"
},
{
"type": "boolean",
"default": false,
"description": "排序顺序。Ordering.",
"name": "desc",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"description": "访问令牌调用此接口需包含以下权限。Required permissions for access token. \naccount-engage:r"
}
},
"/user/gpg-keys": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/vnd.cnb.api+json"
],
"tags": [
"Users"
],
"summary": "获取用户 GPG keys 列表。List GPG Keys.",
"operationId": "ListGPGKeys",
"parameters": [
{
"type": "integer",
"default": 1,
"description": "pagination page number",
"name": "page",
"in": "query"
},
{
"type": "integer",
"default": 10,
"description": "pagination page size",
"name": "page_size",
"in": "query"
},
{
"type": "string",
"description": "gpg search key",
"name": "keyword",
"in": "query"
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"$ref": "#/definitions/api.GPGPublicKey"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/die.WebError"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/die.WebError"
}
}
},
"description": "访问令牌调用此接口需包含以下权限。Required permissions for access token. \naccount-profile:r"
}
},
"/users/{username}": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/vnd.cnb.api+json"
],
"tags": [
"Users"
],
"summary": "获取指定用户的详情信息。Get detailed information for a specified user.",
"operationId": "GetUserInfoByName",
"parameters": [
{
"type": "string",
"description": "User Name",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/dto.UsersResult"
}
}
},
"description": "访问令牌调用此接口需包含以下权限。Required permissions for access token. \naccount-profile:r"
}
}
},
"definitions": {
"dto.UsersResultForSelf": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"appearance": {
"type": "string"
},
"appreciate_status": {
"description": "用户赞赏码状态0-无赞赏码1-有",
"type": "integer"
},
"avatar": {
"type": "string"
},
"bio": {
"type": "string"
},
"company": {
"type": "string"
},
"created_at": {
"type": "string"
},
"editable": {
"$ref": "#/definitions/constant.UserEditable"
},
"email": {
"type": "string"
},
"follow_count": {
"type": "integer"
},
"follow_mission_count": {
"type": "integer"
},
"follow_repo_count": {
"type": "integer"
},
"follower_count": {
"type": "integer"
},
"freeze": {
"type": "boolean"
},
"gender": {
"type": "integer"
},
"group_count": {
"type": "integer"
},
"id": {
"type": "string"
},
"language": {
"type": "string"
},
"last_login_at": {
"type": "string"
},
"last_login_ip": {
"type": "string"
},
"location": {
"type": "string"
},
"locked": {
"type": "boolean"
},
"mission_count": {
"type": "integer"
},
"next_updated_name_at": {
"type": "string"
},
"nickname": {
"type": "string"
},
"public_mission_count": {
"type": "integer"
},
"public_registry_count": {
"type": "integer"
},
"public_repo_count": {
"type": "integer"
},
"readme_repo_path": {
"type": "string",
"readOnly": true
},
"registry_count": {
"type": "integer"
},
"repo_count": {
"type": "integer"
},
"reward_amount": {
"type": "integer"
},
"reward_count": {
"type": "integer"
},
"site": {
"type": "string"
},
"stars_count": {
"type": "integer"
},
"type": {
"$ref": "#/definitions/constant.UserType"
},
"updated_name_at": {
"type": "string"
},
"updated_nick_at": {
"type": "string"
},
"username": {
"type": "string"
},
"verified": {
"description": "认证类型",
"type": "integer"
},
"verified_expire_in": {
"description": "认证过期时间",
"type": "string"
},
"wechat_mp": {
"type": "string"
},
"wechat_mp_qrcode": {
"type": "string"
}
}
},
"dto.UpdateUserInfoPayload": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"bio": {
"type": "string"
},
"company": {
"type": "string"
},
"location": {
"type": "string"
},
"name": {
"type": "string"
},
"nickname": {
"type": "string"
},
"readme_repo_id": {
"type": "integer"
},
"readme_repo_path": {
"type": "string"
},
"site": {
"type": "string"
},
"wechat_mp": {
"type": "string"
},
"wechat_mp_qrcode": {
"type": "string"
}
}
},
"api.GPGPublicKey": {
"type": "object",
"properties": {
"created_at": {
"description": "主密钥添加时间",
"type": "string"
},
"emails": {
"description": "邮箱",
"type": "array",
"items": {
"$ref": "#/definitions/api.GPGEmail"
}
},
"expired_at": {
"description": "主密钥过期时间",
"type": "string"
},
"id": {
"description": "主密钥ID",
"type": "string"
},
"key_id": {
"description": "公钥 KeyID",
"type": "string"
},
"name": {
"description": "标题",
"type": "string"
},
"raw_key": {
"description": "PGP公钥文本",
"type": "string"
},
"subkeys": {
"description": "子密钥",
"type": "array",
"items": {
"$ref": "#/definitions/api.GPGSubkey"
}
}
}
},
"die.WebError": {
"type": "object",
"properties": {
"errcode": {
"type": "integer"
},
"errmsg": {
"type": "string"
},
"errparam": {
"type": "object",
"additionalProperties": {}
}
}
},
"dto.UsersResult": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"appreciate_status": {
"description": "用户赞赏码状态0-无赞赏码1-有",
"type": "integer"
},
"avatar": {
"type": "string"
},
"bio": {
"type": "string"
},
"company": {
"type": "string"
},
"created_at": {
"type": "string"
},
"email": {
"type": "string"
},
"follow_count": {
"type": "integer"
},
"follow_mission_count": {
"type": "integer"
},
"follow_repo_count": {
"type": "integer"
},
"follower_count": {
"type": "integer"
},
"freeze": {
"type": "boolean"
},
"gender": {
"type": "integer"
},
"group_count": {
"type": "integer"
},
"id": {
"type": "string"
},
"is_following": {
"description": "查询人是否follow了此用户",
"type": "boolean"
},
"location": {
"type": "string"
},
"locked": {
"type": "boolean"
},
"mission_count": {
"type": "integer"
},
"nickname": {
"type": "string"
},
"public_mission_count": {
"type": "integer"
},
"public_registry_count": {
"type": "integer"
},
"public_repo_count": {
"type": "integer"
},
"readme_repo_path": {
"type": "string",
"readOnly": true
},
"registry_count": {
"type": "integer"
},
"repo_count": {
"type": "integer"
},
"reward_amount": {
"type": "integer"
},
"reward_count": {
"type": "integer"
},
"site": {
"type": "string"
},
"stars_count": {
"type": "integer"
},
"type": {
"$ref": "#/definitions/constant.UserType"
},
"username": {
"type": "string"
},
"verified": {
"description": "认证类型",
"type": "integer"
},
"verified_expire_in": {
"description": "认证过期时间",
"type": "string"
},
"wechat_mp": {
"type": "string"
},
"wechat_mp_qrcode": {
"type": "string"
}
}
},
"constant.UserEditable": {
"type": "object",
"properties": {
"avatar": {
"description": "可修改账户头像",
"type": "boolean"
},
"email": {
"description": "可修改主邮箱",
"type": "boolean"
},
"logoff": {
"description": "是否允许注销账户",
"type": "boolean"
},
"nickname": {
"description": "可修改昵称",
"type": "boolean"
},
"sync-data": {
"description": "是否允许同步昵称和头像",
"type": "boolean"
},
"username": {
"description": "可修改账户名",
"type": "boolean"
}
}
},
"constant.UserType": {
"type": "integer",
"format": "int32",
"enum": [
0,
1,
2,
3,
4
],
"x-enum-comments": {
"IoaUser": "IoaUser ioa 用户",
"OauthUser": "OauthUser oauth 授权用户",
"RobotUser": "RobotUser 助手用户",
"TestUser": "TestUser 测试用户",
"WeChatUser": "WeChatUser 微信用户"
},
"x-enum-descriptions": [
"WeChatUser 微信用户",
"OauthUser oauth 授权用户",
"TestUser 测试用户",
"RobotUser 助手用户",
"IoaUser ioa 用户"
],
"x-enum-varnames": [
"WeChatUser",
"OauthUser",
"TestUser",
"RobotUser",
"IoaUser"
]
}
}
}