From 93869a5f34386a7bd6e99df779150733fb1730c4 Mon Sep 17 00:00:00 2001 From: Mar0xy Date: Tue, 5 Dec 2023 22:19:53 +0100 Subject: add: mark instance as NSFW Closes transfem-org/Sharkey#197 --- .../endpoints/admin/federation/update-instance.ts | 39 +++++++++++++--------- 1 file changed, 24 insertions(+), 15 deletions(-) (limited to 'packages/backend/src/server/api/endpoints/admin/federation') diff --git a/packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts b/packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts index 357bf83e87..4db52b1052 100644 --- a/packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts +++ b/packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts @@ -23,8 +23,9 @@ export const paramDef = { properties: { host: { type: 'string' }, isSuspended: { type: 'boolean' }, + isNSFW: { type: 'boolean' }, }, - required: ['host', 'isSuspended'], + required: ['host'], } as const; @Injectable() @@ -44,23 +45,31 @@ export default class extends Endpoint { // eslint- throw new Error('instance not found'); } - await this.federatedInstanceService.update(instance.id, { - isSuspended: ps.isSuspended, - }); + if (ps.isSuspended != null) { + await this.federatedInstanceService.update(instance.id, { + isSuspended: ps.isSuspended, + }); - if (instance.isSuspended !== ps.isSuspended) { - if (ps.isSuspended) { - this.moderationLogService.log(me, 'suspendRemoteInstance', { - id: instance.id, - host: instance.host, - }); - } else { - this.moderationLogService.log(me, 'unsuspendRemoteInstance', { - id: instance.id, - host: instance.host, - }); + if (instance.isSuspended !== ps.isSuspended) { + if (ps.isSuspended) { + this.moderationLogService.log(me, 'suspendRemoteInstance', { + id: instance.id, + host: instance.host, + }); + } else { + this.moderationLogService.log(me, 'unsuspendRemoteInstance', { + id: instance.id, + host: instance.host, + }); + } } } + + if (ps.isNSFW != null) { + await this.federatedInstanceService.update(instance.id, { + isNSFW: ps.isNSFW, + }); + } }); } } -- cgit v1.2.3-freya