@devrev/ts-adaas 1.19.8 → 1.19.9-beta.0

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.
Files changed (50) hide show
  1. package/dist/attachments-streaming/attachments-streaming-pool.d.ts.map +1 -1
  2. package/dist/attachments-streaming/attachments-streaming-pool.js +4 -6
  3. package/dist/attachments-streaming/attachments-streaming-pool.test.js +0 -65
  4. package/dist/common/control-protocol.d.ts +3 -2
  5. package/dist/common/control-protocol.d.ts.map +1 -1
  6. package/dist/common/control-protocol.js +2 -4
  7. package/dist/common/control-protocol.test.d.ts +2 -0
  8. package/dist/common/control-protocol.test.d.ts.map +1 -0
  9. package/dist/common/control-protocol.test.js +126 -0
  10. package/dist/http/axios-client-internal.d.ts.map +1 -1
  11. package/dist/http/axios-client-internal.js +19 -1
  12. package/dist/mock-server/mock-server.d.ts +4 -0
  13. package/dist/mock-server/mock-server.d.ts.map +1 -1
  14. package/dist/mock-server/mock-server.interfaces.d.ts +9 -4
  15. package/dist/mock-server/mock-server.interfaces.d.ts.map +1 -1
  16. package/dist/mock-server/mock-server.js +30 -18
  17. package/dist/multithreading/spawn/spawn.d.ts +1 -1
  18. package/dist/multithreading/spawn/spawn.d.ts.map +1 -1
  19. package/dist/multithreading/spawn/spawn.js +11 -6
  20. package/dist/multithreading/spawn/spawn.test.js +1 -0
  21. package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +1 -1
  22. package/dist/multithreading/worker-adapter/worker-adapter.d.ts +11 -5
  23. package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +1 -1
  24. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.js +90 -9
  25. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.js +1 -1
  26. package/dist/multithreading/worker-adapter/worker-adapter.js +93 -64
  27. package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.d.ts +2 -0
  28. package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.d.ts.map +1 -0
  29. package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.js +135 -0
  30. package/dist/repo/repo.d.ts +11 -2
  31. package/dist/repo/repo.d.ts.map +1 -1
  32. package/dist/repo/repo.interfaces.d.ts +2 -0
  33. package/dist/repo/repo.interfaces.d.ts.map +1 -1
  34. package/dist/repo/repo.js +37 -11
  35. package/dist/repo/repo.test.js +184 -0
  36. package/dist/types/extraction.d.ts +8 -1
  37. package/dist/types/extraction.d.ts.map +1 -1
  38. package/dist/types/workers.d.ts +4 -0
  39. package/dist/types/workers.d.ts.map +1 -1
  40. package/dist/uploader/uploader.d.ts.map +1 -1
  41. package/dist/uploader/uploader.helpers.d.ts +6 -1
  42. package/dist/uploader/uploader.helpers.d.ts.map +1 -1
  43. package/dist/uploader/uploader.helpers.js +65 -0
  44. package/dist/uploader/uploader.helpers.test.js +148 -7
  45. package/dist/uploader/uploader.interfaces.d.ts +11 -0
  46. package/dist/uploader/uploader.interfaces.d.ts.map +1 -1
  47. package/dist/uploader/uploader.interfaces.js +11 -0
  48. package/dist/uploader/uploader.js +2 -5
  49. package/dist/uploader/uploader.test.js +54 -3
  50. package/package.json +1 -1
@@ -78,12 +78,9 @@ class Uploader {
78
78
  };
79
79
  }
80
80
  }
81
+ const artifactDateRanges = (0, uploader_helpers_1.computeArtifactDateRanges)(fetchedObjects);
81
82
  // Return the artifact information to the platform
82
- const artifact = {
83
- id: preparedArtifact.artifact_id,
84
- item_type: itemType,
85
- item_count: Array.isArray(fetchedObjects) ? fetchedObjects.length : 1,
86
- };
83
+ const artifact = Object.assign({ id: preparedArtifact.artifact_id, item_type: itemType, item_count: Array.isArray(fetchedObjects) ? fetchedObjects.length : 1 }, artifactDateRanges);
87
84
  return { artifact };
88
85
  }
89
86
  /**
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const form_data_1 = __importDefault(require("form-data"));
7
7
  const js_jsonl_1 = require("js-jsonl");
8
8
  const zlib_1 = __importDefault(require("zlib"));
9
+ const test_utils_1 = require("../common/test-utils");
9
10
  const axios_client_internal_1 = require("../http/axios-client-internal");
10
- const test_helpers_1 = require("../tests/test-helpers");
11
11
  const jest_setup_1 = require("../tests/jest.setup");
12
- const test_utils_1 = require("../common/test-utils");
13
- const uploader_helpers_1 = require("./uploader.helpers");
12
+ const test_helpers_1 = require("../tests/test-helpers");
14
13
  const uploader_1 = require("./uploader");
14
+ const uploader_helpers_1 = require("./uploader.helpers");
15
15
  jest.mock('../http/axios-client-internal');
16
16
  jest.mock('./uploader.helpers', () => (Object.assign(Object.assign({}, jest.requireActual('./uploader.helpers')), { downloadToLocal: jest.fn(), compressGzip: jest.fn(jest.requireActual('./uploader.helpers').compressGzip) })));
17
17
  const mockedAxiosClient = jest.mocked(axios_client_internal_1.axiosClient);
@@ -51,6 +51,57 @@ describe(uploader_1.Uploader.name, () => {
51
51
  });
52
52
  expect(result.error).toBeUndefined();
53
53
  });
54
+ it('should compute oldest/newest created and modified dates from normalized items', async () => {
55
+ var _a, _b, _c, _d;
56
+ // Arrange
57
+ const itemType = 'tasks';
58
+ const fetchedObjects = [
59
+ {
60
+ id: '1',
61
+ created_date: '2020-06-15T10:00:00.000Z',
62
+ modified_date: '2021-01-20T10:00:00.000Z',
63
+ data: { name: 'Task 1' },
64
+ },
65
+ {
66
+ id: '2',
67
+ created_date: '2019-03-01T08:00:00.000Z',
68
+ modified_date: '2022-11-30T18:00:00.000Z',
69
+ data: { name: 'Task 2' },
70
+ },
71
+ ];
72
+ mockedAxiosClient.get.mockResolvedValueOnce(mockArtifactUploadUrlResponse);
73
+ mockedAxiosClient.post.mockResolvedValue((0, test_helpers_1.createAxiosResponse)());
74
+ // Act
75
+ const result = await uploader.upload(itemType, fetchedObjects);
76
+ // Assert
77
+ expect((_a = result.artifact) === null || _a === void 0 ? void 0 : _a.oldest_created_date).toBe('2019-03-01T08:00:00.000Z');
78
+ expect((_b = result.artifact) === null || _b === void 0 ? void 0 : _b.newest_created_date).toBe('2020-06-15T10:00:00.000Z');
79
+ expect((_c = result.artifact) === null || _c === void 0 ? void 0 : _c.oldest_modified_date).toBe('2021-01-20T10:00:00.000Z');
80
+ expect((_d = result.artifact) === null || _d === void 0 ? void 0 : _d.newest_modified_date).toBe('2022-11-30T18:00:00.000Z');
81
+ expect(result.error).toBeUndefined();
82
+ });
83
+ it('should compute date ranges for single object upload', async () => {
84
+ var _a, _b, _c, _d;
85
+ // Arrange
86
+ const itemType = 'metadata';
87
+ const fetchedObject = {
88
+ id: '1',
89
+ created_date: '2018-12-25T00:00:00.000Z',
90
+ modified_date: '2018-12-26T00:00:00.000Z',
91
+ data: { key: 'value' },
92
+ };
93
+ mockedAxiosClient.get.mockResolvedValueOnce(mockArtifactUploadUrlResponse);
94
+ mockedAxiosClient.post.mockResolvedValue((0, test_helpers_1.createAxiosResponse)());
95
+ // Act
96
+ const result = await uploader.upload(itemType, fetchedObject);
97
+ // Assert
98
+ const createdTs = '2018-12-25T00:00:00.000Z';
99
+ const modifiedTs = '2018-12-26T00:00:00.000Z';
100
+ expect((_a = result.artifact) === null || _a === void 0 ? void 0 : _a.oldest_created_date).toBe(createdTs);
101
+ expect((_b = result.artifact) === null || _b === void 0 ? void 0 : _b.newest_created_date).toBe(createdTs);
102
+ expect((_c = result.artifact) === null || _c === void 0 ? void 0 : _c.oldest_modified_date).toBe(modifiedTs);
103
+ expect((_d = result.artifact) === null || _d === void 0 ? void 0 : _d.newest_modified_date).toBe(modifiedTs);
104
+ });
54
105
  it('should report item_count as 1 when uploading single object', async () => {
55
106
  var _a;
56
107
  // Arrange
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrev/ts-adaas",
3
- "version": "1.19.8",
3
+ "version": "1.19.9-beta.0",
4
4
  "description": "Typescript library containing the ADaaS(AirDrop as a Service) control protocol.",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",