package com.tcm.training.admin.system.controller; import com.tcm.training.admin.common.ApiResponse; import com.tcm.training.admin.common.PageResponse; import com.tcm.training.admin.system.dto.AppVersionCreateRequest; import com.tcm.training.admin.system.service.AppVersionSettingsAppService; import com.tcm.training.admin.system.vo.AppVersionCheckVO; import com.tcm.training.admin.system.vo.AppVersionDetailVO; import com.tcm.training.admin.system.vo.AppVersionListItemVO; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; 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.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; @Validated @RestController @RequestMapping({"/api/v1", "/api"}) public class AppVersionSettingsController { private final AppVersionSettingsAppService appVersionSettingsAppService; public AppVersionSettingsController(AppVersionSettingsAppService appVersionSettingsAppService) { this.appVersionSettingsAppService = appVersionSettingsAppService; } @GetMapping("/app-version-settings") public ApiResponse> page( @RequestParam(required = false, defaultValue = "1") int page, @RequestParam(required = false, defaultValue = "10") int pageSize) { return ApiResponse.ok(appVersionSettingsAppService.page(page, pageSize)); } @GetMapping("/app-version-settings/check") public ApiResponse checkUpdate( @RequestParam String platform, @RequestParam Integer currentVersionCode) { return ApiResponse.ok(appVersionSettingsAppService.checkUpdate(platform, currentVersionCode)); } @GetMapping("/app-version-settings/{id}") public ApiResponse detail(@PathVariable("id") Long id) { return ApiResponse.ok(appVersionSettingsAppService.detail(id)); } @PostMapping("/app-version-settings") public ApiResponse create(@Valid @RequestBody AppVersionCreateRequest request) { return ApiResponse.ok(appVersionSettingsAppService.create(request)); } }