summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/app/create.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/server/api/endpoints/app/create.ts')
-rw-r--r--packages/backend/src/server/api/endpoints/app/create.ts36
1 files changed, 14 insertions, 22 deletions
diff --git a/packages/backend/src/server/api/endpoints/app/create.ts b/packages/backend/src/server/api/endpoints/app/create.ts
index fbe6690f1d..0f9610d2a9 100644
--- a/packages/backend/src/server/api/endpoints/app/create.ts
+++ b/packages/backend/src/server/api/endpoints/app/create.ts
@@ -1,4 +1,3 @@
-import $ from 'cafy';
import define from '../../define';
import { Apps } from '@/models/index';
import { genId } from '@/misc/gen-id';
@@ -10,26 +9,6 @@ export const meta = {
requireCredential: false,
- params: {
- name: {
- validator: $.str,
- },
-
- description: {
- validator: $.str,
- },
-
- permission: {
- validator: $.arr($.str).unique(),
- },
-
- // TODO: Check it is valid url
- callbackUrl: {
- validator: $.optional.nullable.str,
- default: null,
- },
- },
-
res: {
type: 'object',
optional: false, nullable: false,
@@ -37,8 +16,21 @@ export const meta = {
},
} as const;
+const paramDef = {
+ type: 'object',
+ properties: {
+ name: { type: 'string' },
+ description: { type: 'string' },
+ permission: { type: 'array', uniqueItems: true, items: {
+ type: 'string',
+ } },
+ callbackUrl: { type: 'string', nullable: true },
+ },
+ required: ['name', 'description', 'permission'],
+} as const;
+
// eslint-disable-next-line import/no-default-export
-export default define(meta, async (ps, user) => {
+export default define(meta, paramDef, async (ps, user) => {
// Generate secret
const secret = secureRndstr(32, true);