airbyte-faros-destination 0.6.42 → 0.6.44

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.
@@ -23,6 +23,7 @@ export interface SurveysConfig {
23
23
  question_metadata_table_name?: string;
24
24
  question_category_mapping?: QuestionCategoryMapping;
25
25
  column_names_mapping?: ColumnNameMapping;
26
+ exclude_columns?: ReadonlyArray<string>;
26
27
  }
27
28
  export declare abstract class AbstractSurveys extends Converter {
28
29
  abstract getSurveyId(record: AirbyteRecord): string | undefined;
@@ -58,5 +59,6 @@ export declare abstract class AbstractSurveys extends Converter {
58
59
  static createQuestionUid(surveyId: string, question: string): string;
59
60
  static getTeamUid(teamName: string): string | undefined;
60
61
  static digest(input: string): string;
62
+ static getColumnValue(row: any, columnName: string): string | null;
61
63
  }
62
64
  export {};
@@ -35,7 +35,7 @@ class AbstractSurveys extends converter_1.Converter {
35
35
  getSubmittedAt(record) {
36
36
  var _a, _b;
37
37
  const submittedAtColumnName = this.config.column_names_mapping.response_submitted_at_column_name;
38
- 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.row[submittedAtColumnName];
38
+ return AbstractSurveys.getColumnValue((_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.row, submittedAtColumnName);
39
39
  }
40
40
  initialize(ctx) {
41
41
  var _a, _b, _c, _d, _e, _f;
@@ -193,12 +193,12 @@ class AbstractSurveys extends converter_1.Converter {
193
193
  return updateRecords;
194
194
  }
195
195
  getQuestionWithMetadata(surveyId, row) {
196
- const question = row[this.config.column_names_mapping.question_column_name];
196
+ const question = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.question_column_name);
197
197
  if (!question) {
198
198
  return undefined;
199
199
  }
200
- const category = row[this.config.column_names_mapping.question_category_column_name];
201
- const responseType = row[this.config.column_names_mapping.response_type_column_name];
200
+ const category = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.question_category_column_name);
201
+ const responseType = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.response_type_column_name);
202
202
  return {
203
203
  uid: AbstractSurveys.createQuestionUid(surveyId, question),
204
204
  source: this.source,
@@ -230,7 +230,7 @@ class AbstractSurveys extends converter_1.Converter {
230
230
  uid: responseId,
231
231
  source: this.source,
232
232
  submittedAt,
233
- response: row[question].toString(),
233
+ response: AbstractSurveys.getColumnValue(row, question).toString(),
234
234
  surveyQuestion: {
235
235
  survey: { uid: surveyId, source: this.source },
236
236
  question: { uid: questionRecord.uid, source: this.source },
@@ -292,6 +292,8 @@ class AbstractSurveys extends converter_1.Converter {
292
292
  this.surveyStats.set(surveyId, stats);
293
293
  }
294
294
  getFilteredQuestions(row) {
295
+ var _a;
296
+ const excludeColumns = (_a = this.config.exclude_columns) !== null && _a !== void 0 ? _a : [];
295
297
  return Object.keys(row).filter((question) => ![
296
298
  this.config.column_names_mapping.survey_name_column_name,
297
299
  this.config.column_names_mapping.survey_type_column_name,
@@ -303,22 +305,24 @@ class AbstractSurveys extends converter_1.Converter {
303
305
  this.config.column_names_mapping.respondent_email_column_name,
304
306
  this.config.column_names_mapping.respondent_team_name_column_name,
305
307
  this.config.column_names_mapping.respondent_team_id_column_name,
308
+ this.config.column_names_mapping.response_submitted_at_column_name,
309
+ ...excludeColumns,
306
310
  ].includes(question));
307
311
  }
308
312
  getSurveyData(row) {
309
313
  var _a, _b, _c, _d, _e, _f;
310
314
  return {
311
- name: (_a = row[this.config.column_names_mapping.survey_name_column_name]) !== null && _a !== void 0 ? _a : null,
312
- type: (_b = row[this.config.column_names_mapping.survey_type_column_name]) !== null && _b !== void 0 ? _b : null,
313
- description: (_c = row[this.config.column_names_mapping.survey_description_column_name]) !== null && _c !== void 0 ? _c : null,
314
- startedAt: (_d = row[this.config.column_names_mapping.survey_started_at_column_name]) !== null && _d !== void 0 ? _d : null,
315
- endedAt: (_e = row[this.config.column_names_mapping.survey_ended_at_column_name]) !== null && _e !== void 0 ? _e : null,
316
- status: (_f = row[this.config.column_names_mapping.survey_status_column_name]) !== null && _f !== void 0 ? _f : null,
315
+ name: (_a = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.survey_name_column_name)) !== null && _a !== void 0 ? _a : null,
316
+ type: (_b = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.survey_type_column_name)) !== null && _b !== void 0 ? _b : null,
317
+ description: (_c = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.survey_description_column_name)) !== null && _c !== void 0 ? _c : null,
318
+ startedAt: (_d = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.survey_started_at_column_name)) !== null && _d !== void 0 ? _d : null,
319
+ endedAt: (_e = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.survey_ended_at_column_name)) !== null && _e !== void 0 ? _e : null,
320
+ status: (_f = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.survey_status_column_name)) !== null && _f !== void 0 ? _f : null,
317
321
  };
318
322
  }
319
323
  getSurveyUser(row) {
320
324
  var _a;
321
- const uid = row[this.config.column_names_mapping.respondent_email_column_name];
325
+ const uid = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.respondent_email_column_name);
322
326
  if (!uid) {
323
327
  return undefined;
324
328
  }
@@ -326,19 +330,19 @@ class AbstractSurveys extends converter_1.Converter {
326
330
  uid,
327
331
  source: this.source,
328
332
  email: uid,
329
- name: (_a = row[this.config.column_names_mapping.respondent_name_column_name]) !== null && _a !== void 0 ? _a : null,
333
+ name: (_a = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.respondent_name_column_name)) !== null && _a !== void 0 ? _a : null,
330
334
  };
331
335
  }
332
336
  getSurveyTeam(row) {
333
337
  var _a;
334
- const uid = (_a = row[this.config.column_names_mapping.respondent_team_id_column_name]) !== null && _a !== void 0 ? _a : AbstractSurveys.getTeamUid(row[this.config.column_names_mapping.respondent_team_name_column_name]);
338
+ const uid = (_a = AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.respondent_team_id_column_name)) !== null && _a !== void 0 ? _a : AbstractSurveys.getTeamUid(AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.respondent_team_name_column_name));
335
339
  if (!uid) {
336
340
  return undefined;
337
341
  }
338
342
  return {
339
343
  uid,
340
344
  source: this.source,
341
- name: row[this.config.column_names_mapping.respondent_team_name_column_name],
345
+ name: AbstractSurveys.getColumnValue(row, this.config.column_names_mapping.respondent_team_name_column_name),
342
346
  };
343
347
  }
344
348
  static createQuestionUid(surveyId, question) {
@@ -353,6 +357,17 @@ class AbstractSurveys extends converter_1.Converter {
353
357
  static digest(input) {
354
358
  return (0, crypto_1.createHash)('sha256').update(input).digest('hex');
355
359
  }
360
+ // Get column value either from string or an array of single string (lookup result)
361
+ static getColumnValue(row, columnName) {
362
+ const columnValue = row[columnName];
363
+ if (!columnValue) {
364
+ return null;
365
+ }
366
+ if (Array.isArray(columnValue)) {
367
+ return columnValue.length === 0 ? null : columnValue[0];
368
+ }
369
+ return columnValue;
370
+ }
356
371
  }
357
372
  exports.AbstractSurveys = AbstractSurveys;
358
373
  //# sourceMappingURL=surveys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"surveys.js","sourceRoot":"","sources":["../../../src/converters/abstract-surveys/surveys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"surveys.js","sourceRoot":"","sources":["../../../src/converters/abstract-surveys/surveys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { Converter, DestinationModel, DestinationRecord, StreamContext } from '../converter';
3
+ import { EmployeeRecord, ManagerTimeRecord } from './models';
4
+ export declare class Customreports extends Converter {
5
+ readonly destinationModels: ReadonlyArray<DestinationModel>;
6
+ source: string;
7
+ FAROS_TEAM_ROOT: string;
8
+ recordCount: {
9
+ skippedRecords: number;
10
+ storedRecords: number;
11
+ };
12
+ employeeIDtoRecord: Record<string, EmployeeRecord>;
13
+ teamNameToManagerIDs: Record<string, ManagerTimeRecord[]>;
14
+ cycleChains: ReadonlyArray<string>[];
15
+ replacedParentTeams: string[];
16
+ seenLocations: Set<string>;
17
+ generalLogCollection: string[];
18
+ orgs_to_keep: any;
19
+ orgs_to_ignore: any;
20
+ /** Almost every SquadCast record have id property */
21
+ id(record: AirbyteRecord): any;
22
+ convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
23
+ private extractRecordInfo;
24
+ private updateTeamToManagerRecord;
25
+ private convertRecordToStandardizedForm;
26
+ private checkRecordValidity;
27
+ private getManagerIDFromList;
28
+ private computeTeamToParentTeamMapping;
29
+ private computeOwnershipChain;
30
+ setOrgsToKeepAndIgnore(ctx: StreamContext): [string[], string[]];
31
+ private shouldKeepTeam;
32
+ private checkIfTeamIsAcceptable;
33
+ private getAcceptableTeams;
34
+ private printReport;
35
+ private createEmployeeRecordList;
36
+ private createOrgTeamRecord;
37
+ private replaceTeamParents;
38
+ setField(fieldName: string, value: any): void;
39
+ generateFinalRecords(ctx: StreamContext): [ReadonlyArray<DestinationRecord>, Record<string, string>];
40
+ onProcessingComplete(ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
41
+ }
@@ -0,0 +1,379 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Customreports = void 0;
4
+ const faros_js_client_1 = require("faros-js-client");
5
+ const converter_1 = require("../converter");
6
+ const models_1 = require("./models");
7
+ class Customreports extends converter_1.Converter {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.destinationModels = [
11
+ 'org_Team',
12
+ 'org_Employee',
13
+ 'identity_Identity',
14
+ 'geo_Location',
15
+ 'org_TeamMembership',
16
+ ];
17
+ this.source = 'workday';
18
+ this.FAROS_TEAM_ROOT = 'all_teams';
19
+ this.recordCount = {
20
+ skippedRecords: 0,
21
+ storedRecords: 0,
22
+ };
23
+ this.employeeIDtoRecord = {};
24
+ this.teamNameToManagerIDs = {};
25
+ this.cycleChains = [];
26
+ this.replacedParentTeams = [];
27
+ this.seenLocations = new Set();
28
+ this.generalLogCollection = [];
29
+ this.orgs_to_keep = null;
30
+ this.orgs_to_ignore = null;
31
+ }
32
+ /** Almost every SquadCast record have id property */
33
+ id(record) {
34
+ var _a, _b;
35
+ 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.Employee_Id;
36
+ }
37
+ async convert(record) {
38
+ const rec = record.record.data;
39
+ if (!this.checkRecordValidity(rec)) {
40
+ this.recordCount.skippedRecords += 1;
41
+ }
42
+ else {
43
+ this.recordCount.storedRecords += 1;
44
+ this.extractRecordInfo(rec);
45
+ }
46
+ return [];
47
+ }
48
+ extractRecordInfo(rec) {
49
+ // Extracts information from record to class structures
50
+ // in order to be used once all records are processed
51
+ this.employeeIDtoRecord[rec.Employee_ID] = rec;
52
+ this.updateTeamToManagerRecord(rec);
53
+ }
54
+ updateTeamToManagerRecord(rec) {
55
+ // We store all the possible Manager IDs for a Team,
56
+ // The last one in the list will be the most recent time.
57
+ // We check if the Team Name happens to be FAROS_TEAM_ROOT.
58
+ // If this is the case, then the rest of the processing won't work.
59
+ if (rec.Team_Name === this.FAROS_TEAM_ROOT) {
60
+ let error_str = `Record team name is the same as Faros Team Root, ${this.FAROS_TEAM_ROOT}:`;
61
+ error_str += `Record: ${JSON.stringify(rec)}`;
62
+ throw new Error(error_str);
63
+ }
64
+ // Here we check if we haven't yet stored info for this Team Name:
65
+ if (!(rec.Team_Name in this.teamNameToManagerIDs)) {
66
+ this.teamNameToManagerIDs[rec.Team_Name] = [
67
+ { Manager_ID: rec.Manager_ID, Timestamp: rec.Start_Date },
68
+ ];
69
+ return;
70
+ }
71
+ // We have already stored info for this team. This should be a list
72
+ const recs_list = this.teamNameToManagerIDs[rec.Team_Name];
73
+ const crt_last_rec = recs_list[recs_list.length - 1];
74
+ if (crt_last_rec.Manager_ID === rec.Manager_ID) {
75
+ return;
76
+ }
77
+ if (faros_js_client_1.Utils.toDate(rec.Start_Date) > faros_js_client_1.Utils.toDate(crt_last_rec.Timestamp)) {
78
+ this.teamNameToManagerIDs[rec.Team_Name].push({
79
+ Manager_ID: rec.Manager_ID,
80
+ Timestamp: rec.Start_Date,
81
+ });
82
+ }
83
+ }
84
+ convertRecordToStandardizedForm(rec) {
85
+ const new_rec = {};
86
+ for (const [k, v] of Object.entries(rec)) {
87
+ const alphanum_key = k.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
88
+ if (alphanum_key in models_1.recordKeyTyping) {
89
+ new_rec[models_1.recordKeyTyping[alphanum_key]] = v;
90
+ }
91
+ }
92
+ return new_rec;
93
+ }
94
+ checkRecordValidity(rec) {
95
+ rec = this.convertRecordToStandardizedForm(rec);
96
+ if (!rec.Employee_ID ||
97
+ !rec.Full_Name ||
98
+ !rec.Manager_ID ||
99
+ !rec.Manager_Name ||
100
+ !rec.Start_Date ||
101
+ !rec.Team_Name) {
102
+ return false;
103
+ }
104
+ // We're only keeping active records
105
+ if (rec.Termination_Date) {
106
+ return false;
107
+ }
108
+ return true;
109
+ }
110
+ getManagerIDFromList(recs) {
111
+ if (!recs) {
112
+ throw new Error('Missing recs');
113
+ }
114
+ const last_record = recs[recs.length - 1];
115
+ const manager_id = last_record.Manager_ID;
116
+ return manager_id;
117
+ }
118
+ computeTeamToParentTeamMapping(ctx) {
119
+ ctx.logger.info('Computing team to parent mapping');
120
+ const teamNameToParentTeamName = {};
121
+ teamNameToParentTeamName[this.FAROS_TEAM_ROOT] = null;
122
+ const potential_root_teams = [];
123
+ for (const [teamName, recs] of Object.entries(this.teamNameToManagerIDs)) {
124
+ const manager_id = this.getManagerIDFromList(recs);
125
+ if (!manager_id) {
126
+ this.generalLogCollection.push(`Failed to get manager id for team ${teamName}`);
127
+ teamNameToParentTeamName[teamName] = this.FAROS_TEAM_ROOT;
128
+ continue;
129
+ }
130
+ let parent_team_uid = this.FAROS_TEAM_ROOT;
131
+ if (manager_id in this.employeeIDtoRecord) {
132
+ // This is the expected case
133
+ parent_team_uid = this.employeeIDtoRecord[manager_id].Team_Name;
134
+ }
135
+ else {
136
+ // This is in the rare case where manager ID isn't in one of the employee records.
137
+ // It can occur if the currently observed team is the root team in the org
138
+ potential_root_teams.push(teamName);
139
+ }
140
+ teamNameToParentTeamName[teamName] = parent_team_uid;
141
+ }
142
+ if (potential_root_teams.length > 1) {
143
+ ctx.logger.warn(`Found more than one potential root team: "${JSON.stringify(potential_root_teams)}"`);
144
+ }
145
+ return teamNameToParentTeamName;
146
+ }
147
+ computeOwnershipChain(elementId, allOrgId, teamToParent) {
148
+ // In the case of a cycle, it means that the second to last
149
+ // team in the cycle is has a parent that has been previously
150
+ // seen in the chain. So we need to make it so the second to
151
+ // last element in the chain points to the top team.
152
+ // The length of the ownership chain will be at least
153
+ // 2 if there is a cycle.
154
+ // You must return this in ascending order left to right
155
+ let id = elementId;
156
+ const ownershipChain = [];
157
+ const visited = new Set();
158
+ do {
159
+ ownershipChain.push(id);
160
+ if (visited.has(id)) {
161
+ return { cycle: true, ownershipChain };
162
+ }
163
+ visited.add(id);
164
+ id = teamToParent[id];
165
+ } while (id);
166
+ ownershipChain.push(allOrgId);
167
+ return { cycle: false, ownershipChain };
168
+ }
169
+ setOrgsToKeepAndIgnore(ctx) {
170
+ var _a, _b, _c, _d;
171
+ const orgs_to_keep = (_b = (_a = ctx.config.source_specific_configs) === null || _a === void 0 ? void 0 : _a.workday) === null || _b === void 0 ? void 0 : _b.orgs_to_keep;
172
+ const orgs_to_ignore = (_d = (_c = ctx.config.source_specific_configs) === null || _c === void 0 ? void 0 : _c.workday) === null || _d === void 0 ? void 0 : _d.orgs_to_ignore;
173
+ if (!orgs_to_keep || !orgs_to_ignore) {
174
+ throw new Error('orgs_to_keep or orgs_to_ignore missing from source specific configs');
175
+ }
176
+ for (const org of orgs_to_keep) {
177
+ if (orgs_to_ignore.includes(org)) {
178
+ throw new Error('Overlap between orgs_to_keep and orgs_to_ignore');
179
+ }
180
+ }
181
+ if (orgs_to_keep.length == 0) {
182
+ // we keep all teams
183
+ orgs_to_keep.push(this.FAROS_TEAM_ROOT);
184
+ }
185
+ // Setting the values
186
+ this.orgs_to_keep = orgs_to_keep;
187
+ this.orgs_to_ignore = orgs_to_ignore;
188
+ return [orgs_to_keep, orgs_to_ignore];
189
+ }
190
+ shouldKeepTeam(ownershipChain) {
191
+ // To determine whether a team is kept, we simply go up the ownership chain.
192
+ // if we first hit an ignored team, we return false (not kept).
193
+ // Otherwise if we first hit a kept team, we return true (keep the team)
194
+ // If we hit neither kept nor ignored, we return false (not kept).
195
+ for (const org of ownershipChain) {
196
+ if (this.orgs_to_keep.includes(org)) {
197
+ return true;
198
+ }
199
+ if (this.orgs_to_ignore.includes(org)) {
200
+ return false;
201
+ }
202
+ }
203
+ return false;
204
+ }
205
+ checkIfTeamIsAcceptable(team, teamToParent, ctx) {
206
+ // This continues the complicated logic which defines which teams to keep
207
+ // We need to use the ownershipChain, which goes
208
+ // from lowest in the tree to highest in the tree,
209
+ // Left to Right, how to keep certain teams,
210
+ // and to repoint them to their correct parent.
211
+ const ownershipInfo = this.computeOwnershipChain(team, this.FAROS_TEAM_ROOT, teamToParent);
212
+ const ownershipChain = ownershipInfo.ownershipChain;
213
+ if (ownershipInfo.cycle) {
214
+ // Cycle found - this should mean ownershipChain exists with length greater than 1
215
+ ctx.logger.info(JSON.stringify(ownershipChain));
216
+ const fix_team = ownershipChain[ownershipChain.length - 2];
217
+ teamToParent[fix_team] = this.FAROS_TEAM_ROOT;
218
+ this.cycleChains.push(ownershipChain);
219
+ }
220
+ return this.shouldKeepTeam(ownershipChain);
221
+ }
222
+ getAcceptableTeams(teamToParent, ctx) {
223
+ // This is the entry point for the logic which defines which teams to keep
224
+ // (ctx is included for potential debugging)
225
+ ctx.logger.info('Getting Acceptable teams');
226
+ const acceptableTeams = new Set();
227
+ ctx.logger.info('Computing ownership chains.');
228
+ for (const team of Object.keys(teamToParent)) {
229
+ const include_bool = this.checkIfTeamIsAcceptable(team, teamToParent, ctx);
230
+ if (include_bool) {
231
+ acceptableTeams.add(team);
232
+ }
233
+ }
234
+ return acceptableTeams;
235
+ }
236
+ printReport(ctx, acceptableTeams) {
237
+ const teamNames = Object.keys(this.teamNameToManagerIDs);
238
+ const report_obj = {
239
+ nAcceptableTeams: acceptableTeams.size,
240
+ nOriginalTeams: teamNames ? teamNames.length : 0,
241
+ records_skipped: this.recordCount.skippedRecords,
242
+ records_stored: this.recordCount.storedRecords,
243
+ cycleChains: this.cycleChains,
244
+ generalLogs: this.generalLogCollection,
245
+ };
246
+ ctx.logger.info('Report:');
247
+ ctx.logger.info(JSON.stringify(report_obj));
248
+ if (this.cycleChains.length > 0) {
249
+ let error_str = 'Cycles found. Please address the issue. ';
250
+ error_str +=
251
+ 'The cycle chains are listed in log message above, and here: ';
252
+ error_str += JSON.stringify(this.cycleChains);
253
+ throw new Error(error_str);
254
+ }
255
+ }
256
+ createEmployeeRecordList(employeeID, acceptable_teams) {
257
+ // org_Employee, identity_Identity, geo_Location, org_TeamMembership
258
+ const records = [];
259
+ const employee_record = this.employeeIDtoRecord[employeeID];
260
+ if (!acceptable_teams.has(employee_record.Team_Name)) {
261
+ return records;
262
+ }
263
+ records.push({
264
+ model: 'org_Employee',
265
+ record: {
266
+ uid: employee_record.Employee_ID,
267
+ joinedAt: employee_record.Start_Date,
268
+ inactive: false,
269
+ manager: { uid: employee_record.Manager_ID },
270
+ identity: { uid: employee_record.Employee_ID },
271
+ location: employee_record.Location
272
+ ? { uid: employee_record.Location }
273
+ : null,
274
+ },
275
+ }, {
276
+ model: 'identity_Identity',
277
+ record: {
278
+ uid: employee_record.Employee_ID,
279
+ fullName: employee_record.Full_Name,
280
+ emails: employee_record.Email ? [employee_record.Email] : null,
281
+ },
282
+ }, {
283
+ model: 'org_TeamMembership',
284
+ record: {
285
+ team: { uid: employee_record.Team_Name },
286
+ member: { uid: employee_record.Employee_ID },
287
+ },
288
+ });
289
+ if (employee_record.Location &&
290
+ !this.seenLocations.has(employee_record.Location)) {
291
+ records.push({
292
+ model: 'geo_Location',
293
+ record: {
294
+ uid: employee_record.Location,
295
+ },
296
+ });
297
+ this.seenLocations.add(employee_record.Location);
298
+ }
299
+ return records;
300
+ }
301
+ createOrgTeamRecord(team, teamToParent) {
302
+ const manager_id = this.getManagerIDFromList(this.teamNameToManagerIDs[team]);
303
+ return {
304
+ model: 'org_Team',
305
+ record: {
306
+ uid: team,
307
+ name: team,
308
+ lead: { uid: manager_id },
309
+ parentTeam: { uid: teamToParent[team] },
310
+ },
311
+ };
312
+ }
313
+ replaceTeamParents(acceptable_teams, teamToParent) {
314
+ // Within this function we use the new acceptable teams set to
315
+ // ensure team's parents are within the system.
316
+ const newTeamToParent = {};
317
+ for (const team of acceptable_teams) {
318
+ const seenParentTeams = new Set();
319
+ let parent_team = teamToParent[team];
320
+ while (parent_team && !acceptable_teams.has(parent_team)) {
321
+ if (seenParentTeams.has(parent_team)) {
322
+ let err_str = `Cycle found in team Parent Replace function. Team: "${parent_team}". `;
323
+ err_str += `All teams: ${JSON.stringify([...seenParentTeams])}`;
324
+ err_str += `Please reach out to Faros Support.`;
325
+ throw new Error(err_str);
326
+ }
327
+ seenParentTeams.add(parent_team);
328
+ parent_team = teamToParent[parent_team];
329
+ }
330
+ if (parent_team) {
331
+ newTeamToParent[team] = parent_team;
332
+ }
333
+ else {
334
+ newTeamToParent[team] = this.FAROS_TEAM_ROOT;
335
+ }
336
+ }
337
+ return newTeamToParent;
338
+ }
339
+ // This method is used during testing
340
+ setField(fieldName, value) {
341
+ this[fieldName] = value;
342
+ }
343
+ generateFinalRecords(ctx) {
344
+ // Class fields required to be filled (reference for testing):
345
+ // recordCount, teamNameToManagerIDs, employeeIDtoRecord
346
+ // FAROS_TEAM_ROOT, cycleChains, generalLogCollection
347
+ const res = [];
348
+ const teamToParent = this.computeTeamToParentTeamMapping(ctx);
349
+ // Here we get a set of teams to keep
350
+ // This is the entry point to the densest logical aspect of the connector
351
+ const acceptable_teams = this.getAcceptableTeams(teamToParent, ctx);
352
+ ctx.logger.info('Got acceptable teams and computed team to parent team mapping.');
353
+ ctx.logger.info('Acceptable teams: ' + JSON.stringify(Array.from(acceptable_teams)));
354
+ ctx.logger.info('Finished computing ownership chains.');
355
+ const newTeamToParent = this.replaceTeamParents(acceptable_teams, teamToParent);
356
+ for (const team of acceptable_teams) {
357
+ if (team != 'all_teams') {
358
+ res.push(this.createOrgTeamRecord(team, newTeamToParent));
359
+ }
360
+ }
361
+ for (const employeeID of Object.keys(this.employeeIDtoRecord)) {
362
+ res.push(...this.createEmployeeRecordList(employeeID, acceptable_teams));
363
+ }
364
+ this.printReport(ctx, acceptable_teams);
365
+ ctx.logger.info(res.length.toString());
366
+ return [res, newTeamToParent];
367
+ }
368
+ async onProcessingComplete(ctx) {
369
+ ctx.logger.info(`Starting 'onProcessingComplete'. Records skipped: '${this.recordCount.skippedRecords}',` +
370
+ ` records kept: '${this.recordCount.storedRecords}'.`);
371
+ // Checking orgs to keep / ignore
372
+ this.setOrgsToKeepAndIgnore(ctx);
373
+ const [res, finalTeamToParent] = this.generateFinalRecords(ctx);
374
+ ctx.logger.debug(`final team to parent mapping: ${JSON.stringify(finalTeamToParent)}`);
375
+ return res;
376
+ }
377
+ }
378
+ exports.Customreports = Customreports;
379
+ //# sourceMappingURL=customreports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customreports.js","sourceRoot":"","sources":["../../../src/converters/workday/customreports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export declare type EmployeeRecord = {
2
+ Start_Date: Date;
3
+ Full_Name: string;
4
+ Employee_ID: string;
5
+ Manager_Name: string;
6
+ Manager_ID: string;
7
+ Team_Name: string;
8
+ Termination_Date?: Date;
9
+ Location?: string;
10
+ Email?: string;
11
+ };
12
+ export declare type ManagerTimeRecord = {
13
+ Manager_ID: string;
14
+ Timestamp: Date;
15
+ };
16
+ export declare const recordKeyTyping: {
17
+ startdate: string;
18
+ fullname: string;
19
+ employeeid: string;
20
+ managername: string;
21
+ managerid: string;
22
+ teamname: string;
23
+ terminationdate: string;
24
+ location: string;
25
+ email: string;
26
+ };