airbyte-faros-destination 0.22.26 → 0.22.27

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.
@@ -1,10 +1,14 @@
1
1
  import { AirbyteRecord } from 'faros-airbyte-cdk';
2
- import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
2
+ import { DestinationModel, DestinationRecord } from '../converter';
3
3
  import { GitlabConverter } from './common';
4
4
  export declare class FarosPipelines extends GitlabConverter {
5
5
  readonly destinationModels: ReadonlyArray<DestinationModel>;
6
- convert(record: AirbyteRecord, ctx?: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
6
+ convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
7
+ private processPipeline;
8
+ private processJob;
7
9
  private getEndedAt;
8
10
  private getStartedAt;
9
11
  private convertBuildStatus;
12
+ private convertBuildStepType;
13
+ private convertJobStatus;
10
14
  }
@@ -10,11 +10,21 @@ class FarosPipelines extends common_1.GitlabConverter {
10
10
  this.destinationModels = [
11
11
  'cicd_Build',
12
12
  'cicd_BuildCommitAssociation',
13
+ 'cicd_BuildStep',
13
14
  ];
14
15
  }
15
- async convert(record, ctx) {
16
+ async convert(record) {
17
+ const data = record.record.data;
18
+ if (data.type === 'Pipeline') {
19
+ return this.processPipeline(data.pipeline);
20
+ }
21
+ if (data.type === 'Job') {
22
+ return this.processJob(data.job);
23
+ }
24
+ return [];
25
+ }
26
+ processPipeline(pipeline) {
16
27
  const source = this.streamName.source;
17
- const pipeline = record.record.data;
18
28
  const res = [];
19
29
  const cicdOrganization = { uid: (0, lodash_1.toLower)(pipeline.group_id), source };
20
30
  const cicdPipeline = {
@@ -69,6 +79,34 @@ class FarosPipelines extends common_1.GitlabConverter {
69
79
  }
70
80
  return res;
71
81
  }
82
+ processJob(job) {
83
+ const source = this.streamName.source;
84
+ const cicdOrganization = { uid: (0, lodash_1.toLower)(job.group_id), source };
85
+ const cicdPipeline = {
86
+ organization: cicdOrganization,
87
+ uid: (0, lodash_1.toLower)(job.project_path),
88
+ };
89
+ const buildKey = {
90
+ uid: String(job.pipeline_id),
91
+ pipeline: cicdPipeline,
92
+ };
93
+ return [
94
+ {
95
+ model: 'cicd_BuildStep',
96
+ record: {
97
+ uid: String(job.id),
98
+ name: job.name,
99
+ type: this.convertBuildStepType(job.stage),
100
+ createdAt: faros_js_client_1.Utils.toDate(job.created_at),
101
+ startedAt: faros_js_client_1.Utils.toDate(job.started_at),
102
+ endedAt: faros_js_client_1.Utils.toDate(job.finished_at),
103
+ status: this.convertJobStatus(job.status),
104
+ url: job.web_url,
105
+ build: buildKey,
106
+ },
107
+ },
108
+ ];
109
+ }
72
110
  getEndedAt(pipeline, status) {
73
111
  // For running or queued pipelines, there's no end time yet
74
112
  if (status.category === 'Running' || status.category === 'Queued') {
@@ -110,6 +148,53 @@ class FarosPipelines extends common_1.GitlabConverter {
110
148
  return { category: 'Unknown', detail: status };
111
149
  }
112
150
  }
151
+ convertBuildStepType(stage) {
152
+ if (!stage) {
153
+ return { category: 'Custom', detail: 'undefined' };
154
+ }
155
+ const detail = stage?.toLowerCase();
156
+ switch (detail) {
157
+ case 'build':
158
+ return { category: 'Build', detail };
159
+ case 'test':
160
+ return { category: 'Test', detail };
161
+ case 'deploy':
162
+ return { category: 'Deploy', detail };
163
+ case 'script':
164
+ return { category: 'Script', detail };
165
+ case 'manual':
166
+ return { category: 'Manual', detail };
167
+ default:
168
+ return { category: 'Custom', detail };
169
+ }
170
+ }
171
+ convertJobStatus(status) {
172
+ if (!status) {
173
+ return { category: 'Unknown', detail: 'undefined' };
174
+ }
175
+ const detail = status?.toLowerCase();
176
+ switch (detail) {
177
+ case 'canceled':
178
+ case 'canceling':
179
+ return { category: 'Canceled', detail };
180
+ case 'failed':
181
+ return { category: 'Failed', detail };
182
+ case 'running':
183
+ return { category: 'Running', detail };
184
+ case 'success':
185
+ return { category: 'Success', detail };
186
+ case 'created':
187
+ case 'manual':
188
+ case 'pending':
189
+ case 'preparing':
190
+ case 'scheduled':
191
+ case 'waiting_for_resource':
192
+ return { category: 'Queued', detail };
193
+ case 'skipped':
194
+ default:
195
+ return { category: 'Custom', detail };
196
+ }
197
+ }
113
198
  }
114
199
  exports.FarosPipelines = FarosPipelines;
115
200
  //# sourceMappingURL=faros_pipelines.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"faros_pipelines.js","sourceRoot":"","sources":["../../../src/converters/gitlab/faros_pipelines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"faros_pipelines.js","sourceRoot":"","sources":["../../../src/converters/gitlab/faros_pipelines.ts"],"names":[],"mappings":"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"}