airbyte-faros-destination 0.18.13 → 0.18.15

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.
Files changed (33) hide show
  1. package/lib/converters/faros-event/cd_events.d.ts +14 -0
  2. package/lib/converters/faros-event/cd_events.js +175 -0
  3. package/lib/converters/faros-event/cd_events.js.map +1 -0
  4. package/lib/converters/faros-event/ci_events.d.ts +14 -0
  5. package/lib/converters/faros-event/ci_events.js +93 -0
  6. package/lib/converters/faros-event/ci_events.js.map +1 -0
  7. package/lib/converters/faros-event/common.d.ts +42 -0
  8. package/lib/converters/faros-event/common.js +343 -0
  9. package/lib/converters/faros-event/common.js.map +1 -0
  10. package/lib/converters/faros-event/types/cd.d.ts +2603 -0
  11. package/lib/converters/faros-event/types/cd.js +104 -0
  12. package/lib/converters/faros-event/types/cd.js.map +1 -0
  13. package/lib/converters/faros-event/types/ci.d.ts +1919 -0
  14. package/lib/converters/faros-event/types/ci.js +33 -0
  15. package/lib/converters/faros-event/types/ci.js.map +1 -0
  16. package/lib/converters/faros-event/types/common.d.ts +1134 -0
  17. package/lib/converters/faros-event/types/common.js +307 -0
  18. package/lib/converters/faros-event/types/common.js.map +1 -0
  19. package/lib/converters/faros-event/types/index.d.ts +22 -0
  20. package/lib/converters/faros-event/types/index.js +72 -0
  21. package/lib/converters/faros-event/types/index.js.map +1 -0
  22. package/lib/converters/faros-event/types/keys.d.ts +51 -0
  23. package/lib/converters/faros-event/types/keys.js +3 -0
  24. package/lib/converters/faros-event/types/keys.js.map +1 -0
  25. package/lib/converters/faros-event/types/params.d.ts +24 -0
  26. package/lib/converters/faros-event/types/params.js +15 -0
  27. package/lib/converters/faros-event/types/params.js.map +1 -0
  28. package/lib/converters/faros-event/utils.d.ts +113 -0
  29. package/lib/converters/faros-event/utils.js +388 -0
  30. package/lib/converters/faros-event/utils.js.map +1 -0
  31. package/lib/converters/notion/common.d.ts +24 -24
  32. package/lib/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +6 -3
@@ -0,0 +1,343 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FarosEventConverter = void 0;
4
+ exports.createArtifact = createArtifact;
5
+ exports.createArtifactRecords = createArtifactRecords;
6
+ exports.createCommitObjects = createCommitObjects;
7
+ exports.createBuildRecords = createBuildRecords;
8
+ exports.createAgentObjects = createAgentObjects;
9
+ exports.createFarosMetricValues = createFarosMetricValues;
10
+ exports.createFarosTags = createFarosTags;
11
+ exports.createFarosPaths = createFarosPaths;
12
+ exports.buildIdsToString = buildIdsToString;
13
+ exports.buildStepIdsToString = buildStepIdsToString;
14
+ exports.truncateStringOrNull = truncateStringOrNull;
15
+ const converter_1 = require("../converter");
16
+ const utils_1 = require("./utils");
17
+ const STRING_TRUNCATION_LENGTH = 1000;
18
+ class FarosEventConverter extends converter_1.Converter {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.source = 'faros-event';
22
+ }
23
+ id(record) {
24
+ var _a, _b;
25
+ 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.id;
26
+ }
27
+ }
28
+ exports.FarosEventConverter = FarosEventConverter;
29
+ function createArtifact(artifact) {
30
+ const artifactIds = (0, utils_1.resolveArtifactIds)(artifact);
31
+ return {
32
+ uid: artifactIds.id,
33
+ repository: {
34
+ uid: artifactIds.repository,
35
+ organization: {
36
+ uid: artifactIds.organization,
37
+ source: artifactIds.source,
38
+ },
39
+ },
40
+ };
41
+ }
42
+ function createArtifactRecords(artifact, build) {
43
+ const artifactIds = (0, utils_1.resolveArtifactIds)(artifact);
44
+ const cicd_Organization = {
45
+ uid: artifactIds.organization,
46
+ source: artifactIds.source,
47
+ };
48
+ const cicd_Repository = {
49
+ uid: artifactIds.repository,
50
+ organization: cicd_Organization,
51
+ };
52
+ const artifactKey = {
53
+ uid: artifactIds.id,
54
+ repository: cicd_Repository,
55
+ };
56
+ const cicd_Artifact = {
57
+ ...artifactKey,
58
+ build,
59
+ };
60
+ return {
61
+ artifactKey,
62
+ artifactRecords: [
63
+ { model: 'cicd_Organization', record: cicd_Organization },
64
+ { model: 'cicd_Repository', record: cicd_Repository },
65
+ { model: 'cicd_Artifact', record: cicd_Artifact },
66
+ ],
67
+ };
68
+ }
69
+ function createCommitObjects(commit) {
70
+ const commitRecords = [];
71
+ const commitIds = (0, utils_1.resolveCommitIds)(commit);
72
+ const vcs_Repository = {
73
+ name: commitIds.repository,
74
+ organization: {
75
+ uid: commitIds.organization,
76
+ source: commitIds.source,
77
+ },
78
+ };
79
+ const vcs_Commit = {
80
+ sha: commitIds.sha,
81
+ repository: vcs_Repository,
82
+ };
83
+ if (commit.pullRequestNumber) {
84
+ commitRecords.push({
85
+ model: 'vcs_PullRequestCommit',
86
+ record: {
87
+ commit: vcs_Commit,
88
+ pullRequest: {
89
+ number: (0, utils_1.parsePullRequestNumber)(commit.pullRequestNumber),
90
+ repository: vcs_Repository,
91
+ },
92
+ },
93
+ });
94
+ }
95
+ if (commit.branch) {
96
+ const vcs_Branch = {
97
+ name: commit.branch,
98
+ repository: vcs_Repository,
99
+ };
100
+ const vcs_BranchCommitAssociation = {
101
+ branch: vcs_Branch,
102
+ commit: vcs_Commit,
103
+ };
104
+ commitRecords.push({ model: 'vcs_Branch', record: vcs_Branch }, {
105
+ model: 'vcs_BranchCommitAssociation',
106
+ record: vcs_BranchCommitAssociation,
107
+ });
108
+ }
109
+ return { commitKey: vcs_Commit, commitRecords };
110
+ }
111
+ function createBuildRecords(run, skipSavingRun) {
112
+ var _a;
113
+ const buildRecords = [];
114
+ const buildIds = (0, utils_1.resolveBuildIds)(run);
115
+ const cicd_Organization = {
116
+ uid: buildIds.organization,
117
+ source: buildIds.source,
118
+ };
119
+ const cicd_Pipeline = {
120
+ uid: buildIds.pipeline,
121
+ organization: cicd_Organization,
122
+ };
123
+ const buildKey = {
124
+ uid: buildIds.id,
125
+ pipeline: cicd_Pipeline,
126
+ };
127
+ const cicd_Build = {
128
+ ...buildKey,
129
+ createdAt: (0, utils_1.toDate)(run.createTime),
130
+ startedAt: (0, utils_1.toDate)(run.startTime),
131
+ endedAt: (0, utils_1.toDate)(run.endTime),
132
+ status: (0, utils_1.resolveRunStatus)(run.status, truncateStringOrNull(run.statusDetails)),
133
+ url: run.url,
134
+ number: run.number,
135
+ };
136
+ const buildTags = (0, utils_1.parseTags)(run.tags);
137
+ if (buildTags === null || buildTags === void 0 ? void 0 : buildTags.length) {
138
+ const { tagKeys, tagRecords } = createFarosTags(buildTags);
139
+ buildRecords.push(...tagRecords);
140
+ for (const tagKey of tagKeys) {
141
+ const cicd_BuildTag = {
142
+ build: buildKey,
143
+ tag: tagKey,
144
+ };
145
+ buildRecords.push({ model: 'cicd_BuildTag', record: cicd_BuildTag });
146
+ }
147
+ }
148
+ if ((_a = run.metrics) === null || _a === void 0 ? void 0 : _a.length) {
149
+ const metricValueUid = buildIdsToString(buildIds);
150
+ const { metricValueKeys, metricRecords } = createFarosMetricValues(run.metrics, metricValueUid);
151
+ buildRecords.push(...metricRecords);
152
+ for (const valueKey of metricValueKeys) {
153
+ const cicd_BuildMetric = {
154
+ build: buildKey,
155
+ value: valueKey,
156
+ };
157
+ buildRecords.push({ model: 'cicd_BuildMetric', record: cicd_BuildMetric });
158
+ }
159
+ }
160
+ const step = run.step;
161
+ if (step) {
162
+ const func = (rs) => {
163
+ var _a;
164
+ const res = [];
165
+ const buildStepKey = {
166
+ uid: rs.id,
167
+ build: buildKey,
168
+ };
169
+ const buildStepBody = {
170
+ name: rs.name,
171
+ status: (0, utils_1.resolveRunStatus)(rs.status, truncateStringOrNull(rs.statusDetails)),
172
+ type: (0, utils_1.resolveRunStepType)(rs.type, truncateStringOrNull(rs.typeDetails)),
173
+ command: rs.command,
174
+ url: rs.url,
175
+ createdAt: (0, utils_1.toDate)(rs.createTime),
176
+ startedAt: (0, utils_1.toDate)(rs.startTime),
177
+ endedAt: (0, utils_1.toDate)(rs.endTime),
178
+ };
179
+ const agent = rs.agent;
180
+ let agentKey;
181
+ if (agent) {
182
+ const artifactRes = createAgentObjects(agent);
183
+ agentKey = artifactRes.agentKey;
184
+ res.push(...artifactRes.agentRecords);
185
+ }
186
+ const cicd_BuildStep = {
187
+ ...buildStepKey,
188
+ ...buildStepBody,
189
+ ...(agentKey && { agent: agentKey }),
190
+ };
191
+ res.push({ model: 'cicd_BuildStep', record: cicd_BuildStep });
192
+ const buildStepTags = (0, utils_1.parseTags)(rs.tags);
193
+ if (buildStepTags === null || buildStepTags === void 0 ? void 0 : buildStepTags.length) {
194
+ const { tagKeys, tagRecords } = createFarosTags(buildStepTags);
195
+ res.push(...tagRecords);
196
+ for (const tagKey of tagKeys) {
197
+ const cicd_BuildStepTag = {
198
+ buildStep: buildStepKey,
199
+ tag: tagKey,
200
+ };
201
+ res.push({ model: 'cicd_BuildStepTag', record: cicd_BuildStepTag });
202
+ }
203
+ }
204
+ if ((_a = rs.metrics) === null || _a === void 0 ? void 0 : _a.length) {
205
+ const metricValueUid = buildStepIdsToString(buildIds, rs.id);
206
+ const { metricValueKeys, metricRecords } = createFarosMetricValues(rs.metrics, metricValueUid);
207
+ res.push(...metricRecords);
208
+ for (const metricValueKey of metricValueKeys) {
209
+ const cicd_BuildStepMetric = {
210
+ buildStep: buildStepKey,
211
+ value: metricValueKey,
212
+ };
213
+ res.push({
214
+ model: 'cicd_BuildStepMetric',
215
+ record: cicd_BuildStepMetric,
216
+ });
217
+ }
218
+ }
219
+ return res;
220
+ };
221
+ if (Array.isArray(step)) {
222
+ for (const s of step) {
223
+ buildRecords.push(...func(s));
224
+ }
225
+ }
226
+ else {
227
+ buildRecords.push(...func(step));
228
+ }
229
+ }
230
+ if (!skipSavingRun) {
231
+ buildRecords.push({ model: 'cicd_Organization', record: cicd_Organization });
232
+ buildRecords.push({ model: 'cicd_Pipeline', record: cicd_Pipeline });
233
+ buildRecords.push({ model: 'cicd_Build', record: cicd_Build });
234
+ }
235
+ return {
236
+ buildKey: cicd_Build,
237
+ buildRecords,
238
+ };
239
+ }
240
+ function createAgentObjects(agent) {
241
+ const records = [];
242
+ const agentKey = { uid: agent.id, source: agent.source };
243
+ const host = agent.host;
244
+ let hostKey;
245
+ if (host) {
246
+ hostKey = {
247
+ uid: host.id,
248
+ source: host.source,
249
+ };
250
+ const compute_Instance = {
251
+ ...hostKey,
252
+ name: host.name,
253
+ launchedAt: (0, utils_1.toDate)(host.createTime),
254
+ os: (0, utils_1.resolveComputeAgentOS)(host.os, truncateStringOrNull(host.osDetails)),
255
+ tags: (0, utils_1.parseTags)(host.tags),
256
+ };
257
+ records.push({
258
+ model: 'compute_Instance',
259
+ record: compute_Instance,
260
+ });
261
+ }
262
+ const cicd_Agent = {
263
+ ...agentKey,
264
+ name: agent.name,
265
+ createdAt: agent.createTime,
266
+ host: hostKey,
267
+ };
268
+ records.push({ model: 'cicd_Agent', record: cicd_Agent });
269
+ const agentTags = (0, utils_1.parseTags)(agent.tags);
270
+ if (agentTags === null || agentTags === void 0 ? void 0 : agentTags.length) {
271
+ const { tagKeys, tagRecords } = createFarosTags(agentTags);
272
+ records.push(...tagRecords);
273
+ for (const tagKey of tagKeys) {
274
+ const cicd_AgentTag = {
275
+ agent: agentKey,
276
+ tag: tagKey,
277
+ };
278
+ records.push({ model: 'cicd_AgentTag', record: cicd_AgentTag });
279
+ }
280
+ }
281
+ return { agentKey, agentRecords: records };
282
+ }
283
+ function createFarosMetricValues(metrics, valueUid) {
284
+ const metricValueKeys = [];
285
+ const records = [];
286
+ for (const { id, value, type, typeDetails } of metrics) {
287
+ const metricDefinitionKey = {
288
+ uid: id,
289
+ };
290
+ const faros_MetricDefinition = {
291
+ ...metricDefinitionKey,
292
+ name: id,
293
+ valueType: (0, utils_1.resolveMetricDefinitionType)(type, truncateStringOrNull(typeDetails)),
294
+ valueSource: { category: 'MetricValueEntries', detail: 'FAROS_EVENT_API' },
295
+ };
296
+ const metricValueKey = {
297
+ uid: `${valueUid}__${id}`,
298
+ definition: metricDefinitionKey,
299
+ };
300
+ const faros_MetricValue = {
301
+ ...metricValueKey,
302
+ value,
303
+ };
304
+ metricValueKeys.push(metricValueKey);
305
+ records.push({ model: 'faros_MetricDefinition', record: faros_MetricDefinition }, { model: 'faros_MetricValue', record: faros_MetricValue });
306
+ }
307
+ return { metricValueKeys, metricRecords: records };
308
+ }
309
+ function createFarosTags(tags) {
310
+ const tagKeys = [];
311
+ const tagRecords = [];
312
+ for (const tag of tags) {
313
+ const tagKey = {
314
+ uid: `${tag.key}__${tag.value}`,
315
+ };
316
+ const faros_Tag = {
317
+ ...tagKey,
318
+ key: tag.key,
319
+ value: tag.value,
320
+ };
321
+ tagKeys.push(tagKey);
322
+ tagRecords.push({ model: 'faros_Tag', record: faros_Tag });
323
+ }
324
+ return { tagKeys, tagRecords };
325
+ }
326
+ function createFarosPaths(paths) {
327
+ return paths.map(({ path: p }) => ({
328
+ uid: p,
329
+ path: p,
330
+ parts: p.split('/'),
331
+ }));
332
+ }
333
+ function buildIdsToString(buildIds) {
334
+ return `${buildIds.source}__${buildIds.organization}__${buildIds.pipeline}__${buildIds.id}`;
335
+ }
336
+ function buildStepIdsToString(buildIds, stepId) {
337
+ return `${buildIdsToString(buildIds)}__${stepId}`;
338
+ }
339
+ function truncateStringOrNull(str) {
340
+ var _a;
341
+ return (_a = str === null || str === void 0 ? void 0 : str.substring(0, STRING_TRUNCATION_LENGTH)) !== null && _a !== void 0 ? _a : null;
342
+ }
343
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/faros-event/common.ts"],"names":[],"mappings":"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"}