관리자 메뉴 토큰문제 수정정
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
import { Response } from "express";
|
||||
import { Request } from "express";
|
||||
import { AuthenticatedRequest } from "../types/auth";
|
||||
import { AdminService } from "../services/adminService";
|
||||
import { logger } from "../utils/logger";
|
||||
import { ApiResponse, AuthenticatedRequest } from "../types/auth";
|
||||
import { ApiResponse } from "../types/auth";
|
||||
|
||||
/**
|
||||
* 관리자 메뉴 목록 조회
|
||||
@@ -157,3 +159,86 @@ export async function getMenuInfo(
|
||||
res.status(500).json(response);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* GET /api/admin/users
|
||||
* 사용자 목록 조회 API
|
||||
* 기존 Java AdminController.getUserList() 포팅
|
||||
*/
|
||||
export const getUserList = async (req: AuthenticatedRequest, res: Response) => {
|
||||
try {
|
||||
logger.info("사용자 목록 조회 요청", {
|
||||
query: req.query,
|
||||
user: req.user,
|
||||
});
|
||||
|
||||
// 임시 더미 데이터 반환 (실제로는 데이터베이스에서 조회)
|
||||
const { page = 1, countPerPage = 20 } = req.query;
|
||||
|
||||
const dummyUsers = [
|
||||
{
|
||||
userId: "plm_admin",
|
||||
userName: "관리자",
|
||||
deptName: "IT팀",
|
||||
companyCode: "ILSHIN",
|
||||
userType: "admin",
|
||||
email: "admin@ilshin.com",
|
||||
status: "active",
|
||||
regDate: "2024-01-15",
|
||||
},
|
||||
{
|
||||
userId: "user001",
|
||||
userName: "홍길동",
|
||||
deptName: "영업팀",
|
||||
companyCode: "ILSHIN",
|
||||
userType: "user",
|
||||
email: "hong@ilshin.com",
|
||||
status: "active",
|
||||
regDate: "2024-01-16",
|
||||
},
|
||||
{
|
||||
userId: "user002",
|
||||
userName: "김철수",
|
||||
deptName: "개발팀",
|
||||
companyCode: "ILSHIN",
|
||||
userType: "user",
|
||||
email: "kim@ilshin.com",
|
||||
status: "inactive",
|
||||
regDate: "2024-01-17",
|
||||
},
|
||||
];
|
||||
|
||||
// 페이징 처리
|
||||
const startIndex = (Number(page) - 1) * Number(countPerPage);
|
||||
const endIndex = startIndex + Number(countPerPage);
|
||||
const paginatedUsers = dummyUsers.slice(startIndex, endIndex);
|
||||
|
||||
const response = {
|
||||
success: true,
|
||||
data: {
|
||||
users: paginatedUsers,
|
||||
pagination: {
|
||||
currentPage: Number(page),
|
||||
countPerPage: Number(countPerPage),
|
||||
totalCount: dummyUsers.length,
|
||||
totalPages: Math.ceil(dummyUsers.length / Number(countPerPage)),
|
||||
},
|
||||
},
|
||||
message: "사용자 목록 조회 성공",
|
||||
};
|
||||
|
||||
logger.info("사용자 목록 조회 성공", {
|
||||
totalCount: dummyUsers.length,
|
||||
returnedCount: paginatedUsers.length,
|
||||
});
|
||||
|
||||
res.status(200).json(response);
|
||||
} catch (error) {
|
||||
logger.error("사용자 목록 조회 실패", { error });
|
||||
res.status(500).json({
|
||||
success: false,
|
||||
message: "사용자 목록 조회 중 오류가 발생했습니다.",
|
||||
error: error instanceof Error ? error.message : "Unknown error",
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user