airbyte-faros-destination 0.4.24 → 0.4.26

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.
@@ -6,26 +6,87 @@ export interface GraphQLBackend {
6
6
  healthCheck(): Promise<void>;
7
7
  postQuery(query: any): Promise<any>;
8
8
  }
9
+ export interface Upsert {
10
+ id?: string;
11
+ readonly model: string;
12
+ readonly object: Dictionary<any>;
13
+ readonly foreignKeys: Dictionary<Upsert>;
14
+ }
15
+ export declare class UpsertBuffer {
16
+ private readonly upsertBuffer;
17
+ add(upsert: Upsert): void;
18
+ size(): number;
19
+ pop(model: string): Upsert[] | undefined;
20
+ get(model: string): Upsert[] | undefined;
21
+ private getInternal;
22
+ clear(): number;
23
+ }
24
+ export declare function serialize(obj: Dictionary<number | string>): string;
25
+ /**
26
+ * Like lodash pick but with null value replacement.
27
+ */
28
+ export declare function strictPick(obj: any, keys: string[], nullValue?: string): any;
29
+ /**
30
+ * Groups objects by primary key and then merges all related objects into
31
+ * a single object where last-wins for overlapping properties.
32
+ */
33
+ export declare function mergeByPrimaryKey(objects: any[], primaryKeys: string[]): any[];
34
+ /**
35
+ * Execute async callback for each batch of upserts.
36
+ */
37
+ export declare function batchIterator<T>(batches: Upsert[][], callback: (batch: Upsert[]) => Promise<T>): AsyncIterable<T>;
38
+ /**
39
+ * Separates upserts into levels. Level 0 has no dependencies on other levels.
40
+ * Level 1 depends on Level 0, 2 on 1 and so on.
41
+ */
42
+ export declare function toLevels(upserts: Upsert[]): Upsert[][];
43
+ /**
44
+ * Client for writing records as GraphQL mutations. The client supports 3
45
+ * kinds of writes: Upserts, Updates and Deletes.
46
+ *
47
+ * For upserts, the high-level algorithm is:
48
+ *
49
+ * > For each record, build a tree of Upserts. The tree has more than one node if the current record represents a
50
+ * nested entity (e.g. branch record referencing repo which, in-turn, references org).
51
+ * > Buffer Upserts and index each by model (e.g. vcs_Branch)
52
+ * > When batch size limit is reached, execute a single insert mutation per model. Start with leaves of Upsert tree.
53
+ * > After inserting a batch, copy the id of each record back to the Upsert object. When inserting subsequent batches,
54
+ * required foreign keys will be read from the Upsert tree and copied to the appropriate batch mutation.
55
+ *
56
+ * Note: there is a complication in this algorithm for self-referent models (i.e. org_Employee's manager relationship).
57
+ * For these models, we split the batch into "levels". The first level consists of records with no dependencies on
58
+ * records of the same type. The second depends on the first and so on.
59
+ *
60
+ * For Updates and Deletes (which are much less frequent) we have a separate write buffer. This buffer is
61
+ * flushed if it reaches capacity. There is no attempt to combine these into bulk mutations (as done w/ upserts).
62
+ */
9
63
  export declare class GraphQLClient {
10
64
  private readonly logger;
11
65
  private readonly schemaLoader;
12
66
  private readonly backend;
13
67
  private schema;
14
68
  private tableNames;
15
- private readonly batchSize;
69
+ private tableDependencies;
70
+ private readonly mutationBatchSize;
71
+ private readonly upsertBatchSize;
16
72
  private readonly writeBuffer;
17
- constructor(logger: AirbyteLogger, schemaLoader: SchemaLoader, backend: GraphQLBackend, batchSize?: number);
18
- getBatchSize(): number;
73
+ private readonly upsertBuffer;
74
+ private readonly selfReferentModels;
75
+ constructor(logger: AirbyteLogger, schemaLoader: SchemaLoader, backend: GraphQLBackend, upsertBatchSize?: number, mutationBatchSize?: number);
19
76
  healthCheck(): Promise<void>;
20
77
  loadSchema(): Promise<void>;
21
78
  private checkSchema;
22
79
  resetData(origin: string, models: ReadonlyArray<string>): Promise<void>;
23
80
  writeRecord(model: string, record: Dictionary<any>, origin: string): Promise<void>;
81
+ private flushUpsertBuffer;
82
+ private execUpsert;
83
+ private doFlushUpsertBuffer;
24
84
  writeTimestampedRecord(record: TimestampedRecord): Promise<void>;
25
85
  private writeUpdateRecord;
26
86
  private writeDeletionRecord;
27
87
  private postQuery;
28
88
  flush(): Promise<void>;
89
+ private flushWriteBuffer;
29
90
  /**
30
91
  * Constructs a gql query from an array of json mutations.
31
92
  * The outputted qql mutation might look like:
@@ -51,6 +112,13 @@ export declare class GraphQLClient {
51
112
  static batchMutation(queries: any[]): string | undefined;
52
113
  private createWhereClause;
53
114
  private createMutationObject;
115
+ private addUpsert;
116
+ private objectWithForeignKeys;
117
+ /**
118
+ * returns serialized version of keys fields
119
+ */
120
+ private serializedPrimaryKey;
121
+ private toUpsertOp;
54
122
  private formatFieldValue;
55
123
  private createConflictClause;
56
124
  }
@@ -3,23 +3,156 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.GraphQLClient = void 0;
6
+ exports.GraphQLClient = exports.toLevels = 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
9
  const lodash_1 = require("lodash");
10
10
  const traverse_1 = __importDefault(require("traverse"));
11
+ const ts_essentials_1 = require("ts-essentials");
11
12
  const verror_1 = require("verror");
12
13
  const types_1 = require("./types");
14
+ class UpsertBuffer {
15
+ constructor() {
16
+ this.upsertBuffer = new Map();
17
+ }
18
+ add(upsert) {
19
+ const modelBuffer = this.upsertBuffer.get(upsert.model);
20
+ if (!modelBuffer) {
21
+ this.upsertBuffer.set(upsert.model, [upsert]);
22
+ return;
23
+ }
24
+ modelBuffer.push(upsert);
25
+ }
26
+ size() {
27
+ // 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
+ }
30
+ pop(model) {
31
+ return this.getInternal(model, true);
32
+ }
33
+ get(model) {
34
+ return this.getInternal(model, false);
35
+ }
36
+ getInternal(model, remove) {
37
+ if (this.upsertBuffer.has(model)) {
38
+ const modelUpserts = this.upsertBuffer.get(model);
39
+ if (remove) {
40
+ this.upsertBuffer.delete(model);
41
+ }
42
+ return modelUpserts;
43
+ }
44
+ return undefined;
45
+ }
46
+ clear() {
47
+ const size = this.size();
48
+ this.upsertBuffer.clear();
49
+ return size;
50
+ }
51
+ }
52
+ exports.UpsertBuffer = UpsertBuffer;
53
+ function serialize(obj) {
54
+ return (0, lodash_1.keys)(obj)
55
+ .sort()
56
+ .map((k) => `${k}:${obj[k]}`)
57
+ .join('|');
58
+ }
59
+ exports.serialize = serialize;
60
+ /**
61
+ * Like lodash pick but with null value replacement.
62
+ */
63
+ function strictPick(obj, keys, nullValue = 'null') {
64
+ return keys.reduce((result, key) => (0, lodash_1.set)(result, key, obj[key] || nullValue), {});
65
+ }
66
+ exports.strictPick = strictPick;
67
+ /**
68
+ * Groups objects by primary key and then merges all related objects into
69
+ * a single object where last-wins for overlapping properties.
70
+ */
71
+ function mergeByPrimaryKey(objects, primaryKeys) {
72
+ const byPK = (0, lodash_1.groupBy)(objects, (o) => serialize((0, lodash_1.pick)(o, primaryKeys)));
73
+ return Object.values(byPK).map((arr) => arr.reduce((acc, obj) => ({ ...acc, ...obj }), {}));
74
+ }
75
+ exports.mergeByPrimaryKey = mergeByPrimaryKey;
76
+ /**
77
+ * Execute async callback for each batch of upserts.
78
+ */
79
+ function batchIterator(batches, callback) {
80
+ return {
81
+ async *[Symbol.asyncIterator]() {
82
+ for (const batch of batches) {
83
+ yield await callback(batch);
84
+ }
85
+ },
86
+ };
87
+ }
88
+ exports.batchIterator = batchIterator;
89
+ /**
90
+ * Separates upserts into levels. Level 0 has no dependencies on other levels.
91
+ * Level 1 depends on Level 0, 2 on 1 and so on.
92
+ */
93
+ function toLevels(upserts) {
94
+ const withLevel = (0, lodash_1.flatMap)(upserts, (u) => addLevel(u));
95
+ const byLevel = (0, lodash_1.groupBy)(withLevel, (tuple) => tuple[1]);
96
+ const result = [];
97
+ Object.keys(byLevel)
98
+ .sort()
99
+ .forEach((level) => {
100
+ result.push((0, lodash_1.unzip)(byLevel[level])[0]);
101
+ });
102
+ return result;
103
+ }
104
+ exports.toLevels = toLevels;
105
+ /**
106
+ * Converts an Upsert (which is a tree structure) into an array of tuples.
107
+ * Each tuple contains an Upsert and its level in the tree structure.
108
+ * The level indicates the number of steps from a leaf where leaves are level 0.
109
+ * If an Upsert has multiple paths to a leaf, the level is the maximum number of
110
+ * steps.
111
+ */
112
+ function addLevel(u) {
113
+ const result = [];
114
+ let maxAncestorLevel = 0;
115
+ for (const ancestor of Object.values(u.foreignKeys)) {
116
+ if (ancestor.model === u.model) {
117
+ const ancestorsWithLevels = addLevel(ancestor);
118
+ maxAncestorLevel = (0, lodash_1.max)([ancestorsWithLevels[0][1], maxAncestorLevel]);
119
+ result.push(...ancestorsWithLevels);
120
+ }
121
+ }
122
+ const thisLevel = result.length ? maxAncestorLevel + 1 : 0;
123
+ result.unshift([u, thisLevel]);
124
+ return result;
125
+ }
126
+ /**
127
+ * Client for writing records as GraphQL mutations. The client supports 3
128
+ * kinds of writes: Upserts, Updates and Deletes.
129
+ *
130
+ * For upserts, the high-level algorithm is:
131
+ *
132
+ * > For each record, build a tree of Upserts. The tree has more than one node if the current record represents a
133
+ * nested entity (e.g. branch record referencing repo which, in-turn, references org).
134
+ * > Buffer Upserts and index each by model (e.g. vcs_Branch)
135
+ * > When batch size limit is reached, execute a single insert mutation per model. Start with leaves of Upsert tree.
136
+ * > After inserting a batch, copy the id of each record back to the Upsert object. When inserting subsequent batches,
137
+ * required foreign keys will be read from the Upsert tree and copied to the appropriate batch mutation.
138
+ *
139
+ * Note: there is a complication in this algorithm for self-referent models (i.e. org_Employee's manager relationship).
140
+ * For these models, we split the batch into "levels". The first level consists of records with no dependencies on
141
+ * records of the same type. The second depends on the first and so on.
142
+ *
143
+ * For Updates and Deletes (which are much less frequent) we have a separate write buffer. This buffer is
144
+ * flushed if it reaches capacity. There is no attempt to combine these into bulk mutations (as done w/ upserts).
145
+ */
13
146
  class GraphQLClient {
14
- constructor(logger, schemaLoader, backend, batchSize = 1) {
147
+ constructor(logger, schemaLoader, backend, upsertBatchSize = 1000, mutationBatchSize = 1) {
15
148
  this.writeBuffer = [];
149
+ this.upsertBuffer = new UpsertBuffer();
150
+ this.selfReferentModels = new Set();
16
151
  this.logger = logger;
17
152
  this.schemaLoader = schemaLoader;
18
153
  this.backend = backend;
19
- this.batchSize = batchSize;
20
- }
21
- getBatchSize() {
22
- return this.batchSize;
154
+ this.upsertBatchSize = upsertBatchSize;
155
+ this.mutationBatchSize = mutationBatchSize;
23
156
  }
24
157
  async healthCheck() {
25
158
  try {
@@ -31,7 +164,18 @@ class GraphQLClient {
31
164
  }
32
165
  async loadSchema() {
33
166
  this.schema = await this.schemaLoader.loadSchema();
167
+ // various derivative values of schema
34
168
  this.tableNames = new Set(this.schema.tableNames);
169
+ this.tableDependencies = [...this.schema.sortedModelDependencies];
170
+ (0, lodash_1.reverse)(this.tableDependencies);
171
+ // self-referent models
172
+ for (const [model, modelRefs] of Object.entries(this.schema.references)) {
173
+ for (const reference of Object.values(modelRefs)) {
174
+ if (reference.model === model) {
175
+ this.selfReferentModels.add(model);
176
+ }
177
+ }
178
+ }
35
179
  }
36
180
  checkSchema() {
37
181
  if (!this.schema) {
@@ -70,11 +214,69 @@ class GraphQLClient {
70
214
  if (!this.tableNames.has(model)) {
71
215
  throw new verror_1.VError(`Table ${model} does not exist`);
72
216
  }
73
- const obj = this.createMutationObject(model, origin, record);
74
- const mutation = {
75
- [`insert_${model}_one`]: { __args: obj, id: true },
217
+ this.addUpsert(model, origin, record);
218
+ if (this.upsertBuffer.size() >= this.upsertBatchSize) {
219
+ await this.flushUpsertBuffer();
220
+ }
221
+ }
222
+ async flushUpsertBuffer() {
223
+ try {
224
+ await this.doFlushUpsertBuffer();
225
+ }
226
+ catch (e) {
227
+ const numRemoved = this.upsertBuffer.clear();
228
+ throw new verror_1.VError(e, 'failed to flush upsert buffer. abandoned %d records', numRemoved);
229
+ }
230
+ }
231
+ async execUpsert(model, op) {
232
+ // write batch
233
+ const opGql = (0, json_to_graphql_query_1.jsonToGraphQLQuery)(op.query);
234
+ const start = Date.now();
235
+ const opRes = await this.backend.postQuery(opGql);
236
+ const end = Date.now();
237
+ // extract ids of newly written records and set on upserts.
238
+ // the ids are used as foreign keys by subsequent batches
239
+ // step 1: access array of results
240
+ // will be at path 'opRes.data.insert_<model>.returning'
241
+ const paths = (0, lodash_1.keys)(opRes.data);
242
+ (0, ts_essentials_1.assert)(paths.length === 1, `expected one element in ${paths}`);
243
+ const objects = (0, lodash_1.get)(opRes.data, `${paths[0]}.returning`);
244
+ (0, ts_essentials_1.assert)(Array.isArray(objects), `expected array`);
245
+ for (const obj of objects) {
246
+ // step 2: assign id to all upserts related to this object
247
+ // construct key from returned result and lookup upsert by key
248
+ const key = this.serializedPrimaryKey(model, obj);
249
+ const upserts = op.upsertsByKey.get(key);
250
+ (0, ts_essentials_1.assert)(upserts, `failed to resolve upserts for ${model} and ${key}`);
251
+ (0, ts_essentials_1.assert)(obj.id, `failed to resolve id for ${model} and ${JSON.stringify(obj)}`);
252
+ upserts.forEach((u) => (u.id = obj.id));
253
+ }
254
+ return {
255
+ model,
256
+ numObjects: objects.length,
257
+ durationMs: end - start,
76
258
  };
77
- await this.postQuery({ mutation }, `Failed to write ${model} record`);
259
+ }
260
+ async doFlushUpsertBuffer() {
261
+ for (const model of this.tableDependencies) {
262
+ const modelUpserts = this.upsertBuffer.pop(model);
263
+ if (modelUpserts) {
264
+ const withLevels = this.selfReferentModels.has(model)
265
+ ? toLevels(modelUpserts)
266
+ : [modelUpserts];
267
+ const iterator = batchIterator(withLevels, (batch) => {
268
+ return this.execUpsert(model, this.toUpsertOp(model, batch));
269
+ });
270
+ try {
271
+ for await (const result of iterator) {
272
+ this.logger.debug(`executed ${model} upsert with ${result.numObjects} object(s) in ${result.durationMs}ms`);
273
+ }
274
+ }
275
+ catch (e) {
276
+ throw new verror_1.VError(e, `failed to write upserts for ${model}`);
277
+ }
278
+ }
279
+ }
78
280
  }
79
281
  async writeTimestampedRecord(record) {
80
282
  switch (record.operation) {
@@ -121,11 +323,19 @@ class GraphQLClient {
121
323
  query,
122
324
  errorMsg,
123
325
  });
124
- if (this.writeBuffer.length >= this.batchSize) {
326
+ if (this.writeBuffer.length >= this.mutationBatchSize) {
125
327
  await this.flush();
126
328
  }
127
329
  }
128
330
  async flush() {
331
+ // sequentially flush upsert then write buffer
332
+ // we do this sequentially because we may have updates
333
+ // that operate on records in the upsert buffers and
334
+ // therefore need the upserts written first
335
+ await this.flushUpsertBuffer();
336
+ await this.flushWriteBuffer();
337
+ }
338
+ async flushWriteBuffer() {
129
339
  const queries = this.writeBuffer.map((op) => op.query);
130
340
  const gql = GraphQLClient.batchMutation(queries);
131
341
  if (gql) {
@@ -224,6 +434,96 @@ class GraphQLClient {
224
434
  on_conflict: this.createConflictClause(model, nested),
225
435
  };
226
436
  }
437
+ addUpsert(model, origin, record) {
438
+ const object = {};
439
+ const foreignKeys = {};
440
+ for (const [field, value] of Object.entries(record)) {
441
+ const nestedModel = this.schema.references[model][field];
442
+ if (nestedModel && value) {
443
+ foreignKeys[field] = this.addUpsert(nestedModel.model, origin, value);
444
+ }
445
+ else {
446
+ const val = this.formatFieldValue(model, field, value);
447
+ if (!(0, lodash_1.isNil)(val))
448
+ object[field] = val;
449
+ }
450
+ }
451
+ object['origin'] = origin;
452
+ const upsert = {
453
+ model,
454
+ object,
455
+ foreignKeys: foreignKeys,
456
+ };
457
+ // index by model
458
+ this.upsertBuffer.add(upsert);
459
+ return upsert;
460
+ }
461
+ objectWithForeignKeys(upsert) {
462
+ if ((0, lodash_1.isEmpty)(upsert.foreignKeys)) {
463
+ return upsert.object;
464
+ }
465
+ // for each FK, copy id of related upsert to FK field
466
+ // the upsert's id was populated after the associated batch
467
+ // was written in doFlushUpsertBuffer
468
+ const result = (0, lodash_1.clone)(upsert.object);
469
+ for (const [relName, fkUpsert] of Object.entries(upsert.foreignKeys)) {
470
+ // foreign key was constructed from schema so the following is safe to access
471
+ const fkField = this.schema.references[upsert.model][relName].foreignKey;
472
+ const fkValue = fkUpsert.id;
473
+ (0, ts_essentials_1.assert)(!(0, lodash_1.isNil)(fkValue), `failed to resolve fk value for ${relName} from ${JSON.stringify(fkUpsert)}`);
474
+ result[fkField] = fkValue;
475
+ }
476
+ return result;
477
+ }
478
+ /**
479
+ * returns serialized version of keys fields
480
+ */
481
+ serializedPrimaryKey(model, obj) {
482
+ return serialize(strictPick(obj, this.schema.primaryKeys[model]));
483
+ }
484
+ toUpsertOp(model, modelUpserts) {
485
+ const upsertsByKey = new Map();
486
+ // add FKs and index upsert by primary key
487
+ // the index is needed after write to find source
488
+ // upsert and set id
489
+ const all = modelUpserts.map((u) => {
490
+ const fullObj = this.objectWithForeignKeys(u);
491
+ const key = this.serializedPrimaryKey(model, fullObj);
492
+ const upsertsForKey = upsertsByKey.get(key);
493
+ if (!upsertsForKey) {
494
+ upsertsByKey.set(key, [u]);
495
+ }
496
+ else {
497
+ upsertsForKey.push(u);
498
+ }
499
+ return fullObj;
500
+ });
501
+ const primaryKeys = this.schema.primaryKeys[model];
502
+ // there can be multiple records that represent the
503
+ // same object. merge all records into one
504
+ const objects = mergeByPrimaryKey(all, primaryKeys);
505
+ const keysObj = primaryKeys
506
+ .sort()
507
+ .reduce((a, v) => ({ ...a, [v]: true }), {});
508
+ const mutation = {
509
+ mutation: {
510
+ [`insert_${model}`]: {
511
+ __args: {
512
+ objects,
513
+ on_conflict: this.createConflictClause(model, false),
514
+ },
515
+ returning: {
516
+ id: true,
517
+ ...keysObj,
518
+ },
519
+ },
520
+ },
521
+ };
522
+ return {
523
+ query: mutation,
524
+ upsertsByKey,
525
+ };
526
+ }
227
527
  formatFieldValue(model, field, value) {
228
528
  if ((0, lodash_1.isNil)(value))
229
529
  return undefined;
@@ -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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"}
@@ -84,7 +84,6 @@ export interface Pipeline {
84
84
  readonly partially_rerun_by: string;
85
85
  readonly pending_at: string;
86
86
  readonly ppl_id: string;
87
- readonly project_id: string;
88
87
  readonly promotion_of: string;
89
88
  readonly queuing_at: string;
90
89
  readonly repository_id: string;
@@ -101,6 +100,7 @@ export interface Pipeline {
101
100
  readonly with_after_task: string;
102
101
  readonly working_directory: string;
103
102
  readonly yaml_file_name: string;
103
+ readonly project: Project;
104
104
  readonly jobs: Job[];
105
105
  }
106
106
  export declare enum PipelineResult {
@@ -1,10 +1,8 @@
1
1
  import { AirbyteRecord } from 'faros-airbyte-cdk';
2
- import { DestinationModel, DestinationRecord, StreamContext, StreamName } from '../converter';
2
+ import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
3
3
  import { SemaphoreCIConverter } from './common';
4
4
  export declare class Pipelines extends SemaphoreCIConverter {
5
5
  readonly destinationModels: ReadonlyArray<DestinationModel>;
6
- private readonly projectsStream;
7
- get dependencies(): ReadonlyArray<StreamName>;
8
6
  id(record: AirbyteRecord): any;
9
7
  convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
10
8
  }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Pipelines = void 0;
4
- const converter_1 = require("../converter");
5
4
  const common_1 = require("./common");
6
5
  class Pipelines extends common_1.SemaphoreCIConverter {
7
6
  constructor() {
@@ -12,21 +11,16 @@ class Pipelines extends common_1.SemaphoreCIConverter {
12
11
  'cicd_BuildCommitAssociation',
13
12
  'cicd_BuildSteps',
14
13
  ];
15
- this.projectsStream = new converter_1.StreamName(this.source, 'projects');
16
- }
17
- get dependencies() {
18
- return [this.projectsStream];
19
14
  }
20
15
  id(record) {
21
16
  var _a, _b;
22
17
  return (_b = (_a = record === null || record === void 0 ? void 0 : record.record) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.ppl_id;
23
18
  }
24
19
  async convert(record, ctx) {
25
- var _a, _b, _c, _d;
26
20
  const pipelineRecord = record.record.data;
27
21
  const source = this.streamName.source;
28
- const project = ctx.get(this.projectsStream.asString, String(pipelineRecord.project_id));
29
- const repository = (_b = (_a = project === null || project === void 0 ? void 0 : project.record) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.spec.repository;
22
+ const project = pipelineRecord.project;
23
+ const repository = project.spec.repository;
30
24
  const VCSSource = common_1.SemaphoreCICommon.getVCSSourceFromUrl(repository.url);
31
25
  /*
32
26
  * Pipeline
@@ -39,7 +33,7 @@ class Pipelines extends common_1.SemaphoreCIConverter {
39
33
  const pipeline = {
40
34
  model: 'cicd_Pipeline',
41
35
  record: {
42
- uid: `${(_d = (_c = project === null || project === void 0 ? void 0 : project.record) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.metadata.name}-${pipelineRecord.name}`,
36
+ uid: `${project.metadata.name}-${pipelineRecord.name}`,
43
37
  name: pipelineRecord.name,
44
38
  organization: organizationKey,
45
39
  },
@@ -1 +1 @@
1
- {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../../../src/converters/semaphoreci/pipelines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../../../src/converters/semaphoreci/pipelines.ts"],"names":[],"mappings":"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"}
@@ -90,7 +90,7 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
90
90
  try {
91
91
  const backend = new hasura_backend_1.HasuraBackend(config.edition_configs.hasura_url, config.edition_configs.hasura_admin_secret, this.makeHttpAgents(config.keep_alive));
92
92
  const schemaLoader = new faros_feeds_sdk_1.HasuraSchemaLoader(config.edition_configs.hasura_url, config.edition_configs.hasura_admin_secret);
93
- this.graphQLClient = new graphql_client_1.GraphQLClient(this.logger, schemaLoader, backend, config.edition_configs.community_graphql_batch_size);
93
+ this.graphQLClient = new graphql_client_1.GraphQLClient(this.logger, schemaLoader, backend, config.edition_configs.community_graphql_batch_size, config.edition_configs.community_graphql_mutation_batch_size);
94
94
  }
95
95
  catch (e) {
96
96
  throw new verror_1.VError(`Failed to initialize Hasura Client. Error: ${e}`);
@@ -184,7 +184,7 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
184
184
  return await client.gqlSchema();
185
185
  },
186
186
  };
187
- this.graphQLClient = new graphql_client_1.GraphQLClient(this.logger, schemaLoader, backend, config.edition_configs.cloud_graphql_batch_size);
187
+ this.graphQLClient = new graphql_client_1.GraphQLClient(this.logger, schemaLoader, backend, config.edition_configs.cloud_graphql_batch_size, config.edition_configs.cloud_graphql_mutation_batch_size);
188
188
  }
189
189
  catch (e) {
190
190
  throw new verror_1.VError(`Failed to initialize GraphQLClient. Error: ${e}`);
@@ -301,7 +301,7 @@ class FarosDestination extends faros_airbyte_cdk_1.AirbyteDestination {
301
301
  latestStateMessage = await this.writeEntries(streamContext, stdin, streams, converterDependencies, stats);
302
302
  }
303
303
  else if (this.graphQLClient) {
304
- this.logger.info(`Using GraphQLClient for write with batch size ${this.graphQLClient.getBatchSize()}`);
304
+ this.logger.info(`Using GraphQLClient for writer`);
305
305
  const graphQLClient = this.getGraphQLClient();
306
306
  await graphQLClient.loadSchema();
307
307
  await graphQLClient.resetData(origin, deleteModelEntries);