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)