summaryrefslogtreecommitdiff
path: root/src/server/api/index.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-11-12 02:02:25 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-11-12 02:02:25 +0900
commit0e4a111f81cceed275d9bec2695f6e401fb654d8 (patch)
tree40874799472fa07416f17b50a398ac33b7771905 /src/server/api/index.ts
parentupdate deps (diff)
downloadsharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.gz
sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.bz2
sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.zip
refactoring
Resolve #7779
Diffstat (limited to 'src/server/api/index.ts')
-rw-r--r--src/server/api/index.ts113
1 files changed, 0 insertions, 113 deletions
diff --git a/src/server/api/index.ts b/src/server/api/index.ts
deleted file mode 100644
index 82579075eb..0000000000
--- a/src/server/api/index.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * API Server
- */
-
-import * as Koa from 'koa';
-import * as Router from '@koa/router';
-import * as multer from '@koa/multer';
-import * as bodyParser from 'koa-bodyparser';
-import * as cors from '@koa/cors';
-
-import endpoints from './endpoints';
-import handler from './api-handler';
-import signup from './private/signup';
-import signin from './private/signin';
-import signupPending from './private/signup-pending';
-import discord from './service/discord';
-import github from './service/github';
-import twitter from './service/twitter';
-import { Instances, AccessTokens, Users } from '@/models/index';
-import config from '@/config';
-
-// Init app
-const app = new Koa();
-
-app.use(cors({
- origin: '*'
-}));
-
-// No caching
-app.use(async (ctx, next) => {
- ctx.set('Cache-Control', 'private, max-age=0, must-revalidate');
- await next();
-});
-
-app.use(bodyParser({
- // リクエストが multipart/form-data でない限りはJSONだと見なす
- detectJSON: ctx => !ctx.is('multipart/form-data')
-}));
-
-// Init multer instance
-const upload = multer({
- storage: multer.diskStorage({}),
- limits: {
- fileSize: config.maxFileSize || 262144000,
- files: 1,
- }
-});
-
-// Init router
-const router = new Router();
-
-/**
- * Register endpoint handlers
- */
-for (const endpoint of endpoints) {
- if (endpoint.meta.requireFile) {
- router.post(`/${endpoint.name}`, upload.single('file'), handler.bind(null, endpoint));
- } else {
- if (endpoint.name.includes('-')) {
- // 後方互換性のため
- router.post(`/${endpoint.name.replace(/-/g, '_')}`, handler.bind(null, endpoint));
- }
- router.post(`/${endpoint.name}`, handler.bind(null, endpoint));
- }
-}
-
-router.post('/signup', signup);
-router.post('/signin', signin);
-router.post('/signup-pending', signupPending);
-
-router.use(discord.routes());
-router.use(github.routes());
-router.use(twitter.routes());
-
-router.get('/v1/instance/peers', async ctx => {
- const instances = await Instances.find({
- select: ['host']
- });
-
- ctx.body = instances.map(instance => instance.host);
-});
-
-router.post('/miauth/:session/check', async ctx => {
- const token = await AccessTokens.findOne({
- session: ctx.params.session
- });
-
- if (token && token.session != null && !token.fetched) {
- AccessTokens.update(token.id, {
- fetched: true
- });
-
- ctx.body = {
- ok: true,
- token: token.token,
- user: await Users.pack(token.userId, null, { detail: true })
- };
- } else {
- ctx.body = {
- ok: false,
- };
- }
-});
-
-// Return 404 for unknown API
-router.all('(.*)', async ctx => {
- ctx.status = 404;
-});
-
-// Register router
-app.use(router.routes());
-
-export default app;