224 lines
5.4 KiB
TypeScript
224 lines
5.4 KiB
TypeScript
|
export default {
|
||
|
openapi: '3.0.2',
|
||
|
info: {
|
||
|
title: 'NocoBase API - Theme editor plugin',
|
||
|
},
|
||
|
components: {
|
||
|
schemas: {
|
||
|
Theme: {
|
||
|
type: 'object',
|
||
|
properties: {
|
||
|
id: {
|
||
|
type: 'integer',
|
||
|
},
|
||
|
config: {
|
||
|
type: 'object',
|
||
|
properties: {
|
||
|
name: {
|
||
|
type: 'string',
|
||
|
},
|
||
|
token: {
|
||
|
type: 'object',
|
||
|
additionalProperties: false,
|
||
|
},
|
||
|
},
|
||
|
required: ['name'],
|
||
|
additionalProperties: false,
|
||
|
},
|
||
|
optional: {
|
||
|
type: 'boolean',
|
||
|
},
|
||
|
isBuiltIn: {
|
||
|
type: 'boolean',
|
||
|
},
|
||
|
updatedAt: {
|
||
|
type: 'string',
|
||
|
format: 'date-time',
|
||
|
},
|
||
|
createdAt: {
|
||
|
type: 'string',
|
||
|
format: 'date-time',
|
||
|
},
|
||
|
},
|
||
|
required: ['id', 'config', 'optional', 'isBuiltIn'],
|
||
|
additionalProperties: false,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
tags: [],
|
||
|
paths: {
|
||
|
'/themeConfig:list': {
|
||
|
get: {
|
||
|
tags: ['themeConfig'],
|
||
|
description: 'Get a list of themes',
|
||
|
parameters: [],
|
||
|
responses: {
|
||
|
'200': {
|
||
|
description: 'OK',
|
||
|
content: {
|
||
|
'application/json': {
|
||
|
schema: {
|
||
|
type: 'array',
|
||
|
items: {
|
||
|
$ref: '#/components/schemas/Theme',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
'401': {
|
||
|
description: 'Unauthorized',
|
||
|
},
|
||
|
'404': {
|
||
|
description: 'Not Found',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
'/themeConfig:create': {
|
||
|
post: {
|
||
|
tags: ['themeConfig'],
|
||
|
description: 'Create a new theme',
|
||
|
requestBody: {
|
||
|
required: true,
|
||
|
content: {
|
||
|
'application/json': {
|
||
|
schema: {
|
||
|
type: 'object',
|
||
|
properties: {
|
||
|
config: {
|
||
|
type: 'object',
|
||
|
properties: {
|
||
|
name: { type: 'string' },
|
||
|
token: {
|
||
|
type: 'object',
|
||
|
},
|
||
|
// 可以根据需要添加其他属性
|
||
|
},
|
||
|
required: ['name'],
|
||
|
additionalProperties: false,
|
||
|
},
|
||
|
optional: { type: 'boolean' },
|
||
|
isBuiltIn: { type: 'boolean' },
|
||
|
},
|
||
|
required: ['config'],
|
||
|
additionalProperties: false,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
responses: {
|
||
|
'200': {
|
||
|
description: 'OK',
|
||
|
content: {
|
||
|
'application/json': {
|
||
|
schema: {
|
||
|
$ref: '#/components/schemas/Theme',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
'400': {
|
||
|
description: 'Bad Request',
|
||
|
},
|
||
|
'401': {
|
||
|
description: 'Unauthorized',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
'/themeConfig:update': {
|
||
|
post: {
|
||
|
tags: ['themeConfig'],
|
||
|
description: 'Update an existing theme',
|
||
|
parameters: [
|
||
|
{
|
||
|
name: 'id',
|
||
|
in: 'path',
|
||
|
description: 'ID of the theme to update',
|
||
|
required: true,
|
||
|
schema: {
|
||
|
type: 'string',
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
requestBody: {
|
||
|
required: true,
|
||
|
content: {
|
||
|
'application/json': {
|
||
|
schema: {
|
||
|
type: 'object',
|
||
|
properties: {
|
||
|
config: {
|
||
|
type: 'object',
|
||
|
properties: {
|
||
|
name: { type: 'string' },
|
||
|
token: {
|
||
|
type: 'object',
|
||
|
},
|
||
|
// 可以根据需要添加其他属性
|
||
|
},
|
||
|
additionalProperties: false,
|
||
|
},
|
||
|
optional: { type: 'boolean' },
|
||
|
isBuiltIn: { type: 'boolean' },
|
||
|
},
|
||
|
additionalProperties: false,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
responses: {
|
||
|
'200': {
|
||
|
description: 'OK',
|
||
|
content: {
|
||
|
'application/json': {
|
||
|
schema: {
|
||
|
$ref: '#/components/schemas/Theme',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
'400': {
|
||
|
description: 'Bad Request',
|
||
|
},
|
||
|
'401': {
|
||
|
description: 'Unauthorized',
|
||
|
},
|
||
|
'404': {
|
||
|
description: 'Not Found',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
'/themeConfig:destroy': {
|
||
|
post: {
|
||
|
tags: ['themeConfig'],
|
||
|
description: 'Delete an existing theme',
|
||
|
parameters: [
|
||
|
{
|
||
|
name: 'id',
|
||
|
in: 'path',
|
||
|
description: 'ID of the theme to delete',
|
||
|
required: true,
|
||
|
schema: {
|
||
|
type: 'string',
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
responses: {
|
||
|
'204': {
|
||
|
description: 'No Content',
|
||
|
},
|
||
|
'401': {
|
||
|
description: 'Unauthorized',
|
||
|
},
|
||
|
'404': {
|
||
|
description: 'Not Found',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
};
|