package com.interplug.qcast.biz.canvasStatus;

import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusCopyRequest;
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface CanvasStatusMapper {

  // objectNo 생성(미사용)
  public CanvasStatus getCanvasStatusNewObjectNo(String userId);

  // imageName 생성(미사용)
  public CanvasStatus getCanvasStatusImageAdd(String objectNo);

  // 전체 캔버스 조회 by 사용자(userId)
  public List<CanvasStatusResponse> selectAllCanvasStatus(String userId);

  // 캔버스 조회 by 물건번호(objectNo)
  public List<CanvasStatusResponse> selectObjectNoCanvasStatus(String objectNo);

  // 캔버스 조회 by Max(id)
  public List<CanvasStatusResponse> getMaxIdCanvasStatus(String objectNo, String userId);

  // 캔버스 조회 by id
  public List<CanvasStatusResponse> getIdCanvasStatus(Integer id);

  // 캔버스 조회 by 물건번호(objectNo)
  public List<CanvasStatusResponse> getObjectNoCanvasStatus(String objectNo);

  // 캔버스 등록
  public void insertCanvasStatus(CanvasStatus cs);

  // 캔버스 수정
  public void updateCanvasStatus(CanvasStatus cs);

  // 캔버스 삭제 by 물건번호(objectNo)
  public void deleteObjectNoCanvasStatus(String objectNo);

  // 캔버스 삭제 by id (미사용)
  public void deleteIdCanvasStatus(Integer id);

  // 캔버스 삭제플래그 변경 by id
  public void updateDeletedCanvasStatus(Integer id);

  // 캔버스 복사
  public int copyCanvasStatus(CanvasStatusCopyRequest cs);
}
