diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-11-05 13:38:50 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-11-05 13:38:50 +0900 |
| commit | d5d995a3e6a5e87969dc7eecdd612abc10dd7c84 (patch) | |
| tree | a14ebc85136251dc07a4935bb4d597257ae7ebb4 /src/server/api/mastodon.ts | |
| parent | [Client] Fix bug (diff) | |
| download | sharkey-d5d995a3e6a5e87969dc7eecdd612abc10dd7c84.tar.gz sharkey-d5d995a3e6a5e87969dc7eecdd612abc10dd7c84.tar.bz2 sharkey-d5d995a3e6a5e87969dc7eecdd612abc10dd7c84.zip | |
Refactor
Diffstat (limited to 'src/server/api/mastodon.ts')
| -rw-r--r-- | src/server/api/mastodon.ts | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/src/server/api/mastodon.ts b/src/server/api/mastodon.ts deleted file mode 100644 index e08fbc6f57..0000000000 --- a/src/server/api/mastodon.ts +++ /dev/null @@ -1,101 +0,0 @@ -import * as Router from 'koa-router'; -import User from '../../models/user'; -import { toASCII } from 'punycode'; -import config from '../../config'; -import Meta from '../../models/meta'; -import { ObjectID } from 'bson'; -import Emoji from '../../models/emoji'; -import { toMastodonEmojis } from '../../models/mastodon/emoji'; -const pkg = require('../../../package.json'); - -// Init router -const router = new Router(); - -router.get('/v1/custom_emojis', async ctx => ctx.body = - (await Emoji.find({ host: null }, { - fields: { - _id: false - } - })).map(x => toMastodonEmojis(x))); - -router.get('/v1/instance', async ctx => { // TODO: This is a temporary implementation. Consider creating helper methods! - const meta = await Meta.findOne() || {}; - const { originalNotesCount, originalUsersCount } = meta.stats || { - originalNotesCount: 0, - originalUsersCount: 0 - }; - const domains = await User.distinct('host', { host: { $ne: null } }) as any as [] || []; - const maintainer = await User.findOne({ isAdmin: true }) || { - _id: ObjectID.createFromTime(0), - username: '', // TODO: Consider making this better! - host: config.host, - name: '', - isLocked: false, - isBot: false, - createdAt: new Date(0), - description: '', - avatarUrl: '', - bannerUrl: '', - followersCount: 0, - followingCount: 0, - notesCount: 0 - }; - const acct = maintainer.host ? `${maintainer.username}@${maintainer.host}` : maintainer.username; - const emojis = (await Emoji.find({ host: null }, { - fields: { - _id: false - } - })).map(toMastodonEmojis); - - ctx.body = { - uri: config.hostname, - title: meta.name || 'Misskey', - description: meta.description || '', - email: config.maintainer.email || config.maintainer.url.startsWith('mailto:') ? config.maintainer.url.slice(7) : '', - version: `0.0.0:compatible:misskey:${pkg.version}`, // TODO: How to tell about that this is an api for compatibility? - thumbnail: meta.bannerUrl, - /* - urls: { - streaming_api: config.ws_url + '/mastodon' // TODO: Implement compatible streaming API - }, */ - stats: { - user_count: originalUsersCount, - status_count: originalNotesCount, - domain_count: domains.length - }, - languages: config.languages || [ 'ja' ], - contact_account: { - id: maintainer._id, - username: maintainer.username, - acct: acct, - display_name: maintainer.name || '', - locked: maintainer.isLocked, - bot: maintainer.isBot, - created_at: maintainer.createdAt, - note: maintainer.description, - url: `${config.url}/@${acct}`, - avatar: maintainer.avatarUrl || '', - /* - avatar_static: maintainer.avatarUrl || '', // TODO: Implement static avatar url (ensure non-animated GIF) - */ - header: maintainer.bannerUrl || '', - /* - header_static: maintainer.bannerUrl || '', // TODO: Implement static header url (ensure non-animated GIF) - */ - followers_count: maintainer.followersCount, - following_count: maintainer.followingCount, - statuses_count: maintainer.notesCount, - emojis: emojis, - moved: null, - fields: null - } - }; -}); - -router.get('/v1/instance/peers', async ctx => { - const peers = await User.distinct('host', { host: { $ne: null } }) as any as string[]; - const punyCodes = peers.map(peer => toASCII(peer)); - ctx.body = punyCodes; -}); - -module.exports = router; |