mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 05:29:26 +08:00
* feat: api doc plugin * fix: merge * chore: upgrade swagger ui to latest * feat: get paths from recourser * feat: configure security * feat: add models * feat: reimplement resource action * feat: support render schemas correctly * feat: support load swagger documentation * refactor: implement `SwaggerManager` * fix: re import * feat: update info * refactor: do not use the cache strategy for the time being * feat: support collection builtin actions * fix: incorrect tag * feat: support different swagger json for different plugins * feat: support load server package * feat: support visit from plugin center * feat: add schemas for mapConfiguration * feat: update * fix: update tags * feat: support only render plugin that has swagger content * refactor: use swagger-ui-react instead of swagger-ui-dist * fix: clean * fix: reset * refactor: update plugin place * fix: revert * fix: remove version * fix: type error * feat: swagger doc * refactor: improve apis * feat: add doc * feat: support destination cache * fix: avoid authorization override * fix: auth bug * feat: update documentation * fix: typo * feat: support json * fix: key * fix: update yarn.lock * feat: update swagger doc * feat: swagger doc * docs: add auth swagger files (#2341) * docs: add auth swagger files * fix: yarn.lock * fix: skip core * feat: swagger doc * docs: improve auth docs * fix(theme-editor): avoid crashing * feat(theme-editor): improve api doc * docs: add localization-management swagger * docs(plugin-workflow): add api doc (#2379) * fix: remove files * fix: aaa * fix: dist * fix: load swagger * feat: acl api doc (#2494) * chore: acl api doc * feat: ui schema api doc * feat: multi apps api doc * chore: ui schema doc * feat: collection api doc * chore: association api doc * chore: single association doc * feat: move action doc * chore: list parameters * feat: update swagger doc * chore: collectionIndex to first * fix: test error * fix: ref * chore: doc tags * chore: template * chore: doc with association options * chore: single association doc * chore: relation type * chore: filter single association params * chore: m2m api doc * chore: params * fix: 0.12.0-alpha.5 * fix: update yarn.lock * chore: data wrap --------- Co-authored-by: chenos <chenlinxh@gmail.com> Co-authored-by: YANG QIA <2013xile@gmail.com> Co-authored-by: Rain <958414905@qq.com> Co-authored-by: Junyi <mytharcher@users.noreply.github.com> Co-authored-by: ChengLei Shao <chareice@live.com>
374 lines
9.3 KiB
TypeScript
374 lines
9.3 KiB
TypeScript
export default {
|
|
openapi: '3.0.2',
|
|
info: {
|
|
title: 'NocoBase API - ACL plugin',
|
|
},
|
|
paths: {
|
|
'/roles:list': {
|
|
get: {
|
|
tags: ['roles'],
|
|
description: '',
|
|
parameters: [],
|
|
responses: {
|
|
200: {
|
|
description: 'ok',
|
|
content: {
|
|
'application/json': {
|
|
schema: {
|
|
type: 'array',
|
|
items: {
|
|
$ref: '#/components/schemas/role',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'/roles:get': {
|
|
get: {
|
|
tags: ['roles'],
|
|
description: '',
|
|
parameters: [
|
|
{
|
|
name: 'filterByTk',
|
|
in: 'query',
|
|
description: 'role name',
|
|
required: true,
|
|
schema: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
],
|
|
responses: {
|
|
200: {
|
|
description: 'ok',
|
|
content: {
|
|
'application/json': {
|
|
schema: {
|
|
$ref: '#/components/schemas/role',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'/roles:create': {
|
|
post: {
|
|
tags: ['roles'],
|
|
description: '',
|
|
requestBody: {
|
|
content: {
|
|
'application/json': {
|
|
schema: {
|
|
$ref: '#/components/schemas/role',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
responses: {
|
|
'200': {
|
|
description: 'OK',
|
|
content: {
|
|
'application/json': {
|
|
schema: {
|
|
$ref: '#/components/schemas/role',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'/roles:update': {
|
|
post: {
|
|
tags: ['roles'],
|
|
description: '',
|
|
parameters: [
|
|
{
|
|
name: 'filterByTk',
|
|
in: 'query',
|
|
description: 'role name',
|
|
required: true,
|
|
schema: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
],
|
|
requestBody: {
|
|
content: {
|
|
'application/json': {
|
|
schema: {
|
|
$ref: '#/components/schemas/role',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
responses: {
|
|
200: {
|
|
description: 'ok',
|
|
content: {
|
|
'application/json': {
|
|
schema: {
|
|
$ref: '#/components/schemas/role',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'/roles:destroy': {
|
|
post: {
|
|
tags: ['roles'],
|
|
description: '',
|
|
parameters: [
|
|
{
|
|
name: 'filterByTk',
|
|
in: 'query',
|
|
description: 'role name',
|
|
required: true,
|
|
schema: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
],
|
|
responses: {
|
|
'200': {
|
|
description: 'OK',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'/roles:check': {
|
|
get: {
|
|
tags: ['roles'],
|
|
description: 'return current user role',
|
|
responses: {
|
|
200: {
|
|
description: 'ok',
|
|
content: {
|
|
'application/json': {
|
|
schema: {
|
|
$ref: '#/components/schemas/role',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'/roles:setDefaultRole': {
|
|
post: {
|
|
tags: ['roles'],
|
|
description: 'set default role for new user',
|
|
requestBody: {
|
|
content: {
|
|
'application/json': {
|
|
schema: {
|
|
type: 'object',
|
|
properties: {
|
|
roleName: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
responses: {
|
|
'200': {
|
|
description: 'OK',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'/roles/{roleName}/collections:list': {
|
|
get: {
|
|
tags: ['roles.collections'],
|
|
description: 'list permissions of collections for role by roleName',
|
|
parameters: [
|
|
{
|
|
name: 'filterByTk',
|
|
in: 'query',
|
|
description: 'role name',
|
|
required: true,
|
|
schema: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
],
|
|
responses: {
|
|
'200': {
|
|
description: 'OK',
|
|
content: {
|
|
'application/json': {
|
|
schema: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'object',
|
|
properties: {
|
|
type: {
|
|
type: 'string',
|
|
description: 'collection',
|
|
},
|
|
name: {
|
|
type: 'string',
|
|
description: 'collection name',
|
|
},
|
|
collectionName: {
|
|
type: 'string',
|
|
description: 'collection name',
|
|
},
|
|
title: {
|
|
type: 'string',
|
|
description: 'collection title',
|
|
},
|
|
roleName: {
|
|
type: 'string',
|
|
description: 'role name',
|
|
},
|
|
usingConfig: {
|
|
type: 'string',
|
|
enum: ['resourceAction', 'strategy'],
|
|
description: 'resourceAction: 单独配置, strategy: 全局策略',
|
|
},
|
|
exists: {
|
|
type: 'boolean',
|
|
description: '是否存在单独配置的权限',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'/availableActions:list': {
|
|
get: {
|
|
tags: ['availableActions'],
|
|
description: 'available actions of resource in current system',
|
|
parameters: [],
|
|
responses: {
|
|
'200': {
|
|
description: 'OK',
|
|
content: {
|
|
'application/json': {
|
|
schema: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'object',
|
|
properties: {
|
|
name: {
|
|
type: 'string',
|
|
description: 'Action名称',
|
|
},
|
|
displayName: {
|
|
type: 'string',
|
|
description: 'Action显示名称',
|
|
},
|
|
allowConfigureFields: {
|
|
type: 'boolean',
|
|
description: '是否允许配置字段',
|
|
},
|
|
onNewRecord: {
|
|
type: 'string',
|
|
description: '是否是新记录的Action',
|
|
},
|
|
type: {
|
|
type: 'string',
|
|
description: 'new-data 或者 old-data',
|
|
},
|
|
aliases: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'string',
|
|
},
|
|
description: '别名',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
components: {
|
|
schemas: {
|
|
role: {
|
|
type: 'object',
|
|
properties: {
|
|
title: {
|
|
type: 'string',
|
|
description: '角色名称',
|
|
},
|
|
name: {
|
|
type: 'string',
|
|
description: '角色标识',
|
|
},
|
|
description: {
|
|
type: 'string',
|
|
description: '角色描述',
|
|
},
|
|
hidden: {
|
|
type: 'boolean',
|
|
description: '是否隐藏',
|
|
},
|
|
default: {
|
|
type: 'boolean',
|
|
description: '是否默认',
|
|
},
|
|
allowConfigure: {
|
|
type: 'boolean',
|
|
description: '是否允许配置',
|
|
},
|
|
allowNewMenu: {
|
|
type: 'boolean',
|
|
description: '是否允许新建菜单',
|
|
},
|
|
snippets: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'string',
|
|
},
|
|
description: '接口权限',
|
|
},
|
|
strategy: {
|
|
type: 'array',
|
|
description: '数据表权限策略',
|
|
items: {
|
|
type: 'object',
|
|
properties: {
|
|
actions: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'string',
|
|
},
|
|
description: '操作',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
createdAt: {
|
|
type: 'string',
|
|
format: 'date-time',
|
|
description: '创建时间',
|
|
},
|
|
updatedAt: {
|
|
type: 'string',
|
|
format: 'date-time',
|
|
description: '更新时间',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|