@acorex/connectivity 21.0.0-next.1 → 21.0.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/api/index.d.ts +1 -59
  2. package/fesm2022/{acorex-connectivity-api-execute.command-SGNBLcOi.mjs → acorex-connectivity-api-execute.command-gIRQPxtq.mjs} +6 -6
  3. package/fesm2022/acorex-connectivity-api-execute.command-gIRQPxtq.mjs.map +1 -0
  4. package/fesm2022/acorex-connectivity-api.mjs +101 -185
  5. package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
  6. package/fesm2022/{acorex-connectivity-mock-category-with-items.query-Dsxj98tX.mjs → acorex-connectivity-mock-category-with-items.query-Cl7T-rSS.mjs} +4 -4
  7. package/fesm2022/{acorex-connectivity-mock-category-with-items.query-Dsxj98tX.mjs.map → acorex-connectivity-mock-category-with-items.query-Cl7T-rSS.mjs.map} +1 -1
  8. package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-MIKenDnl.mjs +80 -0
  9. package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-MIKenDnl.mjs.map +1 -0
  10. package/fesm2022/{acorex-connectivity-mock-distribution-record.command-DRiDwlqN.mjs → acorex-connectivity-mock-distribution-record.command-D9MRsoPw.mjs} +4 -4
  11. package/fesm2022/{acorex-connectivity-mock-distribution-record.command-DRiDwlqN.mjs.map → acorex-connectivity-mock-distribution-record.command-D9MRsoPw.mjs.map} +1 -1
  12. package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-H6rrh30t.mjs +115 -0
  13. package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-H6rrh30t.mjs.map +1 -0
  14. package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-zuGKLAbn.mjs +163 -0
  15. package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-zuGKLAbn.mjs.map +1 -0
  16. package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-CQ75e_tN.mjs +186 -0
  17. package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-CQ75e_tN.mjs.map +1 -0
  18. package/fesm2022/acorex-connectivity-mock-get-product-list.query-OM16ygmJ.mjs +246 -0
  19. package/fesm2022/acorex-connectivity-mock-get-product-list.query-OM16ygmJ.mjs.map +1 -0
  20. package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-DoR3awXg.mjs +192 -0
  21. package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-DoR3awXg.mjs.map +1 -0
  22. package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-Dq779mtQ.mjs +56 -0
  23. package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-Dq779mtQ.mjs.map +1 -0
  24. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-gNwKFN0F.mjs +246 -0
  25. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-gNwKFN0F.mjs.map +1 -0
  26. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-C3OxqcSp.mjs +258 -0
  27. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-C3OxqcSp.mjs.map +1 -0
  28. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-v8jIyUEH.mjs +56 -0
  29. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-v8jIyUEH.mjs.map +1 -0
  30. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-Da6nKdpq.mjs +294 -0
  31. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-Da6nKdpq.mjs.map +1 -0
  32. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-T0qvGjtD.mjs +212 -0
  33. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-T0qvGjtD.mjs.map +1 -0
  34. package/fesm2022/acorex-connectivity-mock-notify-signers.command-CmXMibLx.mjs +69 -0
  35. package/fesm2022/acorex-connectivity-mock-notify-signers.command-CmXMibLx.mjs.map +1 -0
  36. package/fesm2022/acorex-connectivity-mock-request-signature.command-B6VZ5KeW.mjs +72 -0
  37. package/fesm2022/acorex-connectivity-mock-request-signature.command-B6VZ5KeW.mjs.map +1 -0
  38. package/fesm2022/{acorex-connectivity-mock-sample.command-CkH5bmEs.mjs → acorex-connectivity-mock-sample.command-BJJ67aLM.mjs} +4 -4
  39. package/fesm2022/{acorex-connectivity-mock-sample.command-CkH5bmEs.mjs.map → acorex-connectivity-mock-sample.command-BJJ67aLM.mjs.map} +1 -1
  40. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-CG80T32a.mjs +81 -0
  41. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-CG80T32a.mjs.map +1 -0
  42. package/fesm2022/acorex-connectivity-mock.mjs +46365 -46644
  43. package/fesm2022/acorex-connectivity-mock.mjs.map +1 -1
  44. package/fesm2022/acorex-connectivity-utils.mjs +7 -7
  45. package/fesm2022/acorex-connectivity-utils.mjs.map +1 -1
  46. package/mock/index.d.ts +336 -324
  47. package/package.json +2 -2
  48. package/fesm2022/acorex-connectivity-api-execute.command-SGNBLcOi.mjs.map +0 -1
@@ -0,0 +1,212 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { AXPEntityService } from '@acorex/platform/layout/entity';
4
+ import { AXPSystemStatusType } from '@acorex/platform/common';
5
+ import { RootConfig } from '@acorex/modules/tenant-management';
6
+
7
+ //#endregion
8
+ class GetTenantUserDistributionQuery {
9
+ constructor() {
10
+ this.entityService = inject(AXPEntityService);
11
+ this.tenantService = this.entityService
12
+ .withEntity(`${RootConfig.module.name}.${RootConfig.entities.tenant.name}`)
13
+ .data();
14
+ this.tenantUserService = this.entityService
15
+ .withEntity(`${RootConfig.module.name}.${RootConfig.entities.tenantUser.name}`)
16
+ .data();
17
+ }
18
+ async fetch(input) {
19
+ // Extract filters from AXPFilterClause format
20
+ const extractedFilters = this.extractTenantFilters(input.filters);
21
+ const filterLogic = input.filters?.logic || input.logic || 'and';
22
+ // Separate custom filters from entity filters
23
+ const entityFilters = [];
24
+ let dateRangeFilter;
25
+ if (extractedFilters && extractedFilters.length > 0) {
26
+ for (const filter of extractedFilters) {
27
+ if (filter.field === 'dateRange') {
28
+ dateRangeFilter = filter.value;
29
+ }
30
+ else {
31
+ entityFilters.push(filter);
32
+ }
33
+ }
34
+ }
35
+ // Get all tenants
36
+ const tenantsResult = await this.tenantService.query({
37
+ skip: 0,
38
+ take: 10000,
39
+ filter: entityFilters.length > 0
40
+ ? {
41
+ logic: filterLogic,
42
+ filters: entityFilters,
43
+ }
44
+ : undefined,
45
+ });
46
+ let tenants = tenantsResult.items;
47
+ // Apply date range filter if provided
48
+ if (dateRangeFilter) {
49
+ tenants = this.applyDateRangeFilter(tenants, dateRangeFilter);
50
+ }
51
+ // Get all tenant users
52
+ const tenantUsersResult = await this.tenantUserService.query({
53
+ skip: 0,
54
+ take: 10000,
55
+ });
56
+ const tenantUsers = tenantUsersResult.items;
57
+ // Build results for each tenant
58
+ const results = [];
59
+ for (const tenant of tenants) {
60
+ // Get tenant's users
61
+ const tenantUsersList = tenantUsers.filter((tu) => tu.tenantId === tenant.id);
62
+ // Count active and inactive users
63
+ const activeUsers = tenantUsersList.filter((tu) => tu.statusId === AXPSystemStatusType.Active);
64
+ const inactiveUsers = tenantUsersList.filter((tu) => tu.statusId !== AXPSystemStatusType.Active);
65
+ // Calculate utilization percentage
66
+ const maxUsers = tenant.maxUsers;
67
+ const utilizationPercent = maxUsers && maxUsers > 0 ? Math.round((tenantUsersList.length / maxUsers) * 100) : 0;
68
+ results.push({
69
+ tenantId: tenant.id,
70
+ tenantName: tenant.title,
71
+ tenantStatus: tenant.statusId || 'Unknown',
72
+ totalUsersCount: tenantUsersList.length,
73
+ activeUsersCount: activeUsers.length,
74
+ inactiveUsersCount: inactiveUsers.length,
75
+ maxUsers: maxUsers,
76
+ utilizationPercent: utilizationPercent,
77
+ registrationDate: tenant.registrationDate,
78
+ registrationDateStr: tenant.registrationDate?.toISOString(),
79
+ });
80
+ }
81
+ // Apply sorting if provided
82
+ if (input.sort && input.sort.length > 0) {
83
+ results.sort((a, b) => {
84
+ for (const sortField of input.sort) {
85
+ const field = sortField.field;
86
+ const aValue = a[field];
87
+ const bValue = b[field];
88
+ const dir = sortField.dir === 'asc' ? 1 : -1;
89
+ if (aValue === undefined && bValue === undefined)
90
+ continue;
91
+ if (aValue === undefined)
92
+ return 1 * dir;
93
+ if (bValue === undefined)
94
+ return -1 * dir;
95
+ if (aValue < bValue)
96
+ return -1 * dir;
97
+ if (aValue > bValue)
98
+ return 1 * dir;
99
+ }
100
+ return 0;
101
+ });
102
+ }
103
+ else {
104
+ // Default sort by tenant name
105
+ results.sort((a, b) => a.tenantName.localeCompare(b.tenantName));
106
+ }
107
+ // Apply pagination
108
+ const skip = input.skip || 0;
109
+ const take = input.take || 10;
110
+ const total = results.length;
111
+ const items = results.slice(skip, skip + take);
112
+ return {
113
+ items,
114
+ total,
115
+ };
116
+ }
117
+ //#region ---- Filter Extraction ----
118
+ /**
119
+ * Extract tenant-specific filters from AXPFilterClause format
120
+ * Maps report parameter paths to tenant entity field names
121
+ */
122
+ extractTenantFilters(parameters) {
123
+ const filters = [];
124
+ const paramsAny = parameters;
125
+ if (!paramsAny?.filters || !Array.isArray(paramsAny.filters)) {
126
+ return filters;
127
+ }
128
+ for (const filter of paramsAny.filters) {
129
+ if (!filter?.field || filter?.value === undefined || filter?.value === null) {
130
+ continue;
131
+ }
132
+ const field = filter.field;
133
+ const value = filter.value;
134
+ const operator = filter.operator || { type: 'equal' };
135
+ // Handle tenant-specific field mappings
136
+ if (field === 'tenantId') {
137
+ // Tenant ID filter - can be array of IDs or single ID
138
+ if (Array.isArray(value) && value.length > 0) {
139
+ filters.push({
140
+ field: 'id',
141
+ operator: { type: 'in' },
142
+ value: value,
143
+ });
144
+ }
145
+ else if (value) {
146
+ filters.push({
147
+ field: 'id',
148
+ operator: { type: 'equal' },
149
+ value: value,
150
+ });
151
+ }
152
+ }
153
+ else if (field === 'statusId') {
154
+ // Status filter - skip 'all' value
155
+ if (value && value !== 'all') {
156
+ filters.push({
157
+ field: 'statusId',
158
+ operator: { type: 'equal' },
159
+ value: value,
160
+ });
161
+ }
162
+ }
163
+ else if (field === 'dateRange') {
164
+ // Date range filter - custom logic handled in query
165
+ filters.push({
166
+ field: 'dateRange',
167
+ operator: { type: 'equal' },
168
+ value: value,
169
+ });
170
+ }
171
+ else {
172
+ // Direct field mapping
173
+ filters.push({
174
+ field: field,
175
+ operator: operator,
176
+ value: value,
177
+ });
178
+ }
179
+ }
180
+ return filters;
181
+ }
182
+ //#endregion
183
+ //#region ---- Custom Filter Handlers ----
184
+ /**
185
+ * Apply date range filter to tenants
186
+ */
187
+ applyDateRangeFilter(tenants, dateRange) {
188
+ if (!dateRange || !dateRange.start || !dateRange.end) {
189
+ return tenants;
190
+ }
191
+ const startDate = new Date(dateRange.start);
192
+ const endDate = new Date(dateRange.end);
193
+ endDate.setHours(23, 59, 59, 999);
194
+ return tenants.filter((tenant) => {
195
+ if (!tenant.registrationDate)
196
+ return false;
197
+ const regDate = new Date(tenant.registrationDate);
198
+ return regDate >= startDate && regDate <= endDate;
199
+ });
200
+ }
201
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GetTenantUserDistributionQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
202
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GetTenantUserDistributionQuery, providedIn: 'root' }); }
203
+ }
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GetTenantUserDistributionQuery, decorators: [{
205
+ type: Injectable,
206
+ args: [{
207
+ providedIn: 'root',
208
+ }]
209
+ }] });
210
+
211
+ export { GetTenantUserDistributionQuery };
212
+ //# sourceMappingURL=acorex-connectivity-mock-get-tenant-user-distribution.query-T0qvGjtD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-get-tenant-user-distribution.query-T0qvGjtD.mjs","sources":["../tmp-esm2022/mock/lib/tenant-management/reports/get-tenant-user-distribution.query.js"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPSystemStatusType } from '@acorex/platform/common';\nimport { RootConfig as TenantRootConfig } from '@acorex/modules/tenant-management';\nimport * as i0 from \"@angular/core\";\n//#endregion\nexport class GetTenantUserDistributionQuery {\n constructor() {\n this.entityService = inject(AXPEntityService);\n this.tenantService = this.entityService\n .withEntity(`${TenantRootConfig.module.name}.${TenantRootConfig.entities.tenant.name}`)\n .data();\n this.tenantUserService = this.entityService\n .withEntity(`${TenantRootConfig.module.name}.${TenantRootConfig.entities.tenantUser.name}`)\n .data();\n }\n async fetch(input) {\n // Extract filters from AXPFilterClause format\n const extractedFilters = this.extractTenantFilters(input.filters);\n const filterLogic = input.filters?.logic || input.logic || 'and';\n // Separate custom filters from entity filters\n const entityFilters = [];\n let dateRangeFilter;\n if (extractedFilters && extractedFilters.length > 0) {\n for (const filter of extractedFilters) {\n if (filter.field === 'dateRange') {\n dateRangeFilter = filter.value;\n }\n else {\n entityFilters.push(filter);\n }\n }\n }\n // Get all tenants\n const tenantsResult = await this.tenantService.query({\n skip: 0,\n take: 10000,\n filter: entityFilters.length > 0\n ? {\n logic: filterLogic,\n filters: entityFilters,\n }\n : undefined,\n });\n let tenants = tenantsResult.items;\n // Apply date range filter if provided\n if (dateRangeFilter) {\n tenants = this.applyDateRangeFilter(tenants, dateRangeFilter);\n }\n // Get all tenant users\n const tenantUsersResult = await this.tenantUserService.query({\n skip: 0,\n take: 10000,\n });\n const tenantUsers = tenantUsersResult.items;\n // Build results for each tenant\n const results = [];\n for (const tenant of tenants) {\n // Get tenant's users\n const tenantUsersList = tenantUsers.filter((tu) => tu.tenantId === tenant.id);\n // Count active and inactive users\n const activeUsers = tenantUsersList.filter((tu) => tu.statusId === AXPSystemStatusType.Active);\n const inactiveUsers = tenantUsersList.filter((tu) => tu.statusId !== AXPSystemStatusType.Active);\n // Calculate utilization percentage\n const maxUsers = tenant.maxUsers;\n const utilizationPercent = maxUsers && maxUsers > 0 ? Math.round((tenantUsersList.length / maxUsers) * 100) : 0;\n results.push({\n tenantId: tenant.id,\n tenantName: tenant.title,\n tenantStatus: tenant.statusId || 'Unknown',\n totalUsersCount: tenantUsersList.length,\n activeUsersCount: activeUsers.length,\n inactiveUsersCount: inactiveUsers.length,\n maxUsers: maxUsers,\n utilizationPercent: utilizationPercent,\n registrationDate: tenant.registrationDate,\n registrationDateStr: tenant.registrationDate?.toISOString(),\n });\n }\n // Apply sorting if provided\n if (input.sort && input.sort.length > 0) {\n results.sort((a, b) => {\n for (const sortField of input.sort) {\n const field = sortField.field;\n const aValue = a[field];\n const bValue = b[field];\n const dir = sortField.dir === 'asc' ? 1 : -1;\n if (aValue === undefined && bValue === undefined)\n continue;\n if (aValue === undefined)\n return 1 * dir;\n if (bValue === undefined)\n return -1 * dir;\n if (aValue < bValue)\n return -1 * dir;\n if (aValue > bValue)\n return 1 * dir;\n }\n return 0;\n });\n }\n else {\n // Default sort by tenant name\n results.sort((a, b) => a.tenantName.localeCompare(b.tenantName));\n }\n // Apply pagination\n const skip = input.skip || 0;\n const take = input.take || 10;\n const total = results.length;\n const items = results.slice(skip, skip + take);\n return {\n items,\n total,\n };\n }\n //#region ---- Filter Extraction ----\n /**\n * Extract tenant-specific filters from AXPFilterClause format\n * Maps report parameter paths to tenant entity field names\n */\n extractTenantFilters(parameters) {\n const filters = [];\n const paramsAny = parameters;\n if (!paramsAny?.filters || !Array.isArray(paramsAny.filters)) {\n return filters;\n }\n for (const filter of paramsAny.filters) {\n if (!filter?.field || filter?.value === undefined || filter?.value === null) {\n continue;\n }\n const field = filter.field;\n const value = filter.value;\n const operator = filter.operator || { type: 'equal' };\n // Handle tenant-specific field mappings\n if (field === 'tenantId') {\n // Tenant ID filter - can be array of IDs or single ID\n if (Array.isArray(value) && value.length > 0) {\n filters.push({\n field: 'id',\n operator: { type: 'in' },\n value: value,\n });\n }\n else if (value) {\n filters.push({\n field: 'id',\n operator: { type: 'equal' },\n value: value,\n });\n }\n }\n else if (field === 'statusId') {\n // Status filter - skip 'all' value\n if (value && value !== 'all') {\n filters.push({\n field: 'statusId',\n operator: { type: 'equal' },\n value: value,\n });\n }\n }\n else if (field === 'dateRange') {\n // Date range filter - custom logic handled in query\n filters.push({\n field: 'dateRange',\n operator: { type: 'equal' },\n value: value,\n });\n }\n else {\n // Direct field mapping\n filters.push({\n field: field,\n operator: operator,\n value: value,\n });\n }\n }\n return filters;\n }\n //#endregion\n //#region ---- Custom Filter Handlers ----\n /**\n * Apply date range filter to tenants\n */\n applyDateRangeFilter(tenants, dateRange) {\n if (!dateRange || !dateRange.start || !dateRange.end) {\n return tenants;\n }\n const startDate = new Date(dateRange.start);\n const endDate = new Date(dateRange.end);\n endDate.setHours(23, 59, 59, 999);\n return tenants.filter((tenant) => {\n if (!tenant.registrationDate)\n return false;\n const regDate = new Date(tenant.registrationDate);\n return regDate >= startDate && regDate <= endDate;\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: GetTenantUserDistributionQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: GetTenantUserDistributionQuery, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: GetTenantUserDistributionQuery, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRlbmFudC11c2VyLWRpc3RyaWJ1dGlvbi5xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L21vY2svc3JjL2xpYi90ZW5hbnQtbWFuYWdlbWVudC9yZXBvcnRzL2dldC10ZW5hbnQtdXNlci1kaXN0cmlidXRpb24ucXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQWtDbkYsWUFBWTtBQUtaLE1BQU0sT0FBTyw4QkFBOEI7SUFIM0M7UUFNbUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLElBQUksQ0FBQyxhQUFhO2FBQ3ZDLFVBQVUsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN0RixJQUFJLEVBQWdELENBQUM7UUFDaEQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWE7YUFDM0MsVUFBVSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzFGLElBQUksRUFBb0QsQ0FBQztLQW9ON0Q7SUFsTkMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFnRDtRQUMxRCw4Q0FBOEM7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJ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LENBQUMsTUFBTSxDQUFDLGdCQUFnQjtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRCxPQUFPLE9BQU8sSUFBSSxTQUFTLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBMU5VLDhCQUE4QjttSEFBOUIsOEJBQThCLGNBRjdCLE1BQU07OzRGQUVQLDhCQUE4QjtrQkFIMUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFF1ZXJ5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IEFYUEVudGl0eVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhNVGVuYW50TWFuYWdlbWVudFRlbmFudEVudGl0eU1vZGVsIH0gZnJvbSAnQGFjb3JleC9tb2R1bGVzL3RlbmFudC1tYW5hZ2VtZW50JztcbmltcG9ydCB7IEFYTVRlbmFudE1hbmFnZW1lbnRUZW5hbnRVc2VyRW50aXR5TW9kZWwgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvdGVuYW50LW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQVhQU3lzdGVtU3RhdHVzVHlwZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IFJvb3RDb25maWcgYXMgVGVuYW50Um9vdENvbmZpZyB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy90ZW5hbnQtbWFuYWdlbWVudCc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgUXVlcnkgSW5wdXQvT3V0cHV0IFR5cGVzICAgLS0tLVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFRlbmFudFVzZXJEaXN0cmlidXRpb25RdWVyeUlucHV0IHtcbiAgc2tpcD86IG51bWJlcjtcbiAgdGFrZT86IG51bWJlcjtcbiAgc29ydD86IEFycmF5PHsgZmllbGQ6IHN0cmluZzsgZGlyOiAnYXNjJyB8ICdkZXNjJyB9PjtcbiAgZmlsdGVycz86IEFycmF5PHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIG9wZXJhdG9yOiB7IHR5cGU6IHN0cmluZyB9O1xuICAgIHZhbHVlOiBhbnk7XG4gIH0+O1xuICBsb2dpYz86ICdhbmQnIHwgJ29yJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZW5hbnRVc2VyRGlzdHJpYnV0aW9uUmVzdWx0IHtcbiAgdGVuYW50SWQ6IHN0cmluZztcbiAgdGVuYW50TmFtZTogc3RyaW5nO1xuICB0ZW5hbnRTdGF0dXM6IHN0cmluZztcbiAgdG90YWxVc2Vyc0NvdW50OiBudW1iZXI7XG4gIGFjdGl2ZVVzZXJzQ291bnQ6IG51bWJlcjtcbiAgaW5hY3RpdmVVc2Vyc0NvdW50OiBudW1iZXI7XG4gIG1heFVzZXJzPzogbnVtYmVyO1xuICB1dGlsaXphdGlvblBlcmNlbnQ6IG51bWJlcjtcbiAgcmVnaXN0cmF0aW9uRGF0ZT86IERhdGU7XG4gIHJlZ2lzdHJhdGlvbkRhdGVTdHI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VGVuYW50VXNlckRpc3RyaWJ1dGlvblF1ZXJ5UmVzdWx0IHtcbiAgaXRlbXM6IFRlbmFudFVzZXJEaXN0cmlidXRpb25SZXN1bHRbXTtcbiAgdG90YWw6IG51bWJlcjtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHZXRUZW5hbnRVc2VyRGlzdHJpYnV0aW9uUXVlcnlcbiAgaW1wbGVtZW50cyBBWFBRdWVyeTxHZXRUZW5hbnRVc2VyRGlzdHJpYnV0aW9uUXVlcnlJbnB1dCwgR2V0VGVuYW50VXNlckRpc3RyaWJ1dGlvblF1ZXJ5UmVzdWx0Plxue1xuICBwcml2YXRlIHJlYWRvbmx5IGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG4gIHByaXZhdGUgdGVuYW50U2VydmljZSA9IHRoaXMuZW50aXR5U2VydmljZVxuICAgIC53aXRoRW50aXR5KGAke1RlbmFudFJvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7VGVuYW50Um9vdENvbmZpZy5lbnRpdGllcy50ZW5hbnQubmFtZX1gKVxuICAgIC5kYXRhPHN0cmluZywgQVhNVGVuYW50TWFuYWdlbWVudFRlbmFudEVudGl0eU1vZGVsPigpO1xuICBwcml2YXRlIHRlbmFudFVzZXJTZXJ2aWNlID0gdGhpcy5lbnRpdHlTZXJ2aWNlXG4gICAgLndpdGhFbnRpdHkoYCR7VGVuYW50Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtUZW5hbnRSb290Q29uZmlnLmVudGl0aWVzLnRlbmFudFVzZXIubmFtZX1gKVxuICAgIC5kYXRhPHN0cmluZywgQVhNVGVuYW50TWFuYWdlbWVudFRlbmFudFVzZXJFbnRpdHlNb2RlbD4oKTtcblxuICBhc3luYyBmZXRjaChpbnB1dDogR2V0VGVuYW50VXNlckRpc3RyaWJ1dGlvblF1ZXJ5SW5wdXQgfCBhbnkpOiBQcm9taXNlPEdldFRlbmFudFVzZXJEaXN0cmlidXRpb25RdWVyeVJlc3VsdD4ge1xuICAgIC8vIEV4dHJhY3QgZmlsdGVycyBmcm9tIEFYUEZpbHRlckNsYXVzZSBmb3JtYXRcbiAgICBjb25zdCBleHRyYWN0ZWRGaWx0ZXJzID0gdGhpcy5leHRyYWN0VGVuYW50RmlsdGVycyhpbnB1dC5maWx0ZXJzKTtcbiAgICBjb25zdCBmaWx0ZXJMb2dpYyA9IChpbnB1dC5maWx0ZXJzIGFzIGFueSk/LmxvZ2ljIHx8IGlucHV0LmxvZ2ljIHx8ICdhbmQnO1xuXG4gICAgLy8gU2VwYXJhdGUgY3VzdG9tIGZpbHRlcnMgZnJvbSBlbnRpdHkgZmlsdGVyc1xuICAgIGNvbnN0IGVudGl0eUZpbHRlcnM6IEdldFRlbmFudFVzZXJEaXN0cmlidXRpb25RdWVyeUlucHV0WydmaWx0ZXJzJ10gPSBbXTtcbiAgICBsZXQgZGF0ZVJhbmdlRmlsdGVyOiBhbnk7XG5cbiAgICBpZiAoZXh0cmFjdGVkRmlsdGVycyAmJiBleHRyYWN0ZWRGaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAoY29uc3QgZmlsdGVyIG9mIGV4dHJhY3RlZEZpbHRlcnMpIHtcbiAgICAgICAgaWYgKGZpbHRlci5maWVsZCA9PT0gJ2RhdGVSYW5nZScpIHtcbiAgICAgICAgICBkYXRlUmFuZ2VGaWx0ZXIgPSBmaWx0ZXIudmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZW50aXR5RmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHZXQgYWxsIHRlbmFudHNcbiAgICBjb25zdCB0ZW5hbnRzUmVzdWx0ID0gYXdhaXQgdGhpcy50ZW5hbnRTZXJ2aWNlLnF1ZXJ5KHtcbiAgICAgIHNraXA6IDAsXG4gICAgICB0YWtlOiAxMDAwMCxcbiAgICAgIGZpbHRlcjpcbiAgICAgICAgZW50aXR5RmlsdGVycy5sZW5ndGggPiAwXG4gICAgICAgICAgPyAoe1xuICAgICAgICAgICAgbG9naWM6IGZpbHRlckxvZ2ljLFxuICAgICAgICAgICAgZmlsdGVyczogZW50aXR5RmlsdGVycyxcbiAgICAgICAgICB9IGFzIGFueSlcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIGxldCB0ZW5hbnRzID0gdGVuYW50c1Jlc3VsdC5pdGVtcztcblxuICAgIC8vIEFwcGx5IGRhdGUgcmFuZ2UgZmlsdGVyIGlmIHByb3ZpZGVkXG4gICAgaWYgKGRhdGVSYW5nZUZpbHRlcikge1xuICAgICAgdGVuYW50cyA9IHRoaXMuYXBwbHlEYXRlUmFuZ2VGaWx0ZXIodGVuYW50cywgZGF0ZVJhbmdlRmlsdGVyKTtcbiAgICB9XG5cbiAgICAvLyBHZXQgYWxsIHRlbmFudCB1c2Vyc1xuICAgIGNvbnN0IHRlbmFudFVzZXJzUmVzdWx0ID0gYXdhaXQgdGhpcy50ZW5hbnRVc2VyU2VydmljZS5xdWVyeSh7XG4gICAgICBza2lwOiAwLFxuICAgICAgdGFrZTogMTAwMDAsXG4gICAgfSk7XG4gICAgY29uc3QgdGVuYW50VXNlcnMgPSB0ZW5hbnRVc2Vyc1Jlc3VsdC5pdGVtcztcblxuICAgIC8vIEJ1aWxkIHJlc3VsdHMgZm9yIGVhY2ggdGVuYW50XG4gICAgY29uc3QgcmVzdWx0czogVGVuYW50VXNlckRpc3RyaWJ1dGlvblJlc3VsdFtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHRlbmFudCBvZiB0ZW5hbnRzKSB7XG4gICAgICAvLyBHZXQgdGVuYW50J3MgdXNlcnNcbiAgICAgIGNvbnN0IHRlbmFudFVzZXJzTGlzdCA9IHRlbmFudFVzZXJzLmZpbHRlcigodHUpID0+IHR1LnRlbmFudElkID09PSB0ZW5hbnQuaWQpO1xuXG4gICAgICAvLyBDb3VudCBhY3RpdmUgYW5kIGluYWN0aXZlIHVzZXJzXG4gICAgICBjb25zdCBhY3RpdmVVc2VycyA9IHRlbmFudFVzZXJzTGlzdC5maWx0ZXIoXG4gICAgICAgICh0dSkgPT4gdHUuc3RhdHVzSWQgPT09IEFYUFN5c3RlbVN0YXR1c1R5cGUuQWN0aXZlXG4gICAgICApO1xuICAgICAgY29uc3QgaW5hY3RpdmVVc2VycyA9IHRlbmFudFVzZXJzTGlzdC5maWx0ZXIoXG4gICAgICAgICh0dSkgPT4gdHUuc3RhdHVzSWQgIT09IEFYUFN5c3RlbVN0YXR1c1R5cGUuQWN0aXZlXG4gICAgICApO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdXRpbGl6YXRpb24gcGVyY2VudGFnZVxuICAgICAgY29uc3QgbWF4VXNlcnMgPSB0ZW5hbnQubWF4VXNlcnM7XG4gICAgICBjb25zdCB1dGlsaXphdGlvblBlcmNlbnQgPVxuICAgICAgICBtYXhVc2VycyAmJiBtYXhVc2VycyA+IDAgPyBNYXRoLnJvdW5kKCh0ZW5hbnRVc2Vyc0xpc3QubGVuZ3RoIC8gbWF4VXNlcnMpICogMTAwKSA6IDA7XG5cbiAgICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICAgIHRlbmFudElkOiB0ZW5hbnQuaWQsXG4gICAgICAgIHRlbmFudE5hbWU6IHRlbmFudC50aXRsZSxcbiAgICAgICAgdGVuYW50U3RhdHVzOiB0ZW5hbnQuc3RhdHVzSWQgfHwgJ1Vua25vd24nLFxuICAgICAgICB0b3RhbFVzZXJzQ291bnQ6IHRlbmFudFVzZXJzTGlzdC5sZW5ndGgsXG4gICAgICAgIGFjdGl2ZVVzZXJzQ291bnQ6IGFjdGl2ZVVzZXJzLmxlbmd0aCxcbiAgICAgICAgaW5hY3RpdmVVc2Vyc0NvdW50OiBpbmFjdGl2ZVVzZXJzLmxlbmd0aCxcbiAgICAgICAgbWF4VXNlcnM6IG1heFVzZXJzLFxuICAgICAgICB1dGlsaXphdGlvblBlcmNlbnQ6IHV0aWxpemF0aW9uUGVyY2VudCxcbiAgICAgICAgcmVnaXN0cmF0aW9uRGF0ZTogdGVuYW50LnJlZ2lzdHJhdGlvbkRhdGUsXG4gICAgICAgIHJlZ2lzdHJhdGlvbkRhdGVTdHI6IHRlbmFudC5yZWdpc3RyYXRpb25EYXRlPy50b0lTT1N0cmluZygpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgc29ydGluZyBpZiBwcm92aWRlZFxuICAgIGlmIChpbnB1dC5zb3J0ICYmIGlucHV0LnNvcnQubGVuZ3RoID4gMCkge1xuICAgICAgcmVzdWx0cy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3Qgc29ydEZpZWxkIG9mIGlucHV0LnNvcnQhKSB7XG4gICAgICAgICAgY29uc3QgZmllbGQgPSBzb3J0RmllbGQuZmllbGQgYXMga2V5b2YgVGVuYW50VXNlckRpc3RyaWJ1dGlvblJlc3VsdDtcbiAgICAgICAgICBjb25zdCBhVmFsdWUgPSBhW2ZpZWxkXTtcbiAgICAgICAgICBjb25zdCBiVmFsdWUgPSBiW2ZpZWxkXTtcbiAgICAgICAgICBjb25zdCBkaXIgPSBzb3J0RmllbGQuZGlyID09PSAnYXNjJyA/IDEgOiAtMTtcblxuICAgICAgICAgIGlmIChhVmFsdWUgPT09IHVuZGVmaW5lZCAmJiBiVmFsdWUgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG4gICAgICAgICAgaWYgKGFWYWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gMSAqIGRpcjtcbiAgICAgICAgICBpZiAoYlZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiAtMSAqIGRpcjtcblxuICAgICAgICAgIGlmIChhVmFsdWUgPCBiVmFsdWUpIHJldHVybiAtMSAqIGRpcjtcbiAgICAgICAgICBpZiAoYVZhbHVlID4gYlZhbHVlKSByZXR1cm4gMSAqIGRpcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBEZWZhdWx0IHNvcnQgYnkgdGVuYW50IG5hbWVcbiAgICAgIHJlc3VsdHMuc29ydCgoYSwgYikgPT4gYS50ZW5hbnROYW1lLmxvY2FsZUNvbXBhcmUoYi50ZW5hbnROYW1lKSk7XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgcGFnaW5hdGlvblxuICAgIGNvbnN0IHNraXAgPSBpbnB1dC5za2lwIHx8IDA7XG4gICAgY29uc3QgdGFrZSA9IGlucHV0LnRha2UgfHwgMTA7XG4gICAgY29uc3QgdG90YWwgPSByZXN1bHRzLmxlbmd0aDtcbiAgICBjb25zdCBpdGVtcyA9IHJlc3VsdHMuc2xpY2Uoc2tpcCwgc2tpcCArIHRha2UpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zLFxuICAgICAgdG90YWwsXG4gICAgfTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRmlsdGVyIEV4dHJhY3Rpb24gICAtLS0tXG5cbiAgLyoqXG4gICAqIEV4dHJhY3QgdGVuYW50LXNwZWNpZmljIGZpbHRlcnMgZnJvbSBBWFBGaWx0ZXJDbGF1c2UgZm9ybWF0XG4gICAqIE1hcHMgcmVwb3J0IHBhcmFtZXRlciBwYXRocyB0byB0ZW5hbnQgZW50aXR5IGZpZWxkIG5hbWVzXG4gICAqL1xuICBwcml2YXRlIGV4dHJhY3RUZW5hbnRGaWx0ZXJzKHBhcmFtZXRlcnM6IGFueSk6IEdldFRlbmFudFVzZXJEaXN0cmlidXRpb25RdWVyeUlucHV0WydmaWx0ZXJzJ10ge1xuICAgIGNvbnN0IGZpbHRlcnM6IEdldFRlbmFudFVzZXJEaXN0cmlidXRpb25RdWVyeUlucHV0WydmaWx0ZXJzJ10gPSBbXTtcbiAgICBjb25zdCBwYXJhbXNBbnkgPSBwYXJhbWV0ZXJzIGFzIGFueTtcblxuICAgIGlmICghcGFyYW1zQW55Py5maWx0ZXJzIHx8ICFBcnJheS5pc0FycmF5KHBhcmFtc0FueS5maWx0ZXJzKSkge1xuICAgICAgcmV0dXJuIGZpbHRlcnM7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmaWx0ZXIgb2YgcGFyYW1zQW55LmZpbHRlcnMpIHtcbiAgICAgIGlmICghZmlsdGVyPy5maWVsZCB8fCBmaWx0ZXI/LnZhbHVlID09PSB1bmRlZmluZWQgfHwgZmlsdGVyPy52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmllbGQgPSBmaWx0ZXIuZmllbGQ7XG4gICAgICBjb25zdCB2YWx1ZSA9IGZpbHRlci52YWx1ZTtcbiAgICAgIGNvbnN0IG9wZXJhdG9yID0gZmlsdGVyLm9wZXJhdG9yIHx8IHsgdHlwZTogJ2VxdWFsJyB9O1xuXG4gICAgICAvLyBIYW5kbGUgdGVuYW50LXNwZWNpZmljIGZpZWxkIG1hcHBpbmdzXG4gICAgICBpZiAoZmllbGQgPT09ICd0ZW5hbnRJZCcpIHtcbiAgICAgICAgLy8gVGVuYW50IElEIGZpbHRlciAtIGNhbiBiZSBhcnJheSBvZiBJRHMgb3Igc2luZ2xlIElEXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZmlsdGVycy5wdXNoKHtcbiAgICAgICAgICAgIGZpZWxkOiAnaWQnLFxuICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2luJyB9LFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgZmlsdGVycy5wdXNoKHtcbiAgICAgICAgICAgIGZpZWxkOiAnaWQnLFxuICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGZpZWxkID09PSAnc3RhdHVzSWQnKSB7XG4gICAgICAgIC8vIFN0YXR1cyBmaWx0ZXIgLSBza2lwICdhbGwnIHZhbHVlXG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gJ2FsbCcpIHtcbiAgICAgICAgICBmaWx0ZXJzLnB1c2goe1xuICAgICAgICAgICAgZmllbGQ6ICdzdGF0dXNJZCcsXG4gICAgICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnZXF1YWwnIH0sXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZmllbGQgPT09ICdkYXRlUmFuZ2UnKSB7XG4gICAgICAgIC8vIERhdGUgcmFuZ2UgZmlsdGVyIC0gY3VzdG9tIGxvZ2ljIGhhbmRsZWQgaW4gcXVlcnlcbiAgICAgICAgZmlsdGVycy5wdXNoKHtcbiAgICAgICAgICBmaWVsZDogJ2RhdGVSYW5nZScsXG4gICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LFxuICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBEaXJlY3QgZmllbGQgbWFwcGluZ1xuICAgICAgICBmaWx0ZXJzLnB1c2goe1xuICAgICAgICAgIGZpZWxkOiBmaWVsZCxcbiAgICAgICAgICBvcGVyYXRvcjogb3BlcmF0b3IsXG4gICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmlsdGVycztcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ3VzdG9tIEZpbHRlciBIYW5kbGVycyAgIC0tLS1cblxuICAvKipcbiAgICogQXBwbHkgZGF0ZSByYW5nZSBmaWx0ZXIgdG8gdGVuYW50c1xuICAgKi9cbiAgcHJpdmF0ZSBhcHBseURhdGVSYW5nZUZpbHRlcihcbiAgICB0ZW5hbnRzOiBBWE1UZW5hbnRNYW5hZ2VtZW50VGVuYW50RW50aXR5TW9kZWxbXSxcbiAgICBkYXRlUmFuZ2U6IGFueVxuICApOiBBWE1UZW5hbnRNYW5hZ2VtZW50VGVuYW50RW50aXR5TW9kZWxbXSB7XG4gICAgaWYgKCFkYXRlUmFuZ2UgfHwgIWRhdGVSYW5nZS5zdGFydCB8fCAhZGF0ZVJhbmdlLmVuZCkge1xuICAgICAgcmV0dXJuIHRlbmFudHM7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoZGF0ZVJhbmdlLnN0YXJ0KTtcbiAgICBjb25zdCBlbmREYXRlID0gbmV3IERhdGUoZGF0ZVJhbmdlLmVuZCk7XG4gICAgZW5kRGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuXG4gICAgcmV0dXJuIHRlbmFudHMuZmlsdGVyKCh0ZW5hbnQpID0+IHtcbiAgICAgIGlmICghdGVuYW50LnJlZ2lzdHJhdGlvbkRhdGUpIHJldHVybiBmYWxzZTtcbiAgICAgIGNvbnN0IHJlZ0RhdGUgPSBuZXcgRGF0ZSh0ZW5hbnQucmVnaXN0cmF0aW9uRGF0ZSk7XG4gICAgICByZXR1cm4gcmVnRGF0ZSA+PSBzdGFydERhdGUgJiYgcmVnRGF0ZSA8PSBlbmREYXRlO1xuICAgIH0pO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbiJdfQ=="],"names":["TenantRootConfig"],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
+
4
+ //#endregion
5
+ /**
6
+ * Notify Signers Command (Backend - Mock)
7
+ *
8
+ * Sends notifications to signers about the signature request.
9
+ * This command runs on the backend and handles notification delivery.
10
+ */
11
+ class AXCNotifySignersCommand {
12
+ //#region ---- AXPCommand Implementation ----
13
+ async execute(input) {
14
+ try {
15
+ console.log(`[AXCNotifySignersCommand] Notifying ${input.signers.length} signers for request: ${input.signatureRequestId}`);
16
+ // Validate inputs
17
+ if (!input.signatureRequestId || !input.signers || input.signers.length === 0) {
18
+ throw new Error('Invalid input: signatureRequestId and at least one signer are required');
19
+ }
20
+ // In a real implementation, this would:
21
+ // 1. Send email notifications to each signer
22
+ // 2. Send in-app notifications
23
+ // 3. Create notification records
24
+ // 4. Track notification delivery status
25
+ // Mock: simulate notification sending
26
+ const notifiedCount = input.signers.length;
27
+ console.log(`[AXCNotifySignersCommand] Successfully notified ${notifiedCount} signers`);
28
+ return {
29
+ success: true,
30
+ data: {
31
+ output: {
32
+ notifiedCount,
33
+ },
34
+ outcomes: {
35
+ Done: true,
36
+ },
37
+ },
38
+ };
39
+ }
40
+ catch (error) {
41
+ console.error(`[AXCNotifySignersCommand] Failed to notify signers:`, error);
42
+ return {
43
+ success: false,
44
+ message: {
45
+ text: error.message || 'Failed to notify signers',
46
+ },
47
+ data: {
48
+ output: {
49
+ notifiedCount: 0,
50
+ },
51
+ outcomes: {
52
+ Failed: true,
53
+ },
54
+ },
55
+ };
56
+ }
57
+ }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCNotifySignersCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
59
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCNotifySignersCommand, providedIn: 'root' }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCNotifySignersCommand, decorators: [{
62
+ type: Injectable,
63
+ args: [{
64
+ providedIn: 'root',
65
+ }]
66
+ }] });
67
+
68
+ export { AXCNotifySignersCommand };
69
+ //# sourceMappingURL=acorex-connectivity-mock-notify-signers.command-CmXMibLx.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-notify-signers.command-CmXMibLx.mjs","sources":["../tmp-esm2022/mock/lib/workflow-management/commands/notify-signers.command.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n//#endregion\n/**\n * Notify Signers Command (Backend - Mock)\n *\n * Sends notifications to signers about the signature request.\n * This command runs on the backend and handles notification delivery.\n */\nexport class AXCNotifySignersCommand {\n //#region ---- AXPCommand Implementation ----\n async execute(input) {\n try {\n console.log(`[AXCNotifySignersCommand] Notifying ${input.signers.length} signers for request: ${input.signatureRequestId}`);\n // Validate inputs\n if (!input.signatureRequestId || !input.signers || input.signers.length === 0) {\n throw new Error('Invalid input: signatureRequestId and at least one signer are required');\n }\n // In a real implementation, this would:\n // 1. Send email notifications to each signer\n // 2. Send in-app notifications\n // 3. Create notification records\n // 4. Track notification delivery status\n // Mock: simulate notification sending\n const notifiedCount = input.signers.length;\n console.log(`[AXCNotifySignersCommand] Successfully notified ${notifiedCount} signers`);\n return {\n success: true,\n data: {\n output: {\n notifiedCount,\n },\n outcomes: {\n Done: true,\n },\n },\n };\n }\n catch (error) {\n console.error(`[AXCNotifySignersCommand] Failed to notify signers:`, error);\n return {\n success: false,\n message: {\n text: error.message || 'Failed to notify signers',\n },\n data: {\n output: {\n notifiedCount: 0,\n },\n outcomes: {\n Failed: true,\n },\n },\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXCNotifySignersCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXCNotifySignersCommand, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXCNotifySignersCommand, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LXNpZ25lcnMuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L21vY2svc3JjL2xpYi93b3JrZmxvdy1tYW5hZ2VtZW50L2NvbW1hbmRzL25vdGlmeS1zaWduZXJzLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFnQjNDLFlBQVk7QUFFWjs7Ozs7R0FLRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsaURBQWlEO0lBRWpELEtBQUssQ0FBQyxPQUFPLENBQ1gsS0FBZ0M7UUFFaEMsSUFBSSxDQUFDO1lBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLHlCQUF5QixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1lBRTVILGtCQUFrQjtZQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDOUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RUFBd0UsQ0FBQyxDQUFDO1lBQzVGLENBQUM7WUFFRCx3Q0FBd0M7WUFDeEMsNkNBQTZDO1lBQzdDLCtCQUErQjtZQUMvQixpQ0FBaUM7WUFDakMsd0NBQXdDO1lBRXhDLHNDQUFzQztZQUN0QyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUUzQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1EQUFtRCxhQUFhLFVBQVUsQ0FBQyxDQUFDO1lBRXhGLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFO29CQUNKLE1BQU0sRUFBRTt3QkFDTixhQUFhO3FCQUNkO29CQUNELFFBQVEsRUFBRTt3QkFDUixJQUFJLEVBQUUsSUFBSTtxQkFDWDtpQkFDRjthQUNGLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLHFEQUFxRCxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRTVFLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLDBCQUEwQjtpQkFDbEQ7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE1BQU0sRUFBRTt3QkFDTixhQUFhLEVBQUUsQ0FBQztxQkFDakI7b0JBQ0QsUUFBUSxFQUFFO3dCQUNSLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2lCQUNGO2FBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDOytHQXZEVSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgVHlwZXMgICAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZ5U2lnbmVyc0NvbW1hbmRJbnB1dCB7XG4gIHNpZ25hdHVyZVJlcXVlc3RJZDogc3RyaW5nO1xuICBzaWduZXJzOiBzdHJpbmdbXTtcbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZnlTaWduZXJzQ29tbWFuZE91dHB1dCB7XG4gIG5vdGlmaWVkQ291bnQ6IG51bWJlcjtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbi8qKlxuICogTm90aWZ5IFNpZ25lcnMgQ29tbWFuZCAoQmFja2VuZCAtIE1vY2spXG4gKiBcbiAqIFNlbmRzIG5vdGlmaWNhdGlvbnMgdG8gc2lnbmVycyBhYm91dCB0aGUgc2lnbmF0dXJlIHJlcXVlc3QuXG4gKiBUaGlzIGNvbW1hbmQgcnVucyBvbiB0aGUgYmFja2VuZCBhbmQgaGFuZGxlcyBub3RpZmljYXRpb24gZGVsaXZlcnkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWENOb3RpZnlTaWduZXJzQ29tbWFuZFxuICBpbXBsZW1lbnRzIEFYUENvbW1hbmQ8Tm90aWZ5U2lnbmVyc0NvbW1hbmRJbnB1dCwgeyBvdXRwdXQ6IE5vdGlmeVNpZ25lcnNDb21tYW5kT3V0cHV0OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgQVhQQ29tbWFuZCBJbXBsZW1lbnRhdGlvbiAgIC0tLS1cblxuICBhc3luYyBleGVjdXRlKFxuICAgIGlucHV0OiBOb3RpZnlTaWduZXJzQ29tbWFuZElucHV0LFxuICApOiBQcm9taXNlPEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0PHsgb3V0cHV0OiBOb3RpZnlTaWduZXJzQ29tbWFuZE91dHB1dDsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc29sZS5sb2coYFtBWENOb3RpZnlTaWduZXJzQ29tbWFuZF0gTm90aWZ5aW5nICR7aW5wdXQuc2lnbmVycy5sZW5ndGh9IHNpZ25lcnMgZm9yIHJlcXVlc3Q6ICR7aW5wdXQuc2lnbmF0dXJlUmVxdWVzdElkfWApO1xuXG4gICAgICAvLyBWYWxpZGF0ZSBpbnB1dHNcbiAgICAgIGlmICghaW5wdXQuc2lnbmF0dXJlUmVxdWVzdElkIHx8ICFpbnB1dC5zaWduZXJzIHx8IGlucHV0LnNpZ25lcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbnB1dDogc2lnbmF0dXJlUmVxdWVzdElkIGFuZCBhdCBsZWFzdCBvbmUgc2lnbmVyIGFyZSByZXF1aXJlZCcpO1xuICAgICAgfVxuXG4gICAgICAvLyBJbiBhIHJlYWwgaW1wbGVtZW50YXRpb24sIHRoaXMgd291bGQ6XG4gICAgICAvLyAxLiBTZW5kIGVtYWlsIG5vdGlmaWNhdGlvbnMgdG8gZWFjaCBzaWduZXJcbiAgICAgIC8vIDIuIFNlbmQgaW4tYXBwIG5vdGlmaWNhdGlvbnNcbiAgICAgIC8vIDMuIENyZWF0ZSBub3RpZmljYXRpb24gcmVjb3Jkc1xuICAgICAgLy8gNC4gVHJhY2sgbm90aWZpY2F0aW9uIGRlbGl2ZXJ5IHN0YXR1c1xuXG4gICAgICAvLyBNb2NrOiBzaW11bGF0ZSBub3RpZmljYXRpb24gc2VuZGluZ1xuICAgICAgY29uc3Qgbm90aWZpZWRDb3VudCA9IGlucHV0LnNpZ25lcnMubGVuZ3RoO1xuXG4gICAgICBjb25zb2xlLmxvZyhgW0FYQ05vdGlmeVNpZ25lcnNDb21tYW5kXSBTdWNjZXNzZnVsbHkgbm90aWZpZWQgJHtub3RpZmllZENvdW50fSBzaWduZXJzYCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBvdXRwdXQ6IHtcbiAgICAgICAgICAgIG5vdGlmaWVkQ291bnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvdXRjb21lczoge1xuICAgICAgICAgICAgRG9uZTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBbQVhDTm90aWZ5U2lnbmVyc0NvbW1hbmRdIEZhaWxlZCB0byBub3RpZnkgc2lnbmVyczpgLCBlcnJvcik7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBtZXNzYWdlOiB7XG4gICAgICAgICAgdGV4dDogZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIG5vdGlmeSBzaWduZXJzJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIG91dHB1dDoge1xuICAgICAgICAgICAgbm90aWZpZWRDb3VudDogMCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG91dGNvbWVzOiB7XG4gICAgICAgICAgICBGYWlsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbiJdfQ=="],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,uBAAuB,CAAC;AACrC;AACA,IAAI,MAAM,OAAO,CAAC,KAAK,EAAE;AACzB,QAAQ,IAAI;AACZ,YAAY,OAAO,CAAC,GAAG,CAAC,CAAC,oCAAoC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACvI;AACA,YAAY,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3F,gBAAgB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC;AACzG,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM;AACtD,YAAY,OAAO,CAAC,GAAG,CAAC,CAAC,gDAAgD,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;AACnG,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,MAAM,EAAE;AAC5B,wBAAwB,aAAa;AACrC,qBAAqB;AACrB,oBAAoB,QAAQ,EAAE;AAC9B,wBAAwB,IAAI,EAAE,IAAI;AAClC,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,CAAC,KAAK,CAAC,CAAC,mDAAmD,CAAC,EAAE,KAAK,CAAC;AACvF,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,KAAK;AAC9B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,0BAA0B;AACrE,iBAAiB;AACjB,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,MAAM,EAAE;AAC5B,wBAAwB,aAAa,EAAE,CAAC;AACxC,qBAAqB;AACrB,oBAAoB,QAAQ,EAAE;AAC9B,wBAAwB,MAAM,EAAE,IAAI;AACpC,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC3L,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAClK;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AAClI,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;;;"}
@@ -0,0 +1,72 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
+ import { AXPDataGenerator } from '@acorex/platform/core';
4
+
5
+ //#endregion
6
+ /**
7
+ * Request Signature Command (Backend - Mock)
8
+ *
9
+ * Creates a new signature request for an entity record.
10
+ * This command runs on the backend and initializes the signature process.
11
+ */
12
+ class AXCRequestSignatureCommand {
13
+ //#region ---- AXPCommand Implementation ----
14
+ async execute(input) {
15
+ try {
16
+ console.log(`[AXCRequestSignatureCommand] Creating signature request for ${input.refType}:${input.refId}`);
17
+ // Validate inputs
18
+ if (!input.refId || !input.refType || !input.signers || input.signers.length === 0) {
19
+ throw new Error('Invalid input: refId, refType, and at least one signer are required');
20
+ }
21
+ // Generate unique signature request ID
22
+ const signatureRequestId = AXPDataGenerator.uuid();
23
+ // In a real implementation, this would:
24
+ // 1. Create a signature request record in the database
25
+ // 2. Initialize signature tracking for each signer
26
+ // 3. Set initial status to 'pending'
27
+ // 4. Store workflow instance ID if provided
28
+ console.log(`[AXCRequestSignatureCommand] Created signature request: ${signatureRequestId} for ${input.signers.length} signers`);
29
+ return {
30
+ success: true,
31
+ data: {
32
+ output: {
33
+ signatureRequestId,
34
+ workflowInstanceId: input.workflowName ? `${input.workflowName}-${signatureRequestId}` : undefined,
35
+ },
36
+ outcomes: {
37
+ Done: true,
38
+ },
39
+ },
40
+ };
41
+ }
42
+ catch (error) {
43
+ console.error(`[AXCRequestSignatureCommand] Failed to create signature request:`, error);
44
+ return {
45
+ success: false,
46
+ message: {
47
+ text: error.message || 'Failed to create signature request',
48
+ },
49
+ data: {
50
+ output: {
51
+ signatureRequestId: '',
52
+ workflowInstanceId: undefined,
53
+ },
54
+ outcomes: {
55
+ Failed: true,
56
+ },
57
+ },
58
+ };
59
+ }
60
+ }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCRequestSignatureCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCRequestSignatureCommand, providedIn: 'root' }); }
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCRequestSignatureCommand, decorators: [{
65
+ type: Injectable,
66
+ args: [{
67
+ providedIn: 'root',
68
+ }]
69
+ }] });
70
+
71
+ export { AXCRequestSignatureCommand };
72
+ //# sourceMappingURL=acorex-connectivity-mock-request-signature.command-B6VZ5KeW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-connectivity-mock-request-signature.command-B6VZ5KeW.mjs","sources":["../tmp-esm2022/mock/lib/workflow-management/commands/request-signature.command.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport * as i0 from \"@angular/core\";\n//#endregion\n/**\n * Request Signature Command (Backend - Mock)\n *\n * Creates a new signature request for an entity record.\n * This command runs on the backend and initializes the signature process.\n */\nexport class AXCRequestSignatureCommand {\n //#region ---- AXPCommand Implementation ----\n async execute(input) {\n try {\n console.log(`[AXCRequestSignatureCommand] Creating signature request for ${input.refType}:${input.refId}`);\n // Validate inputs\n if (!input.refId || !input.refType || !input.signers || input.signers.length === 0) {\n throw new Error('Invalid input: refId, refType, and at least one signer are required');\n }\n // Generate unique signature request ID\n const signatureRequestId = AXPDataGenerator.uuid();\n // In a real implementation, this would:\n // 1. Create a signature request record in the database\n // 2. Initialize signature tracking for each signer\n // 3. Set initial status to 'pending'\n // 4. Store workflow instance ID if provided\n console.log(`[AXCRequestSignatureCommand] Created signature request: ${signatureRequestId} for ${input.signers.length} signers`);\n return {\n success: true,\n data: {\n output: {\n signatureRequestId,\n workflowInstanceId: input.workflowName ? `${input.workflowName}-${signatureRequestId}` : undefined,\n },\n outcomes: {\n Done: true,\n },\n },\n };\n }\n catch (error) {\n console.error(`[AXCRequestSignatureCommand] Failed to create signature request:`, error);\n return {\n success: false,\n message: {\n text: error.message || 'Failed to create signature request',\n },\n data: {\n output: {\n signatureRequestId: '',\n workflowInstanceId: undefined,\n },\n outcomes: {\n Failed: true,\n },\n },\n };\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXCRequestSignatureCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXCRequestSignatureCommand, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXCRequestSignatureCommand, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1zaWduYXR1cmUuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L21vY2svc3JjL2xpYi93b3JrZmxvdy1tYW5hZ2VtZW50L2NvbW1hbmRzL3JlcXVlc3Qtc2lnbmF0dXJlLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQTJCLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBaUJsRixZQUFZO0FBRVo7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQU8sMEJBQTBCO0lBRXJDLGlEQUFpRDtJQUVqRCxLQUFLLENBQUMsT0FBTyxDQUNYLEtBQW1DO1FBRW5DLElBQUksQ0FBQztZQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsK0RBQStELEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFFM0csa0JBQWtCO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ25GLE1BQU0sSUFBSSxLQUFLLENBQUMscUVBQXFFLENBQUMsQ0FBQztZQUN6RixDQUFDO1lBRUQsdUNBQXVDO1lBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFbkQsd0NBQXdDO1lBQ3hDLHVEQUF1RDtZQUN2RCxtREFBbUQ7WUFDbkQscUNBQXFDO1lBQ3JDLDRDQUE0QztZQUU1QyxPQUFPLENBQUMsR0FBRyxDQUFDLDJEQUEyRCxrQkFBa0IsUUFBUSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sVUFBVSxDQUFDLENBQUM7WUFFakksT0FBTztnQkFDTCxPQUFPLEVBQUUsSUFBSTtnQkFDYixJQUFJLEVBQUU7b0JBQ0osTUFBTSxFQUFFO3dCQUNOLGtCQUFrQjt3QkFDbEIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7cUJBQ25HO29CQUNELFFBQVEsRUFBRTt3QkFDUixJQUFJLEVBQUUsSUFBSTtxQkFDWDtpQkFDRjthQUNGLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLGtFQUFrRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXpGLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLG9DQUFvQztpQkFDNUQ7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE1BQU0sRUFBRTt3QkFDTixrQkFBa0IsRUFBRSxFQUFFO3dCQUN0QixrQkFBa0IsRUFBRSxTQUFTO3FCQUM5QjtvQkFDRCxRQUFRLEVBQUU7d0JBQ1IsTUFBTSxFQUFFLElBQUk7cUJBQ2I7aUJBQ0Y7YUFDRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7K0dBekRVLDBCQUEwQjttSEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFeGVjdXRlQ29tbWFuZFJlc3VsdCwgQVhQRGF0YUdlbmVyYXRvciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcblxuLy8jcmVnaW9uIC0tLS0gICBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0U2lnbmF0dXJlQ29tbWFuZElucHV0IHtcbiAgcmVmSWQ6IHN0cmluZztcbiAgcmVmVHlwZTogc3RyaW5nO1xuICBzaWduZXJzOiBzdHJpbmdbXTtcbiAgd29ya2Zsb3dOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RTaWduYXR1cmVDb21tYW5kT3V0cHV0IHtcbiAgc2lnbmF0dXJlUmVxdWVzdElkOiBzdHJpbmc7XG4gIHdvcmtmbG93SW5zdGFuY2VJZD86IHN0cmluZztcbn1cblxuLy8jZW5kcmVnaW9uXG5cbi8qKlxuICogUmVxdWVzdCBTaWduYXR1cmUgQ29tbWFuZCAoQmFja2VuZCAtIE1vY2spXG4gKiBcbiAqIENyZWF0ZXMgYSBuZXcgc2lnbmF0dXJlIHJlcXVlc3QgZm9yIGFuIGVudGl0eSByZWNvcmQuXG4gKiBUaGlzIGNvbW1hbmQgcnVucyBvbiB0aGUgYmFja2VuZCBhbmQgaW5pdGlhbGl6ZXMgdGhlIHNpZ25hdHVyZSBwcm9jZXNzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhDUmVxdWVzdFNpZ25hdHVyZUNvbW1hbmRcbiAgaW1wbGVtZW50cyBBWFBDb21tYW5kPFJlcXVlc3RTaWduYXR1cmVDb21tYW5kSW5wdXQsIHsgb3V0cHV0OiBSZXF1ZXN0U2lnbmF0dXJlQ29tbWFuZE91dHB1dDsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4ge1xuICAvLyNyZWdpb24gLS0tLSAgIEFYUENvbW1hbmQgSW1wbGVtZW50YXRpb24gICAtLS0tXG5cbiAgYXN5bmMgZXhlY3V0ZShcbiAgICBpbnB1dDogUmVxdWVzdFNpZ25hdHVyZUNvbW1hbmRJbnB1dCxcbiAgKTogUHJvbWlzZTxBWFBFeGVjdXRlQ29tbWFuZFJlc3VsdDx7IG91dHB1dDogUmVxdWVzdFNpZ25hdHVyZUNvbW1hbmRPdXRwdXQ7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0+PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnNvbGUubG9nKGBbQVhDUmVxdWVzdFNpZ25hdHVyZUNvbW1hbmRdIENyZWF0aW5nIHNpZ25hdHVyZSByZXF1ZXN0IGZvciAke2lucHV0LnJlZlR5cGV9OiR7aW5wdXQucmVmSWR9YCk7XG5cbiAgICAgIC8vIFZhbGlkYXRlIGlucHV0c1xuICAgICAgaWYgKCFpbnB1dC5yZWZJZCB8fCAhaW5wdXQucmVmVHlwZSB8fCAhaW5wdXQuc2lnbmVycyB8fCBpbnB1dC5zaWduZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW5wdXQ6IHJlZklkLCByZWZUeXBlLCBhbmQgYXQgbGVhc3Qgb25lIHNpZ25lciBhcmUgcmVxdWlyZWQnKTtcbiAgICAgIH1cblxuICAgICAgLy8gR2VuZXJhdGUgdW5pcXVlIHNpZ25hdHVyZSByZXF1ZXN0IElEXG4gICAgICBjb25zdCBzaWduYXR1cmVSZXF1ZXN0SWQgPSBBWFBEYXRhR2VuZXJhdG9yLnV1aWQoKTtcblxuICAgICAgLy8gSW4gYSByZWFsIGltcGxlbWVudGF0aW9uLCB0aGlzIHdvdWxkOlxuICAgICAgLy8gMS4gQ3JlYXRlIGEgc2lnbmF0dXJlIHJlcXVlc3QgcmVjb3JkIGluIHRoZSBkYXRhYmFzZVxuICAgICAgLy8gMi4gSW5pdGlhbGl6ZSBzaWduYXR1cmUgdHJhY2tpbmcgZm9yIGVhY2ggc2lnbmVyXG4gICAgICAvLyAzLiBTZXQgaW5pdGlhbCBzdGF0dXMgdG8gJ3BlbmRpbmcnXG4gICAgICAvLyA0LiBTdG9yZSB3b3JrZmxvdyBpbnN0YW5jZSBJRCBpZiBwcm92aWRlZFxuXG4gICAgICBjb25zb2xlLmxvZyhgW0FYQ1JlcXVlc3RTaWduYXR1cmVDb21tYW5kXSBDcmVhdGVkIHNpZ25hdHVyZSByZXF1ZXN0OiAke3NpZ25hdHVyZVJlcXVlc3RJZH0gZm9yICR7aW5wdXQuc2lnbmVycy5sZW5ndGh9IHNpZ25lcnNgKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIG91dHB1dDoge1xuICAgICAgICAgICAgc2lnbmF0dXJlUmVxdWVzdElkLFxuICAgICAgICAgICAgd29ya2Zsb3dJbnN0YW5jZUlkOiBpbnB1dC53b3JrZmxvd05hbWUgPyBgJHtpbnB1dC53b3JrZmxvd05hbWV9LSR7c2lnbmF0dXJlUmVxdWVzdElkfWAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvdXRjb21lczoge1xuICAgICAgICAgICAgRG9uZTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBbQVhDUmVxdWVzdFNpZ25hdHVyZUNvbW1hbmRdIEZhaWxlZCB0byBjcmVhdGUgc2lnbmF0dXJlIHJlcXVlc3Q6YCwgZXJyb3IpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgIHRleHQ6IGVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgc2lnbmF0dXJlIHJlcXVlc3QnLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgb3V0cHV0OiB7XG4gICAgICAgICAgICBzaWduYXR1cmVSZXF1ZXN0SWQ6ICcnLFxuICAgICAgICAgICAgd29ya2Zsb3dJbnN0YW5jZUlkOiB1bmRlZmluZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvdXRjb21lczoge1xuICAgICAgICAgICAgRmFpbGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuXG4iXX0="],"names":[],"mappings":"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"}
@@ -9,10 +9,10 @@ class AXMReportSampleActionExecuteCommand {
9
9
  success: true,
10
10
  };
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMReportSampleActionExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMReportSampleActionExecuteCommand, providedIn: 'root' }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMReportSampleActionExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMReportSampleActionExecuteCommand, providedIn: 'root' }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMReportSampleActionExecuteCommand, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMReportSampleActionExecuteCommand, decorators: [{
16
16
  type: Injectable,
17
17
  args: [{
18
18
  providedIn: 'root',
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
20
20
  }] });
21
21
 
22
22
  export { AXMReportSampleActionExecuteCommand };
23
- //# sourceMappingURL=acorex-connectivity-mock-sample.command-CkH5bmEs.mjs.map
23
+ //# sourceMappingURL=acorex-connectivity-mock-sample.command-BJJ67aLM.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-connectivity-mock-sample.command-CkH5bmEs.mjs","sources":["../tmp-esm2022/mock/lib/report-management/sample.command.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXMReportSampleActionExecuteCommand {\n //#region ---- Command Implementation ----\n async execute(context) {\n console.log('ReportManagement.Report:SampleAction', context);\n return {\n success: true,\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReportSampleActionExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReportSampleActionExecuteCommand, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMReportSampleActionExecuteCommand, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nvbm5lY3Rpdml0eS9tb2NrL3NyYy9saWIvcmVwb3J0LW1hbmFnZW1lbnQvc2FtcGxlLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTM0MsTUFBTSxPQUFPLG1DQUFtQztJQUc5Qyw4Q0FBOEM7SUFFOUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFZO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0QsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQUNKLENBQUM7K0dBVlUsbUNBQW1DO21IQUFuQyxtQ0FBbUMsY0FGbEMsTUFBTTs7NEZBRVAsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUENvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydFNhbXBsZUFjdGlvbkV4ZWN1dGVDb21tYW5kIGltcGxlbWVudHMgQVhQQ29tbWFuZDxhbnksIHZvaWQ+IHtcblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tbWFuZCBJbXBsZW1lbnRhdGlvbiAgIC0tLS1cblxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IGFueSk6IFByb21pc2U8QVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQ8dm9pZD4+IHtcbiAgICBjb25zb2xlLmxvZygnUmVwb3J0TWFuYWdlbWVudC5SZXBvcnQ6U2FtcGxlQWN0aW9uJywgY29udGV4dCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufSAiXX0="],"names":[],"mappings":";;;AAEO,MAAM,mCAAmC,CAAC;AACjD;AACA,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,OAAO,CAAC;AACpE,QAAQ,OAAO;AACf,YAAY,OAAO,EAAE,IAAI;AACzB,SAAS;AACT,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACvM,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9K;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,UAAU,EAAE,CAAC;AAC9I,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;;;"}
1
+ {"version":3,"file":"acorex-connectivity-mock-sample.command-BJJ67aLM.mjs","sources":["../tmp-esm2022/mock/lib/report-management/sample.command.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXMReportSampleActionExecuteCommand {\n //#region ---- Command Implementation ----\n async execute(context) {\n console.log('ReportManagement.Report:SampleAction', context);\n return {\n success: true,\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXMReportSampleActionExecuteCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXMReportSampleActionExecuteCommand, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: AXMReportSampleActionExecuteCommand, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nvbm5lY3Rpdml0eS9tb2NrL3NyYy9saWIvcmVwb3J0LW1hbmFnZW1lbnQvc2FtcGxlLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTM0MsTUFBTSxPQUFPLG1DQUFtQztJQUc5Qyw4Q0FBOEM7SUFFOUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFZO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0QsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQztJQUNKLENBQUM7K0dBVlUsbUNBQW1DO21IQUFuQyxtQ0FBbUMsY0FGbEMsTUFBTTs7NEZBRVAsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUENvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydFNhbXBsZUFjdGlvbkV4ZWN1dGVDb21tYW5kIGltcGxlbWVudHMgQVhQQ29tbWFuZDxhbnksIHZvaWQ+IHtcblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tbWFuZCBJbXBsZW1lbnRhdGlvbiAgIC0tLS1cblxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IGFueSk6IFByb21pc2U8QVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQ8dm9pZD4+IHtcbiAgICBjb25zb2xlLmxvZygnUmVwb3J0TWFuYWdlbWVudC5SZXBvcnQ6U2FtcGxlQWN0aW9uJywgY29udGV4dCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufSAiXX0="],"names":[],"mappings":";;;AAEO,MAAM,mCAAmC,CAAC;AACjD;AACA,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,OAAO,CAAC;AACpE,QAAQ,OAAO;AACf,YAAY,OAAO,EAAE,IAAI;AACzB,SAAS;AACT,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACvM,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9K;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,UAAU,EAAE,CAAC;AAC9I,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;;;"}
@@ -0,0 +1,81 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
+
4
+ //#endregion
5
+ /**
6
+ * Validate All Signatures Command (Backend - Mock)
7
+ *
8
+ * Validates whether all required signatures have been collected.
9
+ * This command runs on the backend and checks signature status.
10
+ */
11
+ class AXCValidateAllSignaturesCommand {
12
+ //#region ---- AXPCommand Implementation ----
13
+ async execute(input) {
14
+ try {
15
+ console.log(`[AXCValidateAllSignaturesCommand] Validating signatures for request: ${input.signatureRequestId}, required: ${input.requiredSigners}`);
16
+ // Validate inputs
17
+ if (!input.signatureRequestId || input.requiredSigners < 1) {
18
+ throw new Error('Invalid input: signatureRequestId and requiredSigners >= 1 are required');
19
+ }
20
+ // In a real implementation, this would:
21
+ // 1. Query the database for signature request
22
+ // 2. Count collected signatures
23
+ // 3. Compare with required count
24
+ // 4. Check signature validity
25
+ // Mock: simulate signature validation
26
+ // For now, we'll use a simple approach where we track signatures in workflow state
27
+ // In a real system, this would query the database
28
+ // TODO: This should track actual signatures from workflow state or database
29
+ const signedCount = Math.floor(Math.random() * (input.requiredSigners + 1)); // Mock: random for demo
30
+ const allSigned = signedCount >= input.requiredSigners;
31
+ console.log(`[AXCValidateAllSignaturesCommand] Validation result: ${signedCount}/${input.requiredSigners} signatures collected, allSigned: ${allSigned}`);
32
+ // Determine outcome
33
+ let outcome;
34
+ if (allSigned) {
35
+ outcome = { AllSigned: true };
36
+ }
37
+ else {
38
+ outcome = { Pending: true };
39
+ }
40
+ return {
41
+ success: true,
42
+ data: {
43
+ output: {
44
+ allSigned,
45
+ signedCount,
46
+ },
47
+ outcomes: outcome,
48
+ },
49
+ };
50
+ }
51
+ catch (error) {
52
+ console.error(`[AXCValidateAllSignaturesCommand] Failed to validate signatures:`, error);
53
+ return {
54
+ success: false,
55
+ message: {
56
+ text: error.message || 'Failed to validate signatures',
57
+ },
58
+ data: {
59
+ output: {
60
+ allSigned: false,
61
+ signedCount: 0,
62
+ },
63
+ outcomes: {
64
+ Failed: true,
65
+ },
66
+ },
67
+ };
68
+ }
69
+ }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCValidateAllSignaturesCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
71
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCValidateAllSignaturesCommand, providedIn: 'root' }); }
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXCValidateAllSignaturesCommand, decorators: [{
74
+ type: Injectable,
75
+ args: [{
76
+ providedIn: 'root',
77
+ }]
78
+ }] });
79
+
80
+ export { AXCValidateAllSignaturesCommand };
81
+ //# sourceMappingURL=acorex-connectivity-mock-validate-all-signatures.command-CG80T32a.mjs.map