summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin/abuse-user-reports.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/admin/abuse-user-reports.ts')
-rw-r--r--src/server/api/endpoints/admin/abuse-user-reports.ts134
1 files changed, 0 insertions, 134 deletions
diff --git a/src/server/api/endpoints/admin/abuse-user-reports.ts b/src/server/api/endpoints/admin/abuse-user-reports.ts
deleted file mode 100644
index 403eb24191..0000000000
--- a/src/server/api/endpoints/admin/abuse-user-reports.ts
+++ /dev/null
@@ -1,134 +0,0 @@
-import $ from 'cafy';
-import { ID } from '@/misc/cafy-id';
-import define from '../../define';
-import { AbuseUserReports } 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),
- },
-
- state: {
- validator: $.optional.nullable.str,
- default: null,
- },
-
- reporterOrigin: {
- validator: $.optional.str.or([
- 'combined',
- 'local',
- 'remote',
- ]),
- default: 'combined'
- },
-
- targetUserOrigin: {
- validator: $.optional.str.or([
- 'combined',
- 'local',
- 'remote',
- ]),
- default: 'combined'
- },
- },
-
- 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,
- nullable: false as const, optional: false as const,
- format: 'id',
- example: 'xxxxxxxxxx',
- },
- createdAt: {
- type: 'string' as const,
- nullable: false as const, optional: false as const,
- format: 'date-time',
- },
- comment: {
- type: 'string' as const,
- nullable: false as const, optional: false as const,
- },
- resolved: {
- type: 'boolean' as const,
- nullable: false as const, optional: false as const,
- example: false
- },
- reporterId: {
- type: 'string' as const,
- nullable: false as const, optional: false as const,
- format: 'id',
- },
- targetUserId: {
- type: 'string' as const,
- nullable: false as const, optional: false as const,
- format: 'id',
- },
- assigneeId: {
- type: 'string' as const,
- nullable: true as const, optional: false as const,
- format: 'id',
- },
- reporter: {
- type: 'object' as const,
- nullable: false as const, optional: false as const,
- ref: 'User'
- },
- targetUser: {
- type: 'object' as const,
- nullable: false as const, optional: false as const,
- ref: 'User'
- },
- assignee: {
- type: 'object' as const,
- nullable: true as const, optional: true as const,
- ref: 'User'
- }
- }
- }
- }
-};
-
-export default define(meta, async (ps) => {
- const query = makePaginationQuery(AbuseUserReports.createQueryBuilder('report'), ps.sinceId, ps.untilId);
-
- switch (ps.state) {
- case 'resolved': query.andWhere('report.resolved = TRUE'); break;
- case 'unresolved': query.andWhere('report.resolved = FALSE'); break;
- }
-
- switch (ps.reporterOrigin) {
- case 'local': query.andWhere('report.reporterHost IS NULL'); break;
- case 'remote': query.andWhere('report.reporterHost IS NOT NULL'); break;
- }
-
- switch (ps.targetUserOrigin) {
- case 'local': query.andWhere('report.targetUserHost IS NULL'); break;
- case 'remote': query.andWhere('report.targetUserHost IS NOT NULL'); break;
- }
-
- const reports = await query.take(ps.limit!).getMany();
-
- return await AbuseUserReports.packMany(reports);
-});