package net.gepafin.tendermanagement.service; import java.io.ByteArrayOutputStream; import java.util.List; import net.gepafin.tendermanagement.model.request.LimitRequest; import net.gepafin.tendermanagement.model.response.VatCheckResponseBean; 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); VatCheckResponseBean checkVatNumber(HttpServletRequest request, String vatNumber); CompanyEntity validateCompany(Long companyId); UserWithCompanyEntity validateUserWithCompny(Long userId, Long companyId); UserWithCompanyEntity getUserWithCompany(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,Long applicationId); void deleteCompanyDelegation(HttpServletRequest request, Long companyId); UserWithCompanyEntity getUserWithCompanyEntity(Long userId,Long companyId); void removeCompanyFromList(HttpServletRequest request, Long companyId); void updateMissingVatCheckResponses(HttpServletRequest request, LimitRequest limitRequest); }