@@ -37,6 +37,8 @@ protocol HomeAPIServiceProtocol {
3737 /// 코디 수정
3838 func patchUpdateCoordinates( coordinateId: Int64 , request: EditCoordinateRequestDTO ) async throws
3939
40+ func createAutoDailyCoordinate( request: CreateAutoDailyCoordinateAPIRequestDTO ) async throws -> CreateAutoDailyCoordinateAPIResponseDTO
41+
4042 /// 이미지 url 생성
4143 func getPresignedUrls( for images: [ Data ] ) async throws -> [ PresignedUrlInfo ]
4244}
@@ -291,6 +293,34 @@ extension HomeAPIService {
291293 throw LookBookAPIError . serverError ( statusCode: code, message: " 코디 수정 실패 " )
292294 }
293295 }
296+
297+ func createAutoDailyCoordinate( request: CreateAutoDailyCoordinateAPIRequestDTO ) async throws -> CreateAutoDailyCoordinateAPIResponseDTO {
298+ let requestBody = Components . Schemas. CoordinateAutoCreateRequest (
299+ name: request. name,
300+ memo: request. memo,
301+ dailyCoordinateId: request. dailyCoordinateId,
302+ lookBookId: request. lookBookId
303+ )
304+ let input = Operations . Coordinate_createCoordinateAuto. Input ( body: . json( requestBody) )
305+ let response = try await client. Coordinate_createCoordinateAuto ( input)
306+
307+ switch response {
308+ case . ok( let okResponse) :
309+ let data = try await Data ( collecting: okResponse. body. any, upTo: . max)
310+ let decoded = try jsonDecoder. decode (
311+ Components . Schemas. BaseResponseCoordinateCreateResponse. self,
312+ from: data
313+ )
314+
315+ guard let coordinateId = decoded. result? . coordinateId else {
316+ throw LookBookAPIError . invalidResponse
317+ }
318+ return CreateAutoDailyCoordinateAPIResponseDTO ( coordinateId: coordinateId)
319+
320+ case . undocumented( statusCode: let code, _) :
321+ throw LookBookAPIError . serverError ( statusCode: code, message: " 이전 일일 코디 자동 생성 실패 " )
322+ }
323+ }
294324}
295325
296326private extension HomeAPIService {
0 commit comments