summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-11-07 00:44:56 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-11-07 00:44:56 +0900
commit2de48110bbc253ff4aa8457ea0cfed5a6fb5feb0 (patch)
tree2c67b7f6ccd85f54037053a70beabcad3821e723 /src/server
parentClean up (diff)
downloadsharkey-2de48110bbc253ff4aa8457ea0cfed5a6fb5feb0.tar.gz
sharkey-2de48110bbc253ff4aa8457ea0cfed5a6fb5feb0.tar.bz2
sharkey-2de48110bbc253ff4aa8457ea0cfed5a6fb5feb0.zip
ghostの設定をDBに保存するように
Diffstat (limited to 'src/server')
-rw-r--r--src/server/api/endpoints/admin/update-meta.ts15
-rw-r--r--src/server/api/endpoints/meta.ts1
-rw-r--r--src/server/api/endpoints/users/lists/push.ts8
3 files changed, 18 insertions, 6 deletions
diff --git a/src/server/api/endpoints/admin/update-meta.ts b/src/server/api/endpoints/admin/update-meta.ts
index 85266b47cf..f541409274 100644
--- a/src/server/api/endpoints/admin/update-meta.ts
+++ b/src/server/api/endpoints/admin/update-meta.ts
@@ -98,17 +98,24 @@ export const meta = {
},
recaptchaSiteKey: {
- validator: $.str.optional,
+ validator: $.str.optional.nullable,
desc: {
'ja-JP': 'reCAPTCHA site key'
}
},
recaptchaSecretKey: {
- validator: $.str.optional,
+ validator: $.str.optional.nullable,
desc: {
'ja-JP': 'reCAPTCHA secret key'
}
+ },
+
+ proxyAccount: {
+ validator: $.str.optional.nullable,
+ desc: {
+ 'ja-JP': 'Proxy account username'
+ }
}
}
};
@@ -172,6 +179,10 @@ export default define(meta, (ps) => new Promise(async (res, rej) => {
set.recaptchaSecretKey = ps.recaptchaSecretKey;
}
+ if (ps.proxyAccount !== undefined) {
+ set.proxyAccount = ps.proxyAccount;
+ }
+
await Meta.update({}, {
$set: set
}, { upsert: true });
diff --git a/src/server/api/endpoints/meta.ts b/src/server/api/endpoints/meta.ts
index 3ed225cc5f..03d2d9c6eb 100644
--- a/src/server/api/endpoints/meta.ts
+++ b/src/server/api/endpoints/meta.ts
@@ -85,6 +85,7 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
if (me && me.isAdmin) {
response.hidedTags = instance.hidedTags;
response.recaptchaSecretKey = instance.recaptchaSecretKey;
+ response.proxyAccount = instance.proxyAccount;
}
res(response);
diff --git a/src/server/api/endpoints/users/lists/push.ts b/src/server/api/endpoints/users/lists/push.ts
index 396f9813a4..5612ff1665 100644
--- a/src/server/api/endpoints/users/lists/push.ts
+++ b/src/server/api/endpoints/users/lists/push.ts
@@ -1,6 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import UserList from '../../../../../models/user-list';
-import User, { pack as packUser, isRemoteUser, getGhost } from '../../../../../models/user';
+import User, { pack as packUser, isRemoteUser, fetchProxyAccount } from '../../../../../models/user';
import { publishUserListStream } from '../../../../../stream';
import ap from '../../../../../remote/activitypub/renderer';
import renderFollow from '../../../../../remote/activitypub/renderer/follow';
@@ -71,8 +71,8 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// このインスタンス内にこのリモートユーザーをフォローしているユーザーがいなくても投稿を受け取るためにダミーのユーザーがフォローしたということにする
if (isRemoteUser(user)) {
- const ghost = await getGhost();
- const content = ap(renderFollow(ghost, user));
- deliver(ghost, content, user.inbox);
+ const proxy = await fetchProxyAccount();
+ const content = ap(renderFollow(proxy, user));
+ deliver(proxy, content, user.inbox);
}
}));