airbyte-faros-destination 0.4.73 → 0.4.75
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/converters/circleci/pipelines.d.ts +1 -2
- package/lib/converters/circleci/pipelines.js +3 -61
- package/lib/converters/circleci/pipelines.js.map +1 -1
- package/lib/converters/circleci/workflows.d.ts +9 -0
- package/lib/converters/circleci/workflows.js +81 -0
- package/lib/converters/circleci/workflows.js.map +1 -0
- package/lib/converters/faros-feeds/faros_feed.js +3 -1
- package/lib/converters/faros-feeds/faros_feed.js.map +1 -1
- package/lib/converters/servicenow/common.d.ts +2 -2
- package/lib/converters/servicenow/common.js +2 -2
- package/lib/converters/servicenow/common.js.map +1 -1
- package/lib/converters/servicenow/incidents.js +9 -14
- package/lib/converters/servicenow/incidents.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/resources/source-specific-configs.json +252 -217
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
1
|
import { DestinationModel, DestinationRecord } from '../converter';
|
|
3
2
|
import { CircleCIConverter } from './common';
|
|
4
3
|
export declare class Pipelines extends CircleCIConverter {
|
|
5
4
|
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
|
-
convert(
|
|
5
|
+
convert(): Promise<ReadonlyArray<DestinationRecord>>;
|
|
7
6
|
}
|
|
@@ -1,72 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Pipelines = void 0;
|
|
4
|
-
const faros_js_client_1 = require("faros-js-client");
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
4
|
const common_1 = require("./common");
|
|
7
5
|
class Pipelines extends common_1.CircleCIConverter {
|
|
8
6
|
constructor() {
|
|
9
7
|
super(...arguments);
|
|
10
|
-
this.destinationModels = [
|
|
11
|
-
'cicd_Build',
|
|
12
|
-
'cicd_BuildCommitAssociation',
|
|
13
|
-
'cicd_BuildStep',
|
|
14
|
-
];
|
|
8
|
+
this.destinationModels = [];
|
|
15
9
|
}
|
|
16
|
-
async convert(
|
|
17
|
-
|
|
18
|
-
const source = this.streamName.source;
|
|
19
|
-
const pipeline = record.record.data;
|
|
20
|
-
const res = [];
|
|
21
|
-
for (const workflow of pipeline.workflows) {
|
|
22
|
-
const buildKey = common_1.CircleCICommon.getBuildKey(workflow, pipeline, source);
|
|
23
|
-
const repoName = common_1.CircleCICommon.getProject(pipeline.project_slug);
|
|
24
|
-
res.push({
|
|
25
|
-
model: 'cicd_Build',
|
|
26
|
-
record: {
|
|
27
|
-
...buildKey,
|
|
28
|
-
number: pipeline.number,
|
|
29
|
-
name: `${common_1.CircleCICommon.getProject(pipeline.project_slug)}_${pipeline.number}_${workflow.name}`,
|
|
30
|
-
createdAt: faros_js_client_1.Utils.toDate(workflow.created_at),
|
|
31
|
-
startedAt: faros_js_client_1.Utils.toDate(workflow.created_at),
|
|
32
|
-
endedAt: faros_js_client_1.Utils.toDate(workflow.stopped_at),
|
|
33
|
-
status: common_1.CircleCICommon.convertStatus(workflow.status),
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
res.push({
|
|
37
|
-
model: 'cicd_BuildCommitAssociation',
|
|
38
|
-
record: {
|
|
39
|
-
build: buildKey,
|
|
40
|
-
commit: {
|
|
41
|
-
sha: (_a = pipeline.vcs) === null || _a === void 0 ? void 0 : _a.revision,
|
|
42
|
-
uid: (_b = pipeline.vcs) === null || _b === void 0 ? void 0 : _b.revision,
|
|
43
|
-
repository: {
|
|
44
|
-
name: repoName,
|
|
45
|
-
uid: repoName,
|
|
46
|
-
organization: {
|
|
47
|
-
uid: common_1.CircleCICommon.getOrganization(pipeline.project_slug),
|
|
48
|
-
source: (_c = pipeline.vcs) === null || _c === void 0 ? void 0 : _c.provider_name,
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
for (const job of workflow.jobs) {
|
|
55
|
-
res.push({
|
|
56
|
-
model: 'cicd_BuildStep',
|
|
57
|
-
record: {
|
|
58
|
-
uid: (0, lodash_1.toLower)(job.id),
|
|
59
|
-
name: job.name,
|
|
60
|
-
startedAt: faros_js_client_1.Utils.toDate(job.started_at),
|
|
61
|
-
endedAt: faros_js_client_1.Utils.toDate(job.stopped_at),
|
|
62
|
-
status: common_1.CircleCICommon.convertStatus(job.status),
|
|
63
|
-
type: common_1.CircleCICommon.convertJobType(job.type),
|
|
64
|
-
build: buildKey,
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return res;
|
|
10
|
+
async convert() {
|
|
11
|
+
return [];
|
|
70
12
|
}
|
|
71
13
|
}
|
|
72
14
|
exports.Pipelines = Pipelines;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../../../src/converters/circleci/pipelines.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../../../src/converters/circleci/pipelines.ts"],"names":[],"mappings":";;;AACA,qCAA2C;AAE3C,MAAa,SAAU,SAAQ,0BAAiB;IAAhD;;QACW,sBAAiB,GAAoC,EAAE,CAAC;IAInE,CAAC;IAHC,KAAK,CAAC,OAAO;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AALD,8BAKC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
2
|
+
import { DestinationModel, DestinationRecord, StreamContext, StreamName } from '../converter';
|
|
3
|
+
import { CircleCIConverter } from './common';
|
|
4
|
+
export declare class Workflows extends CircleCIConverter {
|
|
5
|
+
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
|
+
private static readonly pipelinesStream;
|
|
7
|
+
get dependencies(): ReadonlyArray<StreamName>;
|
|
8
|
+
convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Workflows = void 0;
|
|
4
|
+
const faros_js_client_1 = require("faros-js-client");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
const converter_1 = require("../converter");
|
|
7
|
+
const common_1 = require("./common");
|
|
8
|
+
class Workflows extends common_1.CircleCIConverter {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.destinationModels = [
|
|
12
|
+
'cicd_Build',
|
|
13
|
+
'cicd_BuildCommitAssociation',
|
|
14
|
+
'cicd_BuildStep',
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
get dependencies() {
|
|
18
|
+
return [Workflows.pipelinesStream];
|
|
19
|
+
}
|
|
20
|
+
async convert(record, ctx) {
|
|
21
|
+
var _a, _b, _c, _d;
|
|
22
|
+
const source = this.streamName.source;
|
|
23
|
+
const workflow = record.record.data;
|
|
24
|
+
const res = [];
|
|
25
|
+
const pipeline = (_a = ctx.get(Workflows.pipelinesStream.asString, workflow.pipeline_id)) === null || _a === void 0 ? void 0 : _a.record.data;
|
|
26
|
+
if (!pipeline) {
|
|
27
|
+
ctx.logger.warn(`Could not find pipeline record for id ${workflow.pipeline_id}`);
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
const buildKey = common_1.CircleCICommon.getBuildKey(workflow, pipeline, source);
|
|
31
|
+
const repoName = common_1.CircleCICommon.getProject(pipeline.project_slug);
|
|
32
|
+
res.push({
|
|
33
|
+
model: 'cicd_Build',
|
|
34
|
+
record: {
|
|
35
|
+
...buildKey,
|
|
36
|
+
number: pipeline.number,
|
|
37
|
+
name: `${common_1.CircleCICommon.getProject(pipeline.project_slug)}_${pipeline.number}_${workflow.name}`,
|
|
38
|
+
createdAt: faros_js_client_1.Utils.toDate(workflow.created_at),
|
|
39
|
+
startedAt: faros_js_client_1.Utils.toDate(workflow.created_at),
|
|
40
|
+
endedAt: faros_js_client_1.Utils.toDate(workflow.stopped_at),
|
|
41
|
+
status: common_1.CircleCICommon.convertStatus(workflow.status),
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
res.push({
|
|
45
|
+
model: 'cicd_BuildCommitAssociation',
|
|
46
|
+
record: {
|
|
47
|
+
build: buildKey,
|
|
48
|
+
commit: {
|
|
49
|
+
sha: (_b = pipeline.vcs) === null || _b === void 0 ? void 0 : _b.revision,
|
|
50
|
+
uid: (_c = pipeline.vcs) === null || _c === void 0 ? void 0 : _c.revision,
|
|
51
|
+
repository: {
|
|
52
|
+
name: repoName,
|
|
53
|
+
uid: repoName,
|
|
54
|
+
organization: {
|
|
55
|
+
uid: common_1.CircleCICommon.getOrganization(pipeline.project_slug),
|
|
56
|
+
source: (_d = pipeline.vcs) === null || _d === void 0 ? void 0 : _d.provider_name,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
for (const job of workflow.jobs) {
|
|
63
|
+
res.push({
|
|
64
|
+
model: 'cicd_BuildStep',
|
|
65
|
+
record: {
|
|
66
|
+
uid: (0, lodash_1.toLower)(job.id),
|
|
67
|
+
name: job.name,
|
|
68
|
+
startedAt: faros_js_client_1.Utils.toDate(job.started_at),
|
|
69
|
+
endedAt: faros_js_client_1.Utils.toDate(job.stopped_at),
|
|
70
|
+
status: common_1.CircleCICommon.convertStatus(job.status),
|
|
71
|
+
type: common_1.CircleCICommon.convertJobType(job.type),
|
|
72
|
+
build: buildKey,
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return res;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.Workflows = Workflows;
|
|
80
|
+
Workflows.pipelinesStream = new converter_1.StreamName('circleci', 'pipelines');
|
|
81
|
+
//# sourceMappingURL=workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/converters/circleci/workflows.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FarosFeed = void 0;
|
|
4
4
|
const faros_js_client_1 = require("faros-js-client");
|
|
5
|
+
const types_1 = require("../../common/types");
|
|
5
6
|
const converter_1 = require("../converter");
|
|
6
7
|
const model_names_1 = require("./model_names");
|
|
7
8
|
class FarosFeed extends converter_1.Converter {
|
|
@@ -24,7 +25,8 @@ class FarosFeed extends converter_1.Converter {
|
|
|
24
25
|
if (Object.keys(data).length != 1)
|
|
25
26
|
return [];
|
|
26
27
|
const [model, rec] = Object.entries(data).pop();
|
|
27
|
-
if (ctx.config.edition_configs.
|
|
28
|
+
if (ctx.config.edition_configs.edition === types_1.Edition.COMMUNITY ||
|
|
29
|
+
ctx.config.edition_configs.graphql_api === 'v2') {
|
|
28
30
|
// Ignore full model deletion records.
|
|
29
31
|
// E.g., {"vcs_TeamMembership__Deletion":{"where":"my-source"}}
|
|
30
32
|
// These are issued by the feed and are only applicable to the V1 API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faros_feed.js","sourceRoot":"","sources":["../../../src/converters/faros-feeds/faros_feed.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAEjD,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;IA0C/C,CAAC;IAxCC,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,sCAAsC;YACtC,+DAA+D;YAC/D,qEAAqE;YACrE,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;oBAAE,OAAO,EAAE,CAAC;aAC5D;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;AA/CD,8BA+CC"}
|
|
@@ -24,7 +24,7 @@ interface ServiceNowConfig {
|
|
|
24
24
|
application_field?: string;
|
|
25
25
|
default_severity?: IncidentSeverityCategory;
|
|
26
26
|
default_priority?: IncidentPriorityCategory;
|
|
27
|
-
|
|
27
|
+
store_current_incidents_associations?: boolean;
|
|
28
28
|
}
|
|
29
29
|
/** ServiceNow converter base */
|
|
30
30
|
export declare abstract class ServiceNowConverter extends Converter {
|
|
@@ -34,6 +34,6 @@ export declare abstract class ServiceNowConverter extends Converter {
|
|
|
34
34
|
protected config(ctx: StreamContext): ServiceNowConfig;
|
|
35
35
|
protected applicationMapping(ctx: StreamContext): ApplicationMapping;
|
|
36
36
|
protected applicationField(ctx: StreamContext): string;
|
|
37
|
-
protected
|
|
37
|
+
protected onlyStoreCurrentIncidentsAssociations(ctx: StreamContext): boolean;
|
|
38
38
|
}
|
|
39
39
|
export {};
|
|
@@ -43,9 +43,9 @@ class ServiceNowConverter extends converter_1.Converter {
|
|
|
43
43
|
var _a;
|
|
44
44
|
return (_a = this.config(ctx).application_field) !== null && _a !== void 0 ? _a : DEFAULT_APPLICATION_FIELD;
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
onlyStoreCurrentIncidentsAssociations(ctx) {
|
|
47
47
|
var _a;
|
|
48
|
-
return (_a = this.config(ctx).
|
|
48
|
+
return ((_a = this.config(ctx).store_current_incidents_associations) !== null && _a !== void 0 ? _a : false);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
exports.ServiceNowConverter = ServiceNowConverter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/servicenow/common.ts"],"names":[],"mappings":";;;AAEA,4CAAyE;AAEzE,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAErD,IAAY,wBAOX;AAPD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,yCAAa,CAAA;IACb,yCAAa,CAAA;IACb,yCAAa,CAAA;IACb,yCAAa,CAAA;IACb,6CAAiB,CAAA;AACnB,CAAC,EAPW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAOnC;AAED,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,2CAAe,CAAA;IACf,uCAAW,CAAA;IACX,yCAAa,CAAA;IACb,sCAAU,CAAA;IACV,6CAAiB,CAAA;AACnB,CAAC,EANW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAMnC;AAYD,gCAAgC;AAChC,MAAsB,mBAAoB,SAAQ,qBAAS;IAA3D;;QACE,WAAM,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/servicenow/common.ts"],"names":[],"mappings":";;;AAEA,4CAAyE;AAEzE,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAErD,IAAY,wBAOX;AAPD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,yCAAa,CAAA;IACb,yCAAa,CAAA;IACb,yCAAa,CAAA;IACb,yCAAa,CAAA;IACb,6CAAiB,CAAA;AACnB,CAAC,EAPW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAOnC;AAED,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,2CAAe,CAAA;IACf,uCAAW,CAAA;IACX,yCAAa,CAAA;IACb,sCAAU,CAAA;IACV,6CAAiB,CAAA;AACnB,CAAC,EANW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAMnC;AAYD,gCAAgC;AAChC,MAAsB,mBAAoB,SAAQ,qBAAS;IAA3D;;QACE,WAAM,GAAG,YAAY,CAAC;IA8BxB,CAAC;IA5BC,wDAAwD;IACxD,EAAE,CAAC,MAAqB;;QACtB,OAAO,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,0CAAE,MAAM,CAAC;IACtC,CAAC;IAES,MAAM,CAAC,GAAkB;;QACjC,OAAO,MAAA,MAAA,GAAG,CAAC,MAAM,CAAC,uBAAuB,0CAAE,UAAU,mCAAI,EAAE,CAAC;IAC9D,CAAC;IAES,kBAAkB,CAAC,GAAkB;;QAC7C,OAAO,CACL,MAAA,IAAA,6BAAiB,EACf,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAAE,mBAAmB,EACrC,qBAAqB,CACtB,mCAAI,EAAE,CACR,CAAC;IACJ,CAAC;IACS,gBAAgB,CAAC,GAAkB;;QAC3C,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,iBAAiB,mCAAI,yBAAyB,CAAC;IACzE,CAAC;IAES,qCAAqC,CAC7C,GAAkB;;QAElB,OAAO,CACL,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,oCAAoC,mCAAI,KAAK,CAC/D,CAAC;IACJ,CAAC;CACF;AA/BD,kDA+BC"}
|
|
@@ -27,7 +27,8 @@ class Incidents extends common_2.ServiceNowConverter {
|
|
|
27
27
|
this.incAppImpacts = {};
|
|
28
28
|
}
|
|
29
29
|
async convert(record, ctx) {
|
|
30
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
30
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
31
|
+
var _j, _k;
|
|
31
32
|
const config = this.config(ctx);
|
|
32
33
|
const source = this.streamName.source;
|
|
33
34
|
const incident = record.record.data;
|
|
@@ -98,13 +99,14 @@ class Incidents extends common_2.ServiceNowConverter {
|
|
|
98
99
|
};
|
|
99
100
|
res.push(incAppImpact);
|
|
100
101
|
if (this.shouldPostProcessIncidentApplicationImpacts(ctx)) {
|
|
101
|
-
this
|
|
102
|
+
// Record that we processed this incident/application association
|
|
103
|
+
((_h = (_j = this.incAppImpacts)[_k = incidentKey.uid]) !== null && _h !== void 0 ? _h : (_j[_k] = new Set())).add(appKey);
|
|
102
104
|
}
|
|
103
105
|
}
|
|
104
106
|
return res;
|
|
105
107
|
}
|
|
106
108
|
shouldPostProcessIncidentApplicationImpacts(ctx) {
|
|
107
|
-
if (this.
|
|
109
|
+
if (!this.onlyStoreCurrentIncidentsAssociations(ctx) ||
|
|
108
110
|
ctx.streamsSyncMode[this.streamName.asString] ===
|
|
109
111
|
faros_airbyte_cdk_1.DestinationSyncMode.OVERWRITE ||
|
|
110
112
|
(0, lodash_1.isNil)(ctx.farosClient) ||
|
|
@@ -114,20 +116,13 @@ class Incidents extends common_2.ServiceNowConverter {
|
|
|
114
116
|
return true;
|
|
115
117
|
}
|
|
116
118
|
shouldDeleteRecord(incAppImpact) {
|
|
117
|
-
var _a, _b, _c, _d
|
|
119
|
+
var _a, _b, _c, _d;
|
|
118
120
|
if (((_a = incAppImpact.incident) === null || _a === void 0 ? void 0 : _a.source) !== this.streamName.source) {
|
|
119
121
|
return false;
|
|
120
122
|
}
|
|
121
|
-
const
|
|
122
|
-
if
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
const application = (_c = processedIncAppImpact.record) === null || _c === void 0 ? void 0 : _c.application;
|
|
126
|
-
if ((application === null || application === void 0 ? void 0 : application.name) === ((_d = incAppImpact.application) === null || _d === void 0 ? void 0 : _d.name) &&
|
|
127
|
-
(application === null || application === void 0 ? void 0 : application.platform) === ((_e = incAppImpact.application) === null || _e === void 0 ? void 0 : _e.platform)) {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
return true;
|
|
123
|
+
const appKey = common_1.Common.computeApplication((_b = incAppImpact.application) === null || _b === void 0 ? void 0 : _b.name, (_c = incAppImpact.application) === null || _c === void 0 ? void 0 : _c.platform).uid;
|
|
124
|
+
// We shouldn't delete if we processed this incident/application association
|
|
125
|
+
return !this.incAppImpacts[(_d = incAppImpact.incident) === null || _d === void 0 ? void 0 : _d.uid].has(appKey);
|
|
131
126
|
}
|
|
132
127
|
// TODO: Support CE
|
|
133
128
|
async onProcessingComplete(ctx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incidents.js","sourceRoot":"","sources":["../../../src/converters/servicenow/incidents.ts"],"names":[],"mappings":";;;AAAA,yDAAqE;AACrE,qDAAqE;AACrE,mCAA6B;AAG7B,6CAAwC;AAExC,qCAIkB;AAElB,IAAK,sBAMJ;AAND,WAAK,sBAAsB;IACzB,6CAAmB,CAAA;IACnB,mDAAyB,CAAA;IACzB,yDAA+B,CAAA;IAC/B,+CAAqB,CAAA;IACrB,2CAAiB,CAAA;AACnB,CAAC,EANI,sBAAsB,KAAtB,sBAAsB,QAM1B;AAED,MAAa,SAAU,SAAQ,4BAAmB;IAAlD;;QACW,sBAAiB,GAAoC;YAC5D,cAAc;YACd,wBAAwB;YACxB,qBAAqB;YACrB,+BAA+B;SAChC,CAAC;QAEM,qBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,kBAAa,
|
|
1
|
+
{"version":3,"file":"incidents.js","sourceRoot":"","sources":["../../../src/converters/servicenow/incidents.ts"],"names":[],"mappings":"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"}
|