package com.bankaudit.template.rest.service;

import com.bankaudit.model.ExcelUploadDataStatus;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

import com.bankaudit.dto.DataTableResponse;
import com.bankaudit.template.model.UploadStatus;
import com.bankaudit.template.model.MaintTemplateDtls;

import java.io.ByteArrayOutputStream;
import java.util.List;

public interface UploadDownloadService {
	
	String updateUserFromExcel(Integer legalEntityCode, String userId,  CommonsMultipartFile userFile);
	
	String updatePlanFromExcel(Integer legalEntityCode, String userId,  CommonsMultipartFile userFile);
	
	DataTableResponse getAllUploadStatus(Integer legalEntityCode, String search, Integer orderColumn,
			String orderDirection, Integer page, Integer size, String type);
	
	UploadStatus getUploadStatusById(Integer legalEntityCode, Integer id);

	ExcelUploadDataStatus uploadEntityExcel(String userId, String dataType, CommonsMultipartFile file, Integer legalEntityCode);

	ByteArrayOutputStream exportUploadedDataToExcel(String legalEntityCodeStr, String userId, String fileName);
	
	List<MaintTemplateDtls> getTemplateDetails(Integer legalEntityCode, String role);
	
	String getTemplateReferencePath(Integer legalEntityCode, String templateCode);
	
}
