remove: 테스트 api 삭제
This commit is contained in:
parent
0355a8f4ef
commit
6fce11c77d
@ -1,64 +0,0 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { HttpStatusCode } from 'axios'
|
||||
import { loggerWrapper } from '@/libs/api-wrapper'
|
||||
import { sendEmail } from '@/libs/mailer'
|
||||
import { prisma } from '@/libs/prisma'
|
||||
|
||||
async function notify(request: NextRequest): Promise<NextResponse> {
|
||||
const formData = await request.formData()
|
||||
const qnaClsLrgCd = formData.get('qnaCd') as string
|
||||
|
||||
// 메일 발송 테스트용 파라미터. 테스트 완료 시 제거.
|
||||
// 여러 수신자에게 발송 시 ', '(콤마)로 구분하여 입력
|
||||
const testReceivers = formData.get('testReceivers') as string
|
||||
|
||||
/* 파라미터 체크 */
|
||||
if (qnaClsLrgCd === '') {
|
||||
return NextResponse.json({ error: '필수 파라미터가 누락되었습니다' }, { status: HttpStatusCode.BadRequest })
|
||||
}
|
||||
|
||||
try {
|
||||
/* 수신자 조회 */
|
||||
const receivers: string[] = await getReceiver(qnaClsLrgCd)
|
||||
console.log('receivers: ', receivers)
|
||||
|
||||
/* 메일 전송 */
|
||||
await sendEmail({
|
||||
from: 'test@test.com',
|
||||
// to: receivers, // 테스트 완료 시 주석 해제
|
||||
to: testReceivers,
|
||||
subject: '메일 전송 테스트 제목',
|
||||
content: '<h1>메일 전송 테스트입니다.</h1>',
|
||||
})
|
||||
|
||||
return NextResponse.json('success')
|
||||
} catch (error) {
|
||||
console.error(`error : ${error}`)
|
||||
return NextResponse.json({ error: `error : ${error}` }, { status: HttpStatusCode.InternalServerError })
|
||||
}
|
||||
}
|
||||
|
||||
/* 수신자 조회 */
|
||||
const getReceiver = async (qnaClsLrgCd: string): Promise<string[]> => {
|
||||
const query = `
|
||||
OPEN SYMMETRIC KEY SYMMETRICKEY DECRYPTION BY CERTIFICATE CERTI_QSPJP;
|
||||
SELECT CONVERT(NVARCHAR(100), DecryptByKey(bu.e_mail)) AS email
|
||||
FROM BC_USER bu
|
||||
WHERE bu.user_id IN (
|
||||
SELECT user_id
|
||||
FROM SY_POLICY_U spu
|
||||
WHERE policy_cd = (
|
||||
SELECT bcl.ref_chr2
|
||||
FROM BC_COMM_L bcl
|
||||
WHERE bcl.head_cd = (SELECT head_cd FROM BC_COMM_H bch WHERE head_id = 'QNA_CLS_MID_CD')
|
||||
AND bcl.ref_chr1 = '${qnaClsLrgCd}'
|
||||
GROUP BY bcl.ref_chr2
|
||||
)
|
||||
)
|
||||
CLOSE SYMMETRIC KEY SYMMETRICKEY;
|
||||
`
|
||||
const receivers: { email: string }[] = await prisma.$queryRawUnsafe(query)
|
||||
return receivers.map((receiver) => receiver.email)
|
||||
}
|
||||
|
||||
export const POST = loggerWrapper(notify)
|
||||
Loading…
x
Reference in New Issue
Block a user