TTMT.ManageWebGUI/src/services/user.service.ts

35 lines
1.2 KiB
TypeScript
Raw Normal View History

2026-03-19 18:38:21 +07:00
import axios from "@/config/axios";
import { API_ENDPOINTS } from "@/config/api";
import type { UserProfile } from "@/types/user-profile";
/**
* Lấy danh sách thông tin người dùng chuyển sang camelCase keys
*/
export async function getUsersInfo(): Promise<UserProfile[]> {
try {
const response = await axios.get<any[]>(API_ENDPOINTS.AUTH.GET_USERS_LIST);
const list = Array.isArray(response.data) ? response.data : [];
return list.map((u: any) => ({
userName: u.userName ?? u.UserName ?? "",
name: u.name ?? u.Name ?? "",
role: u.role ?? u.Role ?? "",
roleId: u.roleId !== undefined ? Number(u.roleId) : u.RoleId !== undefined ? Number(u.RoleId) : 0,
accessRooms: Array.isArray(u.accessRooms)
? u.accessRooms.map((v: any) => Number(v))
: Array.isArray(u.AccessRooms)
? u.AccessRooms.map((v: any) => Number(v))
: [],
createdAt: u.createdAt ?? u.CreatedAt ?? null,
createdBy: u.createdBy ?? u.CreatedBy ?? null,
updatedAt: u.updatedAt ?? u.UpdatedAt ?? null,
updatedBy: u.updatedBy ?? u.UpdatedBy ?? null,
} as UserProfile));
} catch (error) {
console.error("getUsersInfo error:", error);
throw error;
}
}
export default { getUsersInfo };