package net.gepafin.tendermanagement.service; import java.io.ByteArrayOutputStream; import java.util.List; import java.util.Map; import org.springframework.web.multipart.MultipartFile; import jakarta.servlet.http.HttpServletRequest; import net.gepafin.tendermanagement.entities.CompanyEntity; import net.gepafin.tendermanagement.entities.UserWithCompanyEntity; import net.gepafin.tendermanagement.model.request.CompanyDelegationRequest; import net.gepafin.tendermanagement.model.request.CompanyRequest; import net.gepafin.tendermanagement.model.response.CompanyDelegationResponse; import net.gepafin.tendermanagement.model.response.CompanyResponse; public interface CompanyService { CompanyResponse createCompany(HttpServletRequest request, CompanyRequest companyRequest); CompanyResponse updateCompany(HttpServletRequest request, Long companyId, CompanyRequest companyRequest); CompanyResponse getCompany(HttpServletRequest request, Long companyId); void deleteCompany(HttpServletRequest request, Long companyId); List getCompanyByUserId(HttpServletRequest request, Long userId); Map checkVatNumber(HttpServletRequest request, String vatNumber); CompanyEntity validateCompany(Long companyId); UserWithCompanyEntity validateUserWithCompny(Long userId, Long companyId); ByteArrayOutputStream downloadCompanyDelegation(HttpServletRequest request, Long companyId, CompanyDelegationRequest companyDelegationRequest); CompanyDelegationResponse uploadCompanyDelegation(HttpServletRequest request, Long companyId, MultipartFile file); CompanyDelegationResponse getCompanyDelegation(HttpServletRequest request, Long companyId); void deleteCompanyDelegation(HttpServletRequest request, Long companyId); UserWithCompanyEntity getUserWithCompanyEntity(Long userId,Long companyId); void removeCompanyFromList(HttpServletRequest request, Long companyId); }