import { NextResponse } from 'next/server' import { S3Client, CopyObjectCommand, GetObjectCommand } from '@aws-sdk/client-s3' import sharp from 'sharp' import { v4 as uuidv4 } from 'uuid' const Bucket = process.env.AMPLIFY_BUCKET const s3 = new S3Client({ region: process.env.AWS_REGION, credentials: { accessKeyId: process.env.AWS_ACCESS_KEY_ID, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, }, }) export async function POST(req) { const { objectNo, planNo, newObjectNo, newPlanNo } = await req.json() const responseArray = [] //견적서1 번 이미지 const isExistImage1 = await s3.send( new GetObjectCommand({ Bucket, Key: `Drawing/${process.env.S3_PROFILE}/${objectNo}_${planNo}_1.png`, }), ) //견적서2 번 이미지 const isExistImage2 = await s3.send( new GetObjectCommand({ Bucket, Key: `Drawing/${process.env.S3_PROFILE}/${objectNo}_${planNo}_2.png`, }), ) //견적서1,2 번 이미지 둘다 있어야함 if (isExistImage1.$metadata.httpStatusCode === 200 && isExistImage2.$metadata.httpStatusCode === 200) { //견적서1 번 이미지 복사 const copyCommand = new CopyObjectCommand({ Bucket, CopySource: encodeURI(`${Bucket}/Drawing/${process.env.S3_PROFILE}/${objectNo}_${planNo}_1.png`), Key: `Drawing/${process.env.S3_PROFILE}/${newObjectNo}_${newPlanNo}_1.png`, }) const response = await s3.send(copyCommand) const copyCommand2 = new CopyObjectCommand({ Bucket, CopySource: encodeURI(`${Bucket}/Drawing/${process.env.S3_PROFILE}/${objectNo}_${planNo}_2.png`), Key: `Drawing/${process.env.S3_PROFILE}/${newObjectNo}_${newPlanNo}_2.png`, }) const response2 = await s3.send(copyCommand2) responseArray.push(response, response2) return NextResponse.json({ message: '견적서 이미지 복사 성공', responseArray }, { status: 200 }) } else { return NextResponse.json({ message: '견적서 이미지 복사 실패(존재하지 않는 이미지)', responseArray }, { status: 400 }) } }