package com.crm.custom.service;

import com.crm.rely.backend.core.dto.custom.file.CustomFileDto;
import com.crm.rely.backend.core.exception.ServiceException;
import com.crm.rely.backend.model.entity.custom.file.CustomFileAddAndUpdateEntity;
import com.crm.rely.backend.model.entity.custom.file.CustomFileAllEntity;
import com.crm.rely.backend.model.entity.custom.file.CustomFileApproveEntity;
import com.crm.rely.backend.model.entity.custom.file.CustomFileDeleteEntity;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface CustomFileService {

    CustomFileDto save(CustomFileAddAndUpdateEntity entity, MultipartFile file) throws Exception;

    void delete(CustomFileDeleteEntity entity) throws ServiceException;

    void validated(MultipartFile file) throws ServiceException;

    List<CustomFileDto> getAllFiles(CustomFileAllEntity entity) throws ServiceException;

    List<CustomFileDto> getAllFiles(Long customId) throws ServiceException;

    void approve(CustomFileApproveEntity entity) throws ServiceException;
}
