Files
bflows-bandi-be/src/main/java/net/gepafin/tendermanagement/service/impl/DocumentServiceImpl.java
2025-04-03 15:50:22 +05:30

59 lines
2.1 KiB
Java

package net.gepafin.tendermanagement.service.impl;
import java.util.List;
import java.util.Map;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.dao.DocumentDao;
import net.gepafin.tendermanagement.entities.DocumentEntity;
import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.enums.DocumentSourceTypeEnum;
import net.gepafin.tendermanagement.enums.DocumentTypeEnum;
import net.gepafin.tendermanagement.model.response.DocumentResponseBean;
import net.gepafin.tendermanagement.service.DocumentService;
import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.util.Validator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@Service
public class DocumentServiceImpl implements DocumentService {
@Autowired
private DocumentDao documentDao;
@Autowired
private Validator validator;
@Override
public List<DocumentResponseBean> uploadFile(HttpServletRequest request,List<MultipartFile> files, Long sourceId, DocumentSourceTypeEnum sourceType, DocumentTypeEnum fileType) {
Map<String, Object> userInfo = validator.getUserInfoFromToken(request);
Long userId = validator.getUserId(userInfo);
files.forEach(Utils::validateFileType);
return documentDao.uploadFiles(userId,files,sourceId,sourceType,fileType);
}
@Override
public void deleteFile(Long documentId) {
documentDao.deleteFile(documentId);
}
@Override
public DocumentResponseBean updateDocument(HttpServletRequest httpServletRequest, Long documentId, MultipartFile file, DocumentTypeEnum documentTypeEnum) {
return documentDao.updateDocument(documentId, file,documentTypeEnum);
}
@Override
public DocumentResponseBean getDocument(HttpServletRequest httpServletRequest, Long documentId) {
return documentDao.getDocument(documentId);
}
@Override
public DocumentEntity validateDocument(Long id){
return documentDao.validateDocument(id);
}
}