package com.kamco.cd.kamcoback.model; import com.kamco.cd.kamcoback.code.dto.CommonCodeDto; import com.kamco.cd.kamcoback.config.api.ApiResponseDto; import com.kamco.cd.kamcoback.model.dto.ModelMngDto; import com.kamco.cd.kamcoback.model.dto.ModelVerDto; import com.kamco.cd.kamcoback.model.service.ModelMngService; import io.swagger.v3.oas.annotations.Operation; 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.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Optional; @Tag(name = "모델 관리", description = "모델 관리 API") @RequiredArgsConstructor @RestController @RequestMapping("/api/model") public class ModelMngApiController { private final ModelMngService modelMngService; @Operation(summary = "목록 조회", description = "모든 모델 조회") @ApiResponses( value = { @ApiResponse( responseCode = "200", description = "조회 성공", content = @Content( mediaType = "application/json", schema = @Schema(implementation = CommonCodeDto.Basic.class))), @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) }) @GetMapping public ApiResponseDto> getFindAll() { return ApiResponseDto.createOK(modelMngService.findModelMngAll()); } /** * 최종 등록 모델 정보 * @return ModelMngDto.FinalModelDto */ @Operation(summary = "최종 등록 모델 조회", description = "최종 등록 모델 조회") @GetMapping("/final-model-info") public ApiResponseDto> getFinalModelInfo() { return ApiResponseDto.createOK(modelMngService.getFinalModelInfo()); } /** * 모델 등록 => 모델, 버전 동시 등록 * @param addReq * @return */ @PostMapping public ApiResponseDto save(@RequestBody ModelMngDto.AddReq addReq) { return ApiResponseDto.createOK(modelMngService.save(addReq)); } }