From 5ae58a36b4c245e39bd181ba47133b90cefc4945 Mon Sep 17 00:00:00 2001 From: Orvanix Date: Thu, 12 Mar 2026 18:02:03 +0000 Subject: [PATCH] refactor(auth): reuse tokenHash from generateApiToken --- src/app/api/admin/users/[id]/login-token/route.ts | 4 +--- tests/api/admin-login-token.routes.test.ts | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/app/api/admin/users/[id]/login-token/route.ts b/src/app/api/admin/users/[id]/login-token/route.ts index 026aca0..05fb69d 100644 --- a/src/app/api/admin/users/[id]/login-token/route.ts +++ b/src/app/api/admin/users/[id]/login-token/route.ts @@ -8,7 +8,6 @@ import { requireAuth, requireAdmin, AuthenticatedRequest } from '@/lib/middlewar import { prisma } from '@/lib/db'; import { RMABLogger } from '@/lib/utils/logger'; import { generateApiToken } from '@/lib/utils/api-token'; -import crypto from 'crypto'; const logger = RMABLogger.create('API.Admin.Users.LoginToken'); @@ -37,8 +36,7 @@ export async function POST( ); } - const { fullToken } = generateApiToken(); - const tokenHash = crypto.createHash('sha256').update(fullToken).digest('hex'); + const { fullToken, tokenHash } = generateApiToken(); await prisma.user.update({ where: { id }, diff --git a/tests/api/admin-login-token.routes.test.ts b/tests/api/admin-login-token.routes.test.ts index bd5af3c..e6b2eb4 100644 --- a/tests/api/admin-login-token.routes.test.ts +++ b/tests/api/admin-login-token.routes.test.ts @@ -32,7 +32,7 @@ describe('Admin login token routes', () => { authRequest = { user: { id: 'admin-1', username: 'admin', role: 'admin' }, json: vi.fn() }; requireAuthMock.mockImplementation((_req: any, handler: any) => handler(authRequest)); requireAdminMock.mockImplementation((_req: any, handler: any) => handler()); - generateApiTokenMock.mockReturnValue({ fullToken: 'rmab_test_token' }); + generateApiTokenMock.mockReturnValue({ fullToken: 'rmab_test_token', tokenHash: 'hash_abc123' }); }); describe('POST /api/admin/users/[id]/login-token', () => {