Skip to content

Commit

Permalink
Merge pull request #48 from mju-facilty-organization/facility
Browse files Browse the repository at this point in the history
Facility
  • Loading branch information
0702Yoon authored Feb 3, 2025
2 parents d3038fd + d0da833 commit 8f42822
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,9 @@
import com.example.rentalSystem.global.response.SuccessType;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.Mapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;

@RestController
Expand All @@ -25,23 +21,19 @@ public class EmailController {

private final EmailService emailService;


@PostMapping("/check-duplicate")
@ResponseStatus(HttpStatus.OK)
public ApiResponse<?> checkDuplicatedEmail(@Valid @RequestBody EmailRequest emailRequest) {
emailService.checkDuplicatedEmail(emailRequest);
return ApiResponse.success(SuccessType.SUCCESS);
}

@PostMapping("/send-code")
@ResponseStatus(HttpStatus.OK)
public ApiResponse<?> sendCodeToEmail(@Valid @RequestBody EmailRequest emailRequest) {
emailService.sendCodeToEmail(emailRequest);
return ApiResponse.success(SuccessType.SUCCESS);
}

@PostMapping("/check-code")
@ResponseStatus(HttpStatus.OK)
public ApiResponse<?> checkCode(@RequestBody AuthCodeRequest authCodeRequest) {
EmailVerificationResult emailVerificationResult = emailService.verificationCode(
authCodeRequest.email(), authCodeRequest.authCode());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import java.time.LocalDate;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
Expand All @@ -20,7 +19,6 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;

@RestController
Expand All @@ -31,35 +29,31 @@ public class FacilityController {
private final FacilityService facilityService;

@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public ApiResponse<?> createFacility(@RequestBody CreateFacilityRequestDto requestDto) {
public ApiResponse<PresignUrlListResponse> createFacility(
@RequestBody CreateFacilityRequestDto requestDto) {
PresignUrlListResponse presignUrlListResponse = facilityService.create(requestDto);
return ApiResponse.success(SuccessType.CREATED, presignUrlListResponse);
}

@PutMapping("/{facilityId}")
@ResponseStatus(HttpStatus.OK)
public ApiResponse<?> updateFacility(UpdateFacilityRequestDto requestDto, Long facilityId) {
facilityService.update(requestDto, facilityId);
return ApiResponse.success(SuccessType.SUCCESS);
}

@DeleteMapping("/{facilityId}")
@ResponseStatus(HttpStatus.OK)
public ApiResponse<?> deleteFacility(Long facilityId) {
facilityService.delete(facilityId);
return ApiResponse.success(SuccessType.SUCCESS);
}

@GetMapping
@ResponseStatus(HttpStatus.OK)
public ApiResponse<List<FacilityResponse>> getAllFacility() {
List<FacilityResponse> facilityResponses = facilityService.getAll();
return ApiResponse.success(SuccessType.SUCCESS, facilityResponses);
}

@GetMapping("/{facilityId}")
@ResponseStatus(HttpStatus.OK)
public ApiResponse<FacilityDetailResponse> getFacilityDetail(
@PathVariable("facilityId") Long facilityId,
@RequestParam(name = "date") LocalDate date
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@

import com.example.rentalSystem.domain.facility.entity.Facility;
import com.example.rentalSystem.domain.facility.entity.FacilityType;
import com.example.rentalSystem.global.exception.custom.CustomException;
import com.example.rentalSystem.global.response.ErrorType;
import java.time.LocalTime;
import java.util.List;

public record CreateFacilityRequestDto(
FacilityType facilityType,
String facilityType,
String facilityNumber,
List<String> fileNames,
Long capacity,
Expand All @@ -19,17 +21,20 @@ public record CreateFacilityRequestDto(
) {

public Facility toFacility(List<String> imageUrlList) {
return Facility.builder()
.facilityType(facilityType)
.facilityNumber(facilityNumber)
.images(imageUrlList)
.capacity(capacity)
.allowedBoundary(allowedBoundary)
.supportFacilities(supportFacilities)
.pic(pic)
.startTime(startTime)
.endTime(endTime)
.isAvailable(isAvailable)
.build();
if (FacilityType.existsByValue(facilityType)) {
return Facility.builder()
.facilityType(facilityType)
.facilityNumber(facilityNumber)
.images(imageUrlList)
.capacity(capacity)
.allowedBoundary(allowedBoundary)
.supportFacilities(supportFacilities)
.pic(pic)
.startTime(startTime)
.endTime(endTime)
.isAvailable(isAvailable)
.build();
}
throw new CustomException(ErrorType.INVALID_REQUEST);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@

import com.example.rentalSystem.domain.facility.entity.Facility;
import com.example.rentalSystem.domain.facility.entity.FacilityType;
import com.example.rentalSystem.global.exception.custom.CustomException;
import com.example.rentalSystem.global.response.ErrorType;
import java.time.LocalTime;
import java.util.List;

public record UpdateFacilityRequestDto(
FacilityType facilityType,
String facilityType,
String facilityNumber,
String location,
String chargeProfessor,
Expand All @@ -19,12 +21,15 @@ public record UpdateFacilityRequestDto(
) {

public Facility toFacility() {
return Facility.builder()
.facilityType(this.facilityType)
.capacity(this.capacity)
.facilityNumber(facilityNumber)
.supportFacilities(supportFacilities)
.isAvailable(isAvailable)
.build();
if (FacilityType.existsByValue(facilityType)) {
return Facility.builder()
.facilityType((facilityType))
.capacity(capacity)
.facilityNumber(facilityNumber)
.supportFacilities(supportFacilities)
.isAvailable(isAvailable)
.build();
}
throw new CustomException(ErrorType.INVALID_REQUEST);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public class Facility extends BaseTimeEntity {

@Builder
public Facility(
FacilityType facilityType,
String facilityType,
String facilityNumber,
List<String> images,
Long capacity,
Expand All @@ -75,7 +75,7 @@ public Facility(
LocalTime endTime,
boolean isAvailable) {

this.facilityType = facilityType.getKoreanName();
this.facilityType = facilityType;
this.facilityNumber = facilityNumber;
this.images = images;
this.capacity = capacity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
import com.example.rentalSystem.global.exception.custom.CustomException;
import com.example.rentalSystem.global.response.ErrorType;
import com.fasterxml.jackson.annotation.JsonCreator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

Expand All @@ -20,13 +18,19 @@ public enum FacilityType {
LIBRARY("도서관"),
OUTDOOR("야외");

private final String koreanName;
private final String value;

@JsonCreator
public static FacilityType fromKoreanName(String koreanNane) {
// @JsonCreator
// public static FacilityType fromKoreanName(String value) {
// return Arrays.stream(values())
// .filter(type -> type.value.equals(value))
// .findAny()
// .orElseThrow(() -> new CustomException(ErrorType.INVALID_REQUEST));
// }

public static boolean existsByValue(String value) {
return Arrays.stream(values())
.filter(type -> type.koreanName.equals(koreanNane))
.findAny()
.orElseThrow(() -> new CustomException(ErrorType.INVALID_REQUEST));
.anyMatch(type -> type.value.equals(value));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,11 @@
import com.example.rentalSystem.global.response.SuccessType;
import com.example.rentalSystem.global.auth.jwt.entity.JwtToken;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;

@RestController
Expand All @@ -29,23 +27,20 @@ public class StudentController {
private final StudentService studentService;

@PostMapping("/sign-up")
@ResponseStatus(HttpStatus.CREATED)
public ApiResponse<StudentSignUpResponse> signUp(
@RequestBody StudentSignUpRequest signUpDto) {
StudentSignUpResponse studentSignUpResponse = studentService.studentSignUp(signUpDto);
return ApiResponse.success(SuccessType.CREATED, studentSignUpResponse);
}

@PostMapping("/sign-in")
@ResponseStatus(HttpStatus.OK)
public ApiResponse<JwtToken> signIn(
@RequestBody StudentSignInRequest studentSignInRequest) {
JwtToken jwtToken = studentService.userSignIn(studentSignInRequest);
return ApiResponse.success(SuccessType.SUCCESS, jwtToken);
}

@GetMapping
@ResponseStatus(HttpStatus.OK)
public ApiResponse<StudentListResponse> retrieveAllStudent() {
return ApiResponse.success(SuccessType.SUCCESS, studentService.retrieveAllStudent());
}
Expand Down

0 comments on commit 8f42822

Please sign in to comment.