@devrev/airsync-sdk 2.0.0-beta.2 → 2.0.0-beta.4
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/README.md +5 -11
- package/dist/attachments-streaming/attachments-streaming-pool.d.ts +1 -8
- package/dist/attachments-streaming/attachments-streaming-pool.d.ts.map +1 -1
- package/dist/attachments-streaming/attachments-streaming-pool.interfaces.d.ts +4 -3
- package/dist/attachments-streaming/attachments-streaming-pool.interfaces.d.ts.map +1 -1
- package/dist/attachments-streaming/attachments-streaming-pool.js +11 -39
- package/dist/common/constants.d.ts +1 -0
- package/dist/common/constants.d.ts.map +1 -1
- package/dist/common/constants.js +2 -1
- package/dist/common/helpers.d.ts +0 -14
- package/dist/common/helpers.d.ts.map +1 -1
- package/dist/common/helpers.js +0 -36
- package/dist/http/{axios-client-internal.d.ts → client.d.ts} +1 -1
- package/dist/http/client.d.ts.map +1 -0
- package/dist/index.d.ts +25 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -30
- package/dist/logger/logger.d.ts +14 -0
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +55 -8
- package/dist/mappers/mappers.d.ts +9 -10
- package/dist/mappers/mappers.d.ts.map +1 -1
- package/dist/mappers/{mappers.interface.d.ts → mappers.interfaces.d.ts} +5 -5
- package/dist/mappers/mappers.interfaces.d.ts.map +1 -0
- package/dist/mappers/{mappers.interface.js → mappers.interfaces.js} +3 -3
- package/dist/mappers/mappers.js +13 -9
- package/dist/multithreading/adapters/base-adapter.d.ts +71 -0
- package/dist/multithreading/adapters/base-adapter.d.ts.map +1 -0
- package/dist/multithreading/adapters/base-adapter.js +138 -0
- package/dist/multithreading/adapters/extraction-adapter.d.ts +57 -0
- package/dist/multithreading/adapters/extraction-adapter.d.ts.map +1 -0
- package/dist/multithreading/adapters/extraction-adapter.js +323 -0
- package/dist/multithreading/adapters/loading-adapter.d.ts +44 -0
- package/dist/multithreading/adapters/loading-adapter.d.ts.map +1 -0
- package/dist/multithreading/{worker-adapter/worker-adapter.helpers.d.ts → adapters/loading-adapter.helpers.d.ts} +1 -1
- package/dist/multithreading/adapters/loading-adapter.helpers.d.ts.map +1 -0
- package/dist/multithreading/adapters/loading-adapter.js +431 -0
- package/dist/{common/control-protocol.d.ts → multithreading/emit.d.ts} +1 -1
- package/dist/multithreading/emit.d.ts.map +1 -0
- package/dist/{common/control-protocol.js → multithreading/emit.js} +3 -3
- package/dist/multithreading/process-task.d.ts +16 -1
- package/dist/multithreading/process-task.d.ts.map +1 -1
- package/dist/multithreading/process-task.js +115 -50
- package/dist/multithreading/spawn/spawn.helpers.d.ts +23 -3
- package/dist/multithreading/spawn/spawn.helpers.d.ts.map +1 -1
- package/dist/multithreading/spawn/spawn.helpers.js +152 -2
- package/dist/multithreading/spawn/spawn.js +7 -7
- package/dist/multithreading/worker.js +1 -2
- package/dist/repo/repo.js +2 -2
- package/dist/state/base-state.d.ts +75 -0
- package/dist/state/base-state.d.ts.map +1 -0
- package/dist/state/base-state.js +261 -0
- package/dist/state/extraction-state.d.ts +29 -0
- package/dist/state/extraction-state.d.ts.map +1 -0
- package/dist/state/extraction-state.js +122 -0
- package/dist/state/install-initial-domain-mapping.d.ts.map +1 -0
- package/dist/{common → state}/install-initial-domain-mapping.js +4 -4
- package/dist/state/loading-state.d.ts +18 -0
- package/dist/state/loading-state.d.ts.map +1 -0
- package/dist/state/loading-state.js +39 -0
- package/dist/state/state.d.ts +3 -35
- package/dist/state/state.d.ts.map +1 -1
- package/dist/state/state.interfaces.d.ts +20 -3
- package/dist/state/state.interfaces.d.ts.map +1 -1
- package/dist/state/state.interfaces.js +19 -1
- package/dist/state/state.js +9 -263
- package/dist/{common → state}/time-value-resolver.d.ts +4 -5
- package/dist/state/time-value-resolver.d.ts.map +1 -0
- package/dist/{common → state}/time-value-resolver.js +9 -8
- package/dist/{common/test-utils.d.ts → testing/mock-event.d.ts} +1 -2
- package/dist/testing/mock-event.d.ts.map +1 -0
- package/dist/{common/test-utils.js → testing/mock-event.js} +14 -3
- package/dist/{mock-server → testing}/mock-server.d.ts +5 -0
- package/dist/testing/mock-server.d.ts.map +1 -0
- package/dist/testing/mock-server.interfaces.d.ts.map +1 -0
- package/dist/{mock-server → testing}/mock-server.js +6 -1
- package/dist/types/errors.d.ts +9 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/extraction.d.ts +73 -18
- package/dist/types/extraction.d.ts.map +1 -1
- package/dist/types/extraction.js +4 -6
- package/dist/types/loading.d.ts +1 -2
- package/dist/types/loading.d.ts.map +1 -1
- package/dist/types/loading.js +0 -1
- package/dist/types/workers.d.ts +64 -20
- package/dist/types/workers.d.ts.map +1 -1
- package/dist/uploader/uploader.d.ts +5 -4
- package/dist/uploader/uploader.d.ts.map +1 -1
- package/dist/uploader/uploader.interfaces.d.ts +1 -1
- package/dist/uploader/uploader.js +10 -10
- package/package.json +3 -3
- package/dist/airsync-sdk.d.ts +0 -1802
- package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts +0 -2
- package/dist/attachments-streaming/attachments-streaming-pool.test.d.ts.map +0 -1
- package/dist/attachments-streaming/attachments-streaming-pool.test.js +0 -516
- package/dist/common/control-protocol.d.ts.map +0 -1
- package/dist/common/errors.d.ts +0 -6
- package/dist/common/errors.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.test.d.ts +0 -2
- package/dist/common/install-initial-domain-mapping.test.d.ts.map +0 -1
- package/dist/common/install-initial-domain-mapping.test.js +0 -211
- package/dist/common/test-utils.d.ts.map +0 -1
- package/dist/common/time-value-resolver.d.ts.map +0 -1
- package/dist/common/time-value-resolver.test.d.ts +0 -2
- package/dist/common/time-value-resolver.test.d.ts.map +0 -1
- package/dist/common/time-value-resolver.test.js +0 -268
- package/dist/http/axios-client-internal.d.ts.map +0 -1
- package/dist/http/axios-client-internal.test.d.ts +0 -2
- package/dist/http/axios-client-internal.test.d.ts.map +0 -1
- package/dist/http/axios-client-internal.test.js +0 -175
- package/dist/http/axios-client.d.ts +0 -27
- package/dist/http/axios-client.d.ts.map +0 -1
- package/dist/http/axios-client.js +0 -60
- package/dist/http/constants.d.ts +0 -4
- package/dist/http/constants.d.ts.map +0 -1
- package/dist/http/constants.js +0 -6
- package/dist/http/index.d.ts +0 -2
- package/dist/http/index.d.ts.map +0 -1
- package/dist/http/index.js +0 -17
- package/dist/logger/logger.constants.d.ts +0 -6
- package/dist/logger/logger.constants.d.ts.map +0 -1
- package/dist/logger/logger.constants.js +0 -13
- package/dist/logger/logger.context.d.ts +0 -58
- package/dist/logger/logger.context.d.ts.map +0 -1
- package/dist/logger/logger.context.js +0 -86
- package/dist/logger/logger.test.d.ts +0 -2
- package/dist/logger/logger.test.d.ts.map +0 -1
- package/dist/logger/logger.test.js +0 -537
- package/dist/mappers/mappers.interface.d.ts.map +0 -1
- package/dist/mappers/mappers.test.d.ts +0 -2
- package/dist/mappers/mappers.test.d.ts.map +0 -1
- package/dist/mappers/mappers.test.js +0 -105
- package/dist/mock-server/mock-server.d.ts.map +0 -1
- package/dist/mock-server/mock-server.interfaces.d.ts.map +0 -1
- package/dist/multithreading/create-worker.test.d.ts +0 -2
- package/dist/multithreading/create-worker.test.d.ts.map +0 -1
- package/dist/multithreading/create-worker.test.js +0 -108
- package/dist/multithreading/process-task.test.d.ts +0 -2
- package/dist/multithreading/process-task.test.d.ts.map +0 -1
- package/dist/multithreading/process-task.test.js +0 -146
- package/dist/multithreading/spawn/spawn.helpers.test.d.ts +0 -2
- package/dist/multithreading/spawn/spawn.helpers.test.d.ts.map +0 -1
- package/dist/multithreading/spawn/spawn.helpers.test.js +0 -293
- package/dist/multithreading/spawn/spawn.test.d.ts +0 -2
- package/dist/multithreading/spawn/spawn.test.d.ts.map +0 -1
- package/dist/multithreading/spawn/spawn.test.js +0 -232
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +0 -175
- package/dist/multithreading/worker-adapter/worker-adapter.d.ts +0 -97
- package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.emit.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.emit.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.emit.test.js +0 -390
- package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.js +0 -799
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.helpers.test.js +0 -514
- package/dist/multithreading/worker-adapter/worker-adapter.js +0 -846
- package/dist/multithreading/worker-adapter/worker-adapter.loading.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.loading.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.loading.test.js +0 -596
- package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.d.ts +0 -2
- package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.d.ts.map +0 -1
- package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.js +0 -71
- package/dist/repo/repo.test.d.ts +0 -2
- package/dist/repo/repo.test.d.ts.map +0 -1
- package/dist/repo/repo.test.js +0 -184
- package/dist/state/state.extract-window.test.d.ts +0 -2
- package/dist/state/state.extract-window.test.d.ts.map +0 -1
- package/dist/state/state.extract-window.test.js +0 -163
- package/dist/state/state.pending-boundaries.test.d.ts +0 -2
- package/dist/state/state.pending-boundaries.test.d.ts.map +0 -1
- package/dist/state/state.pending-boundaries.test.js +0 -189
- package/dist/state/state.post-state.test.d.ts +0 -2
- package/dist/state/state.post-state.test.d.ts.map +0 -1
- package/dist/state/state.post-state.test.js +0 -77
- package/dist/state/state.test.d.ts +0 -2
- package/dist/state/state.test.d.ts.map +0 -1
- package/dist/state/state.test.js +0 -268
- package/dist/state/state.time-value-resolution.test.d.ts +0 -2
- package/dist/state/state.time-value-resolution.test.d.ts.map +0 -1
- package/dist/state/state.time-value-resolution.test.js +0 -175
- package/dist/tsdoc-metadata.json +0 -11
- package/dist/types/extraction.test.d.ts +0 -2
- package/dist/types/extraction.test.d.ts.map +0 -1
- package/dist/types/extraction.test.js +0 -96
- package/dist/types/index.d.ts +0 -11
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -21
- package/dist/uploader/uploader.helpers.test.d.ts +0 -2
- package/dist/uploader/uploader.helpers.test.d.ts.map +0 -1
- package/dist/uploader/uploader.helpers.test.js +0 -256
- package/dist/uploader/uploader.test.d.ts +0 -2
- package/dist/uploader/uploader.test.d.ts.map +0 -1
- package/dist/uploader/uploader.test.js +0 -601
- /package/dist/http/{axios-client-internal.js → client.js} +0 -0
- /package/dist/multithreading/{worker-adapter/worker-adapter.helpers.js → adapters/loading-adapter.helpers.js} +0 -0
- /package/dist/{common → state}/install-initial-domain-mapping.d.ts +0 -0
- /package/dist/{mock-server → testing}/mock-server.interfaces.d.ts +0 -0
- /package/dist/{mock-server → testing}/mock-server.interfaces.js +0 -0
- /package/dist/{common → types}/errors.js +0 -0
package/dist/state/state.js
CHANGED
|
@@ -1,265 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const common_1 = require("../types/common");
|
|
16
|
-
const extraction_1 = require("../types/extraction");
|
|
17
|
-
const workers_1 = require("../types/workers");
|
|
18
|
-
const state_interfaces_1 = require("./state.interfaces");
|
|
19
|
-
async function createAdapterState({ event, initialState, initialDomainMapping, options, }) {
|
|
20
|
-
// Deep clone the initial state to avoid mutating the original state
|
|
21
|
-
const deepCloneInitialState = structuredClone(initialState);
|
|
22
|
-
const as = new State({
|
|
23
|
-
event,
|
|
24
|
-
initialState: deepCloneInitialState,
|
|
25
|
-
initialDomainMapping,
|
|
26
|
-
options,
|
|
27
|
-
});
|
|
28
|
-
if (!constants_1.STATELESS_EVENT_TYPES.includes(event.payload.event_type)) {
|
|
29
|
-
await as.init(deepCloneInitialState);
|
|
30
|
-
// Check if IDM needs to be updated
|
|
31
|
-
const snapInVersionId = event.context.snap_in_version_id;
|
|
32
|
-
const hasSnapInVersionInState = 'snapInVersionId' in as.state;
|
|
33
|
-
const shouldUpdateIDM = !hasSnapInVersionInState || as.state.snapInVersionId !== snapInVersionId;
|
|
34
|
-
if (!shouldUpdateIDM) {
|
|
35
|
-
console.log(`Snap-in version in state matches the version in event context "${snapInVersionId}". Skipping initial domain mapping installation.`);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
try {
|
|
39
|
-
console.log(`Snap-in version in state "${as.state.snapInVersionId}" does not match the version in event context "${snapInVersionId}". Installing initial domain mapping.`);
|
|
40
|
-
if (initialDomainMapping) {
|
|
41
|
-
await (0, install_initial_domain_mapping_1.installInitialDomainMapping)(event, initialDomainMapping);
|
|
42
|
-
as.state.snapInVersionId = snapInVersionId;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
throw new Error('No initial domain mapping was passed to spawn function. Skipping initial domain mapping installation.');
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
const errorMessage = `Error while installing initial domain mapping. ${(0, logger_1.serializeError)(error)}`;
|
|
50
|
-
console.error(errorMessage);
|
|
51
|
-
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
52
|
-
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
53
|
-
payload: { message: errorMessage },
|
|
54
|
-
});
|
|
55
|
-
process.exit(1);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
// Resolve extraction timestamps from TimeValue objects, or reuse pending values from a prior invocation.
|
|
59
|
-
// On StartExtractingMetadata: resolve fresh from TimeValue objects and store in pending state (always overwrite).
|
|
60
|
-
// On all other events: reuse the pending values cached during StartExtractingMetadata.
|
|
61
|
-
const eventContext = event.payload.event_context;
|
|
62
|
-
if (event.payload.event_type === extraction_1.EventType.StartExtractingMetadata) {
|
|
63
|
-
const timeFields = [
|
|
64
|
-
{
|
|
65
|
-
source: 'extraction_start_time',
|
|
66
|
-
target: 'extract_from',
|
|
67
|
-
pending: 'pendingWorkersOldest',
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
source: 'extraction_end_time',
|
|
71
|
-
target: 'extract_to',
|
|
72
|
-
pending: 'pendingWorkersNewest',
|
|
73
|
-
},
|
|
74
|
-
];
|
|
75
|
-
for (const { source, target, pending } of timeFields) {
|
|
76
|
-
const timeValue = eventContext[source];
|
|
77
|
-
if (timeValue && timeValue.type) {
|
|
78
|
-
try {
|
|
79
|
-
const resolved = (0, time_value_resolver_1.resolveTimeValue)(timeValue, as.state);
|
|
80
|
-
eventContext[target] = resolved;
|
|
81
|
-
as.state[pending] = resolved;
|
|
82
|
-
console.log(`Resolved ${target} to ${resolved}. Stored in ${pending}.`);
|
|
83
|
-
}
|
|
84
|
-
catch (error) {
|
|
85
|
-
const errorMessage = `Failed to resolve ${source}: ${(0, logger_1.serializeError)(error)}`;
|
|
86
|
-
console.error(errorMessage);
|
|
87
|
-
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
88
|
-
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
89
|
-
payload: { message: errorMessage },
|
|
90
|
-
});
|
|
91
|
-
process.exit(1);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
// Non-StartExtractingMetadata events: reuse pending values from state
|
|
98
|
-
if (as.state.pendingWorkersOldest) {
|
|
99
|
-
eventContext.extract_from = as.state.pendingWorkersOldest;
|
|
100
|
-
console.log(`Reusing pendingWorkersOldest as extract_from: ${as.state.pendingWorkersOldest}.`);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
console.log('pendingWorkersOldest is not set in state. extract_from will not be populated for this invocation.');
|
|
104
|
-
}
|
|
105
|
-
if (as.state.pendingWorkersNewest) {
|
|
106
|
-
eventContext.extract_to = as.state.pendingWorkersNewest;
|
|
107
|
-
console.log(`Reusing pendingWorkersNewest as extract_to: ${as.state.pendingWorkersNewest}.`);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
console.log('pendingWorkersNewest is not set in state. extract_to will not be populated for this invocation.');
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
// Validate that extract_from is before extract_to
|
|
114
|
-
if (eventContext.extract_from && eventContext.extract_to) {
|
|
115
|
-
if (eventContext.extract_from >= eventContext.extract_to) {
|
|
116
|
-
const errorMessage = `Invalid extraction window: extract_from (${eventContext.extract_from}) must be older than extract_to (${eventContext.extract_to}). This indicates an error in the platform.`;
|
|
117
|
-
console.error(errorMessage);
|
|
118
|
-
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
119
|
-
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
120
|
-
payload: { message: errorMessage },
|
|
121
|
-
});
|
|
122
|
-
process.exit(1);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return as;
|
|
127
|
-
}
|
|
128
|
-
class State {
|
|
129
|
-
constructor({ event, initialState }) {
|
|
130
|
-
this._extractionScope = {};
|
|
131
|
-
this.initialSdkState =
|
|
132
|
-
event.payload.event_context.mode === common_1.SyncMode.LOADING
|
|
133
|
-
? state_interfaces_1.loadingSdkState
|
|
134
|
-
: state_interfaces_1.extractionSdkState;
|
|
135
|
-
this._state = Object.assign(Object.assign({}, initialState), this.initialSdkState);
|
|
136
|
-
this.workerUrl = event.payload.event_context.worker_data_url;
|
|
137
|
-
this.devrevToken = event.context.secrets.service_account_token;
|
|
138
|
-
this.syncUnitId = event.payload.event_context.sync_unit_id;
|
|
139
|
-
this.requestId = event.payload.event_context.request_id_adaas;
|
|
140
|
-
}
|
|
141
|
-
get state() {
|
|
142
|
-
return this._state;
|
|
143
|
-
}
|
|
144
|
-
set state(value) {
|
|
145
|
-
this._state = value;
|
|
146
|
-
}
|
|
147
|
-
get extractionScope() {
|
|
148
|
-
return this._extractionScope;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Initializes the state for this adapter instance by fetching from API
|
|
152
|
-
* or creating an initial state if none exists (404).
|
|
153
|
-
* @param initialState The initial connector state provided by the spawn function
|
|
154
|
-
*/
|
|
155
|
-
async init(initialState) {
|
|
156
|
-
var _a;
|
|
157
|
-
try {
|
|
158
|
-
const { state: stringifiedState, objects } = await this.fetchState();
|
|
159
|
-
if (!stringifiedState) {
|
|
160
|
-
throw new Error('No state found in response.');
|
|
161
|
-
}
|
|
162
|
-
let parsedState;
|
|
163
|
-
try {
|
|
164
|
-
parsedState = JSON.parse(stringifiedState);
|
|
165
|
-
}
|
|
166
|
-
catch (error) {
|
|
167
|
-
throw new Error(`Failed to parse state. ${error}`);
|
|
168
|
-
}
|
|
169
|
-
this.state = parsedState;
|
|
170
|
-
console.log('State fetched successfully. Current state', (0, logger_1.getPrintableState)(this.state));
|
|
171
|
-
if (objects) {
|
|
172
|
-
try {
|
|
173
|
-
this._extractionScope = JSON.parse(objects);
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
console.warn(`Failed to parse extractionScope. ${error}`);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
catch (error) {
|
|
181
|
-
if (axios_1.default.isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
|
|
182
|
-
console.log('State not found. Initializing state with initial state.');
|
|
183
|
-
const initialAdapterState = Object.assign(Object.assign({}, initialState), this.initialSdkState);
|
|
184
|
-
this.state = initialAdapterState;
|
|
185
|
-
await this.postState(initialAdapterState);
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
const errorMessage = `Failed to init state. ${(0, logger_1.serializeError)(error)}`;
|
|
189
|
-
console.error(errorMessage);
|
|
190
|
-
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
191
|
-
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
192
|
-
payload: { message: errorMessage },
|
|
193
|
-
});
|
|
194
|
-
process.exit(1);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Updates the state of the adapter by posting to API.
|
|
200
|
-
* @param {object} state - The state to be updated
|
|
201
|
-
*/
|
|
202
|
-
async postState(state) {
|
|
203
|
-
const url = this.workerUrl + '.update';
|
|
204
|
-
this.state = state || this.state;
|
|
205
|
-
let stringifiedState;
|
|
206
|
-
try {
|
|
207
|
-
stringifiedState = JSON.stringify(this.state);
|
|
208
|
-
}
|
|
209
|
-
catch (error) {
|
|
210
|
-
const errorMessage = `Failed to stringify state. ${(0, logger_1.serializeError)(error)}`;
|
|
211
|
-
console.error(errorMessage);
|
|
212
|
-
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
213
|
-
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
214
|
-
payload: { message: errorMessage },
|
|
215
|
-
});
|
|
216
|
-
process.exit(1);
|
|
217
|
-
}
|
|
218
|
-
try {
|
|
219
|
-
await axios_client_internal_1.axiosClient.post(url, {
|
|
220
|
-
state: stringifiedState,
|
|
221
|
-
}, {
|
|
222
|
-
headers: {
|
|
223
|
-
Authorization: this.devrevToken,
|
|
224
|
-
},
|
|
225
|
-
params: {
|
|
226
|
-
sync_unit: this.syncUnitId,
|
|
227
|
-
request_id: this.requestId,
|
|
228
|
-
},
|
|
229
|
-
});
|
|
230
|
-
console.log('State updated successfully to', (0, logger_1.getPrintableState)(this.state));
|
|
231
|
-
}
|
|
232
|
-
catch (error) {
|
|
233
|
-
const errorMessage = `Failed to update the state. ${(0, logger_1.serializeError)(error)}`;
|
|
234
|
-
console.error(errorMessage);
|
|
235
|
-
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
|
|
236
|
-
subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
|
|
237
|
-
payload: { message: errorMessage },
|
|
238
|
-
});
|
|
239
|
-
process.exit(1);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Fetches the state of the adapter from API.
|
|
244
|
-
* @return The raw state data from API
|
|
245
|
-
*/
|
|
246
|
-
async fetchState() {
|
|
247
|
-
var _a, _b;
|
|
248
|
-
console.log(`Fetching state with sync unit id ${this.syncUnitId} and request id ${this.requestId}.`);
|
|
249
|
-
const url = this.workerUrl + '.get';
|
|
250
|
-
const response = await axios_client_internal_1.axiosClient.get(url, {
|
|
251
|
-
headers: {
|
|
252
|
-
Authorization: this.devrevToken,
|
|
253
|
-
},
|
|
254
|
-
params: {
|
|
255
|
-
sync_unit: this.syncUnitId,
|
|
256
|
-
request_id: this.requestId,
|
|
257
|
-
},
|
|
258
|
-
});
|
|
259
|
-
return {
|
|
260
|
-
state: (_a = response.data) === null || _a === void 0 ? void 0 : _a.state,
|
|
261
|
-
objects: (_b = response.data) === null || _b === void 0 ? void 0 : _b.objects,
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
exports.State = State;
|
|
3
|
+
exports.createLoadingState = exports.LoadingState = exports.createExtractionState = exports.ExtractionState = exports.BaseState = void 0;
|
|
4
|
+
var base_state_1 = require("./base-state");
|
|
5
|
+
Object.defineProperty(exports, "BaseState", { enumerable: true, get: function () { return base_state_1.BaseState; } });
|
|
6
|
+
var extraction_state_1 = require("./extraction-state");
|
|
7
|
+
Object.defineProperty(exports, "ExtractionState", { enumerable: true, get: function () { return extraction_state_1.ExtractionState; } });
|
|
8
|
+
Object.defineProperty(exports, "createExtractionState", { enumerable: true, get: function () { return extraction_state_1.createExtractionState; } });
|
|
9
|
+
var loading_state_1 = require("./loading-state");
|
|
10
|
+
Object.defineProperty(exports, "LoadingState", { enumerable: true, get: function () { return loading_state_1.LoadingState; } });
|
|
11
|
+
Object.defineProperty(exports, "createLoadingState", { enumerable: true, get: function () { return loading_state_1.createLoadingState; } });
|
|
@@ -32,16 +32,15 @@ export declare function applyDuration(baseTimestamp: string, duration: string, o
|
|
|
32
32
|
* - ABSOLUTE: Returns the value directly (must be an ISO 8601 timestamp)
|
|
33
33
|
* - NOW: Returns the current time as ISO 8601
|
|
34
34
|
* - UNBOUNDED: Returns UNBOUNDED_DATE_TIME_VALUE ('1970-01-01T00:00:00.000Z')
|
|
35
|
-
* - WORKERS_OLDEST: Returns workersOldest from state, or
|
|
36
|
-
* - WORKERS_NEWEST: Returns workersNewest from state, or
|
|
37
|
-
* - WORKERS_OLDEST_MINUS_WINDOW: Subtracts duration from workersOldest, or
|
|
38
|
-
* - WORKERS_NEWEST_PLUS_WINDOW: Adds duration to workersNewest, or
|
|
35
|
+
* - WORKERS_OLDEST: Returns workersOldest from state, or UNBOUNDED if not set
|
|
36
|
+
* - WORKERS_NEWEST: Returns workersNewest from state, or UNBOUNDED if not set
|
|
37
|
+
* - WORKERS_OLDEST_MINUS_WINDOW: Subtracts duration from workersOldest, or UNBOUNDED if not set
|
|
38
|
+
* - WORKERS_NEWEST_PLUS_WINDOW: Adds duration to workersNewest, or UNBOUNDED if not set
|
|
39
39
|
*
|
|
40
40
|
* @param timeValue - The TimeValue to resolve
|
|
41
41
|
* @param state - The current SDK state containing workersOldest and workersNewest
|
|
42
42
|
* @returns Resolved ISO 8601 timestamp string
|
|
43
43
|
* @throws Error if required TimeValue.value is missing for ABSOLUTE or *_WINDOW types
|
|
44
|
-
* @throws Error if workersOldest/workersNewest is not set in state for WORKERS_* types
|
|
45
44
|
*/
|
|
46
45
|
export declare function resolveTimeValue(timeValue: TimeValue, state: SdkState): string;
|
|
47
46
|
//# sourceMappingURL=time-value-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-value-resolver.d.ts","sourceRoot":"","sources":["../../src/state/time-value-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;CAChB,CAcA;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,KAAK,GAAG,UAAU,GAC5B,MAAM,CA6BR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,QAAQ,GACd,MAAM,CAyER"}
|
|
@@ -4,7 +4,7 @@ exports.parseDuration = parseDuration;
|
|
|
4
4
|
exports.applyDuration = applyDuration;
|
|
5
5
|
exports.resolveTimeValue = resolveTimeValue;
|
|
6
6
|
const extraction_1 = require("../types/extraction");
|
|
7
|
-
const constants_1 = require("
|
|
7
|
+
const constants_1 = require("../common/constants");
|
|
8
8
|
/**
|
|
9
9
|
* Parses a shorthand duration string into its numeric value and unit.
|
|
10
10
|
* Supported units:
|
|
@@ -71,16 +71,15 @@ function applyDuration(baseTimestamp, duration, operation) {
|
|
|
71
71
|
* - ABSOLUTE: Returns the value directly (must be an ISO 8601 timestamp)
|
|
72
72
|
* - NOW: Returns the current time as ISO 8601
|
|
73
73
|
* - UNBOUNDED: Returns UNBOUNDED_DATE_TIME_VALUE ('1970-01-01T00:00:00.000Z')
|
|
74
|
-
* - WORKERS_OLDEST: Returns workersOldest from state, or
|
|
75
|
-
* - WORKERS_NEWEST: Returns workersNewest from state, or
|
|
76
|
-
* - WORKERS_OLDEST_MINUS_WINDOW: Subtracts duration from workersOldest, or
|
|
77
|
-
* - WORKERS_NEWEST_PLUS_WINDOW: Adds duration to workersNewest, or
|
|
74
|
+
* - WORKERS_OLDEST: Returns workersOldest from state, or UNBOUNDED if not set
|
|
75
|
+
* - WORKERS_NEWEST: Returns workersNewest from state, or UNBOUNDED if not set
|
|
76
|
+
* - WORKERS_OLDEST_MINUS_WINDOW: Subtracts duration from workersOldest, or UNBOUNDED if not set
|
|
77
|
+
* - WORKERS_NEWEST_PLUS_WINDOW: Adds duration to workersNewest, or UNBOUNDED if not set
|
|
78
78
|
*
|
|
79
79
|
* @param timeValue - The TimeValue to resolve
|
|
80
80
|
* @param state - The current SDK state containing workersOldest and workersNewest
|
|
81
81
|
* @returns Resolved ISO 8601 timestamp string
|
|
82
82
|
* @throws Error if required TimeValue.value is missing for ABSOLUTE or *_WINDOW types
|
|
83
|
-
* @throws Error if workersOldest/workersNewest is not set in state for WORKERS_* types
|
|
84
83
|
*/
|
|
85
84
|
function resolveTimeValue(timeValue, state) {
|
|
86
85
|
switch (timeValue.type) {
|
|
@@ -111,7 +110,8 @@ function resolveTimeValue(timeValue, state) {
|
|
|
111
110
|
}
|
|
112
111
|
case extraction_1.TimeValueType.WORKERS_NEWEST: {
|
|
113
112
|
if (!state.workersNewest) {
|
|
114
|
-
|
|
113
|
+
// To support backwards-compatibility for the old state
|
|
114
|
+
return constants_1.UNBOUNDED_DATE_TIME_VALUE;
|
|
115
115
|
}
|
|
116
116
|
return state.workersNewest;
|
|
117
117
|
}
|
|
@@ -130,7 +130,8 @@ function resolveTimeValue(timeValue, state) {
|
|
|
130
130
|
throw new Error("TimeValue of type WORKERS_NEWEST_PLUS_WINDOW must have a value (duration, e.g. '30s', '5m', '2h').");
|
|
131
131
|
}
|
|
132
132
|
if (!state.workersNewest) {
|
|
133
|
-
|
|
133
|
+
// To support backwards-compatibility for the old state
|
|
134
|
+
return constants_1.UNBOUNDED_DATE_TIME_VALUE;
|
|
134
135
|
}
|
|
135
136
|
return applyDuration(state.workersNewest, timeValue.value, 'add');
|
|
136
137
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AirSyncEvent } from '../types/extraction';
|
|
2
|
-
export declare const MOCK_SERVER_DEFAULT_URL = "http://localhost:0";
|
|
3
2
|
/**
|
|
4
3
|
* Recursively makes all properties of T optional.
|
|
5
4
|
*/
|
|
@@ -16,4 +15,4 @@ export type DeepPartial<T> = {
|
|
|
16
15
|
* deep-merged on top of the defaults.
|
|
17
16
|
*/
|
|
18
17
|
export declare function createMockEvent(mockServerUrl?: string, overrides?: DeepPartial<AirSyncEvent>): AirSyncEvent;
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=mock-event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-event.d.ts","sourceRoot":"","sources":["../../src/testing/mock-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAa,MAAM,qBAAqB,CAAC;AAI9D;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAoCF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,aAAa,GAAE,MAAgC,EAC/C,SAAS,GAAE,WAAW,CAAC,YAAY,CAAM,GACxC,YAAY,CA+Ed"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MOCK_SERVER_DEFAULT_URL = void 0;
|
|
4
3
|
exports.createMockEvent = createMockEvent;
|
|
5
4
|
const extraction_1 = require("../types/extraction");
|
|
6
|
-
|
|
5
|
+
const mock_server_1 = require("./mock-server");
|
|
7
6
|
/**
|
|
8
7
|
* Deep merges source into target. Arrays and primitives from source replace
|
|
9
8
|
* those in target; plain objects are merged recursively.
|
|
@@ -36,7 +35,7 @@ function deepMerge(target, source) {
|
|
|
36
35
|
* @param overrides - Deep partial of AirSyncEvent. Any provided fields are
|
|
37
36
|
* deep-merged on top of the defaults.
|
|
38
37
|
*/
|
|
39
|
-
function createMockEvent(mockServerUrl =
|
|
38
|
+
function createMockEvent(mockServerUrl = mock_server_1.MOCK_SERVER_DEFAULT_URL, overrides = {}) {
|
|
40
39
|
var _a, _b, _c, _d;
|
|
41
40
|
const base = {
|
|
42
41
|
context: {
|
|
@@ -45,6 +44,10 @@ function createMockEvent(mockServerUrl = exports.MOCK_SERVER_DEFAULT_URL, overri
|
|
|
45
44
|
},
|
|
46
45
|
snap_in_version_id: 'test_snap_in_version_id',
|
|
47
46
|
snap_in_id: 'test_snap_in_id',
|
|
47
|
+
user_id: 'test_user_id',
|
|
48
|
+
dev_oid: 'test_dev_oid',
|
|
49
|
+
source_id: 'test_source_id',
|
|
50
|
+
service_account_id: 'test_service_account_id',
|
|
48
51
|
},
|
|
49
52
|
payload: {
|
|
50
53
|
connection_data: {
|
|
@@ -55,12 +58,17 @@ function createMockEvent(mockServerUrl = exports.MOCK_SERVER_DEFAULT_URL, overri
|
|
|
55
58
|
},
|
|
56
59
|
event_context: {
|
|
57
60
|
callback_url: `${mockServerUrl}/callback_url`,
|
|
61
|
+
dev_org: 'test_dev_org',
|
|
58
62
|
dev_oid: 'test_dev_oid',
|
|
59
63
|
dev_org_id: 'test_dev_org_id',
|
|
64
|
+
dev_user: 'test_dev_user',
|
|
65
|
+
dev_user_id: 'test_dev_user_id',
|
|
60
66
|
dev_uid: 'test_dev_uid',
|
|
61
67
|
event_type_adaas: 'test_event_type_adaas',
|
|
68
|
+
external_sync_unit: 'test_external_sync_unit',
|
|
62
69
|
external_sync_unit_id: 'test_external_sync_unit_id',
|
|
63
70
|
external_sync_unit_name: 'test_external_sync_unit_name',
|
|
71
|
+
external_system: 'test_external_system',
|
|
64
72
|
external_system_id: 'test_external_system_id',
|
|
65
73
|
external_system_name: 'test_external_system_name',
|
|
66
74
|
external_system_type: 'test_external_system_type',
|
|
@@ -72,9 +80,12 @@ function createMockEvent(mockServerUrl = exports.MOCK_SERVER_DEFAULT_URL, overri
|
|
|
72
80
|
sequence_version: 'test_sequence_version',
|
|
73
81
|
snap_in_slug: 'test_snap_in_slug',
|
|
74
82
|
snap_in_version_id: 'test_snap_in_version_id',
|
|
83
|
+
sync_run: 'test_sync_run',
|
|
84
|
+
sync_run_id: 'test_sync_run_id',
|
|
75
85
|
sync_tier: 'test_sync_tier',
|
|
76
86
|
sync_unit: 'test_sync_unit',
|
|
77
87
|
sync_unit_id: 'test_sync_unit_id',
|
|
88
|
+
uuid: 'test_uuid',
|
|
78
89
|
worker_data_url: `${mockServerUrl}/worker_data_url`,
|
|
79
90
|
},
|
|
80
91
|
event_type: extraction_1.EventType.StartExtractingData,
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { RequestInfo, RouteConfig } from './mock-server.interfaces';
|
|
2
|
+
/**
|
|
3
|
+
* Default base URL for the mock server. The port `0` lets the OS assign a free
|
|
4
|
+
* port at listen time; tests read the resolved URL from `mockServer.baseUrl`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const MOCK_SERVER_DEFAULT_URL = "http://localhost:0";
|
|
2
7
|
/**
|
|
3
8
|
* MockServer used in tests to mock internal AirSync endpoints.
|
|
4
9
|
* This is a simple mock server that listens on a port and responds to requests.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-server.d.ts","sourceRoot":"","sources":["../../src/testing/mock-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,WAAW,EACX,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAuE5D;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAA4B;gBAErC,IAAI,GAAE,MAAiC;IAMtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAkBpB,aAAa;IA+B3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,WAAW;IAInB;;OAEG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAyE1C;;;OAGG;IACI,WAAW,IAAI,IAAI;IAM1B;;OAEG;IACI,cAAc,IAAI,WAAW,GAAG,SAAS;IAOhD;;OAEG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI5D;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE;CAQhE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-server.interfaces.d.ts","sourceRoot":"","sources":["../../src/testing/mock-server.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEvD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,yCAAyC;IACzC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC;IACnD,+BAA+B;IAC/B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,2BAA2B;IAC3B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,6BAA6B;IAC7B,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MockServer = void 0;
|
|
3
|
+
exports.MockServer = exports.MOCK_SERVER_DEFAULT_URL = void 0;
|
|
4
4
|
const http_1 = require("http");
|
|
5
5
|
const mock_server_interfaces_1 = require("./mock-server.interfaces");
|
|
6
|
+
/**
|
|
7
|
+
* Default base URL for the mock server. The port `0` lets the OS assign a free
|
|
8
|
+
* port at listen time; tests read the resolved URL from `mockServer.baseUrl`.
|
|
9
|
+
*/
|
|
10
|
+
exports.MOCK_SERVER_DEFAULT_URL = 'http://localhost:0';
|
|
6
11
|
const MAX_BODY_SIZE = 10 * 1024 * 1024; // 10mb
|
|
7
12
|
/**
|
|
8
13
|
* Parses the JSON body from an incoming request.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const enum ExtractionCommonError {
|
|
2
|
+
EXTERNAL_SYNC_UNIT_DELETED = "ERROR_CODE=EXTERNAL_SYNC_UNIT_DELETED",
|
|
3
|
+
EXTERNAL_SYNC_UNIT_DEACTIVATED = "ERROR_CODE=EXTERNAL_SYNC_UNIT_DEACTIVATED",
|
|
4
|
+
USER_DELETED = "ERROR_CODE=USER_DELETED",
|
|
5
|
+
EXTERNAL_SYSTEM_NO_ACCESS = "ERROR_CODE=EXTERNAL_SYSTEM_NO_ACCESS",
|
|
6
|
+
EXTERNAL_SYSTEM_NO_PERMISSION = "ERROR_CODE=EXTERNAL_SYSTEM_NO_PERMISSION",
|
|
7
|
+
HISTORICAL_DATA_EXTRACTION_DONE = "ERROR_CODE=HISTORICAL_DATA_EXTRACTION_DONE"
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAGA,0BAAkB,qBAAqB;IAIrC,0BAA0B,0CAAgE;IAC1F,8BAA8B,8CAAoE;IAClG,YAAY,4BAAkD;IAG9D,yBAAyB,yCAA+D;IAExF,6BAA6B,6CAAmE;IAEhG,+BAA+B,+CAAqE;CACrG"}
|