Resolve #3687
This commit is contained in:
@ -285,6 +285,27 @@ export const meta = {
|
||||
'ja-JP': 'SMTPサーバのパスワード'
|
||||
}
|
||||
},
|
||||
|
||||
enableServiceWorker: {
|
||||
validator: $.bool.optional,
|
||||
desc: {
|
||||
'ja-JP': 'ServiceWorkerを有効にするか否か'
|
||||
}
|
||||
},
|
||||
|
||||
swPublicKey: {
|
||||
validator: $.str.optional.nullable,
|
||||
desc: {
|
||||
'ja-JP': 'ServiceWorkerのVAPIDキーペアの公開鍵'
|
||||
}
|
||||
},
|
||||
|
||||
swPrivateKey: {
|
||||
validator: $.str.optional.nullable,
|
||||
desc: {
|
||||
'ja-JP': 'ServiceWorkerのVAPIDキーペアの秘密鍵'
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
@ -447,6 +468,18 @@ export default define(meta, (ps) => new Promise(async (res, rej) => {
|
||||
set.errorImageUrl = ps.errorImageUrl;
|
||||
}
|
||||
|
||||
if (ps.enableServiceWorker !== undefined) {
|
||||
set.enableServiceWorker = ps.enableServiceWorker;
|
||||
}
|
||||
|
||||
if (ps.swPublicKey !== undefined) {
|
||||
set.swPublicKey = ps.swPublicKey;
|
||||
}
|
||||
|
||||
if (ps.swPrivateKey !== undefined) {
|
||||
set.swPrivateKey = ps.swPrivateKey;
|
||||
}
|
||||
|
||||
await Meta.update({}, {
|
||||
$set: set
|
||||
}, { upsert: true });
|
||||
|
@ -63,7 +63,7 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
|
||||
cacheRemoteFiles: instance.cacheRemoteFiles,
|
||||
enableRecaptcha: instance.enableRecaptcha,
|
||||
recaptchaSiteKey: instance.recaptchaSiteKey,
|
||||
swPublickey: null,
|
||||
swPublickey: instance.swPublicKey,
|
||||
bannerUrl: instance.bannerUrl,
|
||||
errorImageUrl: instance.errorImageUrl,
|
||||
maxNoteTextLength: instance.maxNoteTextLength,
|
||||
@ -85,7 +85,7 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
|
||||
twitter: instance.enableTwitterIntegration,
|
||||
github: instance.enableGithubIntegration,
|
||||
discord: instance.enableDiscordIntegration,
|
||||
serviceWorker: config.sw ? true : false,
|
||||
serviceWorker: instance.enableServiceWorker,
|
||||
userRecommendation: {
|
||||
external: instance.enableExternalUserRecommendation,
|
||||
engine: instance.externalUserRecommendationEngine,
|
||||
@ -114,6 +114,7 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
|
||||
response.smtpPort = instance.smtpPort;
|
||||
response.smtpUser = instance.smtpUser;
|
||||
response.smtpPass = instance.smtpPass;
|
||||
response.swPrivateKey = instance.swPrivateKey;
|
||||
}
|
||||
|
||||
res(response);
|
||||
|
@ -1,7 +1,7 @@
|
||||
import $ from 'cafy';
|
||||
import Subscription from '../../../../models/sw-subscription';
|
||||
import config from '../../../../config';
|
||||
import define from '../../define';
|
||||
import fetchMeta from '../../../../misc/fetch-meta';
|
||||
|
||||
export const meta = {
|
||||
requireCredential: true,
|
||||
@ -31,10 +31,12 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
|
||||
deletedAt: { $exists: false }
|
||||
});
|
||||
|
||||
const instance = await fetchMeta();
|
||||
|
||||
if (exist != null) {
|
||||
return res({
|
||||
state: 'already-subscribed',
|
||||
key: config.sw.publicKey
|
||||
key: instance.swPublicKey
|
||||
});
|
||||
}
|
||||
|
||||
@ -47,6 +49,6 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
|
||||
|
||||
res({
|
||||
state: 'subscribed',
|
||||
key: config.sw.publicKey
|
||||
key: instance.swPublicKey
|
||||
});
|
||||
}));
|
||||
|
Reference in New Issue
Block a user