Raw SQL을 Prisma ORM으로 마이그레이션
This commit is contained in:
@@ -155,23 +155,35 @@ export class AuthService {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 권한 정보 조회 (기존 Java 로직과 동일)
|
||||
const authInfo = await prisma.$queryRaw<Array<{ auth_name: string }>>`
|
||||
SELECT ARRAY_TO_STRING(ARRAY_AGG(AM.AUTH_NAME), ',') AS AUTH_NAME
|
||||
FROM AUTHORITY_MASTER AM, AUTHORITY_SUB_USER ASU
|
||||
WHERE AM.OBJID = ASU.MASTER_OBJID
|
||||
AND ASU.USER_ID = ${userId}
|
||||
GROUP BY ASU.USER_ID
|
||||
`;
|
||||
// 권한 정보 조회 (Prisma ORM 사용)
|
||||
const authInfo = await prisma.authority_sub_user.findMany({
|
||||
where: {
|
||||
user_id: userId,
|
||||
},
|
||||
include: {
|
||||
authority_master: {
|
||||
select: {
|
||||
auth_name: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
// 회사 정보 조회 (기존 Java 로직과 동일)
|
||||
const companyInfo = await prisma.$queryRaw<
|
||||
Array<{ company_name: string }>
|
||||
>`
|
||||
SELECT COALESCE(CM.COMPANY_NAME, '미지정') AS COMPANY_NAME
|
||||
FROM COMPANY_MNG CM
|
||||
WHERE CM.COMPANY_CODE = ${userInfo.company_code || "ILSHIN"}
|
||||
`;
|
||||
// 권한명들을 쉼표로 연결
|
||||
const authNames = authInfo
|
||||
.filter((auth) => auth.authority_master?.auth_name)
|
||||
.map((auth) => auth.authority_master!.auth_name!)
|
||||
.join(",");
|
||||
|
||||
// 회사 정보 조회 (Prisma ORM 사용으로 변경)
|
||||
const companyInfo = await prisma.company_mng.findFirst({
|
||||
where: {
|
||||
company_code: userInfo.company_code || "ILSHIN",
|
||||
},
|
||||
select: {
|
||||
company_name: true,
|
||||
},
|
||||
});
|
||||
|
||||
// PersonBean 형태로 변환 (null 값을 undefined로 변환)
|
||||
const personBean: PersonBean = {
|
||||
@@ -189,9 +201,11 @@ export class AuthService {
|
||||
userType: userInfo.user_type || undefined,
|
||||
userTypeName: userInfo.user_type_name || undefined,
|
||||
partnerObjid: userInfo.partner_objid || undefined,
|
||||
authName: authInfo.length > 0 ? authInfo[0].auth_name : undefined,
|
||||
authName: authNames || undefined,
|
||||
companyCode: userInfo.company_code || "ILSHIN",
|
||||
photo: userInfo.photo ? `data:image/jpeg;base64,${userInfo.photo.toString('base64')}` : undefined,
|
||||
photo: userInfo.photo
|
||||
? `data:image/jpeg;base64,${userInfo.photo.toString("base64")}`
|
||||
: undefined,
|
||||
locale: userInfo.locale || "KR",
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user