diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2020-10-19 19:29:04 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2020-10-19 19:29:04 +0900 |
| commit | 87f61e714ad3b17856a6a5ac66051707badb3bd0 (patch) | |
| tree | 353b384f026bb326d16b7194d5fa5dfee7f12069 /src/server/api/endpoints/admin/abuse-user-reports.ts | |
| parent | 12.48.3 (diff) | |
| download | misskey-87f61e714ad3b17856a6a5ac66051707badb3bd0.tar.gz misskey-87f61e714ad3b17856a6a5ac66051707badb3bd0.tar.bz2 misskey-87f61e714ad3b17856a6a5ac66051707badb3bd0.zip | |
Resolve #6087
Diffstat (limited to 'src/server/api/endpoints/admin/abuse-user-reports.ts')
| -rw-r--r-- | src/server/api/endpoints/admin/abuse-user-reports.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/server/api/endpoints/admin/abuse-user-reports.ts b/src/server/api/endpoints/admin/abuse-user-reports.ts index d5a52184d1..6a7f380e16 100644 --- a/src/server/api/endpoints/admin/abuse-user-reports.ts +++ b/src/server/api/endpoints/admin/abuse-user-reports.ts @@ -23,12 +23,50 @@ export const meta = { 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' + }, } }; 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); |