summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/pages/create.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-02-19 14:05:32 +0900
committerGitHub <noreply@github.com>2022-02-19 14:05:32 +0900
commit510de87607283d4d49239b1d14026a577299c99e (patch)
treed56933864d6cf07751e2e2a11a373ee752338c80 /packages/backend/src/server/api/endpoints/pages/create.ts
parentupdate deps (diff)
downloadsharkey-510de87607283d4d49239b1d14026a577299c99e.tar.gz
sharkey-510de87607283d4d49239b1d14026a577299c99e.tar.bz2
sharkey-510de87607283d4d49239b1d14026a577299c99e.zip
refactor: use ajv instead of cafy (#8324)
* wip * wip * Update abuse-user-reports.ts * Update files.ts * Update list-remote.ts * Update list.ts * Update show-users.ts * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Update update.ts * Update search.ts * Update reactions.ts * Update search.ts * wip * wip * wip * wip * Update update.ts * Update relation.ts * Update available.ts * wip * wip * wip * Update packages/backend/src/server/api/define.ts Co-authored-by: Johann150 <johann.galle@protonmail.com> * Update define.ts * Update define.ts * typo * wip * wip * wip * wip * wip * wip * wip * wip * Update update.ts * wip * Update signup.ts * Update call.ts * minimum for limit * type * remove needless annotation * wip * Update signup.ts * wip * wip * fix * Update create.ts Co-authored-by: Johann150 <johann.galle@protonmail.com>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/pages/create.ts')
-rw-r--r--packages/backend/src/server/api/endpoints/pages/create.ts70
1 files changed, 22 insertions, 48 deletions
diff --git a/packages/backend/src/server/api/endpoints/pages/create.ts b/packages/backend/src/server/api/endpoints/pages/create.ts
index 7ee50fbdfa..6c00a2f779 100644
--- a/packages/backend/src/server/api/endpoints/pages/create.ts
+++ b/packages/backend/src/server/api/endpoints/pages/create.ts
@@ -1,7 +1,5 @@
-import $ from 'cafy';
import ms from 'ms';
import define from '../../define';
-import { ID } from '@/misc/cafy-id';
import { Pages, DriveFiles } from '@/models/index';
import { genId } from '@/misc/gen-id';
import { Page } from '@/models/entities/page';
@@ -19,51 +17,6 @@ export const meta = {
max: 300,
},
- params: {
- title: {
- validator: $.str,
- },
-
- name: {
- validator: $.str.min(1),
- },
-
- summary: {
- validator: $.optional.nullable.str,
- },
-
- content: {
- validator: $.arr($.obj()),
- },
-
- variables: {
- validator: $.arr($.obj()),
- },
-
- script: {
- validator: $.str,
- },
-
- eyeCatchingImageId: {
- validator: $.optional.nullable.type(ID),
- },
-
- font: {
- validator: $.optional.str.or(['serif', 'sans-serif']),
- default: 'sans-serif',
- },
-
- alignCenter: {
- validator: $.optional.bool,
- default: false,
- },
-
- hideTitleWhenPinned: {
- validator: $.optional.bool,
- default: false,
- },
- },
-
res: {
type: 'object',
optional: false, nullable: false,
@@ -84,8 +37,29 @@ export const meta = {
},
} as const;
+const paramDef = {
+ type: 'object',
+ properties: {
+ title: { type: 'string' },
+ name: { type: 'string', minLength: 1 },
+ summary: { type: 'string', nullable: true },
+ content: { type: 'array', items: {
+ type: 'object', additionalProperties: true,
+ } },
+ variables: { type: 'array', items: {
+ type: 'object', additionalProperties: true,
+ } },
+ script: { type: 'string' },
+ eyeCatchingImageId: { type: 'string', format: 'misskey:id', nullable: true },
+ font: { type: 'string', enum: ['serif', 'sans-serif'], default: "sans-serif" },
+ alignCenter: { type: 'boolean', default: false },
+ hideTitleWhenPinned: { type: 'boolean', default: false },
+ },
+ required: ['title', 'name', 'content', 'variables', 'script'],
+} 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) => {
let eyeCatchingImage = null;
if (ps.eyeCatchingImageId != null) {
eyeCatchingImage = await DriveFiles.findOne({