summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin/announcements
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/admin/announcements
parentupdate deps (diff)
downloadmisskey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.gz
misskey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.bz2
misskey-0e4a111f81cceed275d9bec2695f6e401fb654d8.zip
refactoring
Resolve #7779
Diffstat (limited to 'src/server/api/endpoints/admin/announcements')
-rw-r--r--src/server/api/endpoints/admin/announcements/create.ts71
-rw-r--r--src/server/api/endpoints/admin/announcements/delete.ts34
-rw-r--r--src/server/api/endpoints/admin/announcements/list.ts84
-rw-r--r--src/server/api/endpoints/admin/announcements/update.ts48
4 files changed, 0 insertions, 237 deletions
diff --git a/src/server/api/endpoints/admin/announcements/create.ts b/src/server/api/endpoints/admin/announcements/create.ts
deleted file mode 100644
index f1c07745f9..0000000000
--- a/src/server/api/endpoints/admin/announcements/create.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-import $ from 'cafy';
-import define from '../../../define';
-import { Announcements } from '@/models/index';
-import { genId } from '@/misc/gen-id';
-
-export const meta = {
- tags: ['admin'],
-
- requireCredential: true as const,
- requireModerator: true,
-
- params: {
- title: {
- validator: $.str.min(1)
- },
- text: {
- validator: $.str.min(1)
- },
- imageUrl: {
- validator: $.nullable.str.min(1)
- }
- },
-
- res: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
- properties: {
- id: {
- type: 'string' as const,
- optional: false as const, nullable: false as const,
- format: 'id',
- example: 'xxxxxxxxxx',
- },
- createdAt: {
- type: 'string' as const,
- optional: false as const, nullable: false as const,
- format: 'date-time',
- },
- updatedAt: {
- type: 'string' as const,
- optional: false as const, nullable: true as const,
- format: 'date-time',
- },
- title: {
- type: 'string' as const,
- optional: false as const, nullable: false as const,
- },
- text: {
- type: 'string' as const,
- optional: false as const, nullable: false as const,
- },
- imageUrl: {
- type: 'string' as const,
- optional: false as const, nullable: true as const,
- }
- }
- }
-};
-
-export default define(meta, async (ps) => {
- const announcement = await Announcements.save({
- id: genId(),
- createdAt: new Date(),
- updatedAt: null,
- title: ps.title,
- text: ps.text,
- imageUrl: ps.imageUrl,
- });
-
- return announcement;
-});
diff --git a/src/server/api/endpoints/admin/announcements/delete.ts b/src/server/api/endpoints/admin/announcements/delete.ts
deleted file mode 100644
index 7dbc05b4c9..0000000000
--- a/src/server/api/endpoints/admin/announcements/delete.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import $ from 'cafy';
-import define from '../../../define';
-import { ID } from '@/misc/cafy-id';
-import { Announcements } from '@/models/index';
-import { ApiError } from '../../../error';
-
-export const meta = {
- tags: ['admin'],
-
- requireCredential: true as const,
- requireModerator: true,
-
- params: {
- id: {
- validator: $.type(ID)
- }
- },
-
- errors: {
- noSuchAnnouncement: {
- message: 'No such announcement.',
- code: 'NO_SUCH_ANNOUNCEMENT',
- id: 'ecad8040-a276-4e85-bda9-015a708d291e'
- }
- }
-};
-
-export default define(meta, async (ps, me) => {
- const announcement = await Announcements.findOne(ps.id);
-
- if (announcement == null) throw new ApiError(meta.errors.noSuchAnnouncement);
-
- await Announcements.delete(announcement.id);
-});
diff --git a/src/server/api/endpoints/admin/announcements/list.ts b/src/server/api/endpoints/admin/announcements/list.ts
deleted file mode 100644
index 4039bcd88f..0000000000
--- a/src/server/api/endpoints/admin/announcements/list.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import $ from 'cafy';
-import { ID } from '@/misc/cafy-id';
-import define from '../../../define';
-import { Announcements, AnnouncementReads } from '@/models/index';
-import { makePaginationQuery } from '../../../common/make-pagination-query';
-
-export const meta = {
- tags: ['admin'],
-
- requireCredential: true as const,
- requireModerator: true,
-
- params: {
- limit: {
- validator: $.optional.num.range(1, 100),
- default: 10
- },
-
- sinceId: {
- validator: $.optional.type(ID),
- },
-
- untilId: {
- validator: $.optional.type(ID),
- },
- },
-
- res: {
- type: 'array' as const,
- optional: false as const, nullable: false as const,
- items: {
- type: 'object' as const,
- optional: false as const, nullable: false as const,
- properties: {
- id: {
- type: 'string' as const,
- optional: false as const, nullable: false as const,
- format: 'id',
- example: 'xxxxxxxxxx',
- },
- createdAt: {
- type: 'string' as const,
- optional: false as const, nullable: false as const,
- format: 'date-time',
- },
- updatedAt: {
- type: 'string' as const,
- optional: false as const, nullable: true as const,
- format: 'date-time',
- },
- text: {
- type: 'string' as const,
- optional: false as const, nullable: false as const,
- },
- title: {
- type: 'string' as const,
- optional: false as const, nullable: false as const,
- },
- imageUrl: {
- type: 'string' as const,
- optional: false as const, nullable: true as const,
- },
- reads: {
- type: 'number' as const,
- optional: false as const, nullable: false as const,
- }
- }
- }
- }
-};
-
-export default define(meta, async (ps) => {
- const query = makePaginationQuery(Announcements.createQueryBuilder('announcement'), ps.sinceId, ps.untilId);
-
- const announcements = await query.take(ps.limit!).getMany();
-
- for (const announcement of announcements) {
- (announcement as any).reads = await AnnouncementReads.count({
- announcementId: announcement.id
- });
- }
-
- return announcements;
-});
diff --git a/src/server/api/endpoints/admin/announcements/update.ts b/src/server/api/endpoints/admin/announcements/update.ts
deleted file mode 100644
index 343f37d626..0000000000
--- a/src/server/api/endpoints/admin/announcements/update.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import $ from 'cafy';
-import define from '../../../define';
-import { ID } from '@/misc/cafy-id';
-import { Announcements } from '@/models/index';
-import { ApiError } from '../../../error';
-
-export const meta = {
- tags: ['admin'],
-
- requireCredential: true as const,
- requireModerator: true,
-
- params: {
- id: {
- validator: $.type(ID)
- },
- title: {
- validator: $.str.min(1)
- },
- text: {
- validator: $.str.min(1)
- },
- imageUrl: {
- validator: $.nullable.str.min(1)
- }
- },
-
- errors: {
- noSuchAnnouncement: {
- message: 'No such announcement.',
- code: 'NO_SUCH_ANNOUNCEMENT',
- id: 'd3aae5a7-6372-4cb4-b61c-f511ffc2d7cc'
- }
- }
-};
-
-export default define(meta, async (ps, me) => {
- const announcement = await Announcements.findOne(ps.id);
-
- if (announcement == null) throw new ApiError(meta.errors.noSuchAnnouncement);
-
- await Announcements.update(announcement.id, {
- updatedAt: new Date(),
- title: ps.title,
- text: ps.text,
- imageUrl: ps.imageUrl,
- });
-});