diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-04-14 06:27:17 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-04-14 06:27:17 +0900 |
| commit | 8bf05e47df91f9e15fb30ca8468389a459b8edb7 (patch) | |
| tree | f191c9337a30277a9f4f3b8a9b462a204c0c5182 /src | |
| parent | Fix bug (diff) | |
| download | sharkey-8bf05e47df91f9e15fb30ca8468389a459b8edb7.tar.gz sharkey-8bf05e47df91f9e15fb30ca8468389a459b8edb7.tar.bz2 sharkey-8bf05e47df91f9e15fb30ca8468389a459b8edb7.zip | |
Fix bug
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/api/service/twitter.ts | 50 |
1 files changed, 28 insertions, 22 deletions
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<any>((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 + })); } }); } |