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.
@@ -77,7 +77,9 @@ export declare class GraphQLClient {
77
77
  private readonly writeBuffer;
78
78
  private readonly upsertBuffer;
79
79
  private readonly selfReferentModels;
80
- constructor(logger: AirbyteLogger, schemaLoader: SchemaLoader, backend: GraphQLBackend, upsertBatchSize: any, mutationBatchSize: any);
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, lodash_1.max)([acc, arr.length]), 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, lodash_1.keys)(obj)
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, lodash_1.set)(result, key, (_a = obj[key]) !== null && _a !== void 0 ? _a : nullValue); }, {});
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, lodash_1.groupBy)(objects, (o) => serialize((0, lodash_1.pick)(o, primaryKeys)));
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, lodash_1.groupBy)(objects, (obj) => Object.keys(obj).sort().join('|'));
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, lodash_1.flatMap)(upserts, (u) => addLevel(u));
104
- const byLevel = (0, lodash_1.groupBy)(withLevel, (tuple) => tuple[1]);
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, lodash_1.unzip)(byLevel[level])[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, lodash_1.max)([ancestorsWithLevels[0][1], maxAncestorLevel]);
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, lodash_1.reverse)(this.tableDependencies);
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
- for (const model of (0, lodash_1.intersection)(this.schema.sortedModelDependencies, models)) {
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, lodash_1.keys)(opRes.data);
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, lodash_1.get)(opRes.data, `${paths[0]}.returning`);
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, lodash_1.pick)(record.patch, record.mask),
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, lodash_1.isNil)(val))
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, lodash_1.isNil)(val))
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, lodash_1.isEmpty)(upsert.foreignKeys)) {
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, lodash_1.clone)(upsert.object);
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, lodash_1.isNil)(fkValue), `failed to resolve fk value for ${relName} from ${JSON.stringify(fkUpsert)}`);
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, lodash_1.isNil)(value))
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, lodash_1.difference)(Object.keys(this.schema.scalars[model]), this.schema.primaryKeys[model]);
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, lodash_1.isEmpty)(filteredUpdateFields)) {
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
- resetData?: (models: ReadonlyArray<string>) => Promise<void>;
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
- this.resetModels.add(baseModel);
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;QACrC,gBAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;QACrC,mBAAc,GAAG,KAAK,CAAC;IA6DjC,CAAC;IA3DC,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,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAChC,OAAO,EAAE,CAAC;iBACX;aACF;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE;oBACrD,IAAI,GAAG,CAAC,SAAS,EAAE;wBACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC3B,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;qBACnD;yBAAM;wBACL,uCAAuC;wBACvC,MAAA,GAAG,CAAC,MAAM,0CAAE,IAAI,CACd,2CAA2C,KAAK,CAAC,IAAI,CACnD,IAAI,CAAC,WAAW,CACjB,CAAC,IAAI,EAAE,EAAE,CACX,CAAC;qBACH;iBACF;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;AApED,8BAoEC"}
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"}
@@ -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
- latestStateMessage = await this.writeEntries(streamContext, stdin, streams, converterDependencies, stats);
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
- await graphQLClient.resetData(origin, deleteModelEntries);
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
- latestStateMessage = await this.writeEntries(streamContext, stdin, streams, converterDependencies, stats, writer);
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
- latestStateMessage = await this.writeEntries(streamContext, stdin, streams, converterDependencies, stats, writer);
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();