@@ -7,14 +7,13 @@ import {
77 listMemoFolder ,
88 listMemoTextImage ,
99 memoFolderCreate ,
10- memoFolderImageCreate ,
1110 memoFolderUpdate ,
1211 memoSearch ,
1312 memoTextUpdate ,
1413} from '../services/memo-folder.service.tsoa.js' ;
1514import { memoImageDelete } from '../services/memo-image.service.tsoa.js' ;
1615import { bodyToMemoImagesToDelete } from '../dtos/memo-image.dto.tsoa.js' ;
17- import { DataValidationError , PhotoValidationError } from '../errors.js' ;
16+ import { DataValidationError } from '../errors.js' ;
1817import {
1918 Response ,
2019 Body ,
@@ -29,143 +28,139 @@ import {
2928 Path ,
3029 Patch ,
3130 Example ,
32- FormField ,
33- Middlewares ,
3431} from 'tsoa' ;
3532import {
3633 BodyToMemoFolder ,
3734 BodyToMemoTextToUpdate ,
3835 MemoFolderListResponseDto ,
3936 MemoFolderResponseDto ,
4037 MemoTextImageListResponseDto ,
41- MemoFolderImageResponseDto ,
4238} from '../models/memo-folder.model.tsoa.js' ;
4339import {
4440 ITsoaErrorResponse ,
4541 ITsoaSuccessResponse ,
4642 TsoaSuccessResponse ,
4743} from '../models/tsoaResponse.js' ;
4844import { BodyToMemoImagesToDelete } from '../models/memo-image.model.tsoa.js' ;
49- import { Request as ExpressRequest , Express } from 'express' ;
50- import { ImageUploadMiddleware } from '../s3/image.uploader.middleware.js' ;
45+ import { Request as ExpressRequest } from 'express' ;
5146
5247@Route ( 'memo' )
5348export class MemoFolderController extends Controller {
54- /**
55- * 폴더 생성과 동시에 파일을 저장하는 API입니다.
56- *
57- * @summary 폴더 생성 및 사진 저장 API
58- * @param req
59- * @param folderName 생성할 폴더 이름
60- * @param image 파일 업로드
61- * @returns 성공 시 폴더 생성 및 사진 저장 결과를 반환합니다.
62- *
63- */
64- @Post ( '/image-format/folders' )
65- @Middlewares ( ImageUploadMiddleware )
66- @Tags ( 'memo-folder-controller' )
67- @Response < ITsoaErrorResponse > (
68- StatusCodes . BAD_REQUEST ,
69- '유효하지 않은 데이터 에러' ,
70- {
71- resultType : 'FAIL' ,
72- success : null ,
73- error : {
74- errorCode : 'FOL-400' ,
75- reason : '폴더 생성 중 오류가 발생했습니다.' ,
76- data : { userId : '1' , folderName : 'string' } ,
77- } ,
78- } ,
79- )
80- @Response < ITsoaErrorResponse > (
81- StatusCodes . BAD_REQUEST ,
82- '유효하지 않은 데이터 에러' ,
83- {
84- resultType : 'FAIL' ,
85- error : {
86- errorCode : 'PHO-400' ,
87- reason : '사진 데이터가 유효하지 않습니다.' ,
88- data : {
89- reason : '저장할 사진이 없습니다.' ,
90- } ,
91- } ,
92- success : null ,
93- } ,
94- )
95- @Response < ITsoaErrorResponse > (
96- StatusCodes . BAD_REQUEST ,
97- '유효하지 않은 데이터 에러' ,
98- {
99- resultType : 'FAIL' ,
100- error : {
101- errorCode : 'MEM-400' ,
102- reason : '메모 사진 추가 중 오류가 발생했습니다.' ,
103- data : {
104- folderId : '1' ,
105- imageUrl : 'string' ,
106- } ,
107- } ,
108- success : null ,
109- } ,
110- )
111- @Response < ITsoaErrorResponse > (
112- StatusCodes . BAD_REQUEST ,
113- '유효하지 않은 데이터 에러' ,
114- {
115- resultType : 'FAIL' ,
116- error : {
117- errorCode : 'PHO-400' ,
118- reason : '사진 데이터가 유효하지 않습니다.' ,
119- data : {
120- extension : 'string' ,
121- } ,
122- } ,
123- success : null ,
124- } ,
125- )
126- @Response < ITsoaErrorResponse > ( StatusCodes . CONFLICT , '중복 데이터 에러' , {
127- resultType : 'FAIL' ,
128- success : null ,
129- error : {
130- errorCode : 'FOL-409' ,
131- reason : '이미 존재하는 폴더 이름입니다.' ,
132- data : { folderName : 'string' } ,
133- } ,
134- } )
135- @SuccessResponse ( StatusCodes . OK , '폴더 생성 및 사진 저장 성공 응답' )
136- @Example ( {
137- resultType : 'SUCCESS' ,
138- error : null ,
139- success : {
140- folderId : '1' ,
141- folderName : 'string' ,
142- imageId : '1' ,
143- imageUrl : 'string' ,
144- } ,
145- } )
146- public async handlerMemoFolderImageAdd (
147- @Request ( ) req : ExpressRequest ,
148- @FormField ( ) folderName : string ,
149- ) : Promise < ITsoaSuccessResponse < MemoFolderImageResponseDto > > {
150- try {
151- const userId = BigInt ( req . user ! . id ) ;
49+ // / **
50+ // * 폴더 생성과 동시에 파일을 저장하는 API입니다.
51+ // *
52+ // * @summary 폴더 생성 및 사진 저장 API
53+ // * @param req
54+ // * @param folderName 생성할 폴더 이름
55+ // * @param image 파일 업로드
56+ // * @returns 성공 시 폴더 생성 및 사진 저장 결과를 반환합니다.
57+ // *
58+ // */
59+ // @Post ('/image-format/folders')
60+ // @Middlewares (ImageUploadMiddleware)
61+ // @Tags ('memo-folder-controller')
62+ // @Response <ITsoaErrorResponse>(
63+ // StatusCodes.BAD_REQUEST,
64+ // '유효하지 않은 데이터 에러',
65+ // {
66+ // resultType: 'FAIL',
67+ // success: null,
68+ // error: {
69+ // errorCode: 'FOL-400',
70+ // reason: '폴더 생성 중 오류가 발생했습니다.',
71+ // data: {userId: '1', folderName: 'string'},
72+ // },
73+ // },
74+ // )
75+ // @Response <ITsoaErrorResponse>(
76+ // StatusCodes.BAD_REQUEST,
77+ // '유효하지 않은 데이터 에러',
78+ // {
79+ // resultType: 'FAIL',
80+ // error: {
81+ // errorCode: 'PHO-400',
82+ // reason: '사진 데이터가 유효하지 않습니다.',
83+ // data: {
84+ // reason: '저장할 사진이 없습니다.',
85+ // },
86+ // },
87+ // success: null,
88+ // },
89+ // )
90+ // @Response <ITsoaErrorResponse>(
91+ // StatusCodes.BAD_REQUEST,
92+ // '유효하지 않은 데이터 에러',
93+ // {
94+ // resultType: 'FAIL',
95+ // error: {
96+ // errorCode: 'MEM-400',
97+ // reason: '메모 사진 추가 중 오류가 발생했습니다.',
98+ // data: {
99+ // folderId: '1',
100+ // imageUrl: 'string',
101+ // },
102+ // },
103+ // success: null,
104+ // },
105+ // )
106+ // @Response <ITsoaErrorResponse>(
107+ // StatusCodes.BAD_REQUEST,
108+ // '유효하지 않은 데이터 에러',
109+ // {
110+ // resultType: 'FAIL',
111+ // error: {
112+ // errorCode: 'PHO-400',
113+ // reason: '사진 데이터가 유효하지 않습니다.',
114+ // data: {
115+ // extension: 'string',
116+ // },
117+ // },
118+ // success: null,
119+ // },
120+ // )
121+ // @Response <ITsoaErrorResponse>(StatusCodes.CONFLICT, '중복 데이터 에러', {
122+ // resultType: 'FAIL',
123+ // success: null,
124+ // error: {
125+ // errorCode: 'FOL-409',
126+ // reason: '이미 존재하는 폴더 이름입니다.',
127+ // data: {folderName: 'string'},
128+ // },
129+ // })
130+ // @SuccessResponse (StatusCodes.OK, '폴더 생성 및 사진 저장 성공 응답')
131+ // @Example ({
132+ // resultType: 'SUCCESS',
133+ // error: null,
134+ // success: {
135+ // folderId: '1',
136+ // folderName: 'string',
137+ // imageId: '1',
138+ // imageUrl: 'string',
139+ // },
140+ // })
141+ // public async handlerMemoFolderImageAdd(
142+ // @Request () req: ExpressRequest,
143+ // @FormField () folderName: string,
144+ // ): Promise<ITsoaSuccessResponse<MemoFolderImageResponseDto>> {
145+ // try {
146+ // const userId = BigInt(req.user!.id);
152147
153- if ( ! req . file ) {
154- throw new PhotoValidationError ( { reason : '저장할 사진이 없습니다.' } ) ;
155- }
156- const imageUrl = ( req . file as Express . MulterS3File ) . key ;
157- const folderId = req . uploadDirectory ;
158- const memoFolderImage = await memoFolderImageCreate (
159- userId ,
160- folderId ,
161- imageUrl ,
162- folderName ,
163- ) ;
164- return new TsoaSuccessResponse ( memoFolderImage ) ;
165- } catch ( error ) {
166- throw error ;
167- }
168- }
148+ // if (!req.file) {
149+ // throw new PhotoValidationError({reason: '저장할 사진이 없습니다.'});
150+ // }
151+ // const imageUrl = (req.file as Express.MulterS3File).key;
152+ // const folderId = req.uploadDirectory;
153+ // const memoFolderImage = await memoFolderImageCreate(
154+ // userId,
155+ // folderId,
156+ // imageUrl,
157+ // folderName,
158+ // );
159+ // return new TsoaSuccessResponse(memoFolderImage);
160+ // } catch (error) {
161+ // throw error;
162+ // }
163+ // }
169164
170165 /**
171166 * 폴더를 생성하는 API입니다.
0 commit comments