Skip to content
Merged

Dev #150

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ public OpenAPI openAPI() {
// API의 기본 정보 설정
private Info apiInfo() {
return new Info()
.title("SemtleAPI") // API의 제목
.description("셈틀API") // API에 대한 설명
.title("SemtleServerAPI") // API의 제목
.description("셈틀서버API") // API에 대한 설명
.version("1.0.0"); // API의 버전
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.archisemtle.semtlewebserverspring.dto.ApplyProjectRequestDto;
import com.archisemtle.semtlewebserverspring.dto.ApplyProjectResponseDto;
import com.archisemtle.semtlewebserverspring.vo.ApplyProjectResponseVo;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.CrossOrigin;
Expand All @@ -23,6 +24,7 @@ public class ApplyingController {
private final ApplyProjectService applyProjectService;
// 공고 신청
@PostMapping("/{post_id}/apply/{id}")
@Operation(summary = "공고 신청API", description = "공고에 사용자가 신성합니다.")
public CommonResponse<ApplyProjectResponseVo> ApplyProject(
@PathVariable("post_id") Integer boardId,
@PathVariable("id") Integer applicantId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.archisemtle.semtlewebserverspring.infrastructure.MemberRepository;
import com.archisemtle.semtlewebserverspring.vo.member.LoginResponseVo;
import com.archisemtle.semtlewebserverspring.vo.member.MemberPasswordResetResponseVo;
import io.swagger.v3.oas.annotations.Operation;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
import org.springframework.security.core.Authentication;
Expand All @@ -36,13 +37,15 @@ public class AuthController {

// 로그인
@PostMapping("/signin")
@Operation(summary = "로그인API", description = "사용자가 로그인을 시도합니다.")
public CommonResponse<LoginResponseVo> Login(@RequestBody LoginRequestDto loginRequestDto) {
LoginResponseVo loginResponseVo = LoginResponseVo.dtoToVo(
memberService.login(loginRequestDto));
return CommonResponse.success("로그인에 성공하였습니다.", loginResponseVo);
}

@PostMapping("/password/reset/email")
@Operation(summary = "이메일을 통한 비밀번호 초기화API", description = "이메일을 통해서 비밀번호를 초기화하는 API입니다.")
public CommonResponse<MemberPasswordResetResponseVo> requestPasswordReset(
@RequestBody MemberPasswordResetEmailRequestDto memberPasswordResetEmailRequestDto
) {
Expand All @@ -55,6 +58,7 @@ public CommonResponse<MemberPasswordResetResponseVo> requestPasswordReset(
}

@PostMapping("/password/reset")
@Operation(summary = "비밀번호 초기화API", description = "비밀번호를 초기화하는 API입니다.")
public CommonResponse<String> confirmPasswordReset(
@RequestBody MemberPasswordResetRequestDto memberPasswordResetRequestDto
) {
Expand All @@ -66,6 +70,7 @@ public CommonResponse<String> confirmPasswordReset(
}

@PutMapping("/password/manager")
@Operation(summary = "관리자 2차 인증API", description = "관리자가 2차인증을 하는 API입니다.")
public CommonResponse<String> verifyAdmin(
@RequestBody verifyAdminRequestDto verifyAdminRequestDto) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.archisemtle.semtlewebserverspring.dto.BannerResponseDto;
import com.archisemtle.semtlewebserverspring.vo.BannerListResponseVo;
import com.archisemtle.semtlewebserverspring.vo.BannerResponseVo;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.CrossOrigin;
Expand All @@ -28,6 +29,7 @@ public class BannerController {

// 배너 조회
@GetMapping("/banners")
@Operation(summary = "배너를 불러오는 API", description = "메인화면에 있는 배너를 불러오는 API입니다.")
public CommonResponse<BannerListResponseVo> getBanner() throws Exception{
BannerListResponseDto bannerListResponseDto = bannerService.getBannerList();
BannerListResponseVo bannerListResponseVo = BannerListResponseVo.dtoToVo(bannerListResponseDto.getBanners());
Expand All @@ -36,6 +38,7 @@ public CommonResponse<BannerListResponseVo> getBanner() throws Exception{

// 배너 추가
@PostMapping("/banners")
@Operation(summary = "배너를 추가하는 API", description = "배너를 추가하는 API입니다.")
public CommonResponse<BannerResponseVo> addBanner(@RequestBody BannerRequestDto bannerRequestDto)
throws Exception {
BannerResponseDto bannerResponseDto = bannerService.addBanner(bannerRequestDto);
Expand All @@ -45,6 +48,7 @@ public CommonResponse<BannerResponseVo> addBanner(@RequestBody BannerRequestDto

// 배너 삭제
@DeleteMapping("/banners/{banner_id}")
@Operation(summary = "배너를 삭제하는 API", description = "배너를 삭제하는 API입니다.")
public CommonResponse<Void> deleteBanner(@PathVariable("banner_id") Integer bannerId) throws Exception {
bannerService.deleteBanner(bannerId);
return CommonResponse.success("배너 삭제 성공");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.archisemtle.semtlewebserverspring.vo.member.MemberListResponseVo;
import com.archisemtle.semtlewebserverspring.vo.member.MemberPasswordResetResponseVo;
import com.archisemtle.semtlewebserverspring.vo.member.MemberReadResponseVo;
import io.swagger.v3.oas.annotations.Operation;
import java.io.IOException;
import java.time.ZonedDateTime;
import java.util.List;
Expand All @@ -48,13 +49,15 @@ public class MemberController {

// 회원 입력
@PostMapping
@Operation(summary = "테스트 사용자를 추가하는 API", description = "테스트 사용자를 추가하는 API입니다.")
public CommonResponse<MemberReadResponseVo> save(
@RequestBody MemberRegistrationRequestDto memberRegistrationRequestDto) {
memberService.save(memberRegistrationRequestDto);
return CommonResponse.success("Member Showed successfully");
}

@PostMapping(value = "/signup", consumes = "multipart/form-data")
@Operation(summary = "사용자를 엑셀로 추가하는 API", description = "사용자를 엑셀로 추가하는 API입니다.")
public CommonResponse<ExcelAddMemberResponseVo> excelAddMember(
@RequestPart("file")
@io.swagger.v3.oas.annotations.Parameter(
Expand Down Expand Up @@ -82,6 +85,7 @@ public CommonResponse<ExcelAddMemberResponseVo> excelAddMember(
// 입력 - uuid
// 출력 - 이름, 생년월일, 전화번호, 학번, 프로필 사진
@GetMapping("/{uuid}")
@Operation(summary = "사용자 정보를 조회하는 API", description = "사용자 정보를 조회하는 API입니다.")
public CommonResponse<MemberReadResponseVo> showMember(@PathVariable UUID uuid) {
MemberReadResponseDto showMemberDto = memberService.show(uuid);
MemberReadResponseVo responseVo = MemberReadResponseVo.dtoToVo(showMemberDto);
Expand All @@ -91,6 +95,7 @@ public CommonResponse<MemberReadResponseVo> showMember(@PathVariable UUID uuid)
// 개인 정보 수정
// uuid, 이름, 생년월일, 전화번호, 학번, 프로필 사진
@PatchMapping("/{uuid}")
@Operation(summary = "사용자를 정보를 수정하는 API", description = "사용자를 정보를 수정하는 API입니다.")
public CommonResponse<Void> updateMember(@PathVariable UUID uuid,
@RequestBody MemberUpdateRequestDto memberUpdateRequestDto) {
memberService.update(uuid, memberUpdateRequestDto);
Expand All @@ -99,6 +104,7 @@ public CommonResponse<Void> updateMember(@PathVariable UUID uuid,
}

@GetMapping
@Operation(summary = "사용자 리스트를 조회하는 API", description = "사용자 리스트를 조회하는 API입니다.")
public CommonResponse<MemberListResponseVo> getMemberList(
@RequestParam(name = "page", defaultValue = "0") int page,
@RequestParam(name = "size", defaultValue = "10") int size,
Expand Down Expand Up @@ -130,6 +136,7 @@ public CommonResponse<MemberListResponseVo> getMemberList(
}

@PatchMapping("/{uuid}/deactivate")
@Operation(summary = "사용자를 할동가능 여부를 수정하는 API", description = "사용자의 활동가능 여부를 수정하는 API입니다.")
public CommonResponse<String> deactivateMember(
@PathVariable UUID uuid,
@RequestBody MemberDeactiveRequestDto memberDeactiveRequestDto
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.archisemtle.semtlewebserverspring.infrastructure.ProjectBoardRepositoryImpl;
import com.archisemtle.semtlewebserverspring.vo.ProjectBoardPageResponseVo;
import com.archisemtle.semtlewebserverspring.vo.archive.ArchiveListResponseVo;
import io.swagger.v3.oas.annotations.Operation;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
Expand All @@ -39,6 +40,7 @@ public class OwnController {
private final ProjectBoardRepositoryImpl projectBoardRepository;

@GetMapping("/archives")
@Operation(summary = "자신이 올린 족보목록을 조회하는 API", description = "자신이 올린 족보목록을 조회하는 API입니다.")
public CommonResponse<ArchiveListResponseVo> getOwnArchiveList(
@RequestParam(name = "page", defaultValue = "1") int page,
@RequestParam(name = "size", defaultValue = "10") int size,
Expand All @@ -50,6 +52,7 @@ public CommonResponse<ArchiveListResponseVo> getOwnArchiveList(
}

@GetMapping("/promotions")
@Operation(summary = "자신이 올린 프로젝트홍보목록을 조회하는 API", description = "자신이 올린 프로젝트홍보목록을 조회하는 API입니다.")
public ResponseEntity<CommonResponse<?>> getPromotionsByOwnerId(
@RequestParam(name = "page", defaultValue = "1", required = false) int page,
@RequestParam(name = "size", defaultValue = "10", required = false) int size) {
Expand Down Expand Up @@ -78,6 +81,7 @@ public ResponseEntity<CommonResponse<?>> getPromotionsByOwnerId(
}

@GetMapping("/mywritingprojectboard")
@Operation(summary = "자신이 올린 포르젝트 모집 목록을 조회하는 API", description = "자신이 올린 프로젝트 모집 목록을 조회하는 API입니다.")
public CommonResponse<Page<ProjectBoardListDto>> getMyWritingProjectBoard(
@RequestParam(name = "page", defaultValue = "0") int page,
@RequestParam(name = "size", defaultValue = "10") int size
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.archisemtle.semtlewebserverspring.vo.ShowApplyingProjectListResponseVo;
import com.archisemtle.semtlewebserverspring.vo.ShowProjectApplicantInfoResponseVo;
import com.archisemtle.semtlewebserverspring.vo.ShowProjectApplicantsListResponseVo;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.CrossOrigin;
Expand All @@ -32,52 +33,69 @@ public class ProjectApplicaionController {

// 본인이 게시한 프로젝트(공고) 신청자 목록 조회 API
@GetMapping("/{post_id}/applicants")
@Operation(summary = "자신이 신청한 프로젝트 목록을 조회하는 API", description = "자신이 신청한 프로젝트목록을 조회하는 API입니다.")
public CommonResponse<ShowProjectApplicantsListResponseVo> ShowProjectApplicantsList(
@PathVariable("post_id") Integer postId,
@RequestParam(value = "page", defaultValue = "1") int page,
@RequestParam(value = "limit", defaultValue = "10") int limit) throws Exception {

ProjectApplicantsResponseDto projectApplicantsResponseDto = projectApplicationService.getApplicants(postId, page, limit);
ShowProjectApplicantsListResponseVo showProjectApplicantsResponseVo = ShowProjectApplicantsListResponseVo.dtoToVo(projectApplicantsResponseDto);
ProjectApplicantsResponseDto projectApplicantsResponseDto = projectApplicationService.getApplicants(
postId, page, limit);
ShowProjectApplicantsListResponseVo showProjectApplicantsResponseVo = ShowProjectApplicantsListResponseVo.dtoToVo(
projectApplicantsResponseDto);

return CommonResponse.success("applicants Showed successfully", showProjectApplicantsResponseVo);
return CommonResponse.success("applicants Showed successfully",
showProjectApplicantsResponseVo);
}

// 본인이 게시한 프로젝트(공고) 신청자 정보(내용) 조회 API
@GetMapping("/{post_id}/applicants/{id}")
public CommonResponse<ShowProjectApplicantInfoResponseVo> ShowProjectApplicantsInfo(@PathVariable("post_id") Integer boardId, @PathVariable("id") Integer applicantId)
@Operation(summary = "자신이 모집한 프로젝트에서 신청자 정보를 조회하는 API", description = "자신이 모집한 프로젝트에서 신청자 정보를 조회하는 API입니다.")
public CommonResponse<ShowProjectApplicantInfoResponseVo> ShowProjectApplicantsInfo(
@PathVariable("post_id") Integer boardId, @PathVariable("id") Integer applicantId)
throws Exception {

ShowProjectApplicantInfoResponseDto showProjectApplicantInfoResponseDto = projectApplicationService.getApplicantInfo(boardId, applicantId);
ShowProjectApplicantInfoResponseDto showProjectApplicantInfoResponseDto = projectApplicationService.getApplicantInfo(
boardId, applicantId);

ShowProjectApplicantInfoResponseVo showProjectApplicantInfoResponseVo = ShowProjectApplicantInfoResponseVo.dtoToVo(showProjectApplicantInfoResponseDto);
return CommonResponse.success("applicants Info Showed successfully", showProjectApplicantInfoResponseVo);
ShowProjectApplicantInfoResponseVo showProjectApplicantInfoResponseVo = ShowProjectApplicantInfoResponseVo.dtoToVo(
showProjectApplicantInfoResponseDto);
return CommonResponse.success("applicants Info Showed successfully",
showProjectApplicantInfoResponseVo);
}

// 본인이 게시한 프로젝트(공고) 신청자 승인 상태 변경 API
@PatchMapping("/{post_id}/applicants/{id}")
@Operation(summary = "자신이 모집한 프로젝트에서 신청자 승인 상태 변경하는 API", description = "자신이 모집한 프로젝트에서 신청자 승인 상태 변경하는 API입니다.")
public CommonResponse<ChangeApplyStatusResponseVo> ChangeApplyStatus(
@PathVariable("post_id") Integer boardId,
@PathVariable("id") Integer applicantId,
@RequestBody ChangeApplyStatusRequestDto changeApplyStatusRequestDto
) throws Exception {
) throws Exception {

ChangeApplyStatusResponseDto changeApplyStatusResponseDto = projectApplicationService.changeApplyStatus(boardId,applicantId,changeApplyStatusRequestDto.getStatus());
ChangeApplyStatusResponseDto changeApplyStatusResponseDto = projectApplicationService.changeApplyStatus(
boardId, applicantId, changeApplyStatusRequestDto.getStatus());

ChangeApplyStatusResponseVo changeApplyStatusResponseVo = ChangeApplyStatusResponseVo.dtoToVo(changeApplyStatusResponseDto);
return CommonResponse.success("applicant Status changed successfully", changeApplyStatusResponseVo);
ChangeApplyStatusResponseVo changeApplyStatusResponseVo = ChangeApplyStatusResponseVo.dtoToVo(
changeApplyStatusResponseDto);
return CommonResponse.success("applicant Status changed successfully",
changeApplyStatusResponseVo);
}

// 본인이 신청한 프로젝트 목록 조회 (승인결과포함) API
@GetMapping("/applications/{id}")
@Operation(summary = "자신이 신청한 프로젝트 목록 조회하는 API", description = "자신이 신청한 프로젝트 목록 조회하는 API입니다.")
public CommonResponse<ShowApplyingProjectListResponseVo> ShowApplyingProjectList(
@PathVariable("id") Integer applicantId,
@RequestParam(value = "page", defaultValue = "1") int page,
@RequestParam(value = "limit", defaultValue = "10") int limit) throws Exception {

ShowApplyingProjectInfoResponseDto showApplyingProjectInfoResponseDto = projectApplicationService.getApplyingProjectInfo(applicantId, page, limit);
ShowApplyingProjectInfoResponseDto showApplyingProjectInfoResponseDto = projectApplicationService.getApplyingProjectInfo(
applicantId, page, limit);

ShowApplyingProjectListResponseVo showApplyingProjectListResponseVo = ShowApplyingProjectListResponseVo.dtoToVo(showApplyingProjectInfoResponseDto);
return CommonResponse.success("Applying applications Showed successfully", showApplyingProjectListResponseVo);
ShowApplyingProjectListResponseVo showApplyingProjectListResponseVo = ShowApplyingProjectListResponseVo.dtoToVo(
showApplyingProjectInfoResponseDto);
return CommonResponse.success("Applying applications Showed successfully",
showApplyingProjectListResponseVo);
}
}
Loading