airbyte-faros-destination 0.5.15 → 0.5.16
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/lib/common/graphql-client.d.ts +3 -1
- package/lib/common/graphql-client.js +62 -27
- package/lib/common/graphql-client.js.map +1 -1
- package/lib/converters/converter.d.ts +1 -1
- package/lib/converters/faros-feeds/faros_feed.d.ts +0 -2
- package/lib/converters/faros-feeds/faros_feed.js +1 -16
- package/lib/converters/faros-feeds/faros_feed.js.map +1 -1
- package/lib/destination.js +18 -9
- package/lib/destination.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -77,7 +77,9 @@ export declare class GraphQLClient {
|
|
|
77
77
|
private readonly writeBuffer;
|
|
78
78
|
private readonly upsertBuffer;
|
|
79
79
|
private readonly selfReferentModels;
|
|
80
|
-
|
|
80
|
+
private readonly updateResetLimit;
|
|
81
|
+
private resetLimitMillis;
|
|
82
|
+
constructor(logger: AirbyteLogger, schemaLoader: SchemaLoader, backend: GraphQLBackend, upsertBatchSize: any, mutationBatchSize: any, updateResetLimit?: boolean);
|
|
81
83
|
healthCheck(): Promise<void>;
|
|
82
84
|
loadSchema(): Promise<void>;
|
|
83
85
|
private checkSchema;
|
|
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.GraphQLClient = exports.toLevels = exports.groupByKeys = exports.batchIterator = exports.mergeByPrimaryKey = exports.strictPick = exports.serialize = exports.UpsertBuffer = void 0;
|
|
7
7
|
const date_format_1 = __importDefault(require("date-format"));
|
|
8
8
|
const json_to_graphql_query_1 = require("json-to-graphql-query");
|
|
9
|
-
const lodash_1 = require("lodash");
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
const lodash_2 = require("lodash");
|
|
10
11
|
const traverse_1 = __importDefault(require("traverse"));
|
|
11
12
|
const ts_essentials_1 = require("ts-essentials");
|
|
12
13
|
const verror_1 = require("verror");
|
|
@@ -25,7 +26,7 @@ class UpsertBuffer {
|
|
|
25
26
|
}
|
|
26
27
|
size() {
|
|
27
28
|
// the limiting factor is size of a single request
|
|
28
|
-
return Array.from(this.upsertBuffer.values()).reduce((acc, arr) => (0,
|
|
29
|
+
return Array.from(this.upsertBuffer.values()).reduce((acc, arr) => (0, lodash_2.max)([acc, arr.length]), 0);
|
|
29
30
|
}
|
|
30
31
|
pop(model) {
|
|
31
32
|
return this.getInternal(model, true);
|
|
@@ -51,7 +52,7 @@ class UpsertBuffer {
|
|
|
51
52
|
}
|
|
52
53
|
exports.UpsertBuffer = UpsertBuffer;
|
|
53
54
|
function serialize(obj) {
|
|
54
|
-
return (0,
|
|
55
|
+
return (0, lodash_2.keys)(obj)
|
|
55
56
|
.sort()
|
|
56
57
|
.map((k) => `${k}:${obj[k]}`)
|
|
57
58
|
.join('|');
|
|
@@ -61,7 +62,7 @@ exports.serialize = serialize;
|
|
|
61
62
|
* Like lodash pick but with null value replacement.
|
|
62
63
|
*/
|
|
63
64
|
function strictPick(obj, keys, nullValue = 'null') {
|
|
64
|
-
return keys.reduce((result, key) => { var _a; return (0,
|
|
65
|
+
return keys.reduce((result, key) => { var _a; return (0, lodash_2.set)(result, key, (_a = obj[key]) !== null && _a !== void 0 ? _a : nullValue); }, {});
|
|
65
66
|
}
|
|
66
67
|
exports.strictPick = strictPick;
|
|
67
68
|
/**
|
|
@@ -69,7 +70,7 @@ exports.strictPick = strictPick;
|
|
|
69
70
|
* a single object where last-wins for overlapping properties.
|
|
70
71
|
*/
|
|
71
72
|
function mergeByPrimaryKey(objects, primaryKeys) {
|
|
72
|
-
const byPK = (0,
|
|
73
|
+
const byPK = (0, lodash_2.groupBy)(objects, (o) => serialize((0, lodash_2.pick)(o, primaryKeys)));
|
|
73
74
|
return Object.values(byPK).map((arr) => arr.reduce((acc, obj) => ({ ...acc, ...obj }), {}));
|
|
74
75
|
}
|
|
75
76
|
exports.mergeByPrimaryKey = mergeByPrimaryKey;
|
|
@@ -91,7 +92,7 @@ exports.batchIterator = batchIterator;
|
|
|
91
92
|
* that all have the same keys.
|
|
92
93
|
*/
|
|
93
94
|
function groupByKeys(objects) {
|
|
94
|
-
const byObjKeyNames = (0,
|
|
95
|
+
const byObjKeyNames = (0, lodash_2.groupBy)(objects, (obj) => Object.keys(obj).sort().join('|'));
|
|
95
96
|
return Object.values(byObjKeyNames);
|
|
96
97
|
}
|
|
97
98
|
exports.groupByKeys = groupByKeys;
|
|
@@ -100,13 +101,13 @@ exports.groupByKeys = groupByKeys;
|
|
|
100
101
|
* Level 1 depends on Level 0, 2 on 1 and so on.
|
|
101
102
|
*/
|
|
102
103
|
function toLevels(upserts) {
|
|
103
|
-
const withLevel = (0,
|
|
104
|
-
const byLevel = (0,
|
|
104
|
+
const withLevel = (0, lodash_2.flatMap)(upserts, (u) => addLevel(u));
|
|
105
|
+
const byLevel = (0, lodash_2.groupBy)(withLevel, (tuple) => tuple[1]);
|
|
105
106
|
const result = [];
|
|
106
107
|
Object.keys(byLevel)
|
|
107
108
|
.sort()
|
|
108
109
|
.forEach((level) => {
|
|
109
|
-
result.push((0,
|
|
110
|
+
result.push((0, lodash_2.unzip)(byLevel[level])[0]);
|
|
110
111
|
});
|
|
111
112
|
return result;
|
|
112
113
|
}
|
|
@@ -124,7 +125,7 @@ function addLevel(u) {
|
|
|
124
125
|
for (const ancestor of Object.values(u.foreignKeys)) {
|
|
125
126
|
if (ancestor.model === u.model) {
|
|
126
127
|
const ancestorsWithLevels = addLevel(ancestor);
|
|
127
|
-
maxAncestorLevel = (0,
|
|
128
|
+
maxAncestorLevel = (0, lodash_2.max)([ancestorsWithLevels[0][1], maxAncestorLevel]);
|
|
128
129
|
result.push(...ancestorsWithLevels);
|
|
129
130
|
}
|
|
130
131
|
}
|
|
@@ -153,7 +154,7 @@ function addLevel(u) {
|
|
|
153
154
|
* flushed if it reaches capacity. There is no attempt to combine these into bulk mutations (as done w/ upserts).
|
|
154
155
|
*/
|
|
155
156
|
class GraphQLClient {
|
|
156
|
-
constructor(logger, schemaLoader, backend, upsertBatchSize, mutationBatchSize) {
|
|
157
|
+
constructor(logger, schemaLoader, backend, upsertBatchSize, mutationBatchSize, updateResetLimit = true) {
|
|
157
158
|
this.writeBuffer = [];
|
|
158
159
|
this.upsertBuffer = new UpsertBuffer();
|
|
159
160
|
this.selfReferentModels = new Set();
|
|
@@ -164,6 +165,11 @@ class GraphQLClient {
|
|
|
164
165
|
this.mutationBatchSize = mutationBatchSize !== null && mutationBatchSize !== void 0 ? mutationBatchSize : 100;
|
|
165
166
|
(0, ts_essentials_1.assert)(this.upsertBatchSize >= 0, `negative upsert batch size: ${this.upsertBatchSize}`);
|
|
166
167
|
(0, ts_essentials_1.assert)(this.mutationBatchSize > 0, `non-positive mutation batch size: ${this.mutationBatchSize}`);
|
|
168
|
+
this.updateResetLimit = updateResetLimit;
|
|
169
|
+
this.resetLimitMillis = updateResetLimit
|
|
170
|
+
? // January 1, 2200
|
|
171
|
+
7258118400000
|
|
172
|
+
: Date.now();
|
|
167
173
|
}
|
|
168
174
|
async healthCheck() {
|
|
169
175
|
try {
|
|
@@ -178,7 +184,7 @@ class GraphQLClient {
|
|
|
178
184
|
// various derivative values of schema
|
|
179
185
|
this.tableNames = new Set(this.schema.tableNames);
|
|
180
186
|
this.tableDependencies = [...this.schema.sortedModelDependencies];
|
|
181
|
-
(0,
|
|
187
|
+
(0, lodash_2.reverse)(this.tableDependencies);
|
|
182
188
|
// self-referent models
|
|
183
189
|
for (const [model, modelRefs] of Object.entries(this.schema.references)) {
|
|
184
190
|
for (const reference of Object.values(modelRefs)) {
|
|
@@ -195,10 +201,15 @@ class GraphQLClient {
|
|
|
195
201
|
}
|
|
196
202
|
async resetData(origin, models) {
|
|
197
203
|
this.checkSchema();
|
|
198
|
-
|
|
204
|
+
// ensure deletes are executed after processing records
|
|
205
|
+
await this.flush();
|
|
206
|
+
const minRefreshedAt = new Date(this.resetLimitMillis).toISOString();
|
|
207
|
+
this.logger.info(`Resetting data before ${minRefreshedAt} for origin ${origin}`);
|
|
208
|
+
for (const model of (0, lodash_2.intersection)(this.schema.sortedModelDependencies, models)) {
|
|
199
209
|
this.logger.info(`Resetting ${model} data for origin ${origin}`);
|
|
200
210
|
const deleteConditions = {
|
|
201
211
|
origin: { _eq: origin },
|
|
212
|
+
refreshedAt: { _lt: minRefreshedAt },
|
|
202
213
|
_not: {
|
|
203
214
|
_or: this.schema.backReferences[model].map((br) => {
|
|
204
215
|
return {
|
|
@@ -219,8 +230,6 @@ class GraphQLClient {
|
|
|
219
230
|
};
|
|
220
231
|
await this.postQuery({ mutation }, `Failed to reset ${model} data for origin ${origin}`);
|
|
221
232
|
}
|
|
222
|
-
// ensure deletes are executed prior processing records
|
|
223
|
-
await this.flush();
|
|
224
233
|
}
|
|
225
234
|
async writeRecord(model, record, origin) {
|
|
226
235
|
this.checkSchema();
|
|
@@ -236,7 +245,7 @@ class GraphQLClient {
|
|
|
236
245
|
else {
|
|
237
246
|
const obj = this.createMutationObject(model, record, origin);
|
|
238
247
|
const mutation = {
|
|
239
|
-
[`insert_${model}_one`]: { __args: obj, id: true },
|
|
248
|
+
[`insert_${model}_one`]: { __args: obj, id: true, refreshedAt: true },
|
|
240
249
|
};
|
|
241
250
|
await this.postQuery({ mutation }, `Failed to write ${model} record`);
|
|
242
251
|
}
|
|
@@ -260,9 +269,9 @@ class GraphQLClient {
|
|
|
260
269
|
// the ids are used as foreign keys by subsequent batches
|
|
261
270
|
// step 1: access array of results
|
|
262
271
|
// will be at path 'opRes.data.insert_<model>.returning'
|
|
263
|
-
const paths = (0,
|
|
272
|
+
const paths = (0, lodash_2.keys)(opRes.data);
|
|
264
273
|
(0, ts_essentials_1.assert)(paths.length === 1, `expected one element in ${paths}`);
|
|
265
|
-
const objects = (0,
|
|
274
|
+
const objects = (0, lodash_2.get)(opRes.data, `${paths[0]}.returning`);
|
|
266
275
|
(0, ts_essentials_1.assert)(Array.isArray(objects), `expected array`);
|
|
267
276
|
for (const obj of objects) {
|
|
268
277
|
// step 2: assign id to all upserts related to this object
|
|
@@ -272,6 +281,10 @@ class GraphQLClient {
|
|
|
272
281
|
(0, ts_essentials_1.assert)(upserts, `failed to resolve upserts for ${model} and ${key}`);
|
|
273
282
|
(0, ts_essentials_1.assert)(obj.id, `failed to resolve id for ${model} and ${JSON.stringify(obj)}`);
|
|
274
283
|
upserts.forEach((u) => (u.id = obj.id));
|
|
284
|
+
if (this.updateResetLimit) {
|
|
285
|
+
const recordRefreshedAtMs = new Date(obj.refreshedAt).getTime();
|
|
286
|
+
this.resetLimitMillis = Math.min(recordRefreshedAtMs, this.resetLimitMillis);
|
|
287
|
+
}
|
|
275
288
|
}
|
|
276
289
|
return {
|
|
277
290
|
model,
|
|
@@ -321,7 +334,7 @@ class GraphQLClient {
|
|
|
321
334
|
async writeUpdateRecord(record) {
|
|
322
335
|
const upsertRec = {
|
|
323
336
|
...record.where,
|
|
324
|
-
...(0,
|
|
337
|
+
...(0, lodash_2.pick)(record.patch, record.mask),
|
|
325
338
|
};
|
|
326
339
|
const obj = this.createMutationObject(record.model, upsertRec, record.origin);
|
|
327
340
|
const mutation = {
|
|
@@ -375,6 +388,27 @@ class GraphQLClient {
|
|
|
375
388
|
}
|
|
376
389
|
}
|
|
377
390
|
else {
|
|
391
|
+
// res.data is expected to have one object with 'id' and 'refreshedAt' for each of the mutations
|
|
392
|
+
// {
|
|
393
|
+
// "m0": {
|
|
394
|
+
// "id": ...,
|
|
395
|
+
// "refreshedAt": ...
|
|
396
|
+
// },
|
|
397
|
+
// "m1": {
|
|
398
|
+
// "id": ...,
|
|
399
|
+
// "refreshedAt": ...
|
|
400
|
+
// },
|
|
401
|
+
// ...
|
|
402
|
+
// }
|
|
403
|
+
if (this.updateResetLimit) {
|
|
404
|
+
for (const mutationRes of Object.values(res.data)) {
|
|
405
|
+
const refreshedAt = lodash_1.default.get(mutationRes, 'refreshedAt');
|
|
406
|
+
if (refreshedAt) {
|
|
407
|
+
const recordRefreshedAtMs = new Date(refreshedAt).getTime();
|
|
408
|
+
this.resetLimitMillis = Math.min(recordRefreshedAtMs, this.resetLimitMillis);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
378
412
|
// truncate the buffer
|
|
379
413
|
this.writeBuffer.splice(0);
|
|
380
414
|
}
|
|
@@ -447,7 +481,7 @@ class GraphQLClient {
|
|
|
447
481
|
}
|
|
448
482
|
else {
|
|
449
483
|
const val = this.formatFieldValue(model, field, value);
|
|
450
|
-
if (!(0,
|
|
484
|
+
if (!(0, lodash_2.isNil)(val))
|
|
451
485
|
obj[field] = val;
|
|
452
486
|
}
|
|
453
487
|
}
|
|
@@ -469,7 +503,7 @@ class GraphQLClient {
|
|
|
469
503
|
}
|
|
470
504
|
else {
|
|
471
505
|
const val = this.formatFieldValue(model, field, value);
|
|
472
|
-
if (!(0,
|
|
506
|
+
if (!(0, lodash_2.isNil)(val))
|
|
473
507
|
object[field] = val;
|
|
474
508
|
}
|
|
475
509
|
}
|
|
@@ -486,18 +520,18 @@ class GraphQLClient {
|
|
|
486
520
|
return upsert;
|
|
487
521
|
}
|
|
488
522
|
objectWithForeignKeys(upsert) {
|
|
489
|
-
if ((0,
|
|
523
|
+
if ((0, lodash_2.isEmpty)(upsert.foreignKeys)) {
|
|
490
524
|
return upsert.object;
|
|
491
525
|
}
|
|
492
526
|
// for each FK, copy id of related upsert to FK field
|
|
493
527
|
// the upsert's id was populated after the associated batch
|
|
494
528
|
// was written in doFlushUpsertBuffer
|
|
495
|
-
const result = (0,
|
|
529
|
+
const result = (0, lodash_2.clone)(upsert.object);
|
|
496
530
|
for (const [relName, fkUpsert] of Object.entries(upsert.foreignKeys)) {
|
|
497
531
|
// foreign key was constructed from schema so the following is safe to access
|
|
498
532
|
const fkField = this.schema.references[upsert.model][relName].foreignKey;
|
|
499
533
|
const fkValue = fkUpsert.id;
|
|
500
|
-
(0, ts_essentials_1.assert)(!(0,
|
|
534
|
+
(0, ts_essentials_1.assert)(!(0, lodash_2.isNil)(fkValue), `failed to resolve fk value for ${relName} from ${JSON.stringify(fkUpsert)}`);
|
|
501
535
|
result[fkField] = fkValue;
|
|
502
536
|
}
|
|
503
537
|
return result;
|
|
@@ -552,6 +586,7 @@ class GraphQLClient {
|
|
|
552
586
|
},
|
|
553
587
|
returning: {
|
|
554
588
|
id: true,
|
|
589
|
+
refreshedAt: true,
|
|
555
590
|
...keysObj,
|
|
556
591
|
},
|
|
557
592
|
},
|
|
@@ -564,7 +599,7 @@ class GraphQLClient {
|
|
|
564
599
|
});
|
|
565
600
|
}
|
|
566
601
|
formatFieldValue(model, field, value) {
|
|
567
|
-
if ((0,
|
|
602
|
+
if ((0, lodash_2.isNil)(value))
|
|
568
603
|
return undefined;
|
|
569
604
|
const type = this.schema.scalars[model][field];
|
|
570
605
|
if (!type) {
|
|
@@ -594,12 +629,12 @@ class GraphQLClient {
|
|
|
594
629
|
createConflictClause(model, nested, updateFieldMask) {
|
|
595
630
|
const updateColumns = nested
|
|
596
631
|
? ['refreshedAt']
|
|
597
|
-
: (0,
|
|
632
|
+
: (0, lodash_2.difference)(Object.keys(this.schema.scalars[model]), this.schema.primaryKeys[model]);
|
|
598
633
|
const filteredUpdateFields = updateFieldMask && !nested
|
|
599
634
|
? updateColumns.filter((c) => updateFieldMask.has(c))
|
|
600
635
|
: updateColumns;
|
|
601
636
|
// if empty, use model keys to ensure queries always return results
|
|
602
|
-
if ((0,
|
|
637
|
+
if ((0, lodash_2.isEmpty)(filteredUpdateFields)) {
|
|
603
638
|
filteredUpdateFields.push(...this.schema.primaryKeys[model]);
|
|
604
639
|
}
|
|
605
640
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-client.js","sourceRoot":"","sources":["../../src/common/graphql-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql-client.js","sourceRoot":"","sources":["../../src/common/graphql-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ export declare class StreamContext {
|
|
|
35
35
|
readonly graph?: string;
|
|
36
36
|
readonly origin?: string;
|
|
37
37
|
readonly farosClient?: FarosClient;
|
|
38
|
-
|
|
38
|
+
resetModels: Set<string>;
|
|
39
39
|
constructor(logger: AirbyteLogger, config: DestinationConfig, streamsSyncMode: Dictionary<DestinationSyncMode>, graph?: string, origin?: string, farosClient?: FarosClient);
|
|
40
40
|
private readonly recordsByStreamName;
|
|
41
41
|
getAll(streamName: string): Dictionary<AirbyteRecord>;
|
|
@@ -4,8 +4,6 @@ export declare class FarosFeed extends Converter {
|
|
|
4
4
|
source: string;
|
|
5
5
|
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
6
|
private schema;
|
|
7
|
-
private resetModels;
|
|
8
|
-
private hasResetModels;
|
|
9
7
|
id(): any;
|
|
10
8
|
convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
11
9
|
}
|
|
@@ -11,14 +11,11 @@ class FarosFeed extends converter_1.Converter {
|
|
|
11
11
|
this.source = 'Faros-Feeds';
|
|
12
12
|
this.destinationModels = model_names_1.ALL_MODEL_NAMES;
|
|
13
13
|
this.schema = undefined;
|
|
14
|
-
this.resetModels = new Set();
|
|
15
|
-
this.hasResetModels = false;
|
|
16
14
|
}
|
|
17
15
|
id() {
|
|
18
16
|
return undefined;
|
|
19
17
|
}
|
|
20
18
|
async convert(record, ctx) {
|
|
21
|
-
var _a;
|
|
22
19
|
if (!this.schema && ctx.farosClient && ctx.graph) {
|
|
23
20
|
this.schema = new faros_js_client_1.FarosGraphSchema(await ctx.farosClient.introspect(ctx.graph));
|
|
24
21
|
}
|
|
@@ -38,22 +35,10 @@ class FarosFeed extends converter_1.Converter {
|
|
|
38
35
|
const [key, value] = Object.entries(rec).pop();
|
|
39
36
|
if (key === 'where' && typeof value == 'string') {
|
|
40
37
|
const [baseModel] = model.split('__', 1);
|
|
41
|
-
|
|
38
|
+
ctx.resetModels.add(baseModel);
|
|
42
39
|
return [];
|
|
43
40
|
}
|
|
44
41
|
}
|
|
45
|
-
else {
|
|
46
|
-
if (!this.hasResetModels && this.resetModels.size > 0) {
|
|
47
|
-
if (ctx.resetData) {
|
|
48
|
-
this.hasResetModels = true;
|
|
49
|
-
await ctx.resetData(Array.from(this.resetModels));
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
// This is okay when dry run is enabled
|
|
53
|
-
(_a = ctx.logger) === null || _a === void 0 ? void 0 : _a.warn(`Ignored full model deletion records for ${Array.from(this.resetModels).join()}`);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
42
|
}
|
|
58
43
|
if (this.schema) {
|
|
59
44
|
this.schema.fixTimestampFields(rec, model);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faros_feed.js","sourceRoot":"","sources":["../../../src/converters/faros-feeds/faros_feed.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAEjD,8CAA2C;AAC3C,4CAKsB;AACtB,+CAA8C;AAE9C,MAAa,SAAU,SAAQ,qBAAS;IAAxC;;QACE,WAAM,GAAG,aAAa,CAAC;QAEd,sBAAiB,GAAoC,6BAAe,CAAC;QAEtE,WAAM,GAAqB,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"faros_feed.js","sourceRoot":"","sources":["../../../src/converters/faros-feeds/faros_feed.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAEjD,8CAA2C;AAC3C,4CAKsB;AACtB,+CAA8C;AAE9C,MAAa,SAAU,SAAQ,qBAAS;IAAxC;;QACE,WAAM,GAAG,aAAa,CAAC;QAEd,sBAAiB,GAAoC,6BAAe,CAAC;QAEtE,WAAM,GAAqB,SAAS,CAAC;IA+C/C,CAAC;IA7CC,EAAE;QACA,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAqB,EACrB,GAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,EAAE;YAChD,IAAI,CAAC,MAAM,GAAG,IAAI,kCAAgB,CAChC,MAAM,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAC5C,CAAC;SACH;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAEhC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAE7C,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QAEhD,IACE,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,KAAK,eAAO,CAAC,SAAS;YACxD,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,KAAK,IAAI,EAC/C;YACA,+BAA+B;YAC/B,+DAA+D;YAC/D,qEAAqE;YACrE,oFAAoF;YACpF,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC/C,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;oBAC/C,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC/B,OAAO,EAAE,CAAC;iBACX;aACF;SACF;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC5C;QAED,OAAO,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;IAChC,CAAC;CACF;AApDD,8BAoDC"}
|
package/lib/destination.js
CHANGED
|
@@ -94,7 +94,7 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
94
94
|
try {
|
|
95
95
|
const backend = new hasura_backend_1.HasuraBackend(config.edition_configs.hasura_url, config.edition_configs.hasura_admin_secret, this.makeHttpAgents(config.keep_alive));
|
|
96
96
|
const schemaLoader = new faros_js_client_1.HasuraSchemaLoader(config.edition_configs.hasura_url, config.edition_configs.hasura_admin_secret);
|
|
97
|
-
this.graphQLClient = new graphql_client_1.GraphQLClient(this.logger, schemaLoader, backend, 0, config.edition_configs.community_graphql_batch_size);
|
|
97
|
+
this.graphQLClient = new graphql_client_1.GraphQLClient(this.logger, schemaLoader, backend, 0, config.edition_configs.community_graphql_batch_size, false);
|
|
98
98
|
}
|
|
99
99
|
catch (e) {
|
|
100
100
|
throw new verror_1.VError(`Failed to initialize Hasura Client. Error: ${e}`);
|
|
@@ -309,14 +309,15 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
309
309
|
const streamContext = new converter_1.StreamContext(this.logger, config, streamsSyncMode, this.farosGraph, origin, this.edition === types_1.Edition.COMMUNITY ? undefined : this.getFarosClient());
|
|
310
310
|
if (dryRunEnabled) {
|
|
311
311
|
this.logger.info("Dry run is ENABLED. Won't write any records");
|
|
312
|
-
|
|
312
|
+
for await (const stateMessage of this.writeEntries(streamContext, stdin, streams, converterDependencies, stats)) {
|
|
313
|
+
latestStateMessage = stateMessage;
|
|
314
|
+
}
|
|
313
315
|
}
|
|
314
316
|
else if (this.graphQLClient) {
|
|
315
317
|
this.logger.info(`Using GraphQLClient for writer`);
|
|
316
318
|
const graphQLClient = this.getGraphQLClient();
|
|
317
319
|
await graphQLClient.loadSchema();
|
|
318
|
-
|
|
319
|
-
streamContext.resetData = (models) => graphQLClient.resetData(origin, models);
|
|
320
|
+
streamContext.resetModels = new Set(deleteModelEntries);
|
|
320
321
|
let originRemapper = undefined;
|
|
321
322
|
if (config.accept_input_records_origin && config.replace_origin_map) {
|
|
322
323
|
const originMap = JSON.parse(config.replace_origin_map);
|
|
@@ -338,7 +339,10 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
338
339
|
},
|
|
339
340
|
}
|
|
340
341
|
: { getOrigin: () => origin }, stats, this);
|
|
341
|
-
|
|
342
|
+
for await (const stateMessage of this.writeEntries(streamContext, stdin, streams, converterDependencies, stats, writer, async () => await graphQLClient.resetData(origin, Array.from(streamContext.resetModels)))) {
|
|
343
|
+
await graphQLClient.flush();
|
|
344
|
+
yield stateMessage;
|
|
345
|
+
}
|
|
342
346
|
}
|
|
343
347
|
else {
|
|
344
348
|
this.logger.info(`Opening a new revision on graph ${this.farosGraph} ` +
|
|
@@ -366,7 +370,9 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
366
370
|
: 'not synced yet';
|
|
367
371
|
this.logger.info(`Destination graph ${this.farosGraph} was ${lastSynced}`);
|
|
368
372
|
// Process input and write entries
|
|
369
|
-
|
|
373
|
+
for await (const stateMessage of this.writeEntries(streamContext, stdin, streams, converterDependencies, stats, writer)) {
|
|
374
|
+
latestStateMessage = stateMessage;
|
|
375
|
+
}
|
|
370
376
|
// Return the current time
|
|
371
377
|
return { lastSynced: new Date().toISOString() };
|
|
372
378
|
}
|
|
@@ -405,10 +411,9 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
405
411
|
stats.log(this.logger, dryRunEnabled ? 'Would write' : 'Wrote');
|
|
406
412
|
}
|
|
407
413
|
}
|
|
408
|
-
async writeEntries(ctx, stdin, streams, converterDependencies, stats, writer) {
|
|
414
|
+
async *writeEntries(ctx, stdin, streams, converterDependencies, stats, writer, resetData) {
|
|
409
415
|
const recordsToBeProcessedLast = [];
|
|
410
416
|
const convertersUsed = new Map();
|
|
411
|
-
let stateMessage = undefined;
|
|
412
417
|
// NOTE: readline.createInterface() will start to consume the input stream once invoked.
|
|
413
418
|
// Having asynchronous operations between interface creation and asynchronous iteration may
|
|
414
419
|
// result in missed lines.
|
|
@@ -419,6 +424,7 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
419
424
|
try {
|
|
420
425
|
// Process input & write records
|
|
421
426
|
for await (const line of input) {
|
|
427
|
+
let stateMessage = undefined;
|
|
422
428
|
await this.handleRecordProcessingError(stats, async () => {
|
|
423
429
|
const msg = (0, faros_airbyte_cdk_1.parseAirbyteMessage)(line);
|
|
424
430
|
stats.messagesRead++;
|
|
@@ -475,6 +481,9 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
475
481
|
}
|
|
476
482
|
}
|
|
477
483
|
});
|
|
484
|
+
if (stateMessage) {
|
|
485
|
+
yield stateMessage;
|
|
486
|
+
}
|
|
478
487
|
}
|
|
479
488
|
// Process all the remaining records
|
|
480
489
|
if (recordsToBeProcessedLast.length > 0) {
|
|
@@ -489,9 +498,9 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
|
|
|
489
498
|
const results = await converter.onProcessingComplete(ctx);
|
|
490
499
|
stats.recordsWritten += await this.writeConvertedRecords(converter, results, stats, writer);
|
|
491
500
|
}
|
|
501
|
+
await (resetData === null || resetData === void 0 ? void 0 : resetData());
|
|
492
502
|
// Don't forget to close the writer
|
|
493
503
|
await (writer === null || writer === void 0 ? void 0 : writer.end());
|
|
494
|
-
return stateMessage;
|
|
495
504
|
}
|
|
496
505
|
finally {
|
|
497
506
|
input.close();
|