diff --git a/src/controllers/Admin.ts b/src/controllers/Admin.ts index 290b4c89..791e5a4b 100644 --- a/src/controllers/Admin.ts +++ b/src/controllers/Admin.ts @@ -522,6 +522,11 @@ export const createPerfume: RequestHandler = async ( * in: formData * type: file * description: uploaded file + * - name: perfumeIdx + * in: query + * required: true + * type: integer + * format: int64 * responses: * 200: * description: success @@ -543,14 +548,15 @@ export const createPerfumeImg: RequestHandler = async ( req: Request, res: Response ) => { - console.log(req.file); if (!req.file) return res .status(400) .json({ error: 'cannot find file from the request' }); const imageUrl = await createImageUrl(req.file); + const perfumeIdx: number = Number(req.query.perfumeIdx); + try { - await Perfume.createImg(imageUrl); + await Perfume.createImg(imageUrl, perfumeIdx); res.status(StatusCode.OK).json({ message: '성공', }); diff --git a/src/dao/PerfumeDao.ts b/src/dao/PerfumeDao.ts index 11120bfa..5beb3061 100644 --- a/src/dao/PerfumeDao.ts +++ b/src/dao/PerfumeDao.ts @@ -470,12 +470,12 @@ class PerfumeDao { }); } - async createImg(imageUrl: string | any) { + async createImg(imageUrl: string | any, perfumeIdx: number) { const created = await Perfume.update( { imageUrl, }, - { where: {} } + { where: { perfumeIdx } } ); return created; } diff --git a/src/service/ImageService.ts b/src/service/ImageService.ts index 075e4bf0..3699a73f 100644 --- a/src/service/ImageService.ts +++ b/src/service/ImageService.ts @@ -1,11 +1,11 @@ import S3FileDao from '@src/dao/S3FileDao'; import config from '../config/config'; import fs from 'fs'; -import AWS from 'aws-sdk'; import { DuplicatedEntryError, FailedToCreateError, } from '@src/utils/errors/errors'; +import storage from '../config/s3Config'; class ImageService { s3FileDao: S3FileDao; @@ -33,15 +33,8 @@ class ImageService { fileData: Express.Multer.File ): Promise { try { - console.log('Inside the Service'); const fileContent: Buffer = fs.readFileSync(fileData.path); - - const storage: AWS.S3 = new AWS.S3({ - accessKeyId: process.env.AWS_ACCESS_KEY_ID, - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, - region: 'ap-northeast-2', - }); - console.log('Inside the Service2'); + const keyWithPrefix = `perfumes/${fileData.originalname}`; const params: { Bucket: string; @@ -49,13 +42,11 @@ class ImageService { Body: Buffer; } = { Bucket: config.development.bucketName as string, - Key: fileData.originalname, + Key: keyWithPrefix, Body: fileContent, }; - console.log('Inside the Service3'); const result = await storage.upload(params).promise(); - console.log(result.Location); return result.Location; } catch (err: Error | any) { if (err.parent?.errno === 1062) { diff --git a/src/service/PerfumeService.ts b/src/service/PerfumeService.ts index 116156bd..72676847 100644 --- a/src/service/PerfumeService.ts +++ b/src/service/PerfumeService.ts @@ -497,9 +497,9 @@ class PerfumeService { } } - async createImg(imageUrl: string) { + async createImg(imageUrl: string, perfumeIdx: number) { try { - return await perfumeDao.createImg(imageUrl); + return await perfumeDao.createImg(imageUrl, perfumeIdx); } catch (err: Error | any) { if (err.parent?.errno === 1062) { throw new DuplicatedEntryError();