@getjones/test-infra 2.12.3 → 2.12.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getjones/test-infra",
3
- "version": "2.12.3",
3
+ "version": "2.12.5",
4
4
  "description": "Providing internal and openapi interface",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -1,11 +1,11 @@
1
- const fs = require('fs');
2
1
  const FormData = require('form-data');
3
-
2
+ const path = require('path');
3
+ const uploadFileApi = require('../../../internal-api/uploadFiles/api/upload.file.api');
4
4
  const agreementAPI = require('./agreement.api');
5
5
  const { CreateAgreementModel } = require('../models/create.agreement.model');
6
6
  const { validateType } = require('../../../../common/validations/typeValidations');
7
7
  const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
8
- const { CONTRACT } = require('../../../../common/consts/s3FileTypes');
8
+ const { CONTRACT, TEMP_DOCUMENTS } = require('../../../../common/consts/s3FileTypes');
9
9
 
10
10
  const createAgreement = (createAgreementModel, context) => {
11
11
  validateType(createAgreementModel, CreateAgreementModel);
@@ -18,18 +18,32 @@ const deleteAgreement = (recordId, context) => {
18
18
 
19
19
  const getAgreementPreSignedUrl = (recordId, context, { filePath }) => {
20
20
  const formData = new FormData();
21
- const file = fs.createReadStream(filePath);
21
+ const fileName = path.basename(filePath);
22
22
  formData.append('recordId', recordId);
23
- formData.append('fileType', CONTRACT);
24
- formData.append('file', file);
23
+ formData.append('fileType', TEMP_DOCUMENTS);
24
+ formData.append('fileName', fileName) ;
25
25
 
26
26
  return agreementAPI.getAgreementPreSignedUrl(formData, context);
27
27
  };
28
28
 
29
- const uploadAgreementToS3 = (preSignedUrl, file) => {
29
+ const uploadAgreementToTempBucket = (preSignedUrl, file) => {
30
30
  return agreementAPI.uploadAgreementToS3(preSignedUrl, file);
31
31
  };
32
32
 
33
+ const uploadAgreementToS3 = (fileName, recordId) => {
34
+ const formData = new FormData();
35
+ formData.append('fileName', fileName) ;
36
+ formData.append('fileType', CONTRACT);
37
+ formData.append('recordId', recordId);
38
+ return uploadFileApi.uploadFile(formData);
39
+ };
40
+
41
+ const validateResponse = (response, recordId) => {
42
+ if (response.status !== httpResponseStatusCodes.OK) {
43
+ throw new Error(`Failed to upload agreement to S3 for record ${recordId}`);
44
+ }
45
+ };
46
+
33
47
  const uploadAgreement = async (
34
48
  recordId,
35
49
  filePath,
@@ -39,11 +53,11 @@ const uploadAgreement = async (
39
53
  ) => {
40
54
  const { data: { preSignedUrl, fileName: fullFilePath } } = await getAgreementPreSignedUrl(recordId, context, { filePath });
41
55
 
42
- const uploadResults = await uploadAgreementToS3(preSignedUrl, filePath);
56
+ const uploadResults = await uploadAgreementToTempBucket(preSignedUrl, filePath);
57
+ validateResponse(uploadResults, recordId);
43
58
 
44
- if (uploadResults.status !== httpResponseStatusCodes.OK) {
45
- throw new Error(`Failed to upload agreement to S3 for record ${recordId}`);
46
- }
59
+ const response = await uploadAgreementToS3(fullFilePath, recordId);
60
+ validateResponse(response, recordId);
47
61
 
48
62
  const createAgreementModel = new CreateAgreementModel({
49
63
  contractorId: recordId,