-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: add category domain * feat: pray domain update * feat: category domain & CRUD api * refactor: swagger tag 통일 * refactor: prayService category 추가 * feat: category 이름 중복 불가능 제약 조건 추가 * feat: category 개수 7개 제약 조건 추가 * feat: pray 조회 시 category 별로 모아서 리턴 * feat: pray table prayType 추가 * fix: signup exception throw 변경 * fix: initDb authority 추가 * feat: ClubPray 객체 생성 +a) 연관 관계 연결 * refactor: init db 객체 생성 오류 수정 * fix: pray id 생성젼략 명시 * feat: club pray 생성 메서드 구현 * feat: club pray 수정 메서드 구현 * refactor: pray QueryDSL 파일 package 변경 * feat: clubpray 조회기능 구현 * feat: clubpray controller 구현 * feat: clubpray 삭제 기능 구현 * refactor: delete unused GeneratedValue * fix: fix prayType error * refactor: make existsCategoryByIdAndMember method * Modify/#45 encrypt pray description (#48) * refactor: init db 객체 생성 오류 수정 * modify: 기도제목 암호화해서 db에 저장하게 변경 * ♻️ refactor: club -> group 으로 이름 변경 * ♻️ refactor: url 변수 카멜 case로 변경 + 업데이트 mapping PutMapping으로 변경 * feat: ClubPray 객체 생성 +a) 연관 관계 연결 * refactor: init db 객체 생성 오류 수정 * feat: club pray 생성 메서드 구현 * feat: club pray 수정 메서드 구현 * refactor: pray QueryDSL 파일 package 변경 * feat: clubpray 조회기능 구현 * feat: clubpray controller 구현 * feat: clubpray 삭제 기능 구현 * ♻️ refactor: club -> group 으로 이름 변경 * ♻️ refactor: url 변수 카멜 case로 변경 + 업데이트 mapping PutMapping으로 변경 * fix: merge conflict 해결 * fix: merge conflict 해결 --------- Co-authored-by: baebae02 <bae4614@gmail.com> Co-authored-by: Seo Hyeon Bae <76519535+baebae02@users.noreply.github.com>
- Loading branch information
1 parent
78340bb
commit 0313270
Showing
19 changed files
with
421 additions
and
48 deletions.
There are no files selected for viewing
11 changes: 11 additions & 0 deletions
11
src/main/java/com/uspray/uspray/DTO/grouppray/GroupPrayRequestDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.uspray.uspray.DTO.grouppray; | ||
|
||
import lombok.Data; | ||
|
||
@Data | ||
public class GroupPrayRequestDto { | ||
|
||
private Long groupId; | ||
private String content; | ||
|
||
} |
27 changes: 27 additions & 0 deletions
27
src/main/java/com/uspray/uspray/DTO/grouppray/GroupPrayResponseDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package com.uspray.uspray.DTO.grouppray; | ||
|
||
import com.querydsl.core.annotations.QueryProjection; | ||
import lombok.Data; | ||
|
||
@Data | ||
public class GroupPrayResponseDto { | ||
|
||
private Long groupPrayId; | ||
private String content; | ||
private Boolean isOwner = false; | ||
private Long authorId; | ||
private Integer liked; | ||
|
||
@QueryProjection | ||
public GroupPrayResponseDto(Long groupPrayId, String content, Long authorId, Integer liked) { | ||
this.groupPrayId = groupPrayId; | ||
this.content = content; | ||
this.authorId = authorId; | ||
this.liked = liked; | ||
} | ||
|
||
public void changeOwner() { | ||
this.isOwner = true; | ||
} | ||
|
||
} |
9 changes: 9 additions & 0 deletions
9
src/main/java/com/uspray/uspray/DTO/grouppray/GroupPrayUpdateDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package com.uspray.uspray.DTO.grouppray; | ||
|
||
import lombok.Data; | ||
|
||
@Data | ||
public class GroupPrayUpdateDto { | ||
private Long groupPrayId; | ||
private String content; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
75 changes: 75 additions & 0 deletions
75
src/main/java/com/uspray/uspray/controller/GroupPrayController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
package com.uspray.uspray.controller; | ||
|
||
import com.uspray.uspray.DTO.ApiResponseDto; | ||
import com.uspray.uspray.DTO.grouppray.GroupPrayRequestDto; | ||
import com.uspray.uspray.DTO.grouppray.GroupPrayResponseDto; | ||
import com.uspray.uspray.DTO.grouppray.GroupPrayUpdateDto; | ||
import com.uspray.uspray.exception.SuccessStatus; | ||
import com.uspray.uspray.service.GroupPrayService; | ||
import io.swagger.v3.oas.annotations.Operation; | ||
import io.swagger.v3.oas.annotations.Parameter; | ||
import io.swagger.v3.oas.annotations.media.Content; | ||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import io.swagger.v3.oas.annotations.responses.ApiResponse; | ||
import io.swagger.v3.oas.annotations.security.SecurityRequirement; | ||
import io.swagger.v3.oas.annotations.tags.Tag; | ||
import java.util.List; | ||
import lombok.RequiredArgsConstructor; | ||
import org.springframework.security.core.annotation.AuthenticationPrincipal; | ||
import org.springframework.security.core.userdetails.User; | ||
import org.springframework.web.bind.annotation.DeleteMapping; | ||
import org.springframework.web.bind.annotation.GetMapping; | ||
import org.springframework.web.bind.annotation.PathVariable; | ||
import org.springframework.web.bind.annotation.PostMapping; | ||
import org.springframework.web.bind.annotation.PutMapping; | ||
import org.springframework.web.bind.annotation.RequestBody; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.RestController; | ||
|
||
@RestController | ||
@RequestMapping("/grouppray") | ||
@Tag(name = "GroupPray", description = "모임 기도제목 API") | ||
@RequiredArgsConstructor | ||
@SecurityRequirement(name = "JWT Auth") | ||
public class GroupPrayController { | ||
|
||
private final GroupPrayService groupPrayService; | ||
|
||
@Operation(summary = "모임 기도제목 생성") | ||
@PostMapping | ||
public ApiResponseDto<?> createGroupPray(@RequestBody GroupPrayRequestDto groupPrayRequestDto, | ||
@Parameter(hidden = true) @AuthenticationPrincipal User user) { | ||
groupPrayService.createGroupPray(groupPrayRequestDto, user.getUsername()); | ||
return ApiResponseDto.success(SuccessStatus.CREATE_GROUP_PRAY_SUCCESS, | ||
SuccessStatus.CREATE_GROUP_PRAY_SUCCESS.getMessage()); | ||
} | ||
|
||
@Operation(summary = "모임 기도제목 수정") | ||
@PutMapping | ||
public ApiResponseDto<?> updateGroupPray(@RequestBody GroupPrayUpdateDto groupPrayUpdateDto) { | ||
groupPrayService.updateGroupPray(groupPrayUpdateDto); | ||
return ApiResponseDto.success(SuccessStatus.UPDATE_GROUP_PRAY_SUCCESS, | ||
SuccessStatus.UPDATE_GROUP_PRAY_SUCCESS.getMessage()); | ||
} | ||
|
||
@Operation(summary = "모임 기도제목 조회") | ||
@GetMapping("/{groupId}") | ||
@ApiResponse( | ||
responseCode = "200", | ||
description = "모임 기도제목 목록 반환", | ||
content = @Content(schema = @Schema(implementation = GroupPrayResponseDto.class))) | ||
public ApiResponseDto<List<GroupPrayResponseDto>> getGroupPray( | ||
@PathVariable(name = "groupId") Long groupId, | ||
@Parameter(hidden = true) @AuthenticationPrincipal User user) { | ||
return ApiResponseDto.success(SuccessStatus.GET_GROUP_PRAY_LIST_SUCCESS, | ||
groupPrayService.getGroupPray(groupId, user.getUsername())); | ||
} | ||
|
||
@Operation(summary = "모임 기도제목 삭제") | ||
@DeleteMapping("/{groupPrayId}") | ||
public ApiResponseDto<?> deleteGroupPray(@PathVariable(name = "groupPrayId") Long id) { | ||
groupPrayService.deleteGroupPray(id); | ||
return ApiResponseDto.success(SuccessStatus.DELETE_GROUP_PRAY_SUCCESS, | ||
SuccessStatus.DELETE_GROUP_PRAY_SUCCESS.getMessage()); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package com.uspray.uspray.domain; | ||
|
||
import com.uspray.uspray.common.domain.AuditingTimeEntity; | ||
import java.util.List; | ||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.GenerationType; | ||
import javax.persistence.Id; | ||
import javax.persistence.OneToMany; | ||
import lombok.AccessLevel; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@Getter | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class Group extends AuditingTimeEntity { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(name = "group_id") | ||
private Long id; | ||
|
||
@OneToMany(mappedBy = "group", orphanRemoval = true) | ||
private List<GroupPray> groupPrayList; | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
package com.uspray.uspray.domain; | ||
|
||
import com.uspray.uspray.common.domain.AuditingTimeEntity; | ||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.FetchType; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.GenerationType; | ||
import javax.persistence.Id; | ||
import javax.persistence.JoinColumn; | ||
import javax.persistence.ManyToOne; | ||
import lombok.AccessLevel; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@Getter | ||
@NoArgsConstructor(access = AccessLevel.PROTECTED) | ||
public class GroupPray extends AuditingTimeEntity { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(name = "grouppray_id") | ||
private Long id; | ||
|
||
private String content; | ||
|
||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "group_id") | ||
private Group group; | ||
|
||
@ManyToOne(fetch = FetchType.LAZY) | ||
@JoinColumn(name = "member_id") | ||
private Member author; | ||
|
||
@Builder | ||
public GroupPray(String content, Group group, Member author) { | ||
this.content = content; | ||
setGroup(group); | ||
setAuthor(author); | ||
} | ||
|
||
private void setGroup(Group group) { | ||
this.group = group; | ||
group.getGroupPrayList().add(this); | ||
} | ||
|
||
private void setAuthor(Member author) { | ||
this.author = author; | ||
author.getGroupPrayList().add(this); | ||
} | ||
|
||
public void changeContent(String content) { | ||
this.content = content; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.