summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/admin')
-rw-r--r--src/server/api/endpoints/admin/abuse-user-reports.ts38
-rw-r--r--src/server/api/endpoints/admin/resolve-abuse-user-report.ts (renamed from src/server/api/endpoints/admin/remove-abuse-user-report.ts)7
2 files changed, 43 insertions, 2 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);
diff --git a/src/server/api/endpoints/admin/remove-abuse-user-report.ts b/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
index 150de5f5d4..0a62b5f365 100644
--- a/src/server/api/endpoints/admin/remove-abuse-user-report.ts
+++ b/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
@@ -16,12 +16,15 @@ export const meta = {
}
};
-export default define(meta, async (ps) => {
+export default define(meta, async (ps, me) => {
const report = await AbuseUserReports.findOne(ps.reportId);
if (report == null) {
throw new Error('report not found');
}
- await AbuseUserReports.delete(report.id);
+ await AbuseUserReports.update(report.id, {
+ resolved: true,
+ assigneeId: me.id,
+ });
});