Skip to content

Commit

Permalink
Feature | #88 | @YongsHub | 케이크 수정, 삭제를 위한 DTO 및 Mapper 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
YongsHub committed Jun 17, 2024
1 parent 3b14e28 commit 326fdf1
Show file tree
Hide file tree
Showing 5 changed files with 105 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.cakk.api.dto.request.cake;

import java.util.List;

import jakarta.validation.constraints.NotBlank;

import com.cakk.api.mapper.CakeDesignCategoryMapper;
import com.cakk.common.enums.CakeDesignCategory;
import com.cakk.domain.mysql.dto.param.cake.CakeUpdateParam;
import com.cakk.domain.mysql.entity.user.User;

public record CakeUpdateRequest(
@NotBlank
String cakeImageUrl,
List<CakeDesignCategory> cakeDesignCategories,
List<String> tagNames
) {

public CakeUpdateParam toParam(User owner, Long cakeId) {
return new CakeUpdateParam(
owner,
cakeId,
cakeImageUrl,
CakeDesignCategoryMapper.supplyCakeCategoryListBy(cakeDesignCategories),
tagNames
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.cakk.api.mapper;

import java.util.List;
import java.util.stream.Collectors;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;

import com.cakk.common.enums.CakeDesignCategory;
import com.cakk.domain.mysql.entity.cake.CakeCategory;

@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class CakeDesignCategoryMapper {

public static List<CakeCategory> supplyCakeCategoryListBy(List<CakeDesignCategory> cakeDesignCategories) {
return cakeDesignCategories
.stream()
.map(CakeDesignCategoryMapper::supplyCakeCategoryBy)
.collect(Collectors.toList());
}

public static CakeCategory supplyCakeCategoryBy(CakeDesignCategory cakeDesignCategory) {
return CakeCategory.builder()
.cakeDesignCategory(cakeDesignCategory)
.build();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.cakk.domain.mysql.dto.param.cake;

import java.util.List;

import com.cakk.domain.mysql.entity.cake.CakeCategory;
import com.cakk.domain.mysql.entity.user.User;

public record CakeUpdateParam(
User owner,
Long cakeId,
String cakeImageUrl,
List<CakeCategory> cakeCategories,
List<String> tagNames
) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.cakk.domain.mysql.mapper;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;

import com.cakk.domain.mysql.entity.cake.Cake;
import com.cakk.domain.mysql.entity.cake.CakeTag;
import com.cakk.domain.mysql.entity.cake.Tag;

@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class CakeTagMapper {

public static CakeTag supplyCakeTagBy(Cake cake, Tag tag) {
return CakeTag.builder()
.cake(cake)
.tag(tag)
.build();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.cakk.domain.mysql.mapper;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;

import com.cakk.domain.mysql.entity.cake.Tag;

@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class TagMapper {

public static Tag supplyTagBy(String tagName) {
return Tag.builder()
.tagName(tagName)
.build();
}
}

0 comments on commit 326fdf1

Please sign in to comment.