Skip to content

Commit

Permalink
[FEAT] 유저 잔디력 조회 API 및 Swagger 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
tidavid1 committed Feb 26, 2024
1 parent 3de50a7 commit eff54a3
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;

import io.oeid.mogakgo.core.properties.swagger.error.SwaggerUserErrorExamples;
import io.oeid.mogakgo.domain.user.application.dto.res.UserJandiRateRes;
import io.oeid.mogakgo.domain.user.presentation.dto.req.UserSignUpApiReq;
import io.oeid.mogakgo.domain.user.presentation.dto.req.UserUpdateApiReq;
import io.oeid.mogakgo.domain.user.presentation.dto.res.UserDevelopLanguageApiRes;
Expand All @@ -13,6 +14,7 @@
import io.oeid.mogakgo.exception.dto.ErrorResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.ExampleObject;
import io.swagger.v3.oas.annotations.media.Schema;
Expand Down Expand Up @@ -109,5 +111,18 @@ ResponseEntity<List<UserDevelopLanguageApiRes>> userDevelopLanguageApi(
})
ResponseEntity<UserUpdateApiRes> userUpdateApi(@Parameter(hidden = true) Long userId,
UserUpdateApiReq request);


@Operation(summary = "회원 잔디 점수 조회", description = "회원의 잔디 점수를 조회할 때 사용하는 API")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "회원 잔디 점수 조회 성공",
content = @Content(schema = @Schema(implementation = UserJandiRateRes.class))),
@ApiResponse(responseCode = "404", description = "해당 유저가 존재하지 않음",
content = @Content(
mediaType = APPLICATION_JSON_VALUE,
schema = @Schema(implementation = ErrorResponse.class),
examples = @ExampleObject(name = "E020301", value = SwaggerUserErrorExamples.USER_NOT_FOUND))),
})
ResponseEntity<UserJandiRateRes> userJandiRateApi(@Parameter(in = ParameterIn.PATH) Long userId);

}
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
package io.oeid.mogakgo.domain.user.application.dto.res;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;

@Schema(description = "유저의 잔디 점수")
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public class UserJandiRateRes {

@Schema(description = "유저 아이디")
private Long userId;
@Schema(description = "유저의 잔디 점수")
private Double jandiRate;

public static UserJandiRateRes of(Long userId, Double jandiRate) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import io.oeid.mogakgo.domain.matching.application.UserMatchingService;
import io.oeid.mogakgo.domain.user.application.UserService;
import io.oeid.mogakgo.domain.user.application.dto.req.UserUpdateReq;
import io.oeid.mogakgo.domain.user.application.dto.res.UserJandiRateRes;
import io.oeid.mogakgo.domain.user.presentation.dto.req.UserSignUpApiReq;
import io.oeid.mogakgo.domain.user.presentation.dto.req.UserUpdateApiReq;
import io.oeid.mogakgo.domain.user.presentation.dto.res.UserDevelopLanguageApiRes;
Expand All @@ -19,6 +20,7 @@
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
Expand All @@ -44,6 +46,12 @@ public ResponseEntity<List<UserDevelopLanguageApiRes>> userDevelopLanguageApi(
return ResponseEntity.ok(response.stream().map(UserDevelopLanguageApiRes::from).toList());
}

@GetMapping("/jandi-rating/{userId}")
public ResponseEntity<UserJandiRateRes> userJandiRateApi(@PathVariable Long userId) {
var result = userService.getUserJandiRate(userId);
return ResponseEntity.ok(result);
}

@PatchMapping
public ResponseEntity<UserUpdateApiRes> userUpdateApi(@UserId Long userId,
@RequestBody @Valid UserUpdateApiReq request) {
Expand Down

0 comments on commit eff54a3

Please sign in to comment.