summaryrefslogtreecommitdiff
path: root/src/server/api/mastodon.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-11-05 13:38:50 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-11-05 13:38:50 +0900
commitd5d995a3e6a5e87969dc7eecdd612abc10dd7c84 (patch)
treea14ebc85136251dc07a4935bb4d597257ae7ebb4 /src/server/api/mastodon.ts
parent[Client] Fix bug (diff)
downloadsharkey-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.ts101
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;