mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-02-11 09:30:56 +08:00
doc: add OpenAPI annotations to remaining controllers
This commit is contained in:
@@ -12,6 +12,12 @@ import com.openisle.service.UserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.ArraySchema;
|
||||
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 java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -25,6 +31,9 @@ public class ActivityController {
|
||||
private final ActivityMapper activityMapper;
|
||||
|
||||
@GetMapping
|
||||
@Operation(summary = "List activities", description = "Retrieve all activities")
|
||||
@ApiResponse(responseCode = "200", description = "List of activities",
|
||||
content = @Content(array = @ArraySchema(schema = @Schema(implementation = ActivityDto.class))))
|
||||
public List<ActivityDto> list() {
|
||||
return activityService.list().stream()
|
||||
.map(activityMapper::toDto)
|
||||
@@ -32,6 +41,9 @@ public class ActivityController {
|
||||
}
|
||||
|
||||
@GetMapping("/milk-tea")
|
||||
@Operation(summary = "Milk tea info", description = "Get milk tea activity information")
|
||||
@ApiResponse(responseCode = "200", description = "Milk tea info",
|
||||
content = @Content(schema = @Schema(implementation = MilkTeaInfoDto.class)))
|
||||
public MilkTeaInfoDto milkTea() {
|
||||
Activity a = activityService.getByType(ActivityType.MILK_TEA);
|
||||
long count = activityService.countParticipants(a);
|
||||
@@ -45,6 +57,10 @@ public class ActivityController {
|
||||
}
|
||||
|
||||
@PostMapping("/milk-tea/redeem")
|
||||
@Operation(summary = "Redeem milk tea", description = "Redeem milk tea activity reward")
|
||||
@ApiResponse(responseCode = "200", description = "Redeem result",
|
||||
content = @Content(schema = @Schema(implementation = java.util.Map.class)))
|
||||
@SecurityRequirement(name = "JWT")
|
||||
public java.util.Map<String, String> redeemMilkTea(@RequestBody MilkTeaRedeemRequest req, Authentication auth) {
|
||||
User user = userService.findByIdentifier(auth.getName()).orElseThrow();
|
||||
Activity a = activityService.getByType(ActivityType.MILK_TEA);
|
||||
|
||||
Reference in New Issue
Block a user