summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints
diff options
context:
space:
mode:
authorPrivateGER <privateger@privateger.me>2024-10-06 23:13:10 +0200
committerPrivateGER <privateger@privateger.me>2024-10-06 23:13:10 +0200
commitfadae347ffd52a3610ef2e6ce160ade32d3dac31 (patch)
tree2731c25215245ba6c9cf4b8738f6868cf33afb78 /packages/backend/src/server/api/endpoints
parentMove text into translation files (diff)
parentmerge: Add option to reject reports from an instance (Resolves #579, #715, #7... (diff)
downloadsharkey-fadae347ffd52a3610ef2e6ce160ade32d3dac31.tar.gz
sharkey-fadae347ffd52a3610ef2e6ce160ade32d3dac31.tar.bz2
sharkey-fadae347ffd52a3610ef2e6ce160ade32d3dac31.zip
Merge branch 'develop' of https://activitypub.software/TransFem-org/Sharkey into feat/instance-admin-ui
Diffstat (limited to 'packages/backend/src/server/api/endpoints')
-rw-r--r--packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts18
-rw-r--r--packages/backend/src/server/api/endpoints/admin/meta.ts11
-rw-r--r--packages/backend/src/server/api/endpoints/admin/update-meta.ts9
3 files changed, 37 insertions, 1 deletions
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 8b142910a6..daf19c4435 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
@@ -25,6 +25,7 @@ export const paramDef = {
host: { type: 'string' },
isSuspended: { type: 'boolean' },
isNSFW: { type: 'boolean' },
+ rejectReports: { type: 'boolean' },
moderationNote: { type: 'string' },
},
required: ['host'],
@@ -57,6 +58,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
await this.federatedInstanceService.update(instance.id, {
suspensionState,
isNSFW: ps.isNSFW,
+ rejectReports: ps.rejectReports,
moderationNote: ps.moderationNote,
});
@@ -74,6 +76,22 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
}
}
+ if (ps.isNSFW != null && instance.isNSFW !== ps.isNSFW) {
+ const message = ps.rejectReports ? 'setRemoteInstanceNSFW' : 'unsetRemoteInstanceNSFW';
+ this.moderationLogService.log(me, message, {
+ id: instance.id,
+ host: instance.host,
+ });
+ }
+
+ if (ps.rejectReports != null && instance.rejectReports !== ps.rejectReports) {
+ const message = ps.rejectReports ? 'rejectRemoteInstanceReports' : 'acceptRemoteInstanceReports';
+ this.moderationLogService.log(me, message, {
+ id: instance.id,
+ host: instance.host,
+ });
+ }
+
if (ps.moderationNote != null && instance.moderationNote !== ps.moderationNote) {
this.moderationLogService.log(me, 'updateRemoteInstanceNote', {
id: instance.id,
diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts
index 5a69fbf679..29c165f87a 100644
--- a/packages/backend/src/server/api/endpoints/admin/meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/meta.ts
@@ -128,7 +128,7 @@ export const meta = {
},
silencedHosts: {
type: 'array',
- optional: true,
+ optional: false,
nullable: false,
items: {
type: 'string',
@@ -526,6 +526,14 @@ export const meta = {
type: 'string',
optional: false, nullable: true,
},
+ trustedLinkUrlPatterns: {
+ type: 'array',
+ optional: false, nullable: false,
+ items: {
+ type: 'string',
+ optional: false, nullable: false,
+ },
+ },
},
},
} as const;
@@ -669,6 +677,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
urlPreviewRequireContentLength: instance.urlPreviewRequireContentLength,
urlPreviewUserAgent: instance.urlPreviewUserAgent,
urlPreviewSummaryProxyUrl: instance.urlPreviewSummaryProxyUrl,
+ trustedLinkUrlPatterns: instance.trustedLinkUrlPatterns,
};
});
}
diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
index c56dd053d3..cbde554428 100644
--- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
@@ -176,6 +176,11 @@ export const paramDef = {
urlPreviewRequireContentLength: { type: 'boolean' },
urlPreviewUserAgent: { type: 'string', nullable: true },
urlPreviewSummaryProxyUrl: { type: 'string', nullable: true },
+ trustedLinkUrlPatterns: {
+ type: 'array', nullable: true, items: {
+ type: 'string',
+ },
+ },
},
required: [],
} as const;
@@ -665,6 +670,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
set.urlPreviewSummaryProxyUrl = value === '' ? null : value;
}
+ if (Array.isArray(ps.trustedLinkUrlPatterns)) {
+ set.trustedLinkUrlPatterns = ps.trustedLinkUrlPatterns.filter(Boolean);
+ }
+
const before = await this.metaService.fetch(true);
await this.metaService.update(set);