diff --git a/Backend/src/services/usermanagement.service.ts b/Backend/src/services/usermanagement.service.ts index 71158dfb..a1bcc511 100644 --- a/Backend/src/services/usermanagement.service.ts +++ b/Backend/src/services/usermanagement.service.ts @@ -18,15 +18,20 @@ export class UserManagementService { async listUsers(): Promise { try { const users = await prisma.user.findMany({ + where: { + is_deactivated: false + }, include: { profile: true, - role: true + role: true, + } }); return { code: 200, message: 'Users fetched successfully', + total: users.length, data: users.map(user => this.formatUserResponse(user)) }; } catch (error) { @@ -138,12 +143,9 @@ export class UserManagementService { } } - async activateAccount(token: string): Promise { + async activateAccount(id: number): Promise { try { - // Decode JWT token to get user ID - const decoded = jwt.verify(token, config.jwt.secret) as { id: number; username: string; email: string; roleCode: string }; - - const user = await prisma.user.findUnique({ where: { id: decoded.id } }); + const user = await prisma.user.findUnique({ where: { id } }); if (!user) throw new UnauthorizedError('User not found'); // Check if account is already activated diff --git a/Backend/src/types/usersmanagement.types.ts b/Backend/src/types/usersmanagement.types.ts index cbcf2228..6cc1b474 100644 --- a/Backend/src/types/usersmanagement.types.ts +++ b/Backend/src/types/usersmanagement.types.ts @@ -6,6 +6,7 @@ import { ProfileUpdate, UserResponse } from "./user.types"; export interface ListUsersResponse { code: number; message: string; + total: number; data: UserResponse[] | null; }