46 lines
1.7 KiB
TypeScript
46 lines
1.7 KiB
TypeScript
import { prisma } from '@/libs/prisma'
|
|
import { NextRequest, NextResponse } from 'next/server'
|
|
import { loggerWrapper } from '@/libs/api-wrapper'
|
|
|
|
type AdminSubPerson = {
|
|
storeId: string
|
|
userId: string
|
|
eMail: string
|
|
authority: string
|
|
}
|
|
// 2차점이 자신에게 매핑 된 1차 판매점과 관리자 정보 조회
|
|
async function getSubMissionAdminSub(request: NextRequest): Promise<NextResponse> {
|
|
try {
|
|
const { searchParams } = new URL(request.url)
|
|
const id = searchParams.get('id')
|
|
|
|
const query = `
|
|
OPEN SYMMETRIC KEY SYMMETRICKEY DECRYPTION BY CERTIFICATE CERTI_QSPJP;
|
|
SELECT
|
|
MCS.STORE_ID AS targetStoreId
|
|
, MCS.STORE_QCAST_NM AS targetStoreNm
|
|
, MCP.EOS_LOGIN_ID AS repUserId
|
|
, CONVERT(NVARCHAR(100), DecryptByKey(MCP.EMAIL)) AS repUserEmail
|
|
, MCP.AUTHORITY AS auth
|
|
FROM MS_CUST_STOREID MCS WITH(NOLOCK)
|
|
LEFT OUTER JOIN MS_CUST_PERSON MCP WITH(NOLOCK)
|
|
ON MCS.COMP_CD = MCP.COMP_CD
|
|
AND MCS.STORE_ID = MCP.STORE_ID
|
|
AND MCP.DEL_YN = 'N'
|
|
WHERE MCS.COMP_CD = '5200'
|
|
AND MCS.STORE_ID = (SELECT STORE_ID FROM MS_CUST_AGENCY_STOREID WHERE AGENCY_STORE_ID = '${id}' AND DEL_YN = 'N')
|
|
AND MCP.EMAIL IS NOT NULL
|
|
AND MCS.DEL_YN = 'N';
|
|
CLOSE SYMMETRIC KEY SYMMETRICKEY;
|
|
`
|
|
const suitable: AdminSubPerson[] = await prisma.$queryRawUnsafe(query)
|
|
|
|
return NextResponse.json({ message: 'Hello, world!' })
|
|
} catch (error) {
|
|
console.error('❌ 데이터 조회 중 오류가 발생했습니다:', error)
|
|
return NextResponse.json({ error: '데이터 조회 중 오류가 발생했습니다' }, { status: 500 })
|
|
}
|
|
}
|
|
|
|
export const GET = loggerWrapper(getSubMissionAdminSub)
|