diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-03-25 16:27:41 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-03-25 16:27:41 +0900 |
| commit | ac8c66f5abe5b585a5940e172993c8e28f44ad69 (patch) | |
| tree | a08b863e070ab51e8896fc69cb857077162756a9 /packages/backend/src/server/api/endpoints/i | |
| parent | refactor (diff) | |
| download | misskey-ac8c66f5abe5b585a5940e172993c8e28f44ad69.tar.gz misskey-ac8c66f5abe5b585a5940e172993c8e28f44ad69.tar.bz2 misskey-ac8c66f5abe5b585a5940e172993c8e28f44ad69.zip | |
perf(server): refactor and performance improvements
Diffstat (limited to 'packages/backend/src/server/api/endpoints/i')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/i/regenerate-token.ts | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/packages/backend/src/server/api/endpoints/i/regenerate-token.ts b/packages/backend/src/server/api/endpoints/i/regenerate-token.ts index 771c98b212..ae23d2482e 100644 --- a/packages/backend/src/server/api/endpoints/i/regenerate-token.ts +++ b/packages/backend/src/server/api/endpoints/i/regenerate-token.ts @@ -1,5 +1,5 @@ import bcrypt from 'bcryptjs'; -import { publishMainStream, publishUserEvent } from '@/services/stream.js'; +import { publishInternalEvent, publishMainStream, publishUserEvent } from '@/services/stream.js'; import generateUserToken from '../../common/generate-native-user-token.js'; import define from '../../define.js'; import { Users, UserProfiles } from '@/models/index.js'; @@ -20,6 +20,9 @@ export const paramDef = { // eslint-disable-next-line import/no-default-export export default define(meta, paramDef, async (ps, user) => { + const freshUser = await Users.findOneOrFail(user.id); + const oldToken = freshUser.token; + const profile = await UserProfiles.findOneOrFail(user.id); // Compare password @@ -29,14 +32,14 @@ export default define(meta, paramDef, async (ps, user) => { throw new Error('incorrect password'); } - // Generate secret - const secret = generateUserToken(); + const newToken = generateUserToken(); await Users.update(user.id, { - token: secret, + token: newToken, }); // Publish event + publishInternalEvent('userTokenRegenerated', { id: user.id, oldToken, newToken }); publishMainStream(user.id, 'myTokenRegenerated'); // Terminate streaming |