updated code
This commit is contained in:
@@ -11,7 +11,7 @@ import net.gepafin.tendermanagement.entities.*;
|
||||
import net.gepafin.tendermanagement.enums.*;
|
||||
import net.gepafin.tendermanagement.model.request.CompanyDocumentRequest;
|
||||
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.CategoryResponse;
|
||||
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
|
||||
import net.gepafin.tendermanagement.model.response.CompanyDocumentResponseBean;
|
||||
import net.gepafin.tendermanagement.model.response.DocumentResponseBean;
|
||||
import net.gepafin.tendermanagement.model.response.UploadFileOnAmazonS3Response;
|
||||
@@ -19,7 +19,6 @@ import net.gepafin.tendermanagement.repositories.CompanyDocumentRepository;
|
||||
import net.gepafin.tendermanagement.repositories.DocumentRepository;
|
||||
import net.gepafin.tendermanagement.service.AmazonS3Service;
|
||||
import net.gepafin.tendermanagement.service.ApplicationService;
|
||||
import net.gepafin.tendermanagement.service.CategoryService;
|
||||
import net.gepafin.tendermanagement.service.CompanyService;
|
||||
import net.gepafin.tendermanagement.service.impl.AmazonS3ServiceImpl;
|
||||
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||
@@ -34,8 +33,6 @@ import org.springframework.data.jpa.domain.Specification;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.net.URLDecoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -63,7 +60,7 @@ public class CompanyDocumentDao {
|
||||
private HttpServletRequest request;
|
||||
|
||||
@Autowired
|
||||
private CategoryDao categoryDao;
|
||||
private DocumentCategoryDao categoryDao;
|
||||
|
||||
@Autowired
|
||||
private CompanyService companyService;
|
||||
@@ -89,8 +86,8 @@ public class CompanyDocumentDao {
|
||||
@Autowired
|
||||
private Validator validator;
|
||||
|
||||
public List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, Long userId, List<MultipartFile> files, Long companyId, Long categoryId, CompanyDocumentTypeEnum companyDocumentSourceTypeEnum, LocalDateTime expirationDate){
|
||||
CategoryEntity categoryEntity = categoryDao.validateCategory(categoryId);
|
||||
public List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, Long userId, List<MultipartFile> files, Long companyId, Long documentCategoryId, CompanyDocumentTypeEnum companyDocumentSourceTypeEnum, LocalDateTime expirationDate){
|
||||
DocumentCategoryEntity categoryEntity = categoryDao.validateCategory(documentCategoryId);
|
||||
validator.validateUserWithCompany(request,companyId);
|
||||
UserWithCompanyEntity userWithCompanyEntity=companyService.getUserWithCompany(userId,companyId);
|
||||
|
||||
@@ -159,8 +156,8 @@ public class CompanyDocumentDao {
|
||||
|
||||
public CompanyDocumentResponseBean convertToCompanyDocumentResponseBean(CompanyDocumentEntity entity) {
|
||||
CompanyDocumentResponseBean responseBean = new CompanyDocumentResponseBean();
|
||||
CategoryEntity categoryEntity = entity.getCategoryEntity();
|
||||
CategoryResponse responseCategory = categoryDao.convertToResponseBean(categoryEntity);
|
||||
DocumentCategoryEntity categoryEntity = entity.getCategoryEntity();
|
||||
DocumentCategoryResponse responseCategory = categoryDao.convertToResponseBean(categoryEntity);
|
||||
responseBean.setId(entity.getId());
|
||||
responseBean.setName(entity.getFileName());
|
||||
responseBean.setType(CompanyDocumentTypeEnum.valueOf(entity.getType()));
|
||||
@@ -194,7 +191,7 @@ public class CompanyDocumentDao {
|
||||
}
|
||||
}
|
||||
if (companyDocumentRequest.getCategoryId() != null && companyDocumentRequest.getCategoryId() >0) {
|
||||
CategoryEntity categoryEntity = categoryDao.validateCategory(companyDocumentRequest.getCategoryId());
|
||||
DocumentCategoryEntity categoryEntity = categoryDao.validateCategory(companyDocumentRequest.getCategoryId());
|
||||
setIfUpdated(companyDocumentEntity::getCategoryEntity, companyDocumentEntity::setCategoryEntity, categoryEntity);
|
||||
}
|
||||
companyDocumentRepository.save(companyDocumentEntity);
|
||||
|
||||
@@ -3,15 +3,13 @@ package net.gepafin.tendermanagement.dao;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import net.gepafin.tendermanagement.config.Translator;
|
||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||
import net.gepafin.tendermanagement.entities.CategoryEntity;
|
||||
import net.gepafin.tendermanagement.entities.DocumentCategoryEntity;
|
||||
import net.gepafin.tendermanagement.entities.CompanyDocumentEntity;
|
||||
import net.gepafin.tendermanagement.entities.FaqEntity;
|
||||
import net.gepafin.tendermanagement.entities.HubEntity;
|
||||
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
|
||||
import net.gepafin.tendermanagement.model.request.CategoryRequest;
|
||||
import net.gepafin.tendermanagement.model.request.DocumentCategoryRequest;
|
||||
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.CategoryResponse;
|
||||
import net.gepafin.tendermanagement.repositories.CategoryRepository;
|
||||
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
|
||||
import net.gepafin.tendermanagement.repositories.DocumentCategoryRepository;
|
||||
import net.gepafin.tendermanagement.repositories.CompanyDocumentRepository;
|
||||
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||
import net.gepafin.tendermanagement.util.Utils;
|
||||
@@ -26,10 +24,10 @@ import java.util.List;
|
||||
import static net.gepafin.tendermanagement.util.Utils.setIfUpdated;
|
||||
|
||||
@Component
|
||||
public class CategoryDao {
|
||||
public class DocumentCategoryDao {
|
||||
|
||||
@Autowired
|
||||
private CategoryRepository categoryRepository;
|
||||
private DocumentCategoryRepository categoryRepository;
|
||||
|
||||
@Autowired
|
||||
private LoggingUtil loggingUtil;
|
||||
@@ -40,9 +38,9 @@ public class CategoryDao {
|
||||
@Autowired
|
||||
private CompanyDocumentRepository companyDocumentRepository;
|
||||
|
||||
public CategoryResponse createDocumentCategory(HttpServletRequest request, CategoryRequest categoryRequest){
|
||||
public DocumentCategoryResponse createDocumentCategory(HttpServletRequest request, DocumentCategoryRequest categoryRequest){
|
||||
|
||||
CategoryEntity entity = createCategoryEntity(new CategoryEntity(),categoryRequest);
|
||||
DocumentCategoryEntity entity = createCategoryEntity(new DocumentCategoryEntity(),categoryRequest);
|
||||
categoryRepository.save(entity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "Create Company Document Category" operation. **/
|
||||
@@ -51,15 +49,15 @@ public class CategoryDao {
|
||||
return convertToResponseBean(entity);
|
||||
}
|
||||
|
||||
public CategoryEntity createCategoryEntity(CategoryEntity entity,CategoryRequest companyDocumentCategoryRequest){
|
||||
public DocumentCategoryEntity createCategoryEntity(DocumentCategoryEntity entity, DocumentCategoryRequest companyDocumentCategoryRequest){
|
||||
entity.setCategoryName(companyDocumentCategoryRequest.getCategoryName());
|
||||
entity.setDescription(companyDocumentCategoryRequest.getDescription());
|
||||
entity.setIsDeleted(false);
|
||||
return entity;
|
||||
}
|
||||
|
||||
public CategoryResponse convertToResponseBean(CategoryEntity entity){
|
||||
CategoryResponse response = new CategoryResponse();
|
||||
public DocumentCategoryResponse convertToResponseBean(DocumentCategoryEntity entity){
|
||||
DocumentCategoryResponse response = new DocumentCategoryResponse();
|
||||
response.setId(entity.getId());
|
||||
response.setCategoryName(entity.getCategoryName());
|
||||
response.setDescription(entity.getDescription());
|
||||
@@ -68,24 +66,24 @@ public class CategoryDao {
|
||||
return response;
|
||||
}
|
||||
|
||||
public CategoryResponse getDocumentCategoryById(HttpServletRequest request, Long id){
|
||||
public DocumentCategoryResponse getDocumentCategoryById(HttpServletRequest request, Long id){
|
||||
return convertToResponseBean(validateCategory(id));
|
||||
}
|
||||
|
||||
public CategoryEntity validateCategory(Long id) {
|
||||
public DocumentCategoryEntity validateCategory(Long id) {
|
||||
return categoryRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
|
||||
Translator.toLocale(GepafinConstant.DOCUMENT_CATEGORY_NOT_FOUND)));
|
||||
}
|
||||
|
||||
public void deleteCategory(HttpServletRequest request,Long id) {
|
||||
CategoryEntity entity = validateCategory(id);
|
||||
public void deleteDocumentCategory(HttpServletRequest request,Long id) {
|
||||
DocumentCategoryEntity entity = validateCategory(id);
|
||||
|
||||
List<CompanyDocumentEntity> companyDocumentEntities = companyDocumentRepository.findByCategoryEntityId(id);
|
||||
if (!companyDocumentEntities.isEmpty()){
|
||||
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.CATEGORY_CANNOT_BE_DELETED));
|
||||
}
|
||||
CategoryEntity oldCategoryEntity = Utils.getClonedEntityForData(entity);
|
||||
DocumentCategoryEntity oldCategoryEntity = Utils.getClonedEntityForData(entity);
|
||||
entity.setIsDeleted(true);
|
||||
categoryRepository.save(entity);
|
||||
|
||||
@@ -94,17 +92,17 @@ public class CategoryDao {
|
||||
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldCategoryEntity).newData(entity).build());
|
||||
}
|
||||
|
||||
public CategoryResponse updateCategory(HttpServletRequest request,Long id , CategoryRequest categoryRequest){
|
||||
CategoryEntity entity = validateCategory(id);
|
||||
CategoryEntity oldCategoryEntity = Utils.getClonedEntityForData(entity);
|
||||
CategoryEntity newCategoryEntity = updateCategoryEntity(entity, categoryRequest);
|
||||
public DocumentCategoryResponse updateDocumentCategory(HttpServletRequest request, Long id , DocumentCategoryRequest categoryRequest){
|
||||
DocumentCategoryEntity entity = validateCategory(id);
|
||||
DocumentCategoryEntity oldCategoryEntity = Utils.getClonedEntityForData(entity);
|
||||
DocumentCategoryEntity newCategoryEntity = updateCategoryEntity(entity, categoryRequest);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "Update Category" operation. **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldCategoryEntity).newData(newCategoryEntity).build());
|
||||
return convertToResponseBean(entity);
|
||||
}
|
||||
|
||||
public CategoryEntity updateCategoryEntity(CategoryEntity entity , CategoryRequest categoryRequest){
|
||||
public DocumentCategoryEntity updateCategoryEntity(DocumentCategoryEntity entity , DocumentCategoryRequest categoryRequest){
|
||||
setIfUpdated(entity::getCategoryName, entity::setCategoryName, categoryRequest.getCategoryName());
|
||||
setIfUpdated(entity::getDescription, entity::setDescription, categoryRequest.getDescription());
|
||||
|
||||
@@ -39,8 +39,8 @@ public class CompanyDocumentEntity extends BaseEntity {
|
||||
private UserWithCompanyEntity userWithCompany;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "CATEGORY_ID")
|
||||
private CategoryEntity categoryEntity;
|
||||
@JoinColumn(name = "DOCUMENT_CATEGORY_ID")
|
||||
private DocumentCategoryEntity categoryEntity;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -6,9 +6,9 @@ import jakarta.persistence.Table;
|
||||
import lombok.Data;
|
||||
|
||||
@Entity
|
||||
@Table(name = "category")
|
||||
@Table(name = "document_category")
|
||||
@Data
|
||||
public class CategoryEntity extends BaseEntity {
|
||||
public class DocumentCategoryEntity extends BaseEntity {
|
||||
|
||||
@Column(name = "CATEGORY_NAME")
|
||||
private String categoryName;
|
||||
@@ -206,7 +206,8 @@ public enum UserActionContextEnum {
|
||||
GET_DOCUMENT_CATEGORY("GET_DOCUMENT_CATEGORY"),
|
||||
DELETE_DOCUMENT_CATEGORY("DELETE_DOCUMENT_CATEGORY"),
|
||||
UPDATE_DOCUMENT_CATEGORY("UPDATE_DOCUMENT_CATEGORY"),
|
||||
COMPANY_DOCUMENT_EXPIRATION_SCHEDULER("COMPANY_DOCUMENT_EXPIRATION_SCHEDULER");
|
||||
COMPANY_DOCUMENT_EXPIRATION_SCHEDULER("COMPANY_DOCUMENT_EXPIRATION_SCHEDULER"),
|
||||
|
||||
GET_ALL_ASSIGNED_APPLICATION_BY_PAGINATION("GET_ALL_ASSIGNED_APPLICATION_BY_PAGINATION"),
|
||||
GET_ALL_APPLICATION_AMENDMENT_BY_PAGINATION("GET_ALL_APPLICATION_AMENDMENT_BY_PAGINATION"),
|
||||
GET_ALL_USER_ACTION_BY_PAGINATION("GET_ALL_USER_ACTION_BY_PAGINATION"),
|
||||
|
||||
@@ -3,7 +3,7 @@ package net.gepafin.tendermanagement.model.request;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CategoryRequest {
|
||||
public class DocumentCategoryRequest {
|
||||
private String categoryName;
|
||||
private String description;
|
||||
}
|
||||
@@ -24,6 +24,6 @@ public class CompanyDocumentResponseBean extends BaseBean {
|
||||
|
||||
private Long userWithCompanyId;
|
||||
|
||||
private CategoryResponse category;
|
||||
private DocumentCategoryResponse category;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import lombok.Data;
|
||||
import net.gepafin.tendermanagement.model.BaseBean;
|
||||
|
||||
@Data
|
||||
public class CategoryResponse extends BaseBean {
|
||||
public class DocumentCategoryResponse extends BaseBean {
|
||||
private String categoryName;
|
||||
private String description;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package net.gepafin.tendermanagement.repositories;
|
||||
|
||||
import net.gepafin.tendermanagement.entities.CategoryEntity;
|
||||
import net.gepafin.tendermanagement.entities.DocumentCategoryEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface CategoryRepository extends JpaRepository<CategoryEntity,Long> {
|
||||
public interface DocumentCategoryRepository extends JpaRepository<DocumentCategoryEntity,Long> {
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package net.gepafin.tendermanagement.service;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import net.gepafin.tendermanagement.model.request.CategoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.CategoryResponse;
|
||||
|
||||
public interface CategoryService {
|
||||
|
||||
CategoryResponse createDocumentCategory(HttpServletRequest request, CategoryRequest categoryRequest);
|
||||
CategoryResponse getDocumentCategoryById(HttpServletRequest request,Long id);
|
||||
void deleteCategory(HttpServletRequest request,Long id);
|
||||
CategoryResponse updateCategory(HttpServletRequest request, Long id, CategoryRequest categoryRequest);
|
||||
}
|
||||
@@ -12,7 +12,7 @@ import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
public interface CompanyDocumentService {
|
||||
List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, List<MultipartFile> files, Long companyId, Long categoryId, CompanyDocumentTypeEnum documentSourceTypeEnum, LocalDateTime expirationDate);
|
||||
List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, List<MultipartFile> files, Long companyId, Long documentCategoryId, CompanyDocumentTypeEnum documentSourceTypeEnum, LocalDateTime expirationDate);
|
||||
|
||||
CompanyDocumentResponseBean updateCompanyDocument(HttpServletRequest httpServletRequest, Long companyDocumentId, CompanyDocumentRequest companyDocumentRequest);
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package net.gepafin.tendermanagement.service;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import net.gepafin.tendermanagement.model.request.DocumentCategoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
|
||||
|
||||
public interface DocumentCategoryService {
|
||||
|
||||
DocumentCategoryResponse createDocumentCategory(HttpServletRequest request, DocumentCategoryRequest categoryRequest);
|
||||
DocumentCategoryResponse getDocumentCategoryById(HttpServletRequest request, Long id);
|
||||
void deleteDocumentCategory(HttpServletRequest request,Long id);
|
||||
DocumentCategoryResponse updateDocumentCategory(HttpServletRequest request, Long id, DocumentCategoryRequest categoryRequest);
|
||||
}
|
||||
@@ -28,10 +28,10 @@ public class CompanyDocumentServiceImpl implements CompanyDocumentService {
|
||||
private CompanyDocumentDao companyDocumentDao;
|
||||
|
||||
@Override
|
||||
public List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, List<MultipartFile> files, Long companyId, Long categoryId , CompanyDocumentTypeEnum documentSourceTypeEnum, LocalDateTime expirationDate) {
|
||||
public List<CompanyDocumentResponseBean> uploadFileForCompany(HttpServletRequest request, List<MultipartFile> files, Long companyId, Long documentCategoryId , CompanyDocumentTypeEnum documentSourceTypeEnum, LocalDateTime expirationDate) {
|
||||
Map<String, Object> userInfo = validator.getUserInfoFromToken(request);
|
||||
Long userId = validator.getUserId(userInfo);
|
||||
return companyDocumentDao.uploadFileForCompany(request,userId,files,companyId,categoryId,documentSourceTypeEnum,expirationDate);
|
||||
return companyDocumentDao.uploadFileForCompany(request,userId,files,companyId,documentCategoryId,documentSourceTypeEnum,expirationDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
package net.gepafin.tendermanagement.service.impl;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import net.gepafin.tendermanagement.dao.CategoryDao;
|
||||
import net.gepafin.tendermanagement.model.request.CategoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.CategoryResponse;
|
||||
import net.gepafin.tendermanagement.service.CategoryService;
|
||||
import net.gepafin.tendermanagement.dao.DocumentCategoryDao;
|
||||
import net.gepafin.tendermanagement.model.request.DocumentCategoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
|
||||
import net.gepafin.tendermanagement.service.DocumentCategoryService;
|
||||
import net.gepafin.tendermanagement.util.Validator;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@Service
|
||||
public class CategoryServiceImpl implements CategoryService {
|
||||
public class DocumentCategoryServiceImpl implements DocumentCategoryService {
|
||||
|
||||
@Autowired
|
||||
CategoryDao categoryDao;
|
||||
DocumentCategoryDao categoryDao;
|
||||
|
||||
@Autowired
|
||||
private Validator validator;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public CategoryResponse createDocumentCategory(HttpServletRequest request, CategoryRequest categoryRequest) {
|
||||
public DocumentCategoryResponse createDocumentCategory(HttpServletRequest request, DocumentCategoryRequest categoryRequest) {
|
||||
validator.validateUser(request);
|
||||
return categoryDao.createDocumentCategory(request,categoryRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public CategoryResponse getDocumentCategoryById(HttpServletRequest request, Long id) {
|
||||
public DocumentCategoryResponse getDocumentCategoryById(HttpServletRequest request, Long id) {
|
||||
validator.validateUser(request);
|
||||
return categoryDao.getDocumentCategoryById(request,id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteCategory(HttpServletRequest request, Long id) {
|
||||
public void deleteDocumentCategory(HttpServletRequest request, Long id) {
|
||||
validator.validateUser(request);
|
||||
categoryDao.deleteCategory(request,id);
|
||||
categoryDao.deleteDocumentCategory(request,id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public CategoryResponse updateCategory(HttpServletRequest request, Long id, CategoryRequest categoryRequest) {
|
||||
public DocumentCategoryResponse updateDocumentCategory(HttpServletRequest request, Long id, DocumentCategoryRequest categoryRequest) {
|
||||
validator.validateUser(request);
|
||||
return categoryDao.updateCategory(request,id,categoryRequest);
|
||||
return categoryDao.updateDocumentCategory(request,id,categoryRequest);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ public interface CompanyDocumentApi {
|
||||
@PostMapping(value = "/company/{companyId}/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
default ResponseEntity<Response<List<CompanyDocumentResponseBean>>> uploadFileForCompany(HttpServletRequest httpServletRequest,
|
||||
@Parameter(description = "Company Id", required = true) @PathVariable("companyId") Long companyId,
|
||||
@Parameter(description = "The Category id", required = true) @RequestParam(value = "categoryId", required = false) Long categoryId,
|
||||
@Parameter(description = "The Document Category id", required = true) @RequestParam(value = "documentCategoryId", required = false) Long documentCategoryId,
|
||||
@RequestParam("documentType") CompanyDocumentTypeEnum documentTypeEnum,
|
||||
@RequestParam("expirationDate") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime expirationDate,
|
||||
@RequestParam("file") List<MultipartFile> files) {
|
||||
|
||||
@@ -7,20 +7,17 @@ import io.swagger.v3.oas.annotations.media.ExampleObject;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.validation.Valid;
|
||||
import net.gepafin.tendermanagement.model.request.CategoryRequest;
|
||||
import net.gepafin.tendermanagement.model.request.HubReq;
|
||||
import net.gepafin.tendermanagement.model.response.CategoryResponse;
|
||||
import net.gepafin.tendermanagement.model.response.HubResponseBean;
|
||||
import net.gepafin.tendermanagement.model.request.DocumentCategoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
|
||||
import net.gepafin.tendermanagement.model.util.Response;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@Validated
|
||||
public interface CategoryApi {
|
||||
public interface DocumentCategoryApi {
|
||||
|
||||
@Operation(summary = "Api to create document category", responses = {
|
||||
@ApiResponse(responseCode = "200", description = "OK"),
|
||||
@@ -32,9 +29,9 @@ public interface CategoryApi {
|
||||
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
|
||||
})
|
||||
@PostMapping(value = "", produces = "application/json")
|
||||
ResponseEntity<Response<CategoryResponse>> createDocumentCategory(HttpServletRequest request,
|
||||
ResponseEntity<Response<DocumentCategoryResponse>> createDocumentCategory(HttpServletRequest request,
|
||||
@Parameter(description = "Company Document Category request object", required = true)
|
||||
@Valid @RequestBody CategoryRequest categoryRequest);
|
||||
@Valid @RequestBody DocumentCategoryRequest categoryRequest);
|
||||
|
||||
|
||||
@Operation(summary = "Api to get document category by id", responses = {
|
||||
@@ -47,8 +44,8 @@ public interface CategoryApi {
|
||||
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
|
||||
})
|
||||
@GetMapping(value = "/{id}", produces = "application/json")
|
||||
ResponseEntity<Response<CategoryResponse>> getDocumentCategoryById(HttpServletRequest request,
|
||||
@Parameter(description = "The category id", required = true)
|
||||
ResponseEntity<Response<DocumentCategoryResponse>> getDocumentCategoryById(HttpServletRequest request,
|
||||
@Parameter(description = "The document category id", required = true)
|
||||
@PathVariable("id") Long id);
|
||||
|
||||
|
||||
@@ -62,8 +59,8 @@ public interface CategoryApi {
|
||||
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
|
||||
})
|
||||
@DeleteMapping(value = "/{id}")
|
||||
ResponseEntity<Response<Void>> deleteCategory(HttpServletRequest request,
|
||||
@Parameter(description = "The category id", required = true)
|
||||
ResponseEntity<Response<Void>> deleteDocumentCategory(HttpServletRequest request,
|
||||
@Parameter(description = "The document category id", required = true)
|
||||
@PathVariable("id") Long id);
|
||||
|
||||
|
||||
@@ -77,9 +74,9 @@ public interface CategoryApi {
|
||||
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
|
||||
})
|
||||
@PutMapping(value = "/{id}", produces = "application/json")
|
||||
ResponseEntity<Response<CategoryResponse>> updateCategory(HttpServletRequest request,
|
||||
@Parameter(description = "The category id", required = true)
|
||||
ResponseEntity<Response<DocumentCategoryResponse>> updateDocumentCategory(HttpServletRequest request,
|
||||
@Parameter(description = "The document category id", required = true)
|
||||
@PathVariable("id") Long id,
|
||||
@Parameter(description = "Category request object", required = true)
|
||||
@Valid @RequestBody CategoryRequest categoryRequest);
|
||||
@Valid @RequestBody DocumentCategoryRequest categoryRequest);
|
||||
}
|
||||
@@ -41,7 +41,7 @@ public class CompanyDocumentApiControlller implements CompanyDocumentApi {
|
||||
private CompanyDocumentDao companyDocumentDao;
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<List<CompanyDocumentResponseBean>>> uploadFileForCompany(HttpServletRequest request, Long companyId, Long categoryId, CompanyDocumentTypeEnum companyDocumentSourceTypeEnum, LocalDateTime expirationDate,
|
||||
public ResponseEntity<Response<List<CompanyDocumentResponseBean>>> uploadFileForCompany(HttpServletRequest request, Long companyId, Long documentCategoryId, CompanyDocumentTypeEnum companyDocumentSourceTypeEnum, LocalDateTime expirationDate,
|
||||
List<MultipartFile> files) {
|
||||
try {
|
||||
UserActionContextEnum userActionContext = companyDocumentDao.getUserActionContextEnum(companyDocumentSourceTypeEnum);
|
||||
@@ -49,7 +49,7 @@ public class CompanyDocumentApiControlller implements CompanyDocumentApi {
|
||||
/** This code is responsible for creating user action logs for the "upload document for company" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPLOAD).actionContext(userActionContext).build());
|
||||
|
||||
List<CompanyDocumentResponseBean> responseBeans = companyDocumentService.uploadFileForCompany(request,files, companyId, categoryId ,companyDocumentSourceTypeEnum,expirationDate);
|
||||
List<CompanyDocumentResponseBean> responseBeans = companyDocumentService.uploadFileForCompany(request,files, companyId, documentCategoryId ,companyDocumentSourceTypeEnum,expirationDate);
|
||||
return ResponseEntity.status(HttpStatus.CREATED)
|
||||
.body(new Response<List<CompanyDocumentResponseBean>>(responseBeans, Status.SUCCESS, Translator.toLocale(GepafinConstant.FILES_UPLOADED_MSG)));
|
||||
} catch (CustomValidationException ex) {
|
||||
|
||||
@@ -6,14 +6,13 @@ import net.gepafin.tendermanagement.config.Translator;
|
||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||
import net.gepafin.tendermanagement.enums.UserActionContextEnum;
|
||||
import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
|
||||
import net.gepafin.tendermanagement.model.request.CategoryRequest;
|
||||
import net.gepafin.tendermanagement.model.request.DocumentCategoryRequest;
|
||||
import net.gepafin.tendermanagement.model.request.UserActionRequest;
|
||||
import net.gepafin.tendermanagement.model.response.CategoryResponse;
|
||||
import net.gepafin.tendermanagement.model.response.HubResponseBean;
|
||||
import net.gepafin.tendermanagement.model.response.DocumentCategoryResponse;
|
||||
import net.gepafin.tendermanagement.model.util.Response;
|
||||
import net.gepafin.tendermanagement.service.CategoryService;
|
||||
import net.gepafin.tendermanagement.service.DocumentCategoryService;
|
||||
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||
import net.gepafin.tendermanagement.web.rest.api.CategoryApi;
|
||||
import net.gepafin.tendermanagement.web.rest.api.DocumentCategoryApi;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
@@ -22,22 +21,22 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("${openapi.gepafin.base-path:/v1/category}")
|
||||
public class CategoryApiController implements CategoryApi {
|
||||
@RequestMapping("${openapi.gepafin.base-path:/v1/documentCategory}")
|
||||
public class DocumentCategoryApiController implements DocumentCategoryApi {
|
||||
|
||||
@Autowired
|
||||
LoggingUtil loggingUtil;
|
||||
|
||||
@Autowired
|
||||
CategoryService categoryService;
|
||||
DocumentCategoryService categoryService;
|
||||
|
||||
public ResponseEntity<Response<CategoryResponse>> createDocumentCategory(HttpServletRequest request, @Valid CategoryRequest categoryRequest){
|
||||
public ResponseEntity<Response<DocumentCategoryResponse>> createDocumentCategory(HttpServletRequest request, @Valid DocumentCategoryRequest categoryRequest){
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Create Document category" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT)
|
||||
.actionContext(UserActionContextEnum.CREATE_DOCUMENT_CATEGORY).build());
|
||||
|
||||
CategoryResponse categoryResponse = categoryService.createDocumentCategory(request,categoryRequest);
|
||||
DocumentCategoryResponse categoryResponse = categoryService.createDocumentCategory(request,categoryRequest);
|
||||
|
||||
return ResponseEntity.status(HttpStatus.CREATED)
|
||||
.body(new Response<>(categoryResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.DOCUMENT_CATEGORY_CREATE_SUCCESS)));
|
||||
@@ -45,37 +44,37 @@ public class CategoryApiController implements CategoryApi {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<CategoryResponse>> getDocumentCategoryById(HttpServletRequest request, Long id) {
|
||||
public ResponseEntity<Response<DocumentCategoryResponse>> getDocumentCategoryById(HttpServletRequest request, Long id) {
|
||||
|
||||
/** This code is responsible for creating user action logs for the "get document category by id" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW)
|
||||
.actionContext(UserActionContextEnum.GET_DOCUMENT_CATEGORY).build());
|
||||
|
||||
CategoryResponse categoryResponse = categoryService.getDocumentCategoryById(request,id);
|
||||
DocumentCategoryResponse categoryResponse = categoryService.getDocumentCategoryById(request,id);
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(categoryResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.DOCUMENT_CATEGORY_GET_SUCCESS)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<Void>> deleteCategory(HttpServletRequest request, Long id) {
|
||||
public ResponseEntity<Response<Void>> deleteDocumentCategory(HttpServletRequest request, Long id) {
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Delete category" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.DELETE).actionContext(UserActionContextEnum.DELETE_DOCUMENT_CATEGORY).build());
|
||||
|
||||
categoryService.deleteCategory(request,id);
|
||||
categoryService.deleteDocumentCategory(request,id);
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.DOCUMENT_CATEGORY_DELETE_SUCCESS)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<CategoryResponse>> updateCategory(HttpServletRequest request, Long id, CategoryRequest categoryRequest) {
|
||||
public ResponseEntity<Response<DocumentCategoryResponse>> updateDocumentCategory(HttpServletRequest request, Long id, DocumentCategoryRequest categoryRequest) {
|
||||
|
||||
/** This code is responsible for "Updating Category details" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE)
|
||||
.actionContext(UserActionContextEnum.UPDATE_DOCUMENT_CATEGORY).build());
|
||||
|
||||
CategoryResponse categoryResponse = categoryService.updateCategory(request,id, categoryRequest);
|
||||
DocumentCategoryResponse categoryResponse = categoryService.updateDocumentCategory(request,id, categoryRequest);
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(categoryResponse, Status.SUCCESS, Translator.toLocale(GepafinConstant.DOCUMENT_CATEGORY_UPDATE_SUCCESS)));
|
||||
@@ -2430,9 +2430,9 @@
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="24-02-2025_RK_192024" author="Rajesh Khore">
|
||||
<createTable tableName="category">
|
||||
<createTable tableName="document_category">
|
||||
<column name="id" type="INTEGER" autoIncrement="true">
|
||||
<constraints primaryKey="true" nullable="false"/>
|
||||
<constraints primaryKey="true" primaryKeyName="document_category_pkey" nullable="false"/>
|
||||
</column>
|
||||
<column name="CATEGORY_NAME" type="VARCHAR(255)"/>
|
||||
<column name="DESCRIPTION" type="TEXT"/>
|
||||
@@ -2472,8 +2472,8 @@
|
||||
<column name="COMPANY_ID" type="INTEGER">
|
||||
<constraints nullable="true" foreignKeyName="fk_COMPANY_COMPANY_DOCUMENT" references="company(id)"/>
|
||||
</column>
|
||||
<column name="CATEGORY_ID" type="INTEGER">
|
||||
<constraints nullable="true" foreignKeyName="fk_CATEGORY_COMPANY_DOCUMENT" references="category(id)"/>
|
||||
<column name="DOCUMENT_CATEGORY_ID" type="INTEGER">
|
||||
<constraints nullable="true" foreignKeyName="fk_DOCUMENT_CATEGORY_COMPANY_DOCUMENT" references="document_category(id)"/>
|
||||
</column>
|
||||
</createTable>
|
||||
|
||||
@@ -2525,6 +2525,7 @@
|
||||
<changeSet id="24-02-2025_RK_125145" author="Rajesh Khore">
|
||||
<sqlFile dbms="postgresql"
|
||||
path="db/dump/updated_json_template_for_notification_24_02_2025.sql"/>
|
||||
</changeSet>
|
||||
<changeSet id="17-02-2025_PK_025237" author="Piyush Kag">
|
||||
<renameColumn tableName="call"
|
||||
oldColumnName="product_id"
|
||||
|
||||
Reference in New Issue
Block a user