-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Feature/#43 team crud create
- Loading branch information
Showing
6 changed files
with
209 additions
and
0 deletions.
There are no files selected for viewing
36 changes: 36 additions & 0 deletions
36
src/main/java/com/codiary/backend/global/converter/TeamConverter.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 |
---|---|---|
@@ -1,4 +1,40 @@ | ||
package com.codiary.backend.global.converter; | ||
|
||
import com.codiary.backend.global.domain.entity.Team; | ||
import com.codiary.backend.global.web.dto.Team.TeamResponseDTO; | ||
|
||
public class TeamConverter { | ||
//νμμ± | ||
public static TeamResponseDTO.CreateTeamResponseDTO toCreateMemberDTO(Team team) { | ||
return TeamResponseDTO.CreateTeamResponseDTO.builder() | ||
.teamId(team.getTeamId()) | ||
.name(team.getName()) | ||
.intro(team.getIntro()) | ||
.profilePhoto(team.getProfilePhoto()) | ||
.build(); | ||
} | ||
|
||
//ν μ‘°ν | ||
public static TeamResponseDTO.TeamCheckResponseDTO toTeamCheckDTO(Team team) { | ||
return TeamResponseDTO.TeamCheckResponseDTO.builder() | ||
.name(team.getName()) | ||
.intro(team.getIntro()) | ||
.profilePhoto(team.getProfilePhoto()) | ||
.github(team.getGithub()) | ||
.email(team.getEmail()) | ||
.linkedIn(team.getLinkedin()) | ||
.build(); | ||
} | ||
|
||
//ν νλ‘ν μμ | ||
public static TeamResponseDTO.UpdateTeamDTO toUpdateTeamDTO(Team team) { | ||
return TeamResponseDTO.UpdateTeamDTO.builder() | ||
.name(team.getName()) | ||
.intro(team.getIntro()) | ||
.profilePhoto(team.getProfilePhoto()) | ||
.github(team.getGithub()) | ||
.email(team.getEmail()) | ||
.linkedIn(team.getLinkedin()) | ||
.build(); | ||
} | ||
} |
9 changes: 9 additions & 0 deletions
9
src/main/java/com/codiary/backend/global/service/TeamService/TeamCommandService.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 |
---|---|---|
@@ -1,4 +1,13 @@ | ||
package com.codiary.backend.global.service.TeamService; | ||
|
||
import com.codiary.backend.global.domain.entity.Team; | ||
import com.codiary.backend.global.web.dto.Team.TeamRequestDTO; | ||
import com.codiary.backend.global.web.dto.TeamMember.TeamMemberRequestDTO; | ||
|
||
public interface TeamCommandService { | ||
//ν μμ± | ||
Team createTeam(TeamRequestDTO.CreateTeamRequestDTO request); | ||
|
||
//ν νλ‘ν μμ | ||
Team updateTeam(Long teamId); | ||
} |
61 changes: 61 additions & 0 deletions
61
src/main/java/com/codiary/backend/global/web/controller/TeamController.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 |
---|---|---|
@@ -1,4 +1,65 @@ | ||
package com.codiary.backend.global.web.controller; | ||
|
||
import com.codiary.backend.global.apiPayload.ApiResponse; | ||
import com.codiary.backend.global.apiPayload.code.status.SuccessStatus; | ||
import com.codiary.backend.global.converter.PostConverter; | ||
import com.codiary.backend.global.converter.TeamConverter; | ||
import com.codiary.backend.global.domain.entity.Post; | ||
import com.codiary.backend.global.domain.entity.Team; | ||
import com.codiary.backend.global.service.PostService.PostCommandService; | ||
import com.codiary.backend.global.service.TeamService.TeamCommandService; | ||
import com.codiary.backend.global.web.dto.Post.PostRequestDTO; | ||
import com.codiary.backend.global.web.dto.Post.PostResponseDTO; | ||
import com.codiary.backend.global.web.dto.Team.TeamRequestDTO; | ||
import com.codiary.backend.global.web.dto.Team.TeamResponseDTO; | ||
import io.swagger.v3.oas.annotations.Operation; | ||
import lombok.RequiredArgsConstructor; | ||
import org.springframework.web.bind.annotation.*; | ||
|
||
@RequiredArgsConstructor | ||
@RestController | ||
@RequestMapping("/teams") | ||
public class TeamController { | ||
private final TeamCommandService teamCommandService; | ||
//ν μμ± | ||
@PostMapping() | ||
@Operation( | ||
summary = "ν μμ±" | ||
) | ||
public ApiResponse<TeamResponseDTO.CreateTeamResponseDTO> createTeam( | ||
@RequestBody TeamRequestDTO.CreateTeamRequestDTO request | ||
){ | ||
Team newTeam = teamCommandService.createTeam(request); | ||
return ApiResponse.onSuccess( | ||
SuccessStatus.TEAM_OK, | ||
TeamConverter.toCreateMemberDTO(newTeam) | ||
); | ||
} | ||
|
||
//ν μ‘°ν | ||
@GetMapping("/{teamId}") | ||
@Operation( | ||
summary = "ν μ‘°ν" | ||
) | ||
public ApiResponse<TeamResponseDTO.TeamCheckResponseDTO> checkTeam( | ||
@RequestParam Long teamId | ||
){ | ||
return ApiResponse.onSuccess(SuccessStatus.TEAM_OK, TeamConverter.toTeamCheckDTO()); | ||
} | ||
|
||
@PatchMapping("/profile/{teamId}") | ||
@Operation( | ||
summary = "ν νλ‘ν μμ " | ||
) | ||
public ApiResponse<TeamResponseDTO.UpdateTeamDTO> updateTeam( | ||
@RequestBody TeamRequestDTO.UpdateTeamDTO request, | ||
@PathVariable Long teamId | ||
){ | ||
return ApiResponse.onSuccess( | ||
SuccessStatus.TEAM_OK, | ||
TeamConverter.toUpdateTeamDTO( | ||
teamCommandService.updateTeam(teamId) | ||
) | ||
); | ||
} | ||
} |
43 changes: 43 additions & 0 deletions
43
src/main/java/com/codiary/backend/global/web/dto/Team/TeamRequestDTO.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 |
---|---|---|
@@ -1,4 +1,47 @@ | ||
package com.codiary.backend.global.web.dto.Team; | ||
|
||
import com.codiary.backend.global.domain.enums.PostAccess; | ||
import com.codiary.backend.global.web.dto.Member.MemberResponseDTO; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.util.List; | ||
|
||
public class TeamRequestDTO { | ||
@Getter | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public static class CreateTeamRequestDTO { //ν μμ± | ||
private String name; | ||
private String profilePhoto; | ||
private String intro; | ||
private String github; | ||
private String linkedIn; | ||
private String discord; | ||
private String instagram; | ||
} | ||
|
||
@Getter | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public static class CheckTeam { //ν μ‘°ν | ||
private Long teamId; | ||
} | ||
|
||
@Getter | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public static class UpdateTeamDTO { //ν νλ‘ν μμ | ||
private String name; | ||
private String intro; | ||
private String github; | ||
private String linkedIn; | ||
private String discord; | ||
private String instagram; | ||
} | ||
} |
46 changes: 46 additions & 0 deletions
46
src/main/java/com/codiary/backend/global/web/dto/Team/TeamResponseDTO.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 |
---|---|---|
@@ -1,4 +1,50 @@ | ||
package com.codiary.backend.global.web.dto.Team; | ||
|
||
import com.codiary.backend.global.domain.enums.PostAccess; | ||
import com.codiary.backend.global.jwt.TokenInfo; | ||
import lombok.*; | ||
|
||
import java.util.Set; | ||
|
||
public class TeamResponseDTO { | ||
|
||
@Builder | ||
@Getter | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class CreateTeamResponseDTO { // ν μμ± | ||
Long teamId; | ||
String name; | ||
String intro; | ||
String profilePhoto; | ||
} | ||
|
||
@Builder | ||
@Getter | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class TeamCheckResponseDTO { // ν μ‘°ν | ||
Long teamId; | ||
String name; | ||
String intro; | ||
String profilePhoto; | ||
String github; | ||
String email; | ||
String linkedIn; | ||
} | ||
|
||
@Getter | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class UpdateTeamDTO { // ν νλ‘ν μμ | ||
Long teamId; | ||
String name; | ||
String intro; | ||
String profilePhoto; | ||
String github; | ||
String email; | ||
String linkedIn; | ||
} | ||
|
||
} |
14 changes: 14 additions & 0 deletions
14
src/main/java/com/codiary/backend/global/web/dto/TeamMember/TeamMemberResponseDTO.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 |
---|---|---|
@@ -1,4 +1,18 @@ | ||
package com.codiary.backend.global.web.dto.TeamMember; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
public class TeamMemberResponseDTO { | ||
|
||
@Builder | ||
@Getter | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class TeamMemberViewResponseDTO { | ||
Long teamMemberId; | ||
|
||
} | ||
} |