@acorex-platform/module-tenant-management-client 0.0.59 → 0.0.61

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 (39) hide show
  1. package/fesm2022/acorex-platform-module-tenant-management-client-approve-tenant-request.command-D18-n5Lc.mjs +91 -0
  2. package/fesm2022/acorex-platform-module-tenant-management-client-approve-tenant-request.command-D18-n5Lc.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-resource-share.mjs +6 -0
  4. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-resource-share.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant-user-app-access.mjs +110 -5
  6. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant-user-app-access.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant-user.mjs +186 -9
  8. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant-user.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant.mjs +158 -24
  10. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant.mjs.map +1 -1
  11. package/fesm2022/{acorex-platform-module-tenant-management-client-contracts-entity-catalog-acorex-platform-module-tenant-management-client-contracts-entity-catalog-CDfoKWOn.mjs → acorex-platform-module-tenant-management-client-contracts-entity-catalog-acorex-platform-module-tenant-management-client-contracts-entity-catalog-DqBYnske.mjs} +11 -5
  12. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-acorex-platform-module-tenant-management-client-contracts-entity-catalog-DqBYnske.mjs.map +1 -0
  13. package/fesm2022/{acorex-platform-module-tenant-management-client-contracts-entity-catalog-resource-share.entity-BPbgUTEH.mjs → acorex-platform-module-tenant-management-client-contracts-entity-catalog-resource-share.entity-Bf7keWah.mjs} +2 -2
  14. package/fesm2022/{acorex-platform-module-tenant-management-client-contracts-entity-catalog-resource-share.entity-BPbgUTEH.mjs.map → acorex-platform-module-tenant-management-client-contracts-entity-catalog-resource-share.entity-Bf7keWah.mjs.map} +1 -1
  15. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user-admin-scope-C6Ekm0Qg.mjs +43 -0
  16. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user-admin-scope-C6Ekm0Qg.mjs.map +1 -0
  17. package/fesm2022/{acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user-app-access.entity-nA_yhhRD.mjs → acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user-app-access.entity-BhkM_HyR.mjs} +66 -7
  18. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user-app-access.entity-BhkM_HyR.mjs.map +1 -0
  19. package/fesm2022/{acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user.entity-CmUdRisR.mjs → acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user.entity-Dk8LTu5B.mjs} +142 -11
  20. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user.entity-Dk8LTu5B.mjs.map +1 -0
  21. package/fesm2022/{acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant.entity-ZpnmQnXF.mjs → acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant.entity-cOVeFcEP.mjs} +154 -26
  22. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant.entity-cOVeFcEP.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog.mjs +1 -1
  24. package/fesm2022/acorex-platform-module-tenant-management-client-contracts.mjs +96 -3
  25. package/fesm2022/acorex-platform-module-tenant-management-client-contracts.mjs.map +1 -1
  26. package/fesm2022/acorex-platform-module-tenant-management-client-reject-tenant-request.command-CKSHPw1a.mjs +80 -0
  27. package/fesm2022/acorex-platform-module-tenant-management-client-reject-tenant-request.command-CKSHPw1a.mjs.map +1 -0
  28. package/fesm2022/acorex-platform-module-tenant-management-client.mjs +350 -14
  29. package/fesm2022/acorex-platform-module-tenant-management-client.mjs.map +1 -1
  30. package/i18n/en-AU/tenant-management.json +91 -10
  31. package/i18n/en-US/tenant-management.json +91 -10
  32. package/i18n/fa-IR/tenant-management.json +92 -11
  33. package/package.json +1 -1
  34. package/types/acorex-platform-module-tenant-management-client-contracts.d.ts +178 -4
  35. package/types/acorex-platform-module-tenant-management-client.d.ts +25 -1
  36. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-acorex-platform-module-tenant-management-client-contracts-entity-catalog-CDfoKWOn.mjs.map +0 -1
  37. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user-app-access.entity-nA_yhhRD.mjs.map +0 -1
  38. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user.entity-CmUdRisR.mjs.map +0 -1
  39. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant.entity-ZpnmQnXF.mjs.map +0 -1
@@ -6,6 +6,9 @@
6
6
  "root": {
7
7
  "title": "مدیریت مستأجر",
8
8
  "description": "مدیریت مستأجران و تنظیمات آن‌ها"
9
+ },
10
+ "tenant-sessions": {
11
+ "title": "نشست‌ها"
9
12
  }
10
13
  }
11
14
  },
@@ -13,6 +16,18 @@
13
16
  "tenant-management": {
14
17
  "title": "مدیریت مستأجر",
15
18
  "description": "فعال‌سازی قابلیت مدیریت مستأجر"
19
+ },
20
+ "manage-platform-tenants": {
21
+ "title": "مدیریت مستأجران پلتفرم",
22
+ "description": "فهرست مستأجران در کنسول پلتفرم"
23
+ },
24
+ "tenant-console": {
25
+ "title": "کنسول مستأجر",
26
+ "description": "منوهای مدیریتی Tenant Management برای مستأجر جاری"
27
+ },
28
+ "invite-multi-application": {
29
+ "title": "دعوت چندبرنامه‌ای",
30
+ "description": "اجازه دعوت در سطح مستأجر با دسترسی به یک یا چند برنامه"
16
31
  }
17
32
  },
18
33
  "tenants": {
@@ -30,9 +45,29 @@
30
45
  "contact-info": "اطلاعات تماس",
31
46
  "location-info": "اطلاعات موقعیت",
32
47
  "domain-info": "اطلاعات دامنه",
33
- "administrative": "اداری"
48
+ "administrative": "اداری",
49
+ "extra": "جزئیات سازمان"
34
50
  },
35
51
  "fields": {
52
+ "extra": {
53
+ "title": "جزئیات سازمان",
54
+ "description": "ویژگی‌های اختصاصی محصول برای سازمان"
55
+ },
56
+ "extra-fields": {
57
+ "first-name": "نام",
58
+ "last-name": "نام خانوادگی",
59
+ "mobile-phone": "شماره موبایل",
60
+ "suburb": "حومه / محله",
61
+ "state": "ایالت",
62
+ "country": "کشور",
63
+ "country-options": {
64
+ "australia": "استرالیا",
65
+ "new-zealand": "نیوزیلند",
66
+ "other": "سایر"
67
+ },
68
+ "referral-code": "کد معرف",
69
+ "terms-accepted": "پذیرش شرایط"
70
+ },
36
71
  "name": {
37
72
  "title": "نام",
38
73
  "description": "شناسه یکتا برای مستأجر",
@@ -73,6 +108,16 @@
73
108
  "description": "آدرس ایمیل پشتیبانی",
74
109
  "placeholder": "آدرس ایمیل پشتیبانی را وارد کنید"
75
110
  },
111
+ "street1": {
112
+ "title": "آدرس خیابان",
113
+ "description": "آدرس خیابان اصلی",
114
+ "placeholder": "آدرس خیابان را وارد کنید"
115
+ },
116
+ "postal-code": {
117
+ "title": "کد پستی",
118
+ "description": "کد پستی",
119
+ "placeholder": "کد پستی را وارد کنید"
120
+ },
76
121
  "country": {
77
122
  "title": "کشور",
78
123
  "description": "موقعیت کشور",
@@ -147,14 +192,17 @@
147
192
  }
148
193
  },
149
194
  "tenant-user-app-access": {
150
- "title": "دسترسی کاربر مستأجر به برنامه",
151
- "plural": "دسترسی‌های کاربر مستأجر به برنامه",
195
+ "title": "دسترسی کاربر به برنامه",
196
+ "plural": "دسترسی‌های کاربر به برنامه",
152
197
  "groups": {
153
198
  "basic-info": "اطلاعات پایه"
154
199
  },
155
200
  "fields": {
156
201
  "tenant-user": {
157
- "title": "کاربر مستأجر"
202
+ "title": "کاربر"
203
+ },
204
+ "user": {
205
+ "title": "کاربر"
158
206
  },
159
207
  "tenant": {
160
208
  "title": "مستأجر"
@@ -171,8 +219,8 @@
171
219
  }
172
220
  },
173
221
  "tenant-user": {
174
- "title": "کاربر مستأجر",
175
- "plural": "کاربران مستأجر",
222
+ "title": "کاربر",
223
+ "plural": "کاربران",
176
224
  "groups": {
177
225
  "basic-info": "اطلاعات پایه",
178
226
  "membership-details": "جزئیات عضویت"
@@ -261,7 +309,10 @@
261
309
  "title": "اشتراک‌ها"
262
310
  },
263
311
  "tenant-users": {
264
- "title": "کاربران مستأجر"
312
+ "title": "کاربران"
313
+ },
314
+ "tenant-user-app-access": {
315
+ "title": "دسترسی برنامه"
265
316
  }
266
317
  }
267
318
  },
@@ -293,30 +344,60 @@
293
344
  "description": "ایجاد مستأجر جدید در سیستم"
294
345
  },
295
346
  "create-tenant-user": {
296
- "title": "ایجاد کاربر مستأجر",
347
+ "title": "ایجاد کاربر",
297
348
  "description": "ایجاد کاربر جدید و اختصاص آن به مستأجر"
298
349
  },
299
350
  "transfer-ownership": {
300
351
  "title": "انتقال مالکیت",
301
352
  "description": "انتقال مالکیت صاحب حساب به کاربر دیگر"
353
+ },
354
+ "approve-request": {
355
+ "title": "تأیید درخواست",
356
+ "confirm-title": "تأیید درخواست مستأجر",
357
+ "confirm-message": "درخواست ایجاد مستأجر برای {{tenant}} تأیید شود؟ اشتراک‌ها و دسترسی مدیریت مستأجر فعال می‌شوند.",
358
+ "success": {
359
+ "title": "تأیید شد",
360
+ "description": "درخواست مستأجر تأیید شد."
361
+ },
362
+ "error": {
363
+ "title": "تأیید ناموفق",
364
+ "description": "تأیید درخواست مستأجر ممکن نشد.",
365
+ "not-pending": "این درخواست دیگر در وضعیت انتظار نیست."
366
+ }
367
+ },
368
+ "reject-request": {
369
+ "title": "رد درخواست",
370
+ "confirm-title": "رد درخواست مستأجر",
371
+ "confirm-message": "درخواست ایجاد مستأجر برای {{tenant}} رد شود؟",
372
+ "success": {
373
+ "title": "رد شد",
374
+ "description": "درخواست مستأجر رد شد."
375
+ },
376
+ "error": {
377
+ "title": "رد ناموفق",
378
+ "description": "رد درخواست مستأجر ممکن نشد.",
379
+ "not-pending": "این درخواست دیگر در وضعیت انتظار نیست."
380
+ }
302
381
  }
303
382
  },
304
383
  "messages": {
305
384
  "create-tenant-user": {
306
- "success": "کاربر مستأجر با موفقیت ایجاد شد"
385
+ "success": "کاربر با موفقیت ایجاد شد"
307
386
  }
308
387
  },
309
388
  "states": {
310
389
  "active": "فعال",
311
390
  "inactive": "غیرفعال",
312
391
  "suspended": "معلق",
313
- "pending": "در انتظار"
392
+ "pending": "در انتظار",
393
+ "rejected": "رد شده"
314
394
  },
315
395
  "transitions": {
316
396
  "activate": "فعال‌سازی",
317
397
  "deactivate": "غیرفعال‌سازی",
318
398
  "suspend": "تعلیق",
319
- "resume": "از سرگیری"
399
+ "resume": "از سرگیری",
400
+ "reject": "رد"
320
401
  },
321
402
  "settings": {
322
403
  "tenant": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex-platform/module-tenant-management-client",
3
- "version": "0.0.59",
3
+ "version": "0.0.61",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0 || ^22.0.0",
@@ -3,11 +3,32 @@ import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
3
3
 
4
4
  declare const AXM_TENANT_CONTEXT_DEFINITIONS: AXPContextDefinition[];
5
5
 
6
- declare const AXMTenantManagementFeatureKeys: {};
6
+ /**
7
+ * Tenant Management feature keys.
8
+ * ManagePlatformTenants is Platform Console edition only (platform tenant directory).
9
+ * TenantConsole gates TM Administration menus (Tenant Users / App Access / Sessions) —
10
+ * TM Standard edition only; must not appear on Platform Console (ADR-TEN-001).
11
+ * InviteMultiApplication enables TM tenant-level multi-app invite (ADR-TEN-001 D-05).
12
+ * TM edition may include the TenantManagement module without ManagePlatformTenants.
13
+ */
14
+ declare const AXMTenantManagementFeatureKeys: {
15
+ readonly ManagePlatformTenants: "TenantManagement:Feature:ManagePlatformTenants";
16
+ readonly TenantConsole: "TenantManagement:Feature:TenantConsole";
17
+ readonly InviteMultiApplication: "TenantManagement:Feature:InviteMultiApplication";
18
+ };
7
19
 
8
20
  declare const AXMTenantManagementMenuKeys: {
9
21
  readonly Root: "TenantManagement:Menu";
10
22
  readonly Tenants: "TenantManagement:Menu:Tenants";
23
+ /** Current-tenant membership directory (ADR-TEN-001 D-04). */
24
+ readonly TenantUsers: "TenantManagement:Menu:TenantUsers";
25
+ /** Tenant-wide application access rows for current tenant. */
26
+ readonly TenantApplicationAccess: "TenantManagement:Menu:TenantApplicationAccess";
27
+ /**
28
+ * Tenant-wide device session administration (same entity as Security → Sessions).
29
+ * Profile self-session management remains separate (ADR-TEN-001 D-07).
30
+ */
31
+ readonly TenantSessions: "TenantManagement:Menu:TenantSessions";
11
32
  };
12
33
 
13
34
  /**
@@ -79,7 +100,13 @@ declare const RootConfig: {
79
100
  };
80
101
  queries: {
81
102
  dashboard: {
103
+ /** Tenant-wide TenantUser count (Tenant Console Overview). */
82
104
  activeUsersKpi: string;
105
+ /**
106
+ * Current-application TenantUserAppAccess count (TM Application scope).
107
+ * On Tenant Console Overview / TM Application Overview widgets (D-17 / D-18).
108
+ */
109
+ tmApplicationUsersKpi: string;
83
110
  usersByRoleDonut: string;
84
111
  };
85
112
  reports: {
@@ -104,11 +131,144 @@ declare const AXMTenantManagementModuleConst: {
104
131
  */
105
132
  declare const TenantManagementManifest: AXPModuleManifest;
106
133
 
134
+ /**
135
+ * Explicit Tenant Users / Tenant Application Access operation scope (ADR-TEN-001).
136
+ * Selected by the calling surface (`view=tenant-users`), not Application.code / TM ids,
137
+ * and not by generic `/e/TenantUser*` entity routes alone.
138
+ *
139
+ * - `current-tenant` — TM → Tenant Users (and related AppAccess): force session tenant
140
+ * - `default` — generic / platform TenantUser ops: existing membership policy (incl. isPlatform)
141
+ */
142
+ type AXPTenantUserAdminScope = 'current-tenant' | 'default';
143
+ /** Query `params` key carrying the operation scope. */
144
+ declare const AXP_TENANT_USER_ADMIN_SCOPE_PARAM = "tenantUserAdminScope";
145
+ /** HTTP header (lowercase) for getOne/update/delete (and related) ops. */
146
+ declare const AXP_TENANT_USER_ADMIN_SCOPE_HEADER = "x-axp-tenant-user-admin-scope";
147
+ /** Entity list view name for TM → Tenant Users / Tenant Application Access. */
148
+ declare const AXP_TENANT_USERS_VIEW = "tenant-users";
149
+ declare function normalizeTenantUserAdminScope(value: unknown): AXPTenantUserAdminScope;
150
+ /**
151
+ * Whether the URL carries the explicit Tenant Users operation context.
152
+ *
153
+ * Prefer durable `tenantUserAdminScope=current-tenant` (entity list rewrites
154
+ * unknown `view=` values to `all`). Also accept `view=tenant-users` when present.
155
+ * Never infer from entity path `/e/TenantUser*` alone.
156
+ */
157
+ declare function isTenantUsersOperationUrl(url: string | null | undefined): boolean;
158
+ declare function resolveTenantUserAdminScopeFromUrl(url: string | null | undefined): AXPTenantUserAdminScope;
159
+
160
+ /** Server command keys for public tenant-creation requests and PC approve/reject. */
161
+ declare const AXMTenantManagementServerCommands: {
162
+ readonly RequestTenantCreation: "TenantManagement:Server:RequestTenantCreation";
163
+ readonly ListPublicSubscriptionPlans: "TenantManagement:Server:ListPublicSubscriptionPlans";
164
+ readonly CheckTenantNameAvailable: "TenantManagement:Server:CheckTenantNameAvailable";
165
+ readonly ApproveTenantRequest: "TenantManagement:Server:ApproveTenantRequest";
166
+ readonly RejectTenantRequest: "TenantManagement:Server:RejectTenantRequest";
167
+ };
168
+ /** Client/UI action keys on TenantManagement.Tenant (Platform Console). */
169
+ declare const AXM_TENANT_APPROVE_REQUEST_COMMAND = "TenantManagement:Tenant:ApproveRequest";
170
+ declare const AXM_TENANT_REJECT_REQUEST_COMMAND = "TenantManagement:Tenant:RejectRequest";
171
+ /** Stable codes for client i18n mapping. */
172
+ declare const AXM_TENANT_REQUEST_ERROR_CODES: {
173
+ readonly InvalidInput: "TENANT_REQUEST_INVALID_INPUT";
174
+ readonly NameTaken: "TENANT_REQUEST_NAME_TAKEN";
175
+ readonly PlanNotFound: "TENANT_REQUEST_PLAN_NOT_FOUND";
176
+ readonly NotPending: "TENANT_REQUEST_NOT_PENDING";
177
+ readonly NotFound: "TENANT_REQUEST_NOT_FOUND";
178
+ readonly Unauthorized: "TENANT_REQUEST_UNAUTHORIZED";
179
+ };
180
+ /** Metadata stored on a pending/rejected tenant created via the public form. */
181
+ interface AXMTenantRequestInfo {
182
+ planId: string;
183
+ requesterUserId: string;
184
+ requestedAt: string;
185
+ requesterEmail?: string;
186
+ }
187
+ interface AXMRequestTenantCreationInput {
188
+ /** Unique tenant name (slug). */
189
+ name: string;
190
+ /** Display title / company name (plain string; stored as MLS). */
191
+ title: string;
192
+ /** Selected SubscriptionPlan id (not PC-001). */
193
+ planId: string;
194
+ /** Requester email — existing User reused when present. */
195
+ email: string;
196
+ /** Business phone → Tenant.phone */
197
+ phone?: string;
198
+ /** Street address → Tenant.street1 */
199
+ street1?: string;
200
+ /** Post code → Tenant.postalCode */
201
+ postalCode?: string;
202
+ /** Product/demo-specific bag (e.g. Safetyminder fields). */
203
+ extra?: Record<string, unknown>;
204
+ webOrigin?: string;
205
+ }
206
+ interface AXMRequestTenantCreationResult {
207
+ tenantId: string;
208
+ name: string;
209
+ }
210
+ interface AXMCheckTenantNameAvailableInput {
211
+ name: string;
212
+ }
213
+ interface AXMCheckTenantNameAvailableResult {
214
+ available: boolean;
215
+ }
216
+ interface AXMPublicSubscriptionPlanItem {
217
+ id: string;
218
+ code: string;
219
+ title: unknown;
220
+ description?: unknown;
221
+ }
222
+ interface AXMListPublicSubscriptionPlansResult {
223
+ items: AXMPublicSubscriptionPlanItem[];
224
+ }
225
+ interface AXMApproveTenantRequestInput {
226
+ tenantId?: string;
227
+ /** Entity action payload. */
228
+ data?: {
229
+ id?: string;
230
+ };
231
+ webOrigin?: string;
232
+ }
233
+ interface AXMRejectTenantRequestInput {
234
+ tenantId?: string;
235
+ data?: {
236
+ id?: string;
237
+ };
238
+ }
239
+
240
+ /**
241
+ * Host/product-specific fields stored on {@link AXMTenantManagementTenantEntityModel.extra}.
242
+ * Definitions are registered by demo (e.g. safetyminder/client), not by the module.
243
+ */
244
+ interface AXMTenantExtraFieldDefinition {
245
+ /** Key inside `Tenant.extra`. */
246
+ name: string;
247
+ /** UI label — i18n key (`@scope:…`) or plain string. */
248
+ title: string;
249
+ /** Widget type name (e.g. `text-editor`). Defaults to `text-editor`. */
250
+ editorType?: string;
251
+ placeholder?: string;
252
+ required?: boolean;
253
+ /** Optional select options when `editorType` is `select-editor`. */
254
+ selectOptions?: Array<{
255
+ id: string;
256
+ title: string;
257
+ }>;
258
+ }
259
+
107
260
  interface AXMTenantManagementTenantEntityModel extends AXPEntityModel<string> {
108
261
  name: string;
109
262
  title: AXPMultiLanguageString;
110
263
  description?: AXPMultiLanguageString;
111
264
  statusId?: AXPSystemStatusType;
265
+ /** Set when the tenant was created via the public `/auth/tenant-request` form. */
266
+ tenantRequest?: AXMTenantRequestInfo;
267
+ /**
268
+ * Product/demo-specific attributes (keys defined outside this module,
269
+ * e.g. `libs/demo/src/safetyminder/client`).
270
+ */
271
+ extra?: Record<string, unknown>;
112
272
  logo?: string;
113
273
  color?: string;
114
274
  email?: string;
@@ -191,7 +351,7 @@ interface AXMTenantManagementTenantUserEntityModel extends AXPEntityModel<string
191
351
  sentAt: string;
192
352
  invitedByUserId: string;
193
353
  applicationIds?: string[];
194
- source: 'invite';
354
+ source: 'invite' | 'join-request';
195
355
  acceptedAt?: string;
196
356
  } | null;
197
357
  createdAt?: Date;
@@ -208,9 +368,23 @@ interface AXMTenantManagementTenantUserAppAccessEntityModel extends AXPEntityMod
208
368
  id: string;
209
369
  userId?: string;
210
370
  tenantId?: string;
371
+ displayName?: string;
211
372
  };
212
373
  /** Denormalized for membership filters (same as TenantUser.tenantId). */
213
374
  tenantId: string;
375
+ tenant?: {
376
+ id: string;
377
+ title?: unknown;
378
+ name?: string;
379
+ };
380
+ /** Denormalized from TenantUser.userId — list/lookup display of the member. */
381
+ userId?: string;
382
+ user?: {
383
+ id: string;
384
+ displayName?: string;
385
+ };
386
+ /** Snapshot label for list columns (avoids identity-read AppAccess gaps in TM). */
387
+ userDisplayName?: string;
214
388
  applicationId: string;
215
389
  application?: {
216
390
  id: string;
@@ -242,5 +416,5 @@ interface AXMTenantManagementResourceShareEntityModel extends AXPEntityModel<str
242
416
  shareInfo: AXMResourceShareShareInfo;
243
417
  }
244
418
 
245
- export { AXMTenantManagementFeatureKeys, AXMTenantManagementMenuKeys, AXMTenantManagementModuleConst, AXMTenantManagementPermissionsKeys, AXM_TENANT_CONTEXT_DEFINITIONS, AXPApplicationsPlatformPermissionKeys, RootConfig, TenantManagementManifest };
246
- export type { AXMResourceSharePermission, AXMResourceShareResourceInfo, AXMResourceShareShareInfo, AXMResourceShareStatus, AXMTenantManagementResourceShareEntityModel, AXMTenantManagementTenantEntityModel, AXMTenantManagementTenantUserAppAccessEntityModel, AXMTenantManagementTenantUserEntityModel };
419
+ export { AXMTenantManagementFeatureKeys, AXMTenantManagementMenuKeys, AXMTenantManagementModuleConst, AXMTenantManagementPermissionsKeys, AXMTenantManagementServerCommands, AXM_TENANT_APPROVE_REQUEST_COMMAND, AXM_TENANT_CONTEXT_DEFINITIONS, AXM_TENANT_REJECT_REQUEST_COMMAND, AXM_TENANT_REQUEST_ERROR_CODES, AXPApplicationsPlatformPermissionKeys, AXP_TENANT_USERS_VIEW, AXP_TENANT_USER_ADMIN_SCOPE_HEADER, AXP_TENANT_USER_ADMIN_SCOPE_PARAM, RootConfig, TenantManagementManifest, isTenantUsersOperationUrl, normalizeTenantUserAdminScope, resolveTenantUserAdminScopeFromUrl };
420
+ export type { AXMApproveTenantRequestInput, AXMCheckTenantNameAvailableInput, AXMCheckTenantNameAvailableResult, AXMListPublicSubscriptionPlansResult, AXMPublicSubscriptionPlanItem, AXMRejectTenantRequestInput, AXMRequestTenantCreationInput, AXMRequestTenantCreationResult, AXMResourceSharePermission, AXMResourceShareResourceInfo, AXMResourceShareShareInfo, AXMResourceShareStatus, AXMTenantExtraFieldDefinition, AXMTenantManagementResourceShareEntityModel, AXMTenantManagementTenantEntityModel, AXMTenantManagementTenantUserAppAccessEntityModel, AXMTenantManagementTenantUserEntityModel, AXMTenantRequestInfo, AXPTenantUserAdminScope };
@@ -1,7 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
2
3
  import { AXPFeatureDefinitionProvider, AXPFeatureDefinitionProviderContext } from '@acorex-platform/framework-client/core';
3
4
  import * as _acorex_platform_framework_client_common from '@acorex-platform/framework-client/common';
4
5
  import { AXPMenuProvider, AXPMenuProviderContext, AXPSearchCommandProvider, AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex-platform/framework-client/common';
6
+ import { AXMTenantExtraFieldDefinition } from '@acorex-platform/module-tenant-management-client/contracts';
7
+ import { AXPWidgetNode } from '@acorex-platform/framework-shared/core';
5
8
 
6
9
  declare class AXMTenantManagementModule {
7
10
  constructor();
@@ -31,4 +34,25 @@ declare class AXMTenantSettingProvider implements AXPSettingDefinitionProvider {
31
34
  provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
32
35
  }
33
36
 
34
- export { AXMTenantManagementFeatureDefinitionProvider, AXMTenantManagementModule, AXMTenantManagementModuleMenuProvider, AXMTenantSearchCommandProvider, AXMTenantSettingProvider };
37
+ /**
38
+ * Multi provider: each demo product (e.g. Safetyminder) supplies field defs
39
+ * that merge into Tenant.extra on the public request form / PC layout.
40
+ */
41
+ declare const AXP_TENANT_EXTRA_FIELD_DEFINITIONS: InjectionToken<AXMTenantExtraFieldDefinition[]>;
42
+
43
+ /** Flattens multi-provider arrays into one field list (later providers override by name). */
44
+ declare function mergeTenantExtraFieldDefinitions(batches: Array<AXMTenantExtraFieldDefinition[] | null | undefined>): AXMTenantExtraFieldDefinition[];
45
+ /**
46
+ * Builds an `axp-layout-renderer` tree bound under context path `extra.*`.
47
+ */
48
+ declare function buildTenantExtraFieldsLayout(fields: AXMTenantExtraFieldDefinition[]): AXPWidgetNode | null;
49
+ /**
50
+ * Meta-data-editor `listMeta` shape (interface is a JSON widget tree string).
51
+ */
52
+ declare function toTenantExtraMetaDataList(fields: AXMTenantExtraFieldDefinition[]): Array<{
53
+ name: string;
54
+ title: string;
55
+ interface: string;
56
+ }>;
57
+
58
+ export { AXMTenantManagementFeatureDefinitionProvider, AXMTenantManagementModule, AXMTenantManagementModuleMenuProvider, AXMTenantSearchCommandProvider, AXMTenantSettingProvider, AXP_TENANT_EXTRA_FIELD_DEFINITIONS, buildTenantExtraFieldsLayout, mergeTenantExtraFieldDefinitions, toTenantExtraMetaDataList };
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-tenant-management-client-contracts-entity-catalog-acorex-platform-module-tenant-management-client-contracts-entity-catalog-CDfoKWOn.mjs","sources":["../../../../libs/modules/tenant-management/contracts/src/root-config.ts","../../../../libs/modules/tenant-management/contracts/src/entity-catalog.ts","../../../../libs/modules/tenant-management/contracts/src/acorex-platform-module-tenant-management-client-contracts-entity-catalog.ts"],"sourcesContent":["const config = {\n i18n: 'tenant-management',\n module: 'TenantManagement',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'tenant-management',\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-building',\n },\n entities: {\n tenant: {\n name: 'Tenant',\n source: `${config.module}.Tenant`,\n title: `@${config.i18n}:tenants.entities.tenant.title`,\n titlePlural: `@${config.i18n}:tenants.entities.tenant.plural`,\n icon: 'fa-light fa-building',\n },\n tenantUser: {\n name: 'TenantUser',\n source: `${config.module}.TenantUser`,\n title: `@${config.i18n}:tenants.entities.tenant-user.title`,\n titlePlural: `@${config.i18n}:tenants.entities.tenant-user.plural`,\n icon: 'fa-light fa-user-group',\n },\n tenantUserAppAccess: {\n name: 'TenantUserAppAccess',\n source: `${config.module}.TenantUserAppAccess`,\n title: `@${config.i18n}:tenants.entities.tenant-user-app-access.title`,\n titlePlural: `@${config.i18n}:tenants.entities.tenant-user-app-access.plural`,\n icon: 'fa-light fa-app-store',\n },\n resourceShare: {\n name: 'ResourceShare',\n source: `${config.module}.ResourceShare`,\n title: `@${config.i18n}:tenants.entities.resource-share.title`,\n titlePlural: `@${config.i18n}:tenants.entities.resource-share.plural`,\n icon: 'fa-light fa-share-nodes',\n },\n },\n queries: {\n dashboard: {\n activeUsersKpi: `${config.module}:Dashboard:ActiveUsersKpi`,\n usersByRoleDonut: `${config.module}:Dashboard:UsersByRoleDonut`,\n },\n reports: {\n getTenantApplicationAccess: `${config.module}:Reports:GetTenantApplicationAccess`,\n getTenantUserDistribution: `${config.module}:Reports:GetTenantUserDistribution`,\n getTenantRegistrationTimeline: `${config.module}:Reports:GetTenantRegistrationTimeline`,\n getTenantRegistrationChartData: `${config.module}:Reports:GetTenantRegistrationChartData`,\n getSubscriptionsTimeline: `${config.module}:Reports:GetSubscriptionsTimeline`,\n getSubscriptionsChartData: `${config.module}:Reports:GetSubscriptionsChartData`,\n },\n },\n};\n\n// Keep the old export for backward compatibility\nexport const AXMTenantManagementModuleConst = {\n moduleName: 'TenantManagement',\n moduleRoute: 'tenant-management',\n i18n: 'tenant-management',\n} as const;\n","//#region ----- Imports -----\n\nimport type { AXPLocalEntityCatalog } from '@acorex-platform/framework-shared/entity';\n\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ----- Local entity catalog -----\n\n/**\n * Lazy per-entity layout factories. Do not re-export from the contracts barrel\n * so RootConfig imports stay light. Server seed and client `local-entities`\n * consume this catalog explicitly.\n */\nexport const tenantManagementLocalEntityCatalog: AXPLocalEntityCatalog = {\n moduleName: RootConfig.module.name,\n loaders: {\n [RootConfig.entities.resourceShare.name]: () =>\n import('./entities/resource-share/resource-share.entity.js').then((m) => m.resourceShareEntityFactory()),\n [RootConfig.entities.tenant.name]: () =>\n import('./entities/tenant/tenant.entity.js').then((m) => m.tenantEntityFactory()),\n [RootConfig.entities.tenantUser.name]: () =>\n import('./entities/tenant-user/tenant-user.entity.js').then((m) => m.tenantUserEntityFactory()),\n [RootConfig.entities.tenantUserAppAccess.name]: () =>\n import('./entities/tenant-user-app-access/tenant-user-app-access.entity.js').then((m) => m.tenantUserAppAccessEntityFactory()),\n },\n};\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-catalog';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user-app-access.entity-nA_yhhRD.mjs","sources":["../../../../libs/modules/tenant-management/contracts/src/entities/tenant-user-app-access/tenant-user-app-access.entity.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n createAllQueryView,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\n//#region ---- TenantUserAppAccess entity factory ----\n\nexport async function tenantUserAppAccessEntityFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n + ':tenants.entities.tenant-user-app-access';\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.tenantUserAppAccess.name,\n title: RootConfig.entities.tenantUserAppAccess.title,\n icon: RootConfig.entities.tenantUserAppAccess.icon,\n searchTags: [\n 'app-access',\n 'tenant-user',\n 'application-access',\n 'tenant',\n 'application',\n 'membership',\n 'tenant-management',\n 'دسترسی کاربر مستأجر به برنامه',\n 'دسترسی برنامه',\n 'مستأجر',\n ],\n formats: {\n individual: RootConfig.entities.tenantUserAppAccess.title,\n plural: RootConfig.entities.tenantUserAppAccess.titlePlural,\n searchResult: {\n title: '{{ application.title || applicationId }}',\n description: '{{ tenantUserId }}',\n },\n },\n plugins: [\n {\n name: 'status',\n options: {\n field: 'statusId',\n definition: 'tenant-management.status.tenant',\n },\n },\n { name: 'history' },\n ],\n groups: [\n {\n id: 'basic-info',\n title: `@${i18n}.groups.basic-info`,\n },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: {\n dataType: 'uuid',\n visible: false,\n nullable: false,\n readonly: true,\n unique: { enabled: true },\n },\n },\n {\n name: 'tenantUserId',\n title: `@${i18n}.fields.tenant-user.title`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.tenantUser.name}`,\n textField: 'user.displayName',\n valueField: 'id',\n look: 'select',\n expose: [\n { source: 'id', target: 'tenantUser.id' },\n { source: 'userId', target: 'tenantUser.userId' },\n { source: 'tenantId', target: 'tenantUser.tenantId' },\n { source: 'tenantId', target: 'tenantId' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n },\n {\n name: 'tenantId',\n title: `@${i18n}.fields.tenant.title`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.tenant.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n },\n },\n },\n validations: [{ rule: 'required' }],\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n },\n {\n name: 'applicationId',\n title: `@${i18n}.fields.application.title`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'ApplicationManagement.Application',\n textField: 'title',\n valueField: 'id',\n look: 'select',\n expose: [\n { source: 'id', target: 'application.id' },\n { source: 'title', target: 'application.title' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n },\n {\n name: 'startDate',\n title: `@${i18n}.fields.start-date.title`,\n groupId: 'basic-info',\n schema: {\n dataType: 'date',\n interface: { type: AXPWidgetsList.Editors.DateTimeBox },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'endDate',\n title: `@${i18n}.fields.end-date.title`,\n groupId: 'basic-info',\n schema: {\n dataType: 'date',\n interface: { type: AXPWidgetsList.Editors.DateTimeBox },\n },\n },\n ],\n columns: [\n { name: 'tenantUserId' },\n { name: 'tenantId' },\n { name: 'applicationId' },\n { name: 'startDate' },\n { name: 'endDate' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'tenantUserId' },\n { name: 'tenantId' },\n { name: 'applicationId' },\n { name: 'startDate' },\n { name: 'endDate' },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'tenantUserId' },\n { name: 'tenantId' },\n { name: 'applicationId' },\n { name: 'startDate' },\n { name: 'endDate' },\n ],\n },\n single: {\n title: '{{applicationId}}',\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'tenantUserId' },\n { name: 'tenantId' },\n { name: 'applicationId' },\n { name: 'startDate' },\n { name: 'endDate' },\n ],\n },\n list: {\n views: [createAllQueryView()],\n actions: [...entityMasterCrudActions(), ...entityMasterRecordActions()],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user.entity-CmUdRisR.mjs","sources":["../../../../libs/modules/tenant-management/contracts/src/entities/tenant-user/tenant-user.entity.ts"],"sourcesContent":["import { AXPSystemActionType, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n AXPEntityCommandScope,\n createAllQueryView,\n createQueryView,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Tenant User Entity Factory ----\n\nexport async function tenantUserEntityFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n + ':tenants.entities.tenant-user';\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.tenantUser.name,\n title: RootConfig.entities.tenantUser.title,\n icon: RootConfig.entities.tenantUser.icon,\n searchTags: [\n 'tenant-user',\n 'membership',\n 'tenant',\n 'user',\n 'account-holder',\n 'tenant-management',\n 'کاربر مستأجر',\n 'عضویت',\n 'مستأجر',\n ],\n formats: {\n individual: RootConfig.entities.tenantUser.title,\n plural: RootConfig.entities.tenantUser.titlePlural,\n searchResult: {\n title:\n '{{ context.eval(\"user.displayName\") + \" - \" + context.eval(\"tenant.title\", { pipes: [\"translate\"] }) }}',\n description: '{{ user.displayName }}',\n },\n },\n plugins: [\n {\n name: 'status',\n options: {\n field: 'statusId',\n definition: 'tenant-management.status.tenant-user',\n generate: { views: { enabled: false } },\n },\n },\n { name: 'history' },\n { name: 'compare' },\n ],\n groups: [\n {\n id: 'basic-info',\n title: `@${i18n}.groups.basic-info`,\n },\n {\n id: 'membership-details',\n title: `@${i18n}.groups.membership-details`,\n },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'tenantId',\n title: `@${i18n}.fields.tenant.title`,\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.tenant.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n expose: [\n { source: 'id', target: 'tenant.id' },\n { source: 'title', target: 'tenant.title' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'userId',\n title: `@${i18n}.fields.user.title`,\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${\"SecurityManagement\"}.${\"User\"}`,\n textField: 'displayName',\n valueField: 'id',\n look: 'select',\n expose: [\n { source: 'id', target: 'user.id' },\n { source: 'username', target: 'user.username' },\n { source: 'displayName', target: 'user.displayName' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'statusId',\n title: `@${i18n}.fields.status.title`,\n groupId: 'membership-details',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Advanced.Status,\n options: {\n definitionKey: 'tenant-management.status.tenant-user',\n },\n },\n },\n },\n {\n name: 'startDate',\n title: `@${i18n}.fields.start-date.title`,\n groupId: 'membership-details',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true },\n },\n },\n schema: {\n dataType: 'date',\n interface: {\n type: AXPWidgetsList.Editors.DateTimeBox,\n options: {\n format: 'date',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'endDate',\n title: `@${i18n}.fields.end-date.title`,\n groupId: 'membership-details',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true },\n },\n },\n schema: {\n dataType: 'date',\n interface: {\n type: AXPWidgetsList.Editors.DateTimeBox,\n options: {\n format: 'date',\n },\n },\n },\n },\n {\n name: 'isAccountHolder',\n title: `@${i18n}.fields.is-account-holder.title`,\n groupId: 'membership-details',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n inline: { enabled: true },\n },\n },\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.CheckBox,\n // options: {\n // readOnly: true,\n // },\n },\n },\n },\n {\n name: 'invitation',\n title: `@${i18n}.fields.invitation.title`,\n groupId: 'membership-details',\n schema: {\n dataType: 'object',\n readonly: true,\n visible: false,\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n },\n },\n {\n name: 'invitation.source',\n title: `@${i18n}.fields.invitation-source.title`,\n groupId: 'membership-details',\n options: {\n filter: {\n advance: { enabled: true },\n },\n },\n schema: {\n dataType: 'string',\n readonly: true,\n visible: false,\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n },\n },\n {\n name: 'invitation.sentAt',\n title: `@${i18n}.fields.invitation-sent-at.title`,\n groupId: 'membership-details',\n options: {\n sort: { enabled: true },\n },\n schema: {\n dataType: 'datetime',\n readonly: true,\n visible: false,\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.DateTimeBox,\n options: { format: 'datetime' },\n },\n },\n },\n {\n name: 'invitation.acceptedAt',\n title: `@${i18n}.fields.invitation-accepted-at.title`,\n groupId: 'membership-details',\n options: {\n sort: { enabled: true },\n },\n schema: {\n dataType: 'datetime',\n readonly: true,\n visible: false,\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.DateTimeBox,\n options: { format: 'datetime' },\n },\n },\n },\n {\n name: 'invitation.expiresAt',\n title: `@${i18n}.fields.invitation-expires-at.title`,\n groupId: 'membership-details',\n options: {\n sort: { enabled: true },\n },\n schema: {\n dataType: 'datetime',\n readonly: true,\n visible: false,\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.DateTimeBox,\n options: { format: 'datetime' },\n },\n },\n },\n ],\n columns: [\n { name: 'userId', options: { dataPath: 'user' } },\n { name: 'tenantId', options: { dataPath: 'tenant' } },\n {\n name: 'statusId',\n options: {\n definitionKey: 'tenant-management.status.tenant-user',\n entity: `${RootConfig.module.name}.${RootConfig.entities.tenantUser.name}`,\n fieldName: 'statusId',\n },\n },\n { name: 'invitation.sentAt', options: { visible: false } },\n { name: 'invitation.acceptedAt', options: { visible: false } },\n { name: 'invitation.expiresAt', options: { visible: false } },\n { name: 'startDate' },\n { name: 'endDate' },\n { name: 'isAccountHolder' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'membership-details',\n },\n ],\n properties: [\n {\n name: 'tenantId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'userId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'statusId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'startDate',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'endDate',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isAccountHolder',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'membership-details',\n },\n ],\n properties: [\n {\n name: 'tenantId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'userId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'statusId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'startDate',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'endDate',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isAccountHolder',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n list: {\n actions: [\n ...entityMasterCrudActions({ create: false }),\n {\n name: 'create-tenant-user',\n title: `@${RootConfig.config.i18n}:tenants.actions.create-tenant-user.title`,\n icon: 'fa-light fa-user-plus',\n command: {\n name: 'TenantManagement.Tenant:CreateTenantUser',\n options: {},\n },\n priority: 'primary',\n type: AXPSystemActionType.Create,\n scope: AXPEntityCommandScope.TypeLevel,\n },\n ],\n views: [\n createAllQueryView({\n sorts: [{ name: 'startDate', dir: 'desc' }],\n }),\n createQueryView(\n 'invitations',\n `@${i18n}.views.invitations.title`,\n true,\n {\n conditions: [\n {\n name: 'invitation.source',\n operator: { type: 'equal' },\n value: 'invite',\n hidden: true,\n },\n ],\n columns: [\n 'userId',\n 'statusId',\n 'invitation.sentAt',\n 'invitation.acceptedAt',\n 'invitation.expiresAt',\n 'endDate',\n ],\n sorts: [{ name: 'invitation.sentAt', dir: 'desc' }],\n },\n ),\n ],\n },\n single: {\n title:\n '{{ context.eval(\"user.displayName\") + \" - \" + context.eval(\"tenant.title\", { pipes: [\"translate\"] }) }}',\n description: '{{ user.displayName }}',\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'membership-details', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'tenantId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'userId', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'statusId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'startDate', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'endDate', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },\n { name: 'isAccountHolder', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n\n"],"names":[],"mappings":";;;;AAYA;AAEA;AAEO,eAAe,uBAAuB,GAAA;IACzC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,+BAA+B;AAErE,IAAA,MAAM,SAAS,GAAc;AACzB,QAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC9B,QAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AACzC,QAAA,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;AAC3C,QAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AACzC,QAAA,UAAU,EAAE;YACV,aAAa;YACb,YAAY;YACZ,QAAQ;YACR,MAAM;YACN,gBAAgB;YAChB,mBAAmB;YACnB,cAAc;YACd,OAAO;YACP,QAAQ;AACT,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;AAChD,YAAA,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW;AAClD,YAAA,YAAY,EAAE;AACV,gBAAA,KAAK,EACH,yGAAyG;AAC3G,gBAAA,WAAW,EAAE,wBAAwB;AACxC,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA;AACI,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,OAAO,EAAE;AACL,oBAAA,KAAK,EAAE,UAAU;AACjB,oBAAA,UAAU,EAAE,sCAAsC;oBAClD,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;AAC1C,iBAAA;AACJ,aAAA;YACD,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;AACtB,SAAA;AACD,QAAA,MAAM,EAAE;AACJ,YAAA;AACI,gBAAA,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,kBAAA,CAAoB;AACtC,aAAA;AACD,YAAA;AACI,gBAAA,EAAE,EAAE,oBAAoB;gBACxB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,0BAAA,CAA4B;AAC9C,aAAA;AACJ,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;AAC3G,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,oBAAA,CAAsB;AACrC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACL,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE;AACJ,wBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,wBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC5B,qBAAA;AACJ,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,wBAAA,OAAO,EAAE;AACL,4BAAA,MAAM,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAA,CAAE;AACtE,4BAAA,SAAS,EAAE,OAAO;AAClB,4BAAA,UAAU,EAAE,IAAI;AAChB,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,MAAM,EAAE;AACJ,gCAAA,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE;AACrC,gCAAA,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE;AAC9C,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACD,gBAAA,WAAW,EAAE;AACT,oBAAA;AACI,wBAAA,IAAI,EAAE,UAAU;AACnB,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,kBAAA,CAAoB;AACnC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACL,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE;AACJ,wBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,wBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC5B,qBAAA;AACJ,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,wBAAA,OAAO,EAAE;AACL,4BAAA,MAAM,EAAE,CAAA,EAAG,oBAAoB,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE;AAC3C,4BAAA,SAAS,EAAE,aAAa;AACxB,4BAAA,UAAU,EAAE,IAAI;AAChB,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,MAAM,EAAE;AACJ,gCAAA,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE;AACnC,gCAAA,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE;AAC/C,gCAAA,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE;AACxD,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACD,gBAAA,WAAW,EAAE;AACT,oBAAA;AACI,wBAAA,IAAI,EAAE,UAAU;AACnB,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,oBAAA,CAAsB;AACrC,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,OAAO,EAAE;AACL,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE;AACJ,wBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,wBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC5B,qBAAA;AACJ,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM;AACpC,wBAAA,OAAO,EAAE;AACL,4BAAA,aAAa,EAAE,sCAAsC;AACxD,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,wBAAA,CAA0B;AACzC,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,OAAO,EAAE;AACL,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE;AACJ,wBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,wBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC5B,qBAAA;AACJ,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW;AACxC,wBAAA,OAAO,EAAE;AACL,4BAAA,MAAM,EAAE,MAAM;AACjB,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACD,gBAAA,WAAW,EAAE;AACT,oBAAA;AACI,wBAAA,IAAI,EAAE,UAAU;AACnB,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,sBAAA,CAAwB;AACvC,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,OAAO,EAAE;AACL,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE;AACJ,wBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,wBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC5B,qBAAA;AACJ,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW;AACxC,wBAAA,OAAO,EAAE;AACL,4BAAA,MAAM,EAAE,MAAM;AACjB,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,+BAAA,CAAiC;AAChD,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,OAAO,EAAE;AACL,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE;AACJ,wBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,wBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC5B,qBAAA;AACJ,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ;;;;AAIxC,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,wBAAA,CAA0B;AACzC,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO;AACvC,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,+BAAA,CAAiC;AAChD,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,OAAO,EAAE;AACL,oBAAA,MAAM,EAAE;AACJ,wBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC7B,qBAAA;AACJ,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO;AACvC,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,gCAAA,CAAkC;AACjD,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,OAAO,EAAE;AACL,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW;AACxC,wBAAA,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;AAClC,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,oCAAA,CAAsC;AACrD,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,OAAO,EAAE;AACL,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW;AACxC,wBAAA,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;AAClC,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,mCAAA,CAAqC;AACpD,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,OAAO,EAAE;AACL,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,SAAS,EAAE;AACP,wBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW;AACxC,wBAAA,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;AAClC,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,EAAE;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YACjD,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;AACrD,YAAA;AACI,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,OAAO,EAAE;AACL,oBAAA,aAAa,EAAE,sCAAsC;AACrD,oBAAA,MAAM,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAA,CAAE;AAC1E,oBAAA,SAAS,EAAE,UAAU;AACxB,iBAAA;AACJ,aAAA;YACD,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAC1D,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAC9D,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAC7D,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,iBAAiB,EAAE;AAC9B,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA,MAAM,EAAE;AACJ,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE;AACN,wBAAA;AACI,4BAAA,EAAE,EAAE,YAAY;AACnB,yBAAA;AACD,wBAAA;AACI,4BAAA,EAAE,EAAE,oBAAoB;AAC3B,yBAAA;AACJ,qBAAA;AACD,oBAAA,UAAU,EAAE;AACR,wBAAA;AACI,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,EAAE;AACd,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACD,wBAAA;AACI,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,EAAE;AACd,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACD,wBAAA;AACI,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,CAAC;AACb,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACD,wBAAA;AACI,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,CAAC;AACb,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACD,wBAAA;AACI,4BAAA,IAAI,EAAE,SAAS;AACf,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,CAAC;AACb,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACD,wBAAA;AACI,4BAAA,IAAI,EAAE,iBAAiB;AACvB,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,EAAE;AACd,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE;AACN,wBAAA;AACI,4BAAA,EAAE,EAAE,YAAY;AACnB,yBAAA;AACD,wBAAA;AACI,4BAAA,EAAE,EAAE,oBAAoB;AAC3B,yBAAA;AACJ,qBAAA;AACD,oBAAA,UAAU,EAAE;AACR,wBAAA;AACI,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,EAAE;AACd,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACD,wBAAA;AACI,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,EAAE;AACd,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACD,wBAAA;AACI,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,CAAC;AACb,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACD,wBAAA;AACI,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,CAAC;AACb,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACD,wBAAA;AACI,4BAAA,IAAI,EAAE,SAAS;AACf,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,CAAC;AACb,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACD,wBAAA;AACI,4BAAA,IAAI,EAAE,iBAAiB;AACvB,4BAAA,MAAM,EAAE;AACJ,gCAAA,SAAS,EAAE;AACP,oCAAA,EAAE,EAAE;AACA,wCAAA,OAAO,EAAE,EAAE;AACd,qCAAA;AACJ,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACD,gBAAA,IAAI,EAAE;AACF,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG,uBAAuB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC7C,wBAAA;AACI,4BAAA,IAAI,EAAE,oBAAoB;AAC1B,4BAAA,KAAK,EAAE,CAAA,CAAA,EAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,yCAAA,CAA2C;AAC5E,4BAAA,IAAI,EAAE,uBAAuB;AAC7B,4BAAA,OAAO,EAAE;AACL,gCAAA,IAAI,EAAE,0CAA0C;AAChD,gCAAA,OAAO,EAAE,EAAE;AACd,6BAAA;AACD,4BAAA,QAAQ,EAAE,SAAS;4BACnB,IAAI,EAAE,mBAAmB,CAAC,MAAM;4BAChC,KAAK,EAAE,qBAAqB,CAAC,SAAS;AACzC,yBAAA;AACJ,qBAAA;AACD,oBAAA,KAAK,EAAE;AACH,wBAAA,kBAAkB,CAAC;4BACf,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;yBAC9C,CAAC;wBACF,eAAe,CACX,aAAa,EACb,CAAA,CAAA,EAAI,IAAI,CAAA,wBAAA,CAA0B,EAClC,IAAI,EACJ;AACI,4BAAA,UAAU,EAAE;AACR,gCAAA;AACI,oCAAA,IAAI,EAAE,mBAAmB;AACzB,oCAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AAC3B,oCAAA,KAAK,EAAE,QAAQ;AACf,oCAAA,MAAM,EAAE,IAAI;AACf,iCAAA;AACJ,6BAAA;AACD,4BAAA,OAAO,EAAE;gCACL,QAAQ;gCACR,UAAU;gCACV,mBAAmB;gCACnB,uBAAuB;gCACvB,sBAAsB;gCACtB,SAAS;AACZ,6BAAA;4BACD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;yBACtD,CACJ;AACJ,qBAAA;AACJ,iBAAA;AACD,gBAAA,MAAM,EAAE;AACJ,oBAAA,KAAK,EACH,yGAAyG;AAC3G,oBAAA,WAAW,EAAE,wBAAwB;AACrC,oBAAA,QAAQ,EAAE;AACN,wBAAA,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACpE,wBAAA,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/E,qBAAA;AACD,oBAAA,UAAU,EAAE;wBACR,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;wBAC9E,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;wBAC5E,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;wBAC7E,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;wBAC9E,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;wBAC5E,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACxF,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,GAAG,yBAAyB,EAAE,CAAC;AAC5C,iBAAA;AACJ,aAAA;AACJ,SAAA;KACJ;AAED,IAAA,OAAO,SAAS;AACpB;AAEA;;"}