blob: b0d7d5132eb658cfb7a9f56d5f9e33dbf80fcd07 [file] [log] [blame]
# user-data-service-thirdparty-poa.v1.yaml
#
# 1. 创建服务
# curl -i -s -X POST 'https://poa-sa.dev.supwisdom.com/v1/services' -H 'Content-Type: application/json' -d '{"id": "userThirdparty", "origin": "http://user-data-service-poa-svc.user-data-service.svc.cluster.local:8080", "name": "用户服务(第三方应用)", "description": "用户服务(第三方应用)"}'
# https://user-api.supwisdom.com
#
# 2. 创建版本
# curl -i -s -X POST 'https://poa-sa.dev.supwisdom.com/v1/services/userThirdparty/apiVersions/v1'
#
# 3. 上传OAS Yaml
# curl -i -s -X POST 'https://poa-sa.dev.supwisdom.com/v1/services/userThirdparty/apiVersions/v1/apiSpecs' -H 'Content-Type: application/yaml' --data-binary @user-data-service-thirdparty-poa.v1.yaml
#
# 4. 发布版本
# curl -i -s -X POST 'https://poa-sa.dev.supwisdom.com/v1/services/userThirdparty/apiVersions/v1/publish'
#
openapi: 3.0.2
info:
title: User Data Service (Third Party) Platform Open APIs
version: v1
description: '用户服务(第三方应用) - 平台开放接口'
servers:
- url: 'https://poa.dev.supwisdom.com/apis/userThirdparty/v1'
description: '演示环境'
tags:
- name: AdminAppGroup
description: '应用的用户组(普通)管理'
paths:
'/application/{applicationId}/groups':
post:
summary: 创建应用的用户组(普通)
operationId: createAppGroup
tags:
- AdminAppGroup
security:
- oauth2:
- "userThirdparty:v1:adminAppGroupWrite"
parameters:
- name: applicationId
in: path
required: true
description: 应用标识
schema:
type: string
requestBody:
description: 用户组(普通)创建请求
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AdminAppGroupCreateRequest'
responses:
'200':
description: 用户组(普通)创建响应
content:
application/json:
schema:
$ref: '#/components/schemas/AdminAppGroupCreateResponse'
default:
$ref: '#/components/responses/DefaultErrorResponse'
'/application/{applicationId}/groups/{groupId}':
get:
summary: 获取应用的用户组(普通)
operationId: getAppGroup
tags:
- AdminAppGroup
security:
- oauth2:
- "userThirdparty:v1:adminAppGroupWrite"
parameters:
- name: applicationId
in: path
required: true
description: 应用标识
schema:
type: string
- name: groupId
in: path
required: true
description: 用户组ID
schema:
type: string
responses:
'200':
description: 用户组(普通)获取响应
content:
application/json:
schema:
$ref: '#/components/schemas/AdminAppGroupGetResponse'
default:
$ref: '#/components/responses/DefaultErrorResponse'
put:
summary: 获取应用的用户组(普通)
operationId: updateAppGroup
tags:
- AdminAppGroup
security:
- oauth2:
- "userThirdparty:v1:adminAppGroupWrite"
parameters:
- name: applicationId
in: path
required: true
description: 应用标识
schema:
type: string
- name: groupId
in: path
required: true
description: 用户组ID
schema:
type: string
requestBody:
description: 用户组(普通)更新请求
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AdminAppGroupUpdateRequest'
responses:
'200':
description: 用户组(普通)获取响应
content:
application/json:
schema:
$ref: '#/components/schemas/AdminAppGroupUpdateResponse'
default:
$ref: '#/components/responses/DefaultErrorResponse'
delete:
summary: 删除应用的用户组(普通)
operationId: deleteAppGroup
tags:
- AdminAppGroup
security:
- oauth2:
- "userThirdparty:v1:adminAppGroupWrite"
parameters:
- name: applicationId
in: path
required: true
description: 应用标识
schema:
type: string
- name: groupId
in: path
required: true
description: 用户组ID
schema:
type: string
responses:
'200':
description: 用户组(普通)删除响应
content:
application/json:
schema:
$ref: '#/components/schemas/AdminAppGroupDeleteResponse'
default:
$ref: '#/components/responses/DefaultErrorResponse'
'/application/{applicationId}/groups/{groupId}/accounts':
post:
summary: 关联应用的用户组(普通)帐号
operationId: relateAppGroupAccounts
tags:
- AdminAppGroup
security:
- oauth2:
- "userThirdparty:v1:adminAppGroupWrite"
parameters:
- name: applicationId
in: path
required: true
description: 应用标识
schema:
type: string
- name: groupId
in: path
required: true
description: 用户组ID
schema:
type: string
requestBody:
description: 用户组(普通)关联帐号请求
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AdminAppGroupRelateAccountsRequest'
responses:
'200':
description: 用户组(普通)关联帐号响应
content:
application/json:
schema:
$ref: '#/components/schemas/AdminAppGroupRelateAccountsResponse'
default:
$ref: '#/components/responses/DefaultErrorResponse'
components:
# Security Schemes
securitySchemes:
oauth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://poa.dev.supwisdom.com/oauth2/token
scopes:
"userThirdparty:v1:adminAppGroupWrite": "写入应用的用户组(普通)"
responses:
'ErrorResponse400':
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
DefaultErrorResponse:
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
# Error
ErrorResponse:
title: '异常响应'
required:
- code
- message
properties:
code:
title: 异常代码
type: integer
format: int32
default: -1
message:
title: 异常信息
type: string
default: "未知错误"
# Entity
BaseEntity:
title: 实体 - 基类
type: object
properties:
id:
title: ID
type: string
# DictionaryType:
# title: 实体 - 字典
# allOf:
# - $ref: '#/components/schemas/BaseEntity'
# - type: object
# title: 实体属性
# properties:
# code:
# title: 代码
# type: string
# name:
# title: 名称
# type: string
# enable:
# title: 是否启用
# type: boolean
# default: true
# sort:
# title: 排序
# type: integer
# format: int64
# multiLevel:
# title: 是否多层级
# type: boolean
Dictionary:
title: 实体 - 字典
allOf:
- $ref: '#/components/schemas/BaseEntity'
- type: object
title: 实体属性
properties:
code:
title: 代码
type: string
name:
title: 名称
type: string
enable:
title: 是否启用
type: boolean
default: true
sort:
title: 排序
type: integer
format: int64
# dictionaryType:
# title: 字典类型
# allOf:
# - $ref: '#/components/schemas/DictionaryType'
# parentDictionary:
# title: 父字典
# allOf:
# - $ref: '#/components/schemas/Dictionary'
Group:
title: 实体 - 用户组
allOf:
- $ref: '#/components/schemas/BaseEntity'
- type: object
title: 实体属性
properties:
code:
title: 代码
type: string
name:
title: 名称
type: string
description:
title: 描述
type: string
type:
title: 类型
type: string
state:
title: 状态(0:正常,1:冻结,2:注销)
type: integer
format: int32
sort:
title: 排序
type: integer
format: int32
isDataCenter:
title: 是否来源数据中心
type: boolean
common:
title: 是否公共
type: boolean
category:
title: 类别
allOf:
- $ref: '#/components/schemas/Dictionary'
applicationId:
title: 所属应用标识
type: string
businessDomainId:
title: 所属业务域ID
type: string
systemId:
title: 所属系统ID
type: string
# Request VO
AdminAppGroupCreateRequest:
title: 用户组(普通)创建请求
properties:
code:
title: 代码
type: string
name:
title: 名称
type: string
description:
title: 描述
type: string
state:
title: 状态(0:正常,1:冻结,2:注销)
type: integer
format: int32
categoryCode:
title: 类别(字典代码)
type: string
AdminAppGroupUpdateRequest:
title: 用户组(普通)更新请求
properties:
code:
title: 代码
type: string
name:
title: 名称
type: string
description:
title: 描述
type: string
state:
title: 状态(0:正常,1:冻结,2:注销)
type: integer
format: int32
categoryCode:
title: 类别(字典代码)
type: string
AdminAppGroupRelateAccountsRequest:
title: 用户组(普通)关联帐号请求
properties:
addAccountIds:
title: 添加的帐号IDs
type: array
items:
title: 账号Id
type: string
delAccountIds:
title: 移除的帐号IDs
type: array
items:
title: 账号Id
type: string
# Response VO
AbstractApiResponse:
title: 响应
properties:
code:
title: 响应代码
type: integer
format: int32
default: 0
message:
title: 响应信息
type: string
DefaultApiResponse:
allOf:
- $ref: '#/components/schemas/AbstractApiResponse'
- type: object
title: 响应数据
properties:
data:
title: 响应数据
type: object
AdminAppGroupGetResponse:
allOf:
- $ref: '#/components/schemas/DefaultApiResponse'
- type: object
title: 响应数据
properties:
data:
allOf:
- type: object
title: 结果
properties:
message:
title: 结果说明
type: string
group:
title: 用户组(普通)
allOf:
- $ref: '#/components/schemas/Group'
AdminAppGroupCreateResponse:
allOf:
- $ref: '#/components/schemas/DefaultApiResponse'
- type: object
title: 响应数据
properties:
data:
allOf:
- type: object
title: 结果
properties:
message:
title: 结果说明
type: string
group:
title: 用户组(普通)
allOf:
- $ref: '#/components/schemas/Group'
AdminAppGroupUpdateResponse:
allOf:
- $ref: '#/components/schemas/DefaultApiResponse'
- type: object
title: 响应数据
properties:
data:
allOf:
- type: object
title: 结果
properties:
message:
title: 结果说明
type: string
group:
title: 用户组(普通)
allOf:
- $ref: '#/components/schemas/Group'
AdminAppGroupDeleteResponse:
allOf:
- $ref: '#/components/schemas/DefaultApiResponse'
- type: object
title: 响应数据
properties:
data:
allOf:
- type: object
title: 结果
properties:
message:
title: 结果说明
type: string
AdminAppGroupRelateAccountsResponse:
allOf:
- $ref: '#/components/schemas/DefaultApiResponse'
- type: object
title: 响应数据
properties:
data:
allOf:
- type: object
title: 结果
properties:
message:
title: 结果说明
type: string