package kr.wisestone.owl.service; import kr.wisestone.owl.domain.AttachedFile; import kr.wisestone.owl.domain.Issue; import kr.wisestone.owl.domain.Workspace; import kr.wisestone.owl.vo.AttachedFileVo; import kr.wisestone.owl.web.condition.AttachedFileCondition; import kr.wisestone.owl.web.form.IssueForm; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.ui.Model; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import java.util.List; import java.util.Map; public interface AttachedFileService extends AbstractService> { void addAttachedFile(List> convertFileMaps, Issue issue, String userAccount); List addAttachedFile(List multipartFiles, Map content); List addAttachedFile(Workspace workspace, Issue issue, List> files); List findAttachedFile(Map resJsonData, AttachedFileCondition condition); List findByIssueId(Long issueId); void connectIssueIdAttachedFile(Issue issue, IssueForm issueForm); AttachedFile getAttachedFile(Long attachedFileId); void removeAttachedFiles(List removeIds); void deleteWorkspaceCascadeAttachedFile(Workspace workspace); void deleteIssueCascadeAttachedFile(List issueIds, Workspace workspace); Long findUseStorage(Workspace workspace); ModelAndView checkUseWorkspaceTraffic(Long id, Model model); void deleteAttachedFileNotId(); String uploadFile(Map convertFileMap, String awsUploadFolder, String userAccount, int totalFileCount, int uploadFileCount); void removeFile(String key, Long workspaceId); }