diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-05-14 21:25:24 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-05-14 21:25:24 +0900 |
| commit | 466fe9c3684082e352bc294bed82c7769fedf495 (patch) | |
| tree | d963c2c09d898b22f7530c717181d64ca98ab9c8 /src/server | |
| parent | Merge branch 'develop' (diff) | |
| parent | 11.13.0 (diff) | |
| download | misskey-466fe9c3684082e352bc294bed82c7769fedf495.tar.gz misskey-466fe9c3684082e352bc294bed82c7769fedf495.tar.bz2 misskey-466fe9c3684082e352bc294bed82c7769fedf495.zip | |
Merge branch 'develop'
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/activitypub/featured.ts | 5 | ||||
| -rw-r--r-- | src/server/api/endpoints/admin/federation/delete-all-files.ts | 27 | ||||
| -rw-r--r-- | src/server/api/endpoints/admin/update-meta.ts | 44 | ||||
| -rw-r--r-- | src/server/api/endpoints/meta.ts | 4 | ||||
| -rw-r--r-- | src/server/nodeinfo.ts | 6 | ||||
| -rw-r--r-- | src/server/web/views/note.pug | 3 | ||||
| -rw-r--r-- | src/server/web/views/user.pug | 3 |
7 files changed, 91 insertions, 1 deletions
diff --git a/src/server/activitypub/featured.ts b/src/server/activitypub/featured.ts index 86ec1000c7..dae72f16b6 100644 --- a/src/server/activitypub/featured.ts +++ b/src/server/activitypub/featured.ts @@ -21,7 +21,10 @@ export default async (ctx: Router.IRouterContext) => { return; } - const pinings = await UserNotePinings.find({ userId: user.id }); + const pinings = await UserNotePinings.find({ + where: { userId: user.id }, + order: { id: 'DESC' } + }); const pinnedNotes = await Promise.all(pinings.map(pining => Notes.findOne(pining.noteId).then(ensure))); diff --git a/src/server/api/endpoints/admin/federation/delete-all-files.ts b/src/server/api/endpoints/admin/federation/delete-all-files.ts new file mode 100644 index 0000000000..befb362264 --- /dev/null +++ b/src/server/api/endpoints/admin/federation/delete-all-files.ts @@ -0,0 +1,27 @@ +import $ from 'cafy'; +import define from '../../../define'; +import del from '../../../../../services/drive/delete-file'; +import { DriveFiles } from '../../../../../models'; + +export const meta = { + tags: ['admin'], + + requireCredential: true, + requireModerator: true, + + params: { + host: { + validator: $.str + } + } +}; + +export default define(meta, async (ps, me) => { + const files = await DriveFiles.find({ + userHost: ps.host + }); + + for (const file of files) { + del(file); + } +}); diff --git a/src/server/api/endpoints/admin/update-meta.ts b/src/server/api/endpoints/admin/update-meta.ts index 8a2019fcc1..e4f2e86aaa 100644 --- a/src/server/api/endpoints/admin/update-meta.ts +++ b/src/server/api/endpoints/admin/update-meta.ts @@ -70,6 +70,13 @@ export const meta = { } }, + blockedHosts: { + validator: $.optional.nullable.arr($.str), + desc: { + 'ja-JP': 'ブロックするホスト' + } + }, + mascotImageUrl: { validator: $.optional.nullable.str, desc: { @@ -330,6 +337,27 @@ export const meta = { 'ja-JP': 'ServiceWorkerのVAPIDキーペアの秘密鍵' } }, + + ToSUrl: { + validator: $.optional.nullable.str, + desc: { + 'ja-JP': '利用規約のURL' + } + }, + + repositoryUrl: { + validator: $.optional.str, + desc: { + 'ja-JP': 'リポジトリのURL' + } + }, + + feedbackUrl: { + validator: $.optional.str, + desc: { + 'ja-JP': 'フィードバックのURL' + } + } } }; @@ -368,6 +396,10 @@ export default define(meta, async (ps) => { set.hiddenTags = ps.hiddenTags; } + if (Array.isArray(ps.blockedHosts)) { + set.blockedHosts = ps.blockedHosts; + } + if (ps.mascotImageUrl !== undefined) { set.mascotImageUrl = ps.mascotImageUrl; } @@ -516,6 +548,18 @@ export default define(meta, async (ps) => { set.swPrivateKey = ps.swPrivateKey; } + if (ps.ToSUrl !== undefined) { + set.ToSUrl = ps.ToSUrl; + } + + if (ps.repositoryUrl !== undefined) { + set.repositoryUrl = ps.repositoryUrl; + } + + if (ps.feedbackUrl !== undefined) { + set.feedbackUrl = ps.feedbackUrl; + } + await getConnection().transaction(async transactionalEntityManager => { const meta = await transactionalEntityManager.findOne(Meta, { order: { diff --git a/src/server/api/endpoints/meta.ts b/src/server/api/endpoints/meta.ts index 5667e7fbb4..1bd88a1e6d 100644 --- a/src/server/api/endpoints/meta.ts +++ b/src/server/api/endpoints/meta.ts @@ -106,6 +106,9 @@ export default define(meta, async (ps, me) => { uri: config.url, description: instance.description, langs: instance.langs, + ToSUrl: instance.ToSUrl, + repositoryUrl: instance.repositoryUrl, + feedbackUrl: instance.feedbackUrl, secure: config.https != null, machine: os.hostname(), @@ -162,6 +165,7 @@ export default define(meta, async (ps, me) => { response.useStarForReactionFallback = instance.useStarForReactionFallback; response.pinnedUsers = instance.pinnedUsers; response.hiddenTags = instance.hiddenTags; + response.blockedHosts = instance.blockedHosts; response.recaptchaSecretKey = instance.recaptchaSecretKey; response.proxyAccount = instance.proxyAccount; response.twitterConsumerKey = instance.twitterConsumerKey; diff --git a/src/server/nodeinfo.ts b/src/server/nodeinfo.ts index d3ad90fab5..da1e4e7b5e 100644 --- a/src/server/nodeinfo.ts +++ b/src/server/nodeinfo.ts @@ -26,6 +26,9 @@ const nodeinfo2 = async () => { maintainerName, maintainerEmail, langs, + ToSUrl, + repositoryUrl, + feedbackUrl, announcements, disableRegistration, disableLocalTimeline, @@ -77,6 +80,9 @@ const nodeinfo2 = async () => { email: maintainerEmail }, langs, + ToSUrl, + repositoryUrl, + feedbackUrl, announcements, disableRegistration, disableLocalTimeline, diff --git a/src/server/web/views/note.pug b/src/server/web/views/note.pug index 983c731a04..0580e959f7 100644 --- a/src/server/web/views/note.pug +++ b/src/server/web/views/note.pug @@ -26,6 +26,9 @@ block meta meta(name='twitter:card' content='summary') // todo + if user.host + meta(name='robots' content='noindex') + if user.twitter meta(name='twitter:creator' content=`@${user.twitter.screenName}`) diff --git a/src/server/web/views/user.pug b/src/server/web/views/user.pug index bff98ba80f..9b257afb7b 100644 --- a/src/server/web/views/user.pug +++ b/src/server/web/views/user.pug @@ -24,6 +24,9 @@ block meta meta(name='twitter:card' content='summary') + if user.host + meta(name='robots' content='noindex') + if profile.twitter meta(name='twitter:creator' content=`@${profile.twitter.screenName}`) |