Skip to content

Commit c56ce5b

Browse files
committed
feat : tempalte에 type 필드 추가
1 parent 80564e2 commit c56ce5b

File tree

7 files changed

+19
-11
lines changed

7 files changed

+19
-11
lines changed

src/main/java/com/dnd/reevserver/domain/template/controller/TemplateController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ public ResponseEntity<List<TemplateResponseDto>> findCustomTemplatesByUser(@Auth
3131
}
3232

3333
// 공용 템플릿 조회
34-
@Operation(summary = "공용 템플릿 조회, userId는 public라고 나올 것입니다.")
34+
@Operation(summary = "공용 템플릿 조회, userId는 public라고 나올 것입니다. Type은 회고 방식을 나타내는 retrospective_type과 직무를 나타내는 job_type으로 분류할 수 있습니다.")
3535
@GetMapping("/public")
36-
public ResponseEntity<List<TemplateResponseDto>> findPublicTemplates() {
37-
return ResponseEntity.ok(templateService.findPublicTemplates());
36+
public ResponseEntity<List<TemplateResponseDto>> findPublicTemplates(@RequestParam String type) {
37+
return ResponseEntity.ok(templateService.findPublicTemplates(type));
3838
}
3939

4040
// 템플릿 개별 조회

src/main/java/com/dnd/reevserver/domain/template/dto/request/CreateTemplateRequestDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33

44
import java.util.List;
55

6-
public record CreateTemplateRequestDto(String templateName, String content, String preset, List<String> categoryNames, String description) {
6+
public record CreateTemplateRequestDto(String templateName, String content, String preset, List<String> categoryNames, String description, String type) {
77

88
}

src/main/java/com/dnd/reevserver/domain/template/dto/request/UpdateTemplateRequestDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
import java.util.List;
44

5-
public record UpdateTemplateRequestDto(Long templateId, String templateName, String content, String preset, List<String> categoryNames, String description) {
5+
public record UpdateTemplateRequestDto(Long templateId, String templateName, String content, String preset, List<String> categoryNames, String description, String type) {
66
}

src/main/java/com/dnd/reevserver/domain/template/dto/response/TemplateResponseDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66

77
@Builder
88
public record TemplateResponseDto(Long templateId, String templateName, String description, String content, String preset,
9-
boolean isPublic, String userId, List<String> categories){
9+
boolean isPublic, String userId, List<String> categories, String type){
1010
}
1111

src/main/java/com/dnd/reevserver/domain/template/entity/Template.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ public class Template extends BaseEntity {
3939
@Column(name = "preset", nullable = false, columnDefinition = "LONGTEXT")
4040
private String preset;
4141

42+
@Column(name = "type", nullable = false)
43+
private String type;
44+
4245
@OneToMany(mappedBy = "template")
4346
private List<TemplateCategory> templateCategories = new ArrayList<>();
4447

@@ -54,6 +57,8 @@ public void updateContent(String newContent) {
5457

5558
public void updateDescription(String newDescription) { this.description = newDescription; }
5659

60+
public void updateType(String newType) { this.type = newType; }
61+
5762
public void clearTemplateCategory(){
5863
this.templateCategories.clear();
5964
}

src/main/java/com/dnd/reevserver/domain/template/repository/TemplateRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ public interface TemplateRepository extends JpaRepository<Template, Long> {
1919
@Query("SELECT t FROM Template t " +
2020
"LEFT JOIN FETCH t.templateCategories tc " +
2121
"LEFT JOIN FETCH tc.category " +
22-
"WHERE t.isPublic = true")
23-
List<Template> findByIsPublicTrueWithCategories();
22+
"WHERE t.isPublic = true AND t.type = :type")
23+
List<Template> findByIsPublicTrueWithCategories(@Param("type") String type);
2424

2525

2626
Template findByTemplateName(String templateName);

src/main/java/com/dnd/reevserver/domain/template/service/TemplateService.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ public List<TemplateResponseDto> findCustomTemplatesByUser(String userId) {
5050
}
5151

5252
// 공용 템플릿 조회
53-
public List<TemplateResponseDto> findPublicTemplates() {
54-
return templateRepository.findByIsPublicTrueWithCategories().stream()
53+
public List<TemplateResponseDto> findPublicTemplates(String type) {
54+
return templateRepository.findByIsPublicTrueWithCategories(type).stream()
5555
.map(this::convertToDto)
5656
.collect(Collectors.toList());
5757
}
@@ -74,6 +74,7 @@ public void createCustomTemplate(String userId, CreateTemplateRequestDto dto) {
7474
.member(member)
7575
.preset(dto.preset())
7676
.templateCategories(new ArrayList<>())
77+
.type(dto.type())
7778
.build();
7879
templateRepository.save(template);
7980

@@ -87,7 +88,7 @@ public void createCustomTemplate(String userId, CreateTemplateRequestDto dto) {
8788
templateCategoryBatchRepository.saveAll(tcList);
8889
}
8990

90-
// 템플릿 제목, 내용, 설명, 카테고리 수정, isPublic이 false여만 가능, true면 PublicTemplateCannotModifyException 예외 처리
91+
// 템플릿 제목, 내용, 설명, 카테고리, 타입 수정, isPublic이 false여만 가능, true면 PublicTemplateCannotModifyException 예외 처리
9192
@Transactional
9293
public void updateTemplate(String userId, UpdateTemplateRequestDto dto) {
9394
Template template = findById(dto.templateId());
@@ -103,6 +104,7 @@ public void updateTemplate(String userId, UpdateTemplateRequestDto dto) {
103104
template.updateContent(dto.content());
104105
template.updatePreset(dto.preset());
105106
template.updateDescription(dto.description());
107+
template.updateType(dto.type());
106108

107109
templateCategoryRepository.deleteAllByTemplate(template);
108110
template.clearTemplateCategory();
@@ -140,6 +142,7 @@ private TemplateResponseDto convertToDto(Template template) {
140142
.preset(template.getPreset())
141143
.isPublic(template.isPublic())
142144
.userId(template.isPublic() ? "public" : template.getMember().getUserId())
145+
.type(template.getType())
143146
.categories(
144147
List.copyOf(
145148
template.getTemplateCategories().stream()

0 commit comments

Comments
 (0)