From 489eea0c67d1645f9390b91df60990d659c28c2f Mon Sep 17 00:00:00 2001 From: Johann150 Date: Sat, 5 Nov 2022 10:43:34 +0100 Subject: [PATCH] server: improve API validation for creating apps Resolves a FIXME comment. --- .../backend/src/server/api/endpoints/app/create.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/backend/src/server/api/endpoints/app/create.ts b/packages/backend/src/server/api/endpoints/app/create.ts index c92e542a1..350f988e2 100644 --- a/packages/backend/src/server/api/endpoints/app/create.ts +++ b/packages/backend/src/server/api/endpoints/app/create.ts @@ -2,6 +2,7 @@ import { Apps } from '@/models/index.js'; import { genId } from '@/misc/gen-id.js'; import { unique } from '@/prelude/array.js'; import { secureRndstr } from '@/misc/secure-rndstr.js'; +import { kinds } from '@/misc/api-permissions.js'; import define from '../../define.js'; export const meta = { @@ -21,10 +22,14 @@ export const paramDef = { properties: { name: { type: 'string' }, description: { type: 'string' }, - permission: { type: 'array', uniqueItems: true, items: { - type: 'string', - // FIXME: add enum of possible permissions - } }, + permission: { + type: 'array', + uniqueItems: true, + items: { + type: 'string', + enum: kinds, + }, + }, callbackUrl: { type: 'string', nullable: true }, }, required: ['name', 'description', 'permission'],