summaryrefslogtreecommitdiff
path: root/src/server/api/index.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2020-03-28 19:52:41 +0900
committersyuilo <syuilotan@yahoo.co.jp>2020-03-28 19:52:41 +0900
commitf014a79f8dbb101a80d638d025a27bbb5ea02575 (patch)
treecc8af5c152e6470cddf1f34d083e2e0e222e7610 /src/server/api/index.ts
parentMerge branch 'develop' (diff)
parent12.27.0 (diff)
downloadsharkey-f014a79f8dbb101a80d638d025a27bbb5ea02575.tar.gz
sharkey-f014a79f8dbb101a80d638d025a27bbb5ea02575.tar.bz2
sharkey-f014a79f8dbb101a80d638d025a27bbb5ea02575.zip
Merge branch 'develop'
Diffstat (limited to 'src/server/api/index.ts')
-rw-r--r--src/server/api/index.ts24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/server/api/index.ts b/src/server/api/index.ts
index 258e632bd8..49209ede43 100644
--- a/src/server/api/index.ts
+++ b/src/server/api/index.ts
@@ -15,7 +15,7 @@ import signin from './private/signin';
import discord from './service/discord';
import github from './service/github';
import twitter from './service/twitter';
-import { Instances } from '../../models';
+import { Instances, AccessTokens, Users } from '../../models';
// Init app
const app = new Koa();
@@ -73,6 +73,28 @@ router.get('/v1/instance/peers', async ctx => {
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.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;