@acorex/connectivity 20.2.4-next.3 → 20.2.4-next.5

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,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable } from '@angular/core';
3
- import { E as EMPLOYEE_SKILLS_MOCK } from './acorex-connectivity-mock-acorex-connectivity-mock-CVAXxD06.mjs';
3
+ import { E as EMPLOYEE_SKILLS_MOCK, S as SKILL_LEVELS_MOCK } from './acorex-connectivity-mock-acorex-connectivity-mock-BrHaSAxo.mjs';
4
4
 
5
5
  class AXQEmployeeSkillsListQuery {
6
6
  async fetch(input) {
7
- const { skillId, level, minYears, startDate, endDate, skip = 0, take = 10 } = input ?? {};
7
+ const { skillId, levelId, minYears, startDate, endDate, skip = 0, take = 10 } = input ?? {};
8
8
  const sDate = startDate ? new Date(startDate) : undefined;
9
9
  const eDate = endDate ? new Date(endDate) : undefined;
10
10
  let data = EMPLOYEE_SKILLS_MOCK.map((r) => ({
@@ -13,14 +13,14 @@ class AXQEmployeeSkillsListQuery {
13
13
  employeeName: r.employee?.contact?.displayName,
14
14
  skillId: r.skillId,
15
15
  skillTitle: r.skill?.title ?? r.skillId,
16
- level: r.level,
16
+ level: r.level?.title ?? r.levelId,
17
17
  yearsOfExperience: r.yearsOfExperience ?? 0,
18
18
  lastUsedDate: r.lastUsedDate,
19
19
  }));
20
20
  if (skillId)
21
21
  data = data.filter((x) => x.skillId === skillId);
22
- if (level)
23
- data = data.filter((x) => x.level === level);
22
+ if (levelId)
23
+ data = data.filter((x) => x.level === (SKILL_LEVELS_MOCK.find(l => l.id === levelId)?.title ?? levelId));
24
24
  if (minYears != null)
25
25
  data = data.filter((x) => (x.yearsOfExperience ?? 0) >= Number(minYears));
26
26
  if (sDate)
@@ -42,12 +42,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
42
42
  }] });
43
43
  class AXQEmployeeSkillsStatsQuery {
44
44
  async fetch(input) {
45
- const { skillId, level, minYears } = input ?? {};
45
+ const { skillId, levelId, minYears } = input ?? {};
46
46
  let data = EMPLOYEE_SKILLS_MOCK;
47
47
  if (skillId)
48
48
  data = data.filter((x) => x.skillId === skillId);
49
- if (level)
50
- data = data.filter((x) => x.level === level);
49
+ if (levelId)
50
+ data = data.filter((x) => x.levelId === levelId);
51
51
  if (minYears != null)
52
52
  data = data.filter((x) => (x.yearsOfExperience ?? 0) >= Number(minYears));
53
53
  const grouped = data.reduce((acc, cur) => {
@@ -74,14 +74,14 @@ class AXQEmployeeSkillsLevelsQuery {
74
74
  data = data.filter((x) => x.skillId === skillId);
75
75
  if (minYears != null)
76
76
  data = data.filter((x) => (x.yearsOfExperience ?? 0) >= Number(minYears));
77
- const levels = ['Beginner', 'Intermediate', 'Advanced', 'Expert'];
77
+ const levels = SKILL_LEVELS_MOCK.map(l => ({ id: l.id, title: l.title }));
78
78
  const grouped = data.reduce((acc, cur) => {
79
- const key = cur.level && levels.includes(cur.level) ? cur.level : 'Unknown';
79
+ const key = cur.levelId && levels.find((x) => x.id === cur.levelId)?.title || 'Unknown';
80
80
  acc[key] = (acc[key] ?? 0) + 1;
81
81
  return acc;
82
82
  }, {});
83
83
  // Ensure all known levels exist (0 if missing)
84
- levels.forEach((lvl) => (grouped[lvl] = grouped[lvl] ?? 0));
84
+ levels.forEach((lvl) => (grouped[lvl.title] = grouped[lvl.title] ?? 0));
85
85
  return grouped;
86
86
  }
87
87
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXQEmployeeSkillsLevelsQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -95,12 +95,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
95
95
  }] });
96
96
  class AXQEmployeeSkillsTrendQuery {
97
97
  async fetch(input) {
98
- const { startDate, endDate, skillId, level } = input ?? {};
98
+ const { startDate, endDate, skillId, levelId } = input ?? {};
99
99
  const sDate = startDate ? new Date(startDate) : undefined;
100
100
  const eDate = endDate ? new Date(endDate) : undefined;
101
101
  let data = EMPLOYEE_SKILLS_MOCK
102
102
  .filter((x) => (skillId ? x.skillId === skillId : true))
103
- .filter((x) => (level ? x.level === level : true))
103
+ .filter((x) => (levelId ? x.levelId === levelId : true))
104
104
  .filter((x) => (sDate ? (x.lastUsedDate && new Date(x.lastUsedDate) >= sDate) : true))
105
105
  .filter((x) => (eDate ? (x.lastUsedDate && new Date(x.lastUsedDate) <= eDate) : true));
106
106
  // Group by YYYY-MM from lastUsedDate and count occurrences
@@ -128,12 +128,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
128
128
  //#region ---- Percentage Queries ----
129
129
  class AXQEmployeeSkillsSkillPercentagesQuery {
130
130
  async fetch(input) {
131
- const { skillId, level, minYears } = input ?? {};
131
+ const { skillId, levelId, minYears } = input ?? {};
132
132
  let data = EMPLOYEE_SKILLS_MOCK;
133
133
  if (skillId)
134
134
  data = data.filter((x) => x.skillId === skillId);
135
- if (level)
136
- data = data.filter((x) => x.level === level);
135
+ if (levelId)
136
+ data = data.filter((x) => x.levelId === levelId);
137
137
  if (minYears != null)
138
138
  data = data.filter((x) => (x.yearsOfExperience ?? 0) >= Number(minYears));
139
139
  const counts = data.reduce((acc, cur) => {
@@ -165,18 +165,18 @@ class AXQEmployeeSkillsLevelPercentagesQuery {
165
165
  data = data.filter((x) => x.skillId === skillId);
166
166
  if (minYears != null)
167
167
  data = data.filter((x) => (x.yearsOfExperience ?? 0) >= Number(minYears));
168
- const levels = ['Beginner', 'Intermediate', 'Advanced', 'Expert'];
168
+ const levels = SKILL_LEVELS_MOCK.map(l => ({ id: l.id, title: l.title }));
169
169
  const counts = data.reduce((acc, cur) => {
170
- const key = cur.level && levels.includes(cur.level) ? cur.level : 'Unknown';
170
+ const key = cur.levelId && levels.find((x) => x.id === cur.levelId)?.title || 'Unknown';
171
171
  acc[key] = (acc[key] ?? 0) + 1;
172
172
  return acc;
173
173
  }, {});
174
174
  // Ensure fixed level keys exist
175
- levels.forEach((lvl) => (counts[lvl] = counts[lvl] ?? 0));
176
- const total = levels.reduce((sum, lvl) => sum + (counts[lvl] ?? 0), 0) || 1;
175
+ levels.forEach((lvl) => (counts[lvl.title] = counts[lvl.title] ?? 0));
176
+ const total = levels.reduce((sum, lvl) => sum + (counts[lvl.title] ?? 0), 0) || 1;
177
177
  const percentages = {};
178
178
  levels.forEach((lvl) => {
179
- percentages[lvl] = Math.round(((counts[lvl] ?? 0) / total) * 100);
179
+ percentages[lvl.title] = Math.round(((counts[lvl.title] ?? 0) / total) * 100);
180
180
  });
181
181
  return percentages;
182
182
  }
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
191
191
  }] });
192
192
 
193
193
  export { AXQEmployeeSkillsLevelPercentagesQuery, AXQEmployeeSkillsLevelsQuery, AXQEmployeeSkillsListQuery, AXQEmployeeSkillsSkillPercentagesQuery, AXQEmployeeSkillsStatsQuery, AXQEmployeeSkillsTrendQuery };
194
- //# sourceMappingURL=acorex-connectivity-mock-employee-skills.queries-DLQzhHUF.mjs.map
194
+ //# sourceMappingURL=acorex-connectivity-mock-employee-skills.queries-Bg44X62k.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-employee-skills.queries-Bg44X62k.mjs","sources":["../tmp-esm2022/mock/lib/human-capital-management/reports/employee-skills.queries.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { EMPLOYEE_SKILLS_MOCK } from '../../human-capital-management/employee-skill/employee-skill.mock';\nimport { SKILL_LEVELS_MOCK } from '../../human-capital-management/skill-level/skill-level.mock';\nimport * as i0 from \"@angular/core\";\nexport class AXQEmployeeSkillsListQuery {\n async fetch(input) {\n const { skillId, levelId, minYears, startDate, endDate, skip = 0, take = 10 } = input ?? {};\n const sDate = startDate ? new Date(startDate) : undefined;\n const eDate = endDate ? new Date(endDate) : undefined;\n let data = EMPLOYEE_SKILLS_MOCK.map((r) => ({\n id: r.id,\n employeeId: r.employeeId,\n employeeName: r.employee?.contact?.displayName,\n skillId: r.skillId,\n skillTitle: r.skill?.title ?? r.skillId,\n level: r.level?.title ?? r.levelId,\n yearsOfExperience: r.yearsOfExperience ?? 0,\n lastUsedDate: r.lastUsedDate,\n }));\n if (skillId)\n data = data.filter((x) => x.skillId === skillId);\n if (levelId)\n data = data.filter((x) => x.level === (SKILL_LEVELS_MOCK.find(l => l.id === levelId)?.title ?? levelId));\n if (minYears != null)\n data = data.filter((x) => (x.yearsOfExperience ?? 0) >= Number(minYears));\n if (sDate)\n data = data.filter((x) => x.lastUsedDate && new Date(x.lastUsedDate) >= sDate);\n if (eDate)\n data = data.filter((x) => x.lastUsedDate && new Date(x.lastUsedDate) <= eDate);\n const total = data.length;\n const items = data.slice(skip, skip + take);\n return { items, total };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsListQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsListQuery, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsListQuery, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\nexport class AXQEmployeeSkillsStatsQuery {\n async fetch(input) {\n const { skillId, levelId, minYears } = input ?? {};\n let data = EMPLOYEE_SKILLS_MOCK;\n if (skillId)\n data = data.filter((x) => x.skillId === skillId);\n if (levelId)\n data = data.filter((x) => x.levelId === levelId);\n if (minYears != null)\n data = data.filter((x) => (x.yearsOfExperience ?? 0) >= Number(minYears));\n const grouped = data.reduce((acc, cur) => {\n const key = cur.skill?.title ?? cur.skillId;\n acc[key] = (acc[key] ?? 0) + 1;\n return acc;\n }, {});\n return grouped;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsStatsQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsStatsQuery, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsStatsQuery, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\nexport class AXQEmployeeSkillsLevelsQuery {\n async fetch(input) {\n const { skillId, minYears } = input ?? {};\n let data = EMPLOYEE_SKILLS_MOCK;\n if (skillId)\n data = data.filter((x) => x.skillId === skillId);\n if (minYears != null)\n data = data.filter((x) => (x.yearsOfExperience ?? 0) >= Number(minYears));\n const levels = SKILL_LEVELS_MOCK.map(l => ({ id: l.id, title: l.title }));\n const grouped = data.reduce((acc, cur) => {\n const key = cur.levelId && levels.find((x) => x.id === cur.levelId)?.title || 'Unknown';\n acc[key] = (acc[key] ?? 0) + 1;\n return acc;\n }, {});\n // Ensure all known levels exist (0 if missing)\n levels.forEach((lvl) => (grouped[lvl.title] = grouped[lvl.title] ?? 0));\n return grouped;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsLevelsQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsLevelsQuery, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsLevelsQuery, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\nexport class AXQEmployeeSkillsTrendQuery {\n async fetch(input) {\n const { startDate, endDate, skillId, levelId } = input ?? {};\n const sDate = startDate ? new Date(startDate) : undefined;\n const eDate = endDate ? new Date(endDate) : undefined;\n let data = EMPLOYEE_SKILLS_MOCK\n .filter((x) => (skillId ? x.skillId === skillId : true))\n .filter((x) => (levelId ? x.levelId === levelId : true))\n .filter((x) => (sDate ? (x.lastUsedDate && new Date(x.lastUsedDate) >= sDate) : true))\n .filter((x) => (eDate ? (x.lastUsedDate && new Date(x.lastUsedDate) <= eDate) : true));\n // Group by YYYY-MM from lastUsedDate and count occurrences\n const counts = data.reduce((acc, cur) => {\n const d = cur.lastUsedDate ? new Date(cur.lastUsedDate) : undefined;\n const key = d ? `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}` : 'Unknown';\n acc[key] = (acc[key] ?? 0) + 1;\n return acc;\n }, {});\n // Convert to sorted array, ignoring 'Unknown'\n return Object.entries(counts)\n .filter(([k]) => k !== 'Unknown')\n .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))\n .map(([month, value]) => ({ month, value }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsTrendQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsTrendQuery, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsTrendQuery, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//#region ---- Percentage Queries ----\nexport class AXQEmployeeSkillsSkillPercentagesQuery {\n async fetch(input) {\n const { skillId, levelId, minYears } = input ?? {};\n let data = EMPLOYEE_SKILLS_MOCK;\n if (skillId)\n data = data.filter((x) => x.skillId === skillId);\n if (levelId)\n data = data.filter((x) => x.levelId === levelId);\n if (minYears != null)\n data = data.filter((x) => (x.yearsOfExperience ?? 0) >= Number(minYears));\n const counts = data.reduce((acc, cur) => {\n const key = cur.skill?.title ?? cur.skillId;\n acc[key] = (acc[key] ?? 0) + 1;\n return acc;\n }, {});\n const total = Object.values(counts).reduce((a, b) => a + b, 0) || 1;\n const percentages = {};\n Object.entries(counts).forEach(([k, v]) => {\n percentages[k] = Math.round((v / total) * 100);\n });\n return percentages;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsSkillPercentagesQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsSkillPercentagesQuery, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsSkillPercentagesQuery, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\nexport class AXQEmployeeSkillsLevelPercentagesQuery {\n async fetch(input) {\n const { skillId, minYears } = input ?? {};\n let data = EMPLOYEE_SKILLS_MOCK;\n if (skillId)\n data = data.filter((x) => x.skillId === skillId);\n if (minYears != null)\n data = data.filter((x) => (x.yearsOfExperience ?? 0) >= Number(minYears));\n const levels = SKILL_LEVELS_MOCK.map(l => ({ id: l.id, title: l.title }));\n const counts = data.reduce((acc, cur) => {\n const key = cur.levelId && levels.find((x) => x.id === cur.levelId)?.title || 'Unknown';\n acc[key] = (acc[key] ?? 0) + 1;\n return acc;\n }, {});\n // Ensure fixed level keys exist\n levels.forEach((lvl) => (counts[lvl.title] = counts[lvl.title] ?? 0));\n const total = levels.reduce((sum, lvl) => sum + (counts[lvl.title] ?? 0), 0) || 1;\n const percentages = {};\n levels.forEach((lvl) => {\n percentages[lvl.title] = Math.round(((counts[lvl.title] ?? 0) / total) * 100);\n });\n return percentages;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsLevelPercentagesQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsLevelPercentagesQuery, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXQEmployeeSkillsLevelPercentagesQuery, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtc2tpbGxzLnF1ZXJpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nvbm5lY3Rpdml0eS9tb2NrL3NyYy9saWIvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3JlcG9ydHMvZW1wbG95ZWUtc2tpbGxzLnF1ZXJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7QUFpQmhHLE1BQU0sT0FBTywwQkFBMEI7SUFDbkMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFnQjtRQUN4QixNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsR0FBRyxLQUFLLElBQUksRUFBUyxDQUFDO1FBRW5HLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMxRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDdEQsSUFBSSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNSLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN4QixZQUFZLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsV0FB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QUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbkIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzs4R0F4QlEsc0NBQXNDO2tIQUF0QyxzQ0FBc0MsY0FGbkMsTUFBTTs7MkZBRVQsc0NBQXNDO2tCQUhsRCxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQUXVlcnkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgRU1QTE9ZRUVfU0tJTExTX01PQ0sgfSBmcm9tICcuLi8uLi9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQvZW1wbG95ZWUtc2tpbGwvZW1wbG95ZWUtc2tpbGwubW9jayc7XG5pbXBvcnQgeyBTS0lMTF9MRVZFTFNfTU9DSyB9IGZyb20gJy4uLy4uL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9za2lsbC1sZXZlbC9za2lsbC1sZXZlbC5tb2NrJztcblxuLy8jcmVnaW9uIC0tLS0gICBRdWVyaWVzICAgLS0tLVxuXG50eXBlIExpc3RJbnB1dCA9IHtcbiAgICBza2lsbElkPzogc3RyaW5nO1xuICAgIGxldmVsSWQ/OiBzdHJpbmc7XG4gICAgbWluWWVhcnM/OiBudW1iZXI7XG4gICAgc3RhcnREYXRlPzogRGF0ZSB8IHN0cmluZztcbiAgICBlbmREYXRlPzogRGF0ZSB8IHN0cmluZztcbiAgICBza2lwPzogbnVtYmVyO1xuICAgIHRha2U/OiBudW1iZXI7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUUVtcGxveWVlU2tpbGxzTGlzdFF1ZXJ5IGltcGxlbWVudHMgQVhQUXVlcnk8TGlzdElucHV0LCB7IGl0ZW1zOiBhbnlbXTsgdG90YWw6IG51bWJlciB9PiB7XG4gICAgYXN5bmMgZmV0Y2goaW5wdXQ6IExpc3RJbnB1dCk6IFByb21pc2U8eyBpdGVtczogYW55W107IHRvdGFsOiBudW1iZXIgfT4ge1xuICAgICAgICBjb25zdCB7IHNraWxsSWQsIGxldmVsSWQsIG1pblllYXJzLCBzdGFydERhdGUsIGVuZERhdGUsIHNraXAgPSAwLCB0YWtlID0gMTAgfSA9IGlucHV0ID8/IHt9IGFzIGFueTtcblxuICAgICAgICBjb25zdCBzRGF0ZSA9IHN0YXJ0RGF0ZSA/IG5ldyBEYXRlKHN0YXJ0RGF0ZSkgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGVEYXRlID0gZW5kRGF0ZSA/IG5ldyBEYXRlKGVuZERhdGUpIDogdW5kZWZpbmVkO1xuICAgICAgICBsZXQgZGF0YSA9IEVNUExPWUVFX1NLSUxMU19NT0NLLm1hcCgocikgPT4gKHtcbiAgICAgICAgICAgIGlkOiByLmlkLFxuICAgICAgICAgICAgZW1wbG95ZWVJZDogci5lbXBsb3llZUlkLFxuICAgICAgICAgICAgZW1wbG95ZWVOYW1lOiByLmVtcGxveWVlPy5jb250YWN0Py5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIHNraWxsSWQ6IHIuc2tpbGxJZCxcbiAgICAgICAgICAgIHNraWxsVGl0bGU6IHIuc2tpbGw/LnRpdGxlID8/IHIuc2tpbGxJZCxcbiAgICAgICAgICAgIGxldmVsOiByLmxldmVsPy50aXRsZSA/PyByLmxldmVsSWQsXG4gICAgICAgICAgICB5ZWFyc09mRXhwZXJpZW5jZTogci55ZWFyc09mRXhwZXJpZW5jZSA/PyAwLFxuICAgICAgICAgICAgbGFzdFVzZWREYXRlOiByLmxhc3RVc2VkRGF0ZSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGlmIChza2lsbElkKSBkYXRhID0gZGF0YS5maWx0ZXIoKHgpID0+IHguc2tpbGxJZCA9PT0gc2tpbGxJZCk7XG4gICAgICAgIGlmIChsZXZlbElkKSBkYXRhID0gZGF0YS5maWx0ZXIoKHgpID0+IHgubGV2ZWwgPT09IChTS0lMTF9MRVZFTFNfTU9DSy5maW5kKGwgPT4gbC5pZCA9PT0gbGV2ZWxJZCk/LnRpdGxlID8/IGxldmVsSWQpKTtcbiAgICAgICAgaWYgKG1pblllYXJzICE9IG51bGwpIGRhdGEgPSBkYXRhLmZpbHRlcigoeCkgPT4gKHgueWVhcnNPZkV4cGVyaWVuY2UgPz8gMCkgPj0gTnVtYmVyKG1pblllYXJzKSk7XG4gICAgICAgIGlmIChzRGF0ZSkgZGF0YSA9IGRhdGEuZmlsdGVyKCh4KSA9PiB4Lmxhc3RVc2VkRGF0ZSAmJiBuZXcgRGF0ZSh4Lmxhc3RVc2VkRGF0ZSkgPj0gc0RhdGUpO1xuICAgICAgICBpZiAoZURhdGUpIGRhdGEgPSBkYXRhLmZpbHRlcigoeCkgPT4geC5sYXN0VXNlZERhdGUgJiYgbmV3IERhdGUoeC5sYXN0VXNlZERhdGUpIDw9IGVEYXRlKTtcblxuICAgICAgICBjb25zdCB0b3RhbCA9IGRhdGEubGVuZ3RoO1xuICAgICAgICBjb25zdCBpdGVtcyA9IGRhdGEuc2xpY2Uoc2tpcCwgc2tpcCArIHRha2UpO1xuICAgICAgICByZXR1cm4geyBpdGVtcywgdG90YWwgfTtcbiAgICB9XG59XG5cbnR5cGUgU3RhdHNJbnB1dCA9IHtcbiAgICBza2lsbElkPzogc3RyaW5nO1xuICAgIGxldmVsSWQ/OiBzdHJpbmc7XG4gICAgbWluWWVhcnM/OiBudW1iZXI7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUUVtcGxveWVlU2tpbGxzU3RhdHNRdWVyeSBpbXBsZW1lbnRzIEFYUFF1ZXJ5PFN0YXRzSW5wdXQsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcbiAgICBhc3luYyBmZXRjaChpbnB1dDogU3RhdHNJbnB1dCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuICAgICAgICBjb25zdCB7IHNraWxsSWQsIGxldmVsSWQsIG1pblllYXJzIH0gPSBpbnB1dCA/PyB7fSBhcyBhbnk7XG4gICAgICAgIGxldCBkYXRhID0gRU1QTE9ZRUVfU0tJTExTX01PQ0s7XG5cbiAgICAgICAgaWYgKHNraWxsSWQpIGRhdGEgPSBkYXRhLmZpbHRlcigoeCkgPT4geC5za2lsbElkID09PSBza2lsbElkKTtcbiAgICAgICAgaWYgKGxldmVsSWQpIGRhdGEgPSBkYXRhLmZpbHRlcigoeCkgPT4geC5sZXZlbElkID09PSBsZXZlbElkKTtcbiAgICAgICAgaWYgKG1pblllYXJzICE9IG51bGwpIGRhdGEgPSBkYXRhLmZpbHRlcigoeCkgPT4gKHgueWVhcnNPZkV4cGVyaWVuY2UgPz8gMCkgPj0gTnVtYmVyKG1pblllYXJzKSk7XG5cbiAgICAgICAgY29uc3QgZ3JvdXBlZCA9IGRhdGEucmVkdWNlKChhY2M6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4sIGN1cikgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gY3VyLnNraWxsPy50aXRsZSA/PyBjdXIuc2tpbGxJZDtcbiAgICAgICAgICAgIGFjY1trZXldID0gKGFjY1trZXldID8/IDApICsgMTtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgICByZXR1cm4gZ3JvdXBlZDtcbiAgICB9XG59XG5cbnR5cGUgTGV2ZWxzSW5wdXQgPSB7XG4gICAgc2tpbGxJZD86IHN0cmluZztcbiAgICBtaW5ZZWFycz86IG51bWJlcjtcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQVhRRW1wbG95ZWVTa2lsbHNMZXZlbHNRdWVyeSBpbXBsZW1lbnRzIEFYUFF1ZXJ5PExldmVsc0lucHV0LCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG4gICAgYXN5bmMgZmV0Y2goaW5wdXQ6IExldmVsc0lucHV0KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG4gICAgICAgIGNvbnN0IHsgc2tpbGxJZCwgbWluWWVhcnMgfSA9IGlucHV0ID8/IHt9IGFzIGFueTtcbiAgICAgICAgbGV0IGRhdGEgPSBFTVBMT1lFRV9TS0lMTFNfTU9DSztcblxuICAgICAgICBpZiAoc2tpbGxJZCkgZGF0YSA9IGRhdGEuZmlsdGVyKCh4KSA9PiB4LnNraWxsSWQgPT09IHNraWxsSWQpO1xuICAgICAgICBpZiAobWluWWVhcnMgIT0gbnVsbCkgZGF0YSA9IGRhdGEuZmlsdGVyKCh4KSA9PiAoeC55ZWFyc09mRXhwZXJpZW5jZSA/PyAwKSA+PSBOdW1iZXIobWluWWVhcnMpKTtcblxuICAgICAgICBjb25zdCBsZXZlbHMgPSBTS0lMTF9MRVZFTFNfTU9DSy5tYXAobCA9PiAoeyBpZDogbC5pZCwgdGl0bGU6IGwudGl0bGUgfSkpO1xuICAgICAgICBjb25zdCBncm91cGVkID0gZGF0YS5yZWR1Y2UoKGFjYzogUmVjb3JkPHN0cmluZywgbnVtYmVyPiwgY3VyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBjdXIubGV2ZWxJZCAmJiBsZXZlbHMuZmluZCgoeCkgPT4geC5pZCA9PT0gY3VyLmxldmVsSWQpPy50aXRsZSB8fCAnVW5rbm93bic7XG4gICAgICAgICAgICBhY2Nba2V5XSA9IChhY2Nba2V5XSA/PyAwKSArIDE7XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCB7fSk7XG4gICAgICAgIC8vIEVuc3VyZSBhbGwga25vd24gbGV2ZWxzIGV4aXN0ICgwIGlmIG1pc3NpbmcpXG4gICAgICAgIGxldmVscy5mb3JFYWNoKChsdmwpID0+IChncm91cGVkW2x2bC50aXRsZV0gPSBncm91cGVkW2x2bC50aXRsZV0gPz8gMCkpO1xuICAgICAgICByZXR1cm4gZ3JvdXBlZDtcbiAgICB9XG59XG5cbnR5cGUgVHJlbmRJbnB1dCA9IHtcbiAgICBzdGFydERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICAgIGVuZERhdGU/OiBEYXRlIHwgc3RyaW5nO1xuICAgIHNraWxsSWQ/OiBzdHJpbmc7XG4gICAgbGV2ZWxJZD86IHN0cmluZztcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQVhRRW1wbG95ZWVTa2lsbHNUcmVuZFF1ZXJ5IGltcGxlbWVudHMgQVhQUXVlcnk8VHJlbmRJbnB1dCwgeyBtb250aDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH1bXT4ge1xuICAgIGFzeW5jIGZldGNoKGlucHV0OiBUcmVuZElucHV0KTogUHJvbWlzZTx7IG1vbnRoOiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfVtdPiB7XG4gICAgICAgIGNvbnN0IHsgc3RhcnREYXRlLCBlbmREYXRlLCBza2lsbElkLCBsZXZlbElkIH0gPSBpbnB1dCA/PyB7fSBhcyBhbnk7XG4gICAgICAgIGNvbnN0IHNEYXRlID0gc3RhcnREYXRlID8gbmV3IERhdGUoc3RhcnREYXRlKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZURhdGUgPSBlbmREYXRlID8gbmV3IERhdGUoZW5kRGF0ZSkgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgbGV0IGRhdGEgPSBFTVBMT1lFRV9TS0lMTFNfTU9DS1xuICAgICAgICAgICAgLmZpbHRlcigoeCkgPT4gKHNraWxsSWQgPyB4LnNraWxsSWQgPT09IHNraWxsSWQgOiB0cnVlKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+IChsZXZlbElkID8geC5sZXZlbElkID09PSBsZXZlbElkIDogdHJ1ZSkpXG4gICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAoc0RhdGUgPyAoeC5sYXN0VXNlZERhdGUgJiYgbmV3IERhdGUoeC5sYXN0VXNlZERhdGUpID49IHNEYXRlKSA6IHRydWUpKVxuICAgICAgICAgICAgLmZpbHRlcigoeCkgPT4gKGVEYXRlID8gKHgubGFzdFVzZWREYXRlICYmIG5ldyBEYXRlKHgubGFzdFVzZWREYXRlKSA8PSBlRGF0ZSkgOiB0cnVlKSk7XG5cbiAgICAgICAgLy8gR3JvdXAgYnkgWVlZWS1NTSBmcm9tIGxhc3RVc2VkRGF0ZSBhbmQgY291bnQgb2NjdXJyZW5jZXNcbiAgICAgICAgY29uc3QgY291bnRzID0gZGF0YS5yZWR1Y2UoKGFjYzogUmVjb3JkPHN0cmluZywgbnVtYmVyPiwgY3VyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkID0gY3VyLmxhc3RVc2VkRGF0ZSA/IG5ldyBEYXRlKGN1ci5sYXN0VXNlZERhdGUpIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gZCA/IGAke2QuZ2V0RnVsbFllYXIoKX0tJHtTdHJpbmcoZC5nZXRNb250aCgpICsgMSkucGFkU3RhcnQoMiwgJzAnKX1gIDogJ1Vua25vd24nO1xuICAgICAgICAgICAgYWNjW2tleV0gPSAoYWNjW2tleV0gPz8gMCkgKyAxO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgbnVtYmVyPik7XG5cbiAgICAgICAgLy8gQ29udmVydCB0byBzb3J0ZWQgYXJyYXksIGlnbm9yaW5nICdVbmtub3duJ1xuICAgICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoY291bnRzKVxuICAgICAgICAgICAgLmZpbHRlcigoW2tdKSA9PiBrICE9PSAnVW5rbm93bicpXG4gICAgICAgICAgICAuc29ydCgoW2FdLCBbYl0pID0+IChhIDwgYiA/IC0xIDogYSA+IGIgPyAxIDogMCkpXG4gICAgICAgICAgICAubWFwKChbbW9udGgsIHZhbHVlXSkgPT4gKHsgbW9udGgsIHZhbHVlIH0pKTtcbiAgICB9XG59XG5cbi8vI3JlZ2lvbiAtLS0tICAgUGVyY2VudGFnZSBRdWVyaWVzICAgLS0tLVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUUVtcGxveWVlU2tpbGxzU2tpbGxQZXJjZW50YWdlc1F1ZXJ5IGltcGxlbWVudHMgQVhQUXVlcnk8U3RhdHNJbnB1dCwgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuICAgIGFzeW5jIGZldGNoKGlucHV0OiBTdGF0c0lucHV0KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG4gICAgICAgIGNvbnN0IHsgc2tpbGxJZCwgbGV2ZWxJZCwgbWluWWVhcnMgfSA9IGlucHV0ID8/ICh7fSBhcyBhbnkpO1xuICAgICAgICBsZXQgZGF0YSA9IEVNUExPWUVFX1NLSUxMU19NT0NLO1xuXG4gICAgICAgIGlmIChza2lsbElkKSBkYXRhID0gZGF0YS5maWx0ZXIoKHgpID0+IHguc2tpbGxJZCA9PT0gc2tpbGxJZCk7XG4gICAgICAgIGlmIChsZXZlbElkKSBkYXRhID0gZGF0YS5maWx0ZXIoKHgpID0+IHgubGV2ZWxJZCA9PT0gbGV2ZWxJZCk7XG4gICAgICAgIGlmIChtaW5ZZWFycyAhPSBudWxsKSBkYXRhID0gZGF0YS5maWx0ZXIoKHgpID0+ICh4LnllYXJzT2ZFeHBlcmllbmNlID8/IDApID49IE51bWJlcihtaW5ZZWFycykpO1xuXG4gICAgICAgIGNvbnN0IGNvdW50cyA9IGRhdGEucmVkdWNlKChhY2M6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4sIGN1cikgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gY3VyLnNraWxsPy50aXRsZSA/PyBjdXIuc2tpbGxJZDtcbiAgICAgICAgICAgIGFjY1trZXldID0gKGFjY1trZXldID8/IDApICsgMTtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIG51bWJlcj4pO1xuXG4gICAgICAgIGNvbnN0IHRvdGFsID0gT2JqZWN0LnZhbHVlcyhjb3VudHMpLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApIHx8IDE7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRhZ2VzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge307XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGNvdW50cykuZm9yRWFjaCgoW2ssIHZdKSA9PiB7XG4gICAgICAgICAgICBwZXJjZW50YWdlc1trXSA9IE1hdGgucm91bmQoKHYgLyB0b3RhbCkgKiAxMDApO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBlcmNlbnRhZ2VzO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBWFFFbXBsb3llZVNraWxsc0xldmVsUGVyY2VudGFnZXNRdWVyeSBpbXBsZW1lbnRzIEFYUFF1ZXJ5PExldmVsc0lucHV0LCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG4gICAgYXN5bmMgZmV0Y2goaW5wdXQ6IExldmVsc0lucHV0KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG4gICAgICAgIGNvbnN0IHsgc2tpbGxJZCwgbWluWWVhcnMgfSA9IGlucHV0ID8/ICh7fSBhcyBhbnkpO1xuICAgICAgICBsZXQgZGF0YSA9IEVNUExPWUVFX1NLSUxMU19NT0NLO1xuXG4gICAgICAgIGlmIChza2lsbElkKSBkYXRhID0gZGF0YS5maWx0ZXIoKHgpID0+IHguc2tpbGxJZCA9PT0gc2tpbGxJZCk7XG4gICAgICAgIGlmIChtaW5ZZWFycyAhPSBudWxsKSBkYXRhID0gZGF0YS5maWx0ZXIoKHgpID0+ICh4LnllYXJzT2ZFeHBlcmllbmNlID8/IDApID49IE51bWJlcihtaW5ZZWFycykpO1xuXG4gICAgICAgIGNvbnN0IGxldmVscyA9IFNLSUxMX0xFVkVMU19NT0NLLm1hcChsID0+ICh7IGlkOiBsLmlkLCB0aXRsZTogbC50aXRsZSB9KSk7XG4gICAgICAgIGNvbnN0IGNvdW50cyA9IGRhdGEucmVkdWNlKChhY2M6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4sIGN1cikgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gY3VyLmxldmVsSWQgJiYgbGV2ZWxzLmZpbmQoKHgpID0+IHguaWQgPT09IGN1ci5sZXZlbElkKT8udGl0bGUgfHwgJ1Vua25vd24nO1xuICAgICAgICAgICAgYWNjW2tleV0gPSAoYWNjW2tleV0gPz8gMCkgKyAxO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgbnVtYmVyPik7XG5cbiAgICAgICAgLy8gRW5zdXJlIGZpeGVkIGxldmVsIGtleXMgZXhpc3RcbiAgICAgICAgbGV2ZWxzLmZvckVhY2goKGx2bCkgPT4gKGNvdW50c1tsdmwudGl0bGVdID0gY291bnRzW2x2bC50aXRsZV0gPz8gMCkpO1xuXG4gICAgICAgIGNvbnN0IHRvdGFsID0gbGV2ZWxzLnJlZHVjZSgoc3VtLCBsdmwpID0+IHN1bSArIChjb3VudHNbbHZsLnRpdGxlXSA/PyAwKSwgMCkgfHwgMTtcbiAgICAgICAgY29uc3QgcGVyY2VudGFnZXM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fTtcbiAgICAgICAgbGV2ZWxzLmZvckVhY2goKGx2bCkgPT4ge1xuICAgICAgICAgICAgcGVyY2VudGFnZXNbbHZsLnRpdGxlXSA9IE1hdGgucm91bmQoKChjb3VudHNbbHZsLnRpdGxlXSA/PyAwKSAvIHRvdGFsKSAqIDEwMCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGVyY2VudGFnZXM7XG4gICAgfVxufVxuXG4vLyNlbmRyZWdpb25cblxuLy8jZW5kcmVnaW9uXG5cblxuIl19"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { A as APPLICATIONS, a as APPLICATIONS_MODULES, W as AXCAppVersionDataSeeder, f as AXCApplicationManagementMockModule, e as AXCApplicationTemplateDataSeeder, g as AXCAuthMockModule, h as AXCCommonMockModule, l as AXCContactManagementMockModule, p as AXCConversationMockModule, s as AXCDashboardManagementMockModule, t as AXCDataManagementMockModule, w as AXCDocumentManagementMockModule, I as AXCFOrganizationManagementMockModule, j as AXCFileStorageService, x as AXCFormTemplateManagementMockModule, X as AXCGlobalVariablesDataSeeder, y as AXCHelpDeskMockModule, aq as AXCIdentifierManagementMockModule, ap as AXCLocaleManagementMockModule, ao as AXCLocationManagementMockModule, i as AXCLockService, z as AXCLogManagementMockModule, u as AXCMetaDataDefinitionDataSeeder, aC as AXCMiddlewaresModule, aB as AXCMockEntityLogListener, C as AXCMockModule, H as AXCNotificationManagementMockModule, Z as AXCPlatformManagementMockModule, _ as AXCProjectManagementMockModule, a2 as AXCReportManagementMockModule, a4 as AXCSchedulerJobDataSeeder, a5 as AXCSchedulerJobManagementMockModule, ac as AXCSecurityManagementMockModule, ah as AXCTaskManagementMockModule, ai as AXCTextTemplateCategoryDataSeeder, aj as AXCTextTemplateDataSeeder, am as AXCTextTemplateManagementMockModule, an as AXCTrainingManagementMockModule, m as AXMAiResponderService, K as AXMBranchDataSeeder, Q as AXMDepartmentDataSeeder, N as AXMDivisionDataSeeder, V as AXMEmployeeDataSeeder, $ as AXMReportCategoryDataSeeder, a0 as AXMReportDefinitionDataSeeder, a1 as AXMReportExecuteCommand, a3 as AXMReportMockDataService, R as AXMTeamDataSeeder, r as AXPDashboardDataSeeder, v as AXPDexieEntityStorageService, ar as AXPIdentifierDB, n as AXPMessageDataSeeder, at as AXPMockChecksumProvider, as as AXPMockClockProvider, ax as AXPMockIdentifierService, av as AXPMockLookupProvider, au as AXPMockPolicyProvider, aw as AXPMockSequenceProvider, o as AXPRoomDataSeeder, aa as AXPSecurityManagementRoleDataSeeder, ab as AXPSecurityManagementUserDataSeeder, J as BRANCHES_MOCK, D as DASHBOARDS, O as DEPARTMENTS_MOCK, L as DIVISIONS_MOCK, b as EDITIONS, U as EMPLOYEES_MOCK, c as ENTITIES, F as FEATURES, Y as GLOBAL_VARIABLES, B as MOCKGoogleStrategy, G as MOCKStrategy, M as MODULES, P as PERMISSIONS, d as PROPERTIES, af as TASKS, ae as TASK_STATUSES, ag as TASK_TEMPLATES, ad as TASK_TYPES, T as TEAMS_MOCK, al as TEXT_TEMPLATES, ak as TEXT_TEMPLATE_CATEGORY, a7 as applications, az as auditLoggerMiddleware, aA as createFileCastMiddleware, k as findContactMethod, S as findEmployeeById, q as generateRandomDashboard, ay as identifierCommitMiddleware, a8 as mockRoleDefinitions, a9 as mockUsers, a6 as tenantsMock } from './acorex-connectivity-mock-acorex-connectivity-mock-CVAXxD06.mjs';
1
+ export { A as APPLICATIONS, a as APPLICATIONS_MODULES, Z as AXCAppVersionDataSeeder, f as AXCApplicationManagementMockModule, e as AXCApplicationTemplateDataSeeder, g as AXCAuthMockModule, h as AXCCommonMockModule, l as AXCContactManagementMockModule, p as AXCConversationMockModule, s as AXCDashboardManagementMockModule, t as AXCDataManagementMockModule, w as AXCDocumentManagementMockModule, I as AXCFOrganizationManagementMockModule, j as AXCFileStorageService, x as AXCFormTemplateManagementMockModule, _ as AXCGlobalVariablesDataSeeder, y as AXCHelpDeskMockModule, at as AXCIdentifierManagementMockModule, as as AXCLocaleManagementMockModule, ar as AXCLocationManagementMockModule, i as AXCLockService, z as AXCLogManagementMockModule, u as AXCMetaDataDefinitionDataSeeder, aG as AXCMiddlewaresModule, aF as AXCMockEntityLogListener, C as AXCMockModule, H as AXCNotificationManagementMockModule, a0 as AXCPlatformManagementMockModule, a1 as AXCProjectManagementMockModule, a5 as AXCReportManagementMockModule, a7 as AXCSchedulerJobDataSeeder, a8 as AXCSchedulerJobManagementMockModule, af as AXCSecurityManagementMockModule, ak as AXCTaskManagementMockModule, al as AXCTextTemplateCategoryDataSeeder, am as AXCTextTemplateDataSeeder, ap as AXCTextTemplateManagementMockModule, aq as AXCTrainingManagementMockModule, m as AXMAiResponderService, K as AXMBranchDataSeeder, Q as AXMDepartmentDataSeeder, N as AXMDivisionDataSeeder, W as AXMEmployeeDataSeeder, Y as AXMPositionAssignmentDataSeeder, a2 as AXMReportCategoryDataSeeder, a3 as AXMReportDefinitionDataSeeder, a4 as AXMReportExecuteCommand, a6 as AXMReportMockDataService, R as AXMTeamDataSeeder, r as AXPDashboardDataSeeder, v as AXPDexieEntityStorageService, au as AXPIdentifierDB, n as AXPMessageDataSeeder, aw as AXPMockChecksumProvider, av as AXPMockClockProvider, aA as AXPMockIdentifierService, ay as AXPMockLookupProvider, ax as AXPMockPolicyProvider, az as AXPMockSequenceProvider, o as AXPRoomDataSeeder, ad as AXPSecurityManagementRoleDataSeeder, ae as AXPSecurityManagementUserDataSeeder, J as BRANCHES_MOCK, D as DASHBOARDS, O as DEPARTMENTS_MOCK, L as DIVISIONS_MOCK, b as EDITIONS, V as EMPLOYEES_MOCK, c as ENTITIES, F as FEATURES, $ as GLOBAL_VARIABLES, B as MOCKGoogleStrategy, G as MOCKStrategy, M as MODULES, P as PERMISSIONS, X as POSITION_ASSIGNMENTS_MOCK, d as PROPERTIES, ai as TASKS, ah as TASK_STATUSES, aj as TASK_TEMPLATES, ag as TASK_TYPES, T as TEAMS_MOCK, ao as TEXT_TEMPLATES, an as TEXT_TEMPLATE_CATEGORY, aa as applications, aB as auditLoggerMiddleware, aC as createFileCastMiddleware, k as findContactMethod, U as findEmployeeById, q as generateRandomDashboard, aD as identifierCommitMiddleware, aE as mergeDetailRelationMiddleware, ab as mockRoleDefinitions, ac as mockUsers, a9 as tenantsMock } from './acorex-connectivity-mock-acorex-connectivity-mock-BrHaSAxo.mjs';
2
2
  //# sourceMappingURL=acorex-connectivity-mock.mjs.map
package/mock/index.d.ts CHANGED
@@ -314,6 +314,12 @@ declare class AXCFOrganizationManagementMockModule {
314
314
  static ɵinj: i0.ɵɵInjectorDeclaration<AXCFOrganizationManagementMockModule>;
315
315
  }
316
316
 
317
+ declare class AXCHumanCapitalManagementMockModule {
318
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCHumanCapitalManagementMockModule, never>;
319
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXCHumanCapitalManagementMockModule, never, never, never>;
320
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXCHumanCapitalManagementMockModule>;
321
+ }
322
+
317
323
  declare class AXCReportManagementMockModule {
318
324
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCReportManagementMockModule, never>;
319
325
  static ɵmod: i0.ɵɵNgModuleDeclaration<AXCReportManagementMockModule, never, [typeof i1.AXPRuntimeModule], never>;
@@ -431,7 +437,7 @@ declare class AXCMiddlewaresModule {
431
437
  declare class AXCMockModule {
432
438
  constructor(appInitService: AXPAppStartUpService, injector: Injector);
433
439
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCMockModule, never>;
434
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXCMockModule, never, [typeof _acorex_platform_auth.AXPAuthModule, typeof AXCCommonMockModule, typeof AXCFormTemplateManagementMockModule, typeof AXCFOrganizationManagementMockModule, typeof AXCReportManagementMockModule, typeof AXCContactManagementMockModule, typeof AXCLocationManagementMockModule, typeof AXCLocaleManagementMockModule, typeof AXCDashboardManagementMockModule, typeof AXCConversationMockModule, typeof AXCAuthMockModule, typeof AXCPlatformManagementMockModule, typeof AXCTextTemplateManagementMockModule, typeof AXCSecurityManagementMockModule, typeof AXCSchedulerJobManagementMockModule, typeof AXCApplicationManagementMockModule, typeof AXCTrainingManagementMockModule, typeof AXCProjectManagementMockModule, typeof AXCDocumentManagementMockModule, typeof AXCHelpDeskMockModule, typeof AXCLogManagementMockModule, typeof AXMCalendarManagementMockModule, typeof AXCDataManagementMockModule, typeof AXCWorkflowManagementMockModule, typeof AXCNotificationManagementMockModule, typeof AXCTaskManagementMockModule, typeof AXMPartyManagementMockModule, typeof AXCContentManagementMockModule, typeof AXCIdentifierManagementMockModule, typeof AXCMeetingManagementMockModule, typeof AXCCustomerManagementMockModule, typeof AXCMiddlewaresModule], never>;
440
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXCMockModule, never, [typeof _acorex_platform_auth.AXPAuthModule, typeof AXCCommonMockModule, typeof AXCFormTemplateManagementMockModule, typeof AXCFOrganizationManagementMockModule, typeof AXCHumanCapitalManagementMockModule, typeof AXCReportManagementMockModule, typeof AXCContactManagementMockModule, typeof AXCLocationManagementMockModule, typeof AXCLocaleManagementMockModule, typeof AXCDashboardManagementMockModule, typeof AXCConversationMockModule, typeof AXCAuthMockModule, typeof AXCPlatformManagementMockModule, typeof AXCTextTemplateManagementMockModule, typeof AXCSecurityManagementMockModule, typeof AXCSchedulerJobManagementMockModule, typeof AXCApplicationManagementMockModule, typeof AXCTrainingManagementMockModule, typeof AXCProjectManagementMockModule, typeof AXCDocumentManagementMockModule, typeof AXCHelpDeskMockModule, typeof AXCLogManagementMockModule, typeof AXMCalendarManagementMockModule, typeof AXCDataManagementMockModule, typeof AXCWorkflowManagementMockModule, typeof AXCNotificationManagementMockModule, typeof AXCTaskManagementMockModule, typeof AXMPartyManagementMockModule, typeof AXCContentManagementMockModule, typeof AXCIdentifierManagementMockModule, typeof AXCMeetingManagementMockModule, typeof AXCCustomerManagementMockModule, typeof AXCMiddlewaresModule], never>;
435
441
  static ɵinj: i0.ɵɵInjectorDeclaration<AXCMockModule>;
436
442
  }
437
443
 
@@ -461,35 +467,11 @@ declare class MOCKStrategy extends AXPAuthStrategy {
461
467
  static ɵprov: i0.ɵɵInjectableDeclaration<MOCKStrategy>;
462
468
  }
463
469
 
464
- interface PartyMockData {
465
- id: string;
466
- firstName: string;
467
- lastName: string;
468
- displayName: string;
469
- email: string;
470
- mobile: string;
471
- }
472
-
473
- interface AXCMockUserMockDto {
474
- id: string;
475
- username: string;
476
- displayName: string;
477
- partyId: string;
478
- roleIds: string[];
479
- roles: {
480
- id: string;
481
- title: string;
482
- }[];
483
- }
484
- declare const mockUsers: AXCMockUserMockDto[];
485
-
486
470
  declare function findEmployeeById(employeeId: string): AXCEmployeeMockDto | undefined;
487
471
  interface AXCEmployeeMockDto {
488
472
  id: string;
489
473
  userId?: string;
490
- user?: AXCMockUserMockDto;
491
- contactId: string;
492
- contact: PartyMockData;
474
+ partyId: string;
493
475
  birthDate: Date;
494
476
  employeeCode: string;
495
477
  roleId: string;
@@ -521,9 +503,21 @@ interface AXCBranchMockDto {
521
503
  description: string;
522
504
  managerId: string;
523
505
  manager: AXCEmployeeMock$3;
524
- country: string;
525
- province: string;
526
- city: string;
506
+ locationId?: string;
507
+ location?: {
508
+ country: {
509
+ id: string;
510
+ title: string;
511
+ };
512
+ state: {
513
+ id: string;
514
+ title: string;
515
+ };
516
+ city: {
517
+ id: string;
518
+ title: string;
519
+ };
520
+ };
527
521
  }
528
522
  declare const BRANCHES_MOCK: AXCBranchMockDto[];
529
523
 
@@ -534,16 +528,28 @@ declare class AXMBranchDataSeeder implements AXPDataSeeder {
534
528
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMBranchDataSeeder>;
535
529
  }
536
530
 
537
- type AXCEmployeeMock$2 = typeof EMPLOYEES_MOCK[number];
531
+ type AXCEmployeeMock$2 = (typeof EMPLOYEES_MOCK)[number];
538
532
  interface AXCDivisionMockDto {
539
533
  id: string;
540
534
  title: string;
541
535
  description: string;
542
536
  managerId: string;
543
537
  manager: AXCEmployeeMock$2;
544
- country: string;
545
- province: string;
546
- city: string;
538
+ countryId?: string;
539
+ stateId?: string;
540
+ cityId?: string;
541
+ country?: {
542
+ id: string;
543
+ title: string;
544
+ };
545
+ state?: {
546
+ id: string;
547
+ title: string;
548
+ };
549
+ city?: {
550
+ id: string;
551
+ title: string;
552
+ };
547
553
  }
548
554
  declare const DIVISIONS_MOCK: AXCDivisionMockDto[];
549
555
 
@@ -561,9 +567,6 @@ interface AXCDepartmentMockDto {
561
567
  description: string;
562
568
  managerId: string;
563
569
  manager: AXCEmployeeMock$1;
564
- country: string;
565
- province: string;
566
- city: string;
567
570
  }
568
571
  declare const DEPARTMENTS_MOCK: AXCDepartmentMockDto[];
569
572
 
@@ -574,7 +577,18 @@ declare class AXMDepartmentDataSeeder implements AXPDataSeeder {
574
577
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMDepartmentDataSeeder>;
575
578
  }
576
579
 
577
- type AXCEmployeeMock = typeof EMPLOYEES_MOCK[number];
580
+ type AXCEmployeeMock = (typeof EMPLOYEES_MOCK)[number];
581
+ interface AXCTeamMockDto {
582
+ id: string;
583
+ title: string;
584
+ description: string;
585
+ leaderId: string;
586
+ leader: AXCEmployeeMock;
587
+ managerId: string;
588
+ manager: AXCEmployeeMock;
589
+ memberIds: string[];
590
+ members: AXCEmployeeMock[];
591
+ }
578
592
  interface AXCTeamMockDto {
579
593
  id: string;
580
594
  title: string;
@@ -602,6 +616,29 @@ declare class AXMEmployeeDataSeeder implements AXPDataSeeder {
602
616
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMEmployeeDataSeeder>;
603
617
  }
604
618
 
619
+ interface AXCPositionAssignmentMockDto {
620
+ id: string;
621
+ employeeId: string;
622
+ employee?: any;
623
+ positionId: string;
624
+ position?: any;
625
+ scopeType: 'division' | 'department';
626
+ scopeId: string;
627
+ scope?: any;
628
+ startDate: Date;
629
+ endDate?: Date | null;
630
+ isPrimary?: boolean;
631
+ notes?: string;
632
+ }
633
+ declare const POSITION_ASSIGNMENTS_MOCK: AXCPositionAssignmentMockDto[];
634
+
635
+ declare class AXMPositionAssignmentDataSeeder implements AXPDataSeeder {
636
+ private storageService;
637
+ seed(): Promise<void>;
638
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMPositionAssignmentDataSeeder, never>;
639
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMPositionAssignmentDataSeeder>;
640
+ }
641
+
605
642
  declare class AXCAppVersionDataSeeder implements AXPDataSeeder {
606
643
  private storageService;
607
644
  private appVersionService;
@@ -726,6 +763,20 @@ declare const mockRoleDefinitions: {
726
763
  permissions: never[];
727
764
  }[];
728
765
 
766
+ interface AXCMockUserMockDto {
767
+ id: string;
768
+ username: string;
769
+ displayName: string;
770
+ partyId: string;
771
+ roleIds: string[];
772
+ roles: {
773
+ id: string;
774
+ title: string;
775
+ }[];
776
+ password: string;
777
+ }
778
+ declare const mockUsers: AXCMockUserMockDto[];
779
+
729
780
  interface TaskType {
730
781
  id: string;
731
782
  name: string;
@@ -867,7 +918,8 @@ declare class AXPMockLookupProvider implements AXPLookupProvider {
867
918
  }
868
919
  declare class AXPMockSequenceProvider implements AXPSequenceProvider {
869
920
  private readonly db;
870
- next(scopeHash: string, options?: {
921
+ private readonly rulesFromProviders;
922
+ next(scopeHash: string, ruleId: string, options?: {
871
923
  pad?: number;
872
924
  consume?: boolean;
873
925
  }): Promise<number>;
@@ -898,8 +950,6 @@ declare class AXPMockIdentifierService extends AXPIdentifierService {
898
950
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPMockIdentifierService>;
899
951
  }
900
952
 
901
- declare const identifierCommitMiddleware: AXPEntityStorageMiddleware;
902
-
903
953
  declare const auditLoggerMiddleware: AXPEntityStorageMiddleware;
904
954
 
905
955
  /**
@@ -922,7 +972,11 @@ declare const auditLoggerMiddleware: AXPEntityStorageMiddleware;
922
972
  */
923
973
  declare const createFileCastMiddleware: AXPEntityStorageMiddleware;
924
974
 
975
+ declare const identifierCommitMiddleware: AXPEntityStorageMiddleware;
976
+
977
+ declare const mergeDetailRelationMiddleware: AXPEntityStorageMiddleware;
978
+
925
979
  declare const AXCMockEntityLogListener: AXPDistributedEventListenerProvider<any>;
926
980
 
927
- export { APPLICATIONS, APPLICATIONS_MODULES, AXCAppVersionDataSeeder, AXCApplicationManagementMockModule, AXCApplicationTemplateDataSeeder, AXCAuthMockModule, AXCCommonMockModule, AXCContactManagementMockModule, AXCConversationMockModule, AXCDashboardManagementMockModule, AXCDataManagementMockModule, AXCDocumentManagementMockModule, AXCFOrganizationManagementMockModule, AXCFileStorageService, AXCFormTemplateManagementMockModule, AXCGlobalVariablesDataSeeder, AXCHelpDeskMockModule, AXCIdentifierManagementMockModule, AXCLocaleManagementMockModule, AXCLocationManagementMockModule, AXCLockService, AXCLogManagementMockModule, AXCMetaDataDefinitionDataSeeder, AXCMiddlewaresModule, AXCMockEntityLogListener, AXCMockModule, AXCNotificationManagementMockModule, AXCPlatformManagementMockModule, AXCProjectManagementMockModule, AXCReportManagementMockModule, AXCSchedulerJobDataSeeder, AXCSchedulerJobManagementMockModule, AXCSecurityManagementMockModule, AXCTaskManagementMockModule, AXCTextTemplateCategoryDataSeeder, AXCTextTemplateDataSeeder, AXCTextTemplateManagementMockModule, AXCTrainingManagementMockModule, AXMAiResponderService, AXMBranchDataSeeder, AXMDepartmentDataSeeder, AXMDivisionDataSeeder, AXMEmployeeDataSeeder, AXMReportCategoryDataSeeder, AXMReportDefinitionDataSeeder, AXMReportExecuteCommand, AXMReportMockDataService, AXMTeamDataSeeder, AXPDashboardDataSeeder, AXPDexieEntityStorageService, AXPIdentifierDB, AXPMessageDataSeeder, AXPMockChecksumProvider, AXPMockClockProvider, AXPMockIdentifierService, AXPMockLookupProvider, AXPMockPolicyProvider, AXPMockSequenceProvider, AXPRoomDataSeeder, AXPSecurityManagementRoleDataSeeder, AXPSecurityManagementUserDataSeeder, BRANCHES_MOCK, DASHBOARDS, DEPARTMENTS_MOCK, DIVISIONS_MOCK, EDITIONS, EMPLOYEES_MOCK, ENTITIES, FEATURES, GLOBAL_VARIABLES, MOCKGoogleStrategy, MOCKStrategy, MODULES, PERMISSIONS, PROPERTIES, TASKS, TASK_STATUSES, TASK_TEMPLATES, TASK_TYPES, TEAMS_MOCK, TEXT_TEMPLATES, TEXT_TEMPLATE_CATEGORY, applications, auditLoggerMiddleware, createFileCastMiddleware, findContactMethod, findEmployeeById, generateRandomDashboard, identifierCommitMiddleware, mockRoleDefinitions, mockUsers, tenantsMock };
928
- export type { AXCBranchMockDto, AXCDepartmentMockDto, AXCDivisionMockDto, AXCTeamMockDto, AXPLogRow, AXPRuleRow, AXPSeqRow, MockUserPassCredentials, Task, TaskStatus, TaskTemplate, TaskType };
981
+ export { APPLICATIONS, APPLICATIONS_MODULES, AXCAppVersionDataSeeder, AXCApplicationManagementMockModule, AXCApplicationTemplateDataSeeder, AXCAuthMockModule, AXCCommonMockModule, AXCContactManagementMockModule, AXCConversationMockModule, AXCDashboardManagementMockModule, AXCDataManagementMockModule, AXCDocumentManagementMockModule, AXCFOrganizationManagementMockModule, AXCFileStorageService, AXCFormTemplateManagementMockModule, AXCGlobalVariablesDataSeeder, AXCHelpDeskMockModule, AXCIdentifierManagementMockModule, AXCLocaleManagementMockModule, AXCLocationManagementMockModule, AXCLockService, AXCLogManagementMockModule, AXCMetaDataDefinitionDataSeeder, AXCMiddlewaresModule, AXCMockEntityLogListener, AXCMockModule, AXCNotificationManagementMockModule, AXCPlatformManagementMockModule, AXCProjectManagementMockModule, AXCReportManagementMockModule, AXCSchedulerJobDataSeeder, AXCSchedulerJobManagementMockModule, AXCSecurityManagementMockModule, AXCTaskManagementMockModule, AXCTextTemplateCategoryDataSeeder, AXCTextTemplateDataSeeder, AXCTextTemplateManagementMockModule, AXCTrainingManagementMockModule, AXMAiResponderService, AXMBranchDataSeeder, AXMDepartmentDataSeeder, AXMDivisionDataSeeder, AXMEmployeeDataSeeder, AXMPositionAssignmentDataSeeder, AXMReportCategoryDataSeeder, AXMReportDefinitionDataSeeder, AXMReportExecuteCommand, AXMReportMockDataService, AXMTeamDataSeeder, AXPDashboardDataSeeder, AXPDexieEntityStorageService, AXPIdentifierDB, AXPMessageDataSeeder, AXPMockChecksumProvider, AXPMockClockProvider, AXPMockIdentifierService, AXPMockLookupProvider, AXPMockPolicyProvider, AXPMockSequenceProvider, AXPRoomDataSeeder, AXPSecurityManagementRoleDataSeeder, AXPSecurityManagementUserDataSeeder, BRANCHES_MOCK, DASHBOARDS, DEPARTMENTS_MOCK, DIVISIONS_MOCK, EDITIONS, EMPLOYEES_MOCK, ENTITIES, FEATURES, GLOBAL_VARIABLES, MOCKGoogleStrategy, MOCKStrategy, MODULES, PERMISSIONS, POSITION_ASSIGNMENTS_MOCK, PROPERTIES, TASKS, TASK_STATUSES, TASK_TEMPLATES, TASK_TYPES, TEAMS_MOCK, TEXT_TEMPLATES, TEXT_TEMPLATE_CATEGORY, applications, auditLoggerMiddleware, createFileCastMiddleware, findContactMethod, findEmployeeById, generateRandomDashboard, identifierCommitMiddleware, mergeDetailRelationMiddleware, mockRoleDefinitions, mockUsers, tenantsMock };
982
+ export type { AXCBranchMockDto, AXCDepartmentMockDto, AXCDivisionMockDto, AXCPositionAssignmentMockDto, AXCTeamMockDto, AXPLogRow, AXPRuleRow, AXPSeqRow, MockUserPassCredentials, Task, TaskStatus, TaskTemplate, TaskType };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/connectivity",
3
- "version": "20.2.4-next.3",
3
+ "version": "20.2.4-next.5",
4
4
  "peerDependencies": {
5
- "@angular/common": "^19.0.0",
6
- "@angular/core": "^19.0.0"
5
+ "@angular/common": ">=19.0.0",
6
+ "@angular/core": ">=19.0.0"
7
7
  },
8
8
  "sideEffects": false,
9
9
  "module": "fesm2022/acorex-connectivity.mjs",