summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/gallery/posts/create.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/gallery/posts/create.ts')
-rw-r--r--src/server/api/endpoints/gallery/posts/create.ts77
1 files changed, 0 insertions, 77 deletions
diff --git a/src/server/api/endpoints/gallery/posts/create.ts b/src/server/api/endpoints/gallery/posts/create.ts
deleted file mode 100644
index 38b487e6ea..0000000000
--- a/src/server/api/endpoints/gallery/posts/create.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import $ from 'cafy';
-import * as ms from 'ms';
-import define from '../../../define';
-import { ID } from '../../../../../misc/cafy-id';
-import { DriveFiles, GalleryPosts } from '@/models/index';
-import { genId } from '../../../../../misc/gen-id';
-import { GalleryPost } from '@/models/entities/gallery-post';
-import { ApiError } from '../../../error';
-import { DriveFile } from '@/models/entities/drive-file';
-
-export const meta = {
- tags: ['gallery'],
-
- requireCredential: true as const,
-
- kind: 'write:gallery',
-
- limit: {
- duration: ms('1hour'),
- max: 300
- },
-
- params: {
- title: {
- validator: $.str.min(1),
- },
-
- description: {
- validator: $.optional.nullable.str,
- },
-
- fileIds: {
- validator: $.arr($.type(ID)).unique().range(1, 32),
- },
-
- isSensitive: {
- validator: $.optional.bool,
- default: false,
- },
- },
-
- res: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
- ref: 'GalleryPost',
- },
-
- errors: {
-
- }
-};
-
-export default define(meta, async (ps, user) => {
- const files = (await Promise.all(ps.fileIds.map(fileId =>
- DriveFiles.findOne({
- id: fileId,
- userId: user.id
- })
- ))).filter((file): file is DriveFile => file != null);
-
- if (files.length === 0) {
- throw new Error();
- }
-
- const post = await GalleryPosts.insert(new GalleryPost({
- id: genId(),
- createdAt: new Date(),
- updatedAt: new Date(),
- title: ps.title,
- description: ps.description,
- userId: user.id,
- isSensitive: ps.isSensitive,
- fileIds: files.map(file => file.id)
- })).then(x => GalleryPosts.findOneOrFail(x.identifiers[0]));
-
- return await GalleryPosts.pack(post, user);
-});