package com.interplug.qcast.biz.canvasStatus; import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus; import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse; import com.interplug.qcast.config.Exception.QcastException; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/canvas-management") @RequiredArgsConstructor @Tag(name = "CanvasStatusController", description = "Canvas 관련 API") public class CanvasStatusController { private final CanvasStatusService canvasStatusService; @Operation(description = "사용자(userId)에 해당하는 전체 캔버스를 조회 한다.") @GetMapping("/canvas-statuses/{userId}") public List selectAllCanvasStatus(@PathVariable String userId) throws QcastException { return canvasStatusService.selectAllCanvasStatus(userId); } @Operation(description = "물건번호(objectNo)에 해당하는 캔버스를 조회 한다.") @GetMapping("/canvas-statuses/by-object/{objectNo}") public List selectObjectNoCanvasStatus(@PathVariable String objectNo) throws QcastException { return canvasStatusService.selectObjectNoCanvasStatus(objectNo); } @Operation(description = "캔버스를 등록 한다.") @PostMapping("/canvas-statuses") @ResponseStatus(HttpStatus.CREATED) public Integer insertCanvasStatus(@RequestBody CanvasStatus cs) throws QcastException { return canvasStatusService.insertCanvasStatus(cs); } @Operation(description = "캔버스를 수정 한다.") @PutMapping("/canvas-statuses") public void updateCanvasStatus(@RequestBody CanvasStatus cs) throws QcastException { canvasStatusService.updateCanvasStatus(cs); } @Operation(description = "물건번호(objectNo)에 해당하는캔버스를 삭제 한다.") @DeleteMapping("/canvas-statuses/by-object/{objectNo}") @ResponseStatus(HttpStatus.NO_CONTENT) public void deleteObjectNoCanvasStatus(@PathVariable String objectNo) throws QcastException { canvasStatusService.deleteObjectNoCanvasStatus(objectNo); } @Operation(description = "id에 해당하는 캔버스를 삭제 한다.") @DeleteMapping("/canvas-statuses/by-id/{id}") @ResponseStatus(HttpStatus.NO_CONTENT) public void deleteIdCanvasStatus(@PathVariable Integer id) throws QcastException { canvasStatusService.deleteIdCanvasStatus(id); } }