From 8bf05e47df91f9e15fb30ca8468389a459b8edb7 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 14 Apr 2018 06:27:17 +0900 Subject: Fix bug --- src/server/api/service/twitter.ts | 50 ++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/server/api/service/twitter.ts b/src/server/api/service/twitter.ts index 9fb01b44ef..0de2e68c60 100644 --- a/src/server/api/service/twitter.ts +++ b/src/server/api/service/twitter.ts @@ -107,7 +107,7 @@ if (config.twitter == null) { ctx.redirect(twCtx.url); }); - router.get('/tw/cb', ctx => { + router.get('/tw/cb', async ctx => { const userToken = getUserToken(ctx); if (userToken == null) { @@ -141,31 +141,37 @@ if (config.twitter == null) { return; } - redis.get(userToken, async (_, twCtx) => { - const result = await twAuth.done(JSON.parse(twCtx), verifier); - - const user = await User.findOneAndUpdate({ - host: null, - token: userToken - }, { - $set: { - twitter: { - accessToken: result.accessToken, - accessTokenSecret: result.accessTokenSecret, - userId: result.userId, - screenName: result.screenName - } - } + const get = new Promise((res, rej) => { + redis.get(userToken, async (_, twCtx) => { + res(twCtx); }); + }); + + const twCtx = await get; - ctx.body = `Twitter: @${result.screenName} を、Misskey: @${user.username} に接続しました!`; + const result = await twAuth.done(JSON.parse(twCtx), verifier); - // Publish i updated event - event(user._id, 'i_updated', await pack(user, user, { - detail: true, - includeSecrets: true - })); + const user = await User.findOneAndUpdate({ + host: null, + token: userToken + }, { + $set: { + twitter: { + accessToken: result.accessToken, + accessTokenSecret: result.accessTokenSecret, + userId: result.userId, + screenName: result.screenName + } + } }); + + ctx.body = `Twitter: @${result.screenName} を、Misskey: @${user.username} に接続しました!`; + + // Publish i updated event + event(user._id, 'i_updated', await pack(user, user, { + detail: true, + includeSecrets: true + })); } }); } -- cgit v1.2.3-freya