summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-01-26 17:53:35 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-01-26 17:53:35 +0900
commit0854f2e180be7b2ed4e7ea68d7f45cc156a95627 (patch)
treeddf9b81d6a0b3c2d3e85ba73ae3aab3c6107221a /src/server/api/endpoints/admin
parentResolve #2253 (diff)
downloadsharkey-0854f2e180be7b2ed4e7ea68d7f45cc156a95627.tar.gz
sharkey-0854f2e180be7b2ed4e7ea68d7f45cc156a95627.tar.bz2
sharkey-0854f2e180be7b2ed4e7ea68d7f45cc156a95627.zip
管理画面からリモートユーザー情報を更新できるように (#3992)
Diffstat (limited to 'src/server/api/endpoints/admin')
-rw-r--r--src/server/api/endpoints/admin/update-remote-user.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/server/api/endpoints/admin/update-remote-user.ts b/src/server/api/endpoints/admin/update-remote-user.ts
new file mode 100644
index 0000000000..9288ce1fb7
--- /dev/null
+++ b/src/server/api/endpoints/admin/update-remote-user.ts
@@ -0,0 +1,36 @@
+import * as mongo from 'mongodb';
+import $ from 'cafy';
+import ID, { transform } from '../../../../misc/cafy-id';
+import define from '../../define';
+import { getRemoteUser } from '../../common/getters';
+import { updatePerson } from '../../../../remote/activitypub/models/person';
+
+export const meta = {
+ desc: {
+ 'ja-JP': '指定されたリモートユーザーの情報を更新します。',
+ 'en-US': 'Update specified remote user information.'
+ },
+
+ requireCredential: true,
+ requireModerator: true,
+
+ params: {
+ userId: {
+ validator: $.type(ID),
+ transform: transform,
+ desc: {
+ 'ja-JP': '対象のユーザーID',
+ 'en-US': 'The user ID which you want to update'
+ }
+ },
+ }
+};
+
+export default define(meta, (ps) => new Promise((res, rej) => {
+ updatePersonById(ps.userId).then(() => res(), e => rej(e));
+}));
+
+async function updatePersonById(userId: mongo.ObjectID) {
+ const user = await getRemoteUser(userId);
+ await updatePerson(user.uri);
+}