summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2020-10-27 16:45:14 +0900
committersyuilo <syuilotan@yahoo.co.jp>2020-10-27 16:45:14 +0900
commitd8933c135fb1a579c959dcc06c74f5eab12a747d (patch)
treedfe262075bfc9bfdeb8fd5a5195d2daa453a6d7e /src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts
parentBetter favicon detection (diff)
downloadsharkey-d8933c135fb1a579c959dcc06c74f5eab12a747d.tar.gz
sharkey-d8933c135fb1a579c959dcc06c74f5eab12a747d.tar.bz2
sharkey-d8933c135fb1a579c959dcc06c74f5eab12a747d.zip
リモートインスタンス情報を強制更新するAPIを追加
Diffstat (limited to 'src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts')
-rw-r--r--src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts b/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts
new file mode 100644
index 0000000000..923a5f52cb
--- /dev/null
+++ b/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts
@@ -0,0 +1,28 @@
+import $ from 'cafy';
+import define from '../../../define';
+import { Instances } from '../../../../../models';
+import { toPuny } from '../../../../../misc/convert-host';
+import { fetchInstanceMetadata } from '../../../../../services/fetch-instance-metadata';
+
+export const meta = {
+ tags: ['admin'],
+
+ requireCredential: true as const,
+ requireModerator: true,
+
+ params: {
+ host: {
+ validator: $.str
+ },
+ }
+};
+
+export default define(meta, async (ps, me) => {
+ const instance = await Instances.findOne({ host: toPuny(ps.host) });
+
+ if (instance == null) {
+ throw new Error('instance not found');
+ }
+
+ fetchInstanceMetadata(instance, true);
+});