Skip to content

Commit

Permalink
Feat: RecipeDTO 정의
Browse files Browse the repository at this point in the history
  • Loading branch information
GeonH0 committed Jun 11, 2024
1 parent 5fcb880 commit e9d4af2
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions HomeCafeRecipes/HomeCafeRecipes/Data/Network/DTO/RecipeDTO.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
//
// RecipeDTO.swift
// HomeCafeRecipes
//
// Created by 김건호 on 6/10/24.
//

import Foundation

struct RecipesResponseDTO: Decodable {
let statusCode: Int
let message: String
let data: [RecipeDTO]
}

struct RecipeDTO: Decodable {
let recipeId: Int
let recipeType: String
let recipeName: String
let recipeDescription: String
let recipeLikesCnt: Int
let createdAt: String
let writer: UserDTO
let recipeImgUrls: [RecipeImageDTO]
}

struct RecipeImageDTO: Decodable {
let recipeImgId: Int
let recipeImgUrl: String
}

extension RecipeDTO {
func toDomain() -> Recipe {
return Recipe(
id: recipeId,
type: RecipeType(rawValue: recipeType) ?? .dessert,
name: recipeName,
description: recipeDescription,
writer: writer.toDomain(),
imageUrls: recipeImgUrls.map { $0.recipeImgUrl },
isLiked: false,
likeCount: recipeLikesCnt,
createdAt: DateFormatter.iso8601.date(from: createdAt) ?? Date()
)
}
}


0 comments on commit e9d4af2

Please sign in to comment.