summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/pages/create.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-11-12 02:02:25 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-11-12 02:02:25 +0900
commit0e4a111f81cceed275d9bec2695f6e401fb654d8 (patch)
tree40874799472fa07416f17b50a398ac33b7771905 /src/server/api/endpoints/pages/create.ts
parentupdate deps (diff)
downloadsharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.gz
sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.bz2
sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.zip
refactoring
Resolve #7779
Diffstat (limited to 'src/server/api/endpoints/pages/create.ts')
-rw-r--r--src/server/api/endpoints/pages/create.ts128
1 files changed, 0 insertions, 128 deletions
diff --git a/src/server/api/endpoints/pages/create.ts b/src/server/api/endpoints/pages/create.ts
deleted file mode 100644
index c23978f093..0000000000
--- a/src/server/api/endpoints/pages/create.ts
+++ /dev/null
@@ -1,128 +0,0 @@
-import $ from 'cafy';
-import * as 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';
-import { ApiError } from '../../error';
-
-export const meta = {
- tags: ['pages'],
-
- requireCredential: true as const,
-
- kind: 'write:pages',
-
- limit: {
- duration: ms('1hour'),
- 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' as const,
- optional: false as const, nullable: false as const,
- ref: 'Page',
- },
-
- errors: {
- noSuchFile: {
- message: 'No such file.',
- code: 'NO_SUCH_FILE',
- id: 'b7b97489-0f66-4b12-a5ff-b21bd63f6e1c'
- },
- nameAlreadyExists: {
- message: 'Specified name already exists.',
- code: 'NAME_ALREADY_EXISTS',
- id: '4650348e-301c-499a-83c9-6aa988c66bc1'
- }
- }
-};
-
-export default define(meta, async (ps, user) => {
- let eyeCatchingImage = null;
- if (ps.eyeCatchingImageId != null) {
- eyeCatchingImage = await DriveFiles.findOne({
- id: ps.eyeCatchingImageId,
- userId: user.id
- });
-
- if (eyeCatchingImage == null) {
- throw new ApiError(meta.errors.noSuchFile);
- }
- }
-
- await Pages.find({
- userId: user.id,
- name: ps.name
- }).then(result => {
- if (result.length > 0) {
- throw new ApiError(meta.errors.nameAlreadyExists);
- }
- });
-
- const page = await Pages.save(new Page({
- id: genId(),
- createdAt: new Date(),
- updatedAt: new Date(),
- title: ps.title,
- name: ps.name,
- summary: ps.summary,
- content: ps.content,
- variables: ps.variables,
- script: ps.script,
- eyeCatchingImageId: eyeCatchingImage ? eyeCatchingImage.id : null,
- userId: user.id,
- visibility: 'public',
- alignCenter: ps.alignCenter,
- hideTitleWhenPinned: ps.hideTitleWhenPinned,
- font: ps.font
- }));
-
- return await Pages.pack(page);
-});