summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/i
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-03-25 16:27:41 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-03-25 16:27:41 +0900
commitac8c66f5abe5b585a5940e172993c8e28f44ad69 (patch)
treea08b863e070ab51e8896fc69cb857077162756a9 /packages/backend/src/server/api/endpoints/i
parentrefactor (diff)
downloadmisskey-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.ts11
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