airbyte-faros-destination 0.6.27 → 0.6.29
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/asana/common.d.ts +8 -0
- package/lib/converters/asana/common.js.map +1 -1
- package/lib/converters/asana/projects.js +21 -9
- package/lib/converters/asana/projects.js.map +1 -1
- package/lib/converters/asana/tasks.d.ts +0 -1
- package/lib/converters/asana/tasks.js +32 -37
- package/lib/converters/asana/tasks.js.map +1 -1
- package/lib/converters/azure-repos/models.d.ts +1 -1
- package/lib/converters/azure-repos/users.d.ts +1 -0
- package/lib/converters/azure-repos/users.js +7 -0
- package/lib/converters/azure-repos/users.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/lib/converters/asana/sections.d.ts +0 -7
- package/lib/converters/asana/sections.js +0 -31
- package/lib/converters/asana/sections.js.map +0 -1
|
@@ -2,6 +2,14 @@ import { AirbyteRecord } from 'faros-airbyte-cdk';
|
|
|
2
2
|
import { Converter, DestinationRecord } from '../converter';
|
|
3
3
|
export interface AsanaProject {
|
|
4
4
|
gid: string;
|
|
5
|
+
created_at: string;
|
|
6
|
+
modified_at: string;
|
|
7
|
+
name: string;
|
|
8
|
+
notes: string;
|
|
9
|
+
workspace: {
|
|
10
|
+
gid: string;
|
|
11
|
+
resource_type: string;
|
|
12
|
+
};
|
|
5
13
|
}
|
|
6
14
|
export interface AsanaSection {
|
|
7
15
|
gid: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/asana/common.ts"],"names":[],"mappings":";;;AAEA,4CAA0D;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/asana/common.ts"],"names":[],"mappings":";;;AAEA,4CAA0D;AA+B1D,IAAK,eAKJ;AALD,WAAK,eAAe;IAClB,8BAAW,CAAA;IACX,oCAAiB,CAAA;IACjB,kCAAe,CAAA;IACf,gCAAa,CAAA;AACf,CAAC,EALI,eAAe,KAAf,eAAe,QAKnB;AAED,sDAAsD;AACtD,MAAa,WAAW;IAItB,MAAM,CAAC,SAAS,CAAC,GAAW;QAC1B,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,aAAqB;QACxC,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,EAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAC,CAAC;SAChE;QACD,QAAQ,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;YACrC,KAAK,KAAK;gBACR,OAAO,EAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAC,CAAC;YAChE,KAAK,OAAO;gBACV,OAAO,EAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAC,CAAC;YAClE,KAAK,MAAM;gBACT,OAAO,EAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAC,CAAC;YACjE;gBACE,OAAO,EAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAC,CAAC;SACpE;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAe,EAAE,MAAc;QAC7C,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;gBACvB,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;gBAChC,MAAM;aACP;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,aAAa,CAClB,OAAqB,EACrB,MAAc;QAEd,OAAO;YACL,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE;gBACN,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM;aACP;SACF,CAAC;IACJ,CAAC;;AAhDH,kCAiDC;AAhDC,sEAAsE;AACtD,kCAAsB,GAAG,IAAI,CAAC;AAiDhD,2BAA2B;AAC3B,MAAsB,cAAe,SAAQ,qBAAS;IAAtD;;QACE,WAAM,GAAG,OAAO,CAAC;IAMnB,CAAC;IAJC,gDAAgD;IAChD,EAAE,CAAC,MAAqB;;QACtB,OAAO,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,0CAAE,GAAG,CAAC;IACnC,CAAC;CACF;AAPD,wCAOC"}
|
|
@@ -1,29 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Projects = void 0;
|
|
4
|
-
const faros_js_client_1 = require("faros-js-client");
|
|
5
4
|
const common_1 = require("./common");
|
|
6
5
|
class Projects extends common_1.AsanaConverter {
|
|
7
6
|
constructor() {
|
|
8
7
|
super(...arguments);
|
|
9
|
-
this.destinationModels = [
|
|
8
|
+
this.destinationModels = [
|
|
9
|
+
'tms_TaskBoard',
|
|
10
|
+
'tms_Project',
|
|
11
|
+
'tms_TaskBoardProjectRelationship',
|
|
12
|
+
];
|
|
10
13
|
}
|
|
11
14
|
async convert(record) {
|
|
12
|
-
var _a;
|
|
13
15
|
const source = this.streamName.source;
|
|
14
16
|
const project = record.record.data;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
// Since Asana doesn't have a concept of a board, we create a board and a project from the same Asana project.
|
|
18
|
+
// This is the same behavior as the Jira connector when using project ownership.
|
|
19
|
+
const board = {
|
|
20
|
+
model: 'tms_TaskBoard',
|
|
17
21
|
record: {
|
|
18
22
|
uid: project.gid,
|
|
19
23
|
name: project.name,
|
|
20
|
-
description: (_a = project.notes) === null || _a === void 0 ? void 0 : _a.substring(0, common_1.AsanaCommon.MAX_DESCRIPTION_LENGTH),
|
|
21
|
-
createdAt: faros_js_client_1.Utils.toDate(project.created_at),
|
|
22
|
-
updatedAt: faros_js_client_1.Utils.toDate(project.modified_at),
|
|
23
24
|
source,
|
|
24
25
|
},
|
|
25
26
|
};
|
|
26
|
-
|
|
27
|
+
const tmsProject = {
|
|
28
|
+
model: 'tms_Project',
|
|
29
|
+
...board,
|
|
30
|
+
};
|
|
31
|
+
const boardProjectRelationship = {
|
|
32
|
+
model: 'tms_TaskBoardProjectRelationship',
|
|
33
|
+
record: {
|
|
34
|
+
board: { uid: project.gid, source },
|
|
35
|
+
project: { uid: project.gid, source },
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
return [board, tmsProject, boardProjectRelationship];
|
|
27
39
|
}
|
|
28
40
|
}
|
|
29
41
|
exports.Projects = Projects;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/converters/asana/projects.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/converters/asana/projects.ts"],"names":[],"mappings":";;;AAGA,qCAAsD;AAEtD,MAAa,QAAS,SAAQ,uBAAc;IAA5C;;QACW,sBAAiB,GAAoC;YAC5D,eAAe;YACf,aAAa;YACb,kCAAkC;SACnC,CAAC;IAmCJ,CAAC;IAjCC,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,OAAO,GAAiB,MAAM,CAAC,MAAM,CAAC,IAAoB,CAAC;QAEjE,8GAA8G;QAC9G,gFAAgF;QAEhF,MAAM,KAAK,GAAsB;YAC/B,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE;gBACN,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM;aACP;SACF,CAAC;QAEF,MAAM,UAAU,GAAsB;YACpC,KAAK,EAAE,aAAa;YACpB,GAAG,KAAK;SACT,CAAC;QAEF,MAAM,wBAAwB,GAAsB;YAClD,KAAK,EAAE,kCAAkC;YACzC,MAAM,EAAE;gBACN,KAAK,EAAE,EAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAC;gBACjC,OAAO,EAAE,EAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAC;aACpC;SACF,CAAC;QAEF,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;IACvD,CAAC;CACF;AAxCD,4BAwCC"}
|
|
@@ -55,16 +55,45 @@ class Tasks extends common_1.AsanaConverter {
|
|
|
55
55
|
}),
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
+
const additionalFields = taskCustomFields.map((f) => this.toTaskField(f));
|
|
59
|
+
for (const membership of (_c = task.memberships) !== null && _c !== void 0 ? _c : []) {
|
|
60
|
+
if (membership.project) {
|
|
61
|
+
res.push({
|
|
62
|
+
model: 'tms_TaskBoardRelationship',
|
|
63
|
+
record: {
|
|
64
|
+
task: taskKey,
|
|
65
|
+
board: { uid: membership.project.gid, source },
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
res.push({
|
|
69
|
+
model: 'tms_TaskProjectRelationship',
|
|
70
|
+
record: {
|
|
71
|
+
task: taskKey,
|
|
72
|
+
project: { uid: membership.project.gid, source },
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
if (membership.section) {
|
|
77
|
+
additionalFields.push({
|
|
78
|
+
name: 'section_gid',
|
|
79
|
+
value: membership.section.gid,
|
|
80
|
+
});
|
|
81
|
+
additionalFields.push({
|
|
82
|
+
name: 'section_name',
|
|
83
|
+
value: membership.section.name,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
58
87
|
res.push({
|
|
59
88
|
model: 'tms_Task',
|
|
60
89
|
record: {
|
|
61
90
|
...taskKey,
|
|
62
91
|
name: task.name,
|
|
63
|
-
description: (
|
|
64
|
-
url: (
|
|
92
|
+
description: (_d = task.notes) === null || _d === void 0 ? void 0 : _d.substring(0, common_1.AsanaCommon.MAX_DESCRIPTION_LENGTH),
|
|
93
|
+
url: (_e = task.permalink_url) !== null && _e !== void 0 ? _e : null,
|
|
65
94
|
type: common_1.AsanaCommon.toTmsTaskType(task.resource_type),
|
|
66
95
|
status: this.getStatus(task),
|
|
67
|
-
additionalFields
|
|
96
|
+
additionalFields,
|
|
68
97
|
createdAt: faros_js_client_1.Utils.toDate(task.created_at),
|
|
69
98
|
updatedAt: faros_js_client_1.Utils.toDate(task.modified_at),
|
|
70
99
|
statusChangedAt: faros_js_client_1.Utils.toDate(task.modified_at),
|
|
@@ -72,26 +101,6 @@ class Tasks extends common_1.AsanaConverter {
|
|
|
72
101
|
statusChangelog: statusChangelog !== null && statusChangelog !== void 0 ? statusChangelog : null,
|
|
73
102
|
},
|
|
74
103
|
});
|
|
75
|
-
for (const membership of (_e = task.memberships) !== null && _e !== void 0 ? _e : []) {
|
|
76
|
-
if (membership.project) {
|
|
77
|
-
res.push({
|
|
78
|
-
model: 'tms_TaskProjectRelationship',
|
|
79
|
-
record: {
|
|
80
|
-
task: taskKey,
|
|
81
|
-
project: { uid: membership.project.gid, source },
|
|
82
|
-
},
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
if (membership.section) {
|
|
86
|
-
res.push({
|
|
87
|
-
model: 'tms_TaskBoardRelationship',
|
|
88
|
-
record: {
|
|
89
|
-
task: taskKey,
|
|
90
|
-
board: { uid: membership.section.gid, source },
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
104
|
if (task.assignee) {
|
|
96
105
|
res.push({
|
|
97
106
|
model: 'tms_TaskAssignment',
|
|
@@ -154,20 +163,6 @@ class Tasks extends common_1.AsanaConverter {
|
|
|
154
163
|
value: (_f = (_d = (_b = (_a = customField.text_value) !== null && _a !== void 0 ? _a : customField.number_value) !== null && _b !== void 0 ? _b : (_c = customField.enum_value) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : (_e = customField.multi_enum_values) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : customField.display_value,
|
|
155
164
|
};
|
|
156
165
|
}
|
|
157
|
-
toTmsTaskStatus(status) {
|
|
158
|
-
if (!status)
|
|
159
|
-
return { category: Tms_TaskStatusCategory.Custom, detail: 'undefined' };
|
|
160
|
-
switch (common_1.AsanaCommon.normalize(status)) {
|
|
161
|
-
case 'done':
|
|
162
|
-
return { category: Tms_TaskStatusCategory.Done, detail: status };
|
|
163
|
-
case 'inprogress':
|
|
164
|
-
return { category: Tms_TaskStatusCategory.InProgress, detail: status };
|
|
165
|
-
case 'todo':
|
|
166
|
-
return { category: Tms_TaskStatusCategory.Todo, detail: status };
|
|
167
|
-
default:
|
|
168
|
-
return { category: Tms_TaskStatusCategory.Custom, detail: status };
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
166
|
}
|
|
172
167
|
exports.Tasks = Tasks;
|
|
173
168
|
Tasks.tagsStream = new converter_1.StreamName('asana', 'tags');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/converters/asana/tasks.ts"],"names":[],"mappings":";;;AACA,qDAAsC;AAGtC,4CAKsB;AACtB,
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/converters/asana/tasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,6 @@ import { DestinationModel, DestinationRecord } from '../converter';
|
|
|
3
3
|
import { AzureReposConverter } from './common';
|
|
4
4
|
export declare class Users extends AzureReposConverter {
|
|
5
5
|
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
|
+
private checkUserItemValidity;
|
|
6
7
|
convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
|
|
7
8
|
}
|
|
@@ -11,10 +11,17 @@ class Users extends common_1.AzureReposConverter {
|
|
|
11
11
|
'vcs_User',
|
|
12
12
|
];
|
|
13
13
|
}
|
|
14
|
+
checkUserItemValidity(userItem) {
|
|
15
|
+
// Add checks to record in this function
|
|
16
|
+
return !!userItem.principalName;
|
|
17
|
+
}
|
|
14
18
|
async convert(record) {
|
|
15
19
|
const source = this.streamName.source;
|
|
16
20
|
const userItem = record.record.data;
|
|
17
21
|
const res = [];
|
|
22
|
+
if (!this.checkUserItemValidity(userItem)) {
|
|
23
|
+
return res;
|
|
24
|
+
}
|
|
18
25
|
const organizationName = this.getOrganizationFromUrl(userItem._links.self.href);
|
|
19
26
|
const organization = { uid: organizationName, source };
|
|
20
27
|
const type = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/converters/azure-repos/users.ts"],"names":[],"mappings":";;;AAGA,qCAA6C;AAC7C,qCAA0D;AAE1D,MAAa,KAAM,SAAQ,4BAAmB;IAA9C;;QACW,sBAAiB,GAAoC;YAC5D,gBAAgB;YAChB,UAAU;SACX,CAAC;
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/converters/azure-repos/users.ts"],"names":[],"mappings":";;;AAGA,qCAA6C;AAC7C,qCAA0D;AAE1D,MAAa,KAAM,SAAQ,4BAAmB;IAA9C;;QACW,sBAAiB,GAAoC;YAC5D,gBAAgB;YAChB,UAAU;SACX,CAAC;IA2CJ,CAAC;IAzCS,qBAAqB,CAAC,QAAc;QAC1C,wCAAwC;QACxC,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAY,CAAC;QAC5C,MAAM,GAAG,GAAwB,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE;YACzC,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAClD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,CAAC;QACF,MAAM,YAAY,GAAG,EAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAC,CAAC;QACrD,MAAM,IAAI,GAAa;YACrB,QAAQ,EAAE,yBAAgB,CAAC,IAAI;YAC/B,MAAM,EAAE,QAAQ,CAAC,WAAW;SAC7B,CAAC;QACF,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE;gBACN,YAAY;gBACZ,IAAI,EAAE,EAAC,GAAG,EAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAC;aAC5C;SACF,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE;gBACN,GAAG,EAAE,QAAQ,CAAC,aAAa;gBAC3B,IAAI,EAAE,QAAQ,CAAC,WAAW;gBAC1B,IAAI;gBACJ,OAAO,EAAE,QAAQ,CAAC,GAAG;gBACrB,MAAM;aACP;SACF,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA/CD,sBA+CC"}
|