public DocumentMetadataDto validateAndPut()

in digital-document-service/src/main/java/com/epam/digital/data/platform/dgtldcmnt/facade/DocumentFacade.java [61:81]


  public DocumentMetadataDto validateAndPut(
      @AllowedUploadedDocument UploadDocumentFromUserFormDto uploadDocumentDto,
      Authentication authentication) {
    var taskId = uploadDocumentDto.getTaskId();
    var rootProcessInstanceId = uploadDocumentDto.getRootProcessInstanceId();
    var fieldName = uploadDocumentDto.getFieldName();
    log.info("Uploading file {} to storage for task {} in process {}", fieldName, taskId,
        rootProcessInstanceId);

    var task = taskRestClient.getTaskById(taskId);
    var formKey = task.getFormKey();
    uploadDocumentDto.setFormKey(formKey);

    authorizationService.authorize(rootProcessInstanceId, List.of(fieldName), task,
        authentication);
    validationService.validate(uploadDocumentDto);

    var result = documentService.put(uploadDocumentDto);
    log.info("File {} for task {} has been uploaded", fieldName, taskId);
    return result;
  }