@acorex-platform/module-security-management-client 0.0.30 → 0.0.33

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 (58) hide show
  1. package/fesm2022/{acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-jSDkyMMZ.mjs → acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-Wtvhs7VH.mjs} +10 -3
  2. package/fesm2022/acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-Wtvhs7VH.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-device-sessions.mjs +579 -0
  4. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-device-sessions.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-identity-provider.mjs +326 -0
  6. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-identity-provider.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-policy.mjs +284 -0
  8. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-policy.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-profile.mjs +243 -0
  10. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-profile.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-role-permission.mjs +220 -0
  12. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-role-permission.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-roles.mjs +271 -0
  14. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-roles.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-user-role.mjs +221 -0
  16. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-user-role.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-users.mjs +562 -0
  18. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-users.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-acorex-platform-module-security-management-client-contracts-entity-catalog-CeqvAe30.mjs +102 -0
  20. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-acorex-platform-module-security-management-client-contracts-entity-catalog-CeqvAe30.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-device-sessions.entity-D5wMKRJ3.mjs +503 -0
  22. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-device-sessions.entity-D5wMKRJ3.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-identity-provider.entity-6LBD6MuU.mjs +250 -0
  24. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-identity-provider.entity-6LBD6MuU.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-policy.entity-CVsH_anF.mjs +208 -0
  26. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-policy.entity-CVsH_anF.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-profile.entity-B3m3wpcT.mjs +167 -0
  28. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-profile.entity-B3m3wpcT.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-role-permission.entity-DK99ir3U.mjs +144 -0
  30. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-role-permission.entity-DK99ir3U.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-roles.entity-B5PknTEu.mjs +195 -0
  32. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-roles.entity-B5PknTEu.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-user-role.entity-IHUWsgjf.mjs +145 -0
  34. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-user-role.entity-IHUWsgjf.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-users.entity-DmVp5gj1.mjs +486 -0
  36. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-users.entity-DmVp5gj1.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog.mjs +2 -0
  38. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-module-security-management-client-contracts.mjs +2 -0
  40. package/fesm2022/acorex-platform-module-security-management-client-contracts.mjs.map +1 -1
  41. package/fesm2022/{acorex-platform-module-security-management-client-index-DOHWBEzM.mjs → acorex-platform-module-security-management-client-index-Dw9MKtB1.mjs} +2 -2
  42. package/fesm2022/{acorex-platform-module-security-management-client-index-DOHWBEzM.mjs.map → acorex-platform-module-security-management-client-index-Dw9MKtB1.mjs.map} +1 -1
  43. package/fesm2022/acorex-platform-module-security-management-client-local-entities.mjs +36 -0
  44. package/fesm2022/acorex-platform-module-security-management-client-local-entities.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-module-security-management-client.mjs +1 -1
  46. package/package.json +41 -1
  47. package/types/acorex-platform-module-security-management-client-contracts-entities-device-sessions.d.ts +5 -0
  48. package/types/acorex-platform-module-security-management-client-contracts-entities-identity-provider.d.ts +5 -0
  49. package/types/acorex-platform-module-security-management-client-contracts-entities-policy.d.ts +5 -0
  50. package/types/acorex-platform-module-security-management-client-contracts-entities-profile.d.ts +5 -0
  51. package/types/acorex-platform-module-security-management-client-contracts-entities-role-permission.d.ts +5 -0
  52. package/types/acorex-platform-module-security-management-client-contracts-entities-roles.d.ts +5 -0
  53. package/types/acorex-platform-module-security-management-client-contracts-entities-user-role.d.ts +5 -0
  54. package/types/acorex-platform-module-security-management-client-contracts-entities-users.d.ts +5 -0
  55. package/types/acorex-platform-module-security-management-client-contracts-entity-catalog.d.ts +10 -0
  56. package/types/acorex-platform-module-security-management-client-contracts.d.ts +10 -0
  57. package/types/acorex-platform-module-security-management-client-local-entities.d.ts +12 -0
  58. package/fesm2022/acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-jSDkyMMZ.mjs.map +0 -1
@@ -0,0 +1,271 @@
1
+ import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, AXPEntityCommandScope, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+
4
+ /** Component key for the Role permissions page tab. Register via AXP_PAGE_COMPONENT_PROVIDER. */
5
+ const ROLE_PERMISSIONS_PAGE_COMPONENT_KEY = 'role-permissions-page';
6
+
7
+ const config = {
8
+ i18n: 'security-management',
9
+ profileEntity: 'Profile',
10
+ };
11
+ const RootConfig = {
12
+ config,
13
+ module: {
14
+ route: 'security-management',
15
+ name: 'SecurityManagement',
16
+ title: `@${config.i18n}:module.title`,
17
+ icon: 'fa-light fa-shield-halved',
18
+ },
19
+ entities: {
20
+ policy: {
21
+ name: 'Policy',
22
+ title: `@${config.i18n}:policies.entities.policy.title`,
23
+ titlePlural: `@${config.i18n}:policies.entities.policy.plural`,
24
+ icon: 'fa-light fa-clipboard-list',
25
+ },
26
+ deviceSessions: {
27
+ name: 'DeviceSessions',
28
+ title: `@${config.i18n}:sessions.entities.session.title`,
29
+ titlePlural: `@${config.i18n}:sessions.entities.session.plural`,
30
+ icon: 'fa-light fa-laptop',
31
+ },
32
+ users: {
33
+ name: 'User',
34
+ title: `@${config.i18n}:users.entities.user.title`,
35
+ titlePlural: `@${config.i18n}:users.entities.user.plural`,
36
+ icon: 'fa-light fa-users',
37
+ },
38
+ roles: {
39
+ name: 'Role',
40
+ title: `@${config.i18n}:roles.entities.role.title`,
41
+ titlePlural: `@${config.i18n}:roles.entities.role.plural`,
42
+ icon: 'fa-light fa-user-tag',
43
+ },
44
+ rolePermission: {
45
+ name: 'RolePermission',
46
+ title: `@${config.i18n}:role-permissions.entities.role-permission.title`,
47
+ titlePlural: `@${config.i18n}:role-permissions.entities.role-permission.plural`,
48
+ icon: 'fa-light fa-key',
49
+ },
50
+ userRole: {
51
+ name: 'UserRole',
52
+ title: `@${config.i18n}:user-roles.entities.user-role.title`,
53
+ titlePlural: `@${config.i18n}:user-roles.entities.user-role.plural`,
54
+ icon: 'fa-light fa-user-tag',
55
+ },
56
+ profile: {
57
+ name: 'Profile',
58
+ title: `@${config.i18n}:profile.entities.profile.title`,
59
+ titlePlural: `@${config.i18n}:profile.entities.profile.plural`,
60
+ icon: 'fa-light fa-user',
61
+ },
62
+ identityProvider: {
63
+ name: 'IdentityProvider',
64
+ title: `@${config.i18n}:identity-providers.entities.identity-provider.title`,
65
+ titlePlural: `@${config.i18n}:identity-providers.entities.identity-provider.plural`,
66
+ icon: 'fa-light fa-id-badge',
67
+ },
68
+ },
69
+ queries: {
70
+ reports: {
71
+ getUserEffectiveRolesHistory: 'SecurityManagement:Reports:GetUserEffectiveRolesHistory',
72
+ getUserEffectivePermissionsHistory: 'SecurityManagement:Reports:GetUserEffectivePermissionsHistory',
73
+ getRoleHoldersHistory: 'SecurityManagement:Reports:GetRoleHoldersHistory',
74
+ getPermissionHoldersHistory: 'SecurityManagement:Reports:GetPermissionHoldersHistory',
75
+ getUserPasswordChangeHistory: 'SecurityManagement:Reports:GetUserPasswordChangeHistory',
76
+ },
77
+ },
78
+ };
79
+
80
+ async function rolesFactory() {
81
+ const i18n = RootConfig.config.i18n;
82
+ const entityDef = {
83
+ module: RootConfig.module.name,
84
+ name: RootConfig.entities.roles.name,
85
+ title: RootConfig.entities.roles.title,
86
+ icon: RootConfig.entities.roles.icon,
87
+ formats: {
88
+ individual: RootConfig.entities.roles.title,
89
+ plural: RootConfig.entities.roles.titlePlural,
90
+ },
91
+ plugins: [
92
+ { name: 'history' },
93
+ { name: 'lock' },
94
+ { name: 'compare' },
95
+ { name: 'archive' },
96
+ { name: 'reports' },
97
+ ],
98
+ relatedEntities: [],
99
+ pages: [
100
+ {
101
+ componentKey: ROLE_PERMISSIONS_PAGE_COMPONENT_KEY,
102
+ title: '@security-management:roles.entities.role.pages.permissions.title',
103
+ icon: 'fa-light fa-shield-keyhole',
104
+ layout: { order: 1, position: 'after' },
105
+ appearOn: { create: true, update: true },
106
+ },
107
+ ],
108
+ groups: [
109
+ {
110
+ id: 'basic-info',
111
+ title: `@general:terms.interface.basic-info`,
112
+ },
113
+ ],
114
+ properties: [
115
+ {
116
+ name: 'id',
117
+ title: `@general:terms.common.id`,
118
+ groupId: 'basic-info',
119
+ schema: {
120
+ dataType: 'string',
121
+ visible: false,
122
+ nullable: false,
123
+ readonly: true,
124
+ unique: {
125
+ enabled: true,
126
+ },
127
+ },
128
+ },
129
+ {
130
+ name: 'name',
131
+ title: `@general:terms.common.name`,
132
+ groupId: 'basic-info',
133
+ options: {
134
+ sort: { enabled: true },
135
+ filter: {
136
+ advance: { enabled: true },
137
+ inline: { enabled: true },
138
+ },
139
+ },
140
+ schema: {
141
+ dataType: 'string',
142
+ interface: {
143
+ type: AXPWidgetsCatalog.text,
144
+ },
145
+ },
146
+ },
147
+ {
148
+ name: 'title',
149
+ title: `@general:terms.common.title`,
150
+ groupId: 'basic-info',
151
+ options: {
152
+ sort: { enabled: true },
153
+ filter: {
154
+ advance: { enabled: true },
155
+ inline: { enabled: true },
156
+ },
157
+ },
158
+ schema: {
159
+ dataType: 'string',
160
+ interface: {
161
+ type: AXPWidgetsCatalog.text,
162
+ },
163
+ },
164
+ },
165
+ {
166
+ name: 'description',
167
+ title: `@general:terms.common.description`,
168
+ groupId: 'basic-info',
169
+ options: {
170
+ sort: { enabled: true },
171
+ filter: {
172
+ advance: { enabled: true },
173
+ },
174
+ },
175
+ schema: {
176
+ dataType: 'string',
177
+ interface: {
178
+ type: AXPWidgetsCatalog.largeText,
179
+ options: {
180
+ rows: 3,
181
+ },
182
+ },
183
+ },
184
+ },
185
+ ],
186
+ columns: [{ name: 'title' }, { name: 'name' }, { name: 'description' }],
187
+ interfaces: {
188
+ master: {
189
+ create: {
190
+ sections: [{ id: 'basic-info' }],
191
+ properties: [
192
+ {
193
+ name: 'title',
194
+ layout: { positions: { lg: { colSpan: 12 } } },
195
+ },
196
+ {
197
+ name: 'name',
198
+ layout: { positions: { lg: { colSpan: 12 } } },
199
+ },
200
+ {
201
+ name: 'description',
202
+ layout: { positions: { lg: { colSpan: 12 } } },
203
+ },
204
+ ],
205
+ },
206
+ update: {
207
+ sections: [{ id: 'basic-info' }],
208
+ properties: [
209
+ {
210
+ name: 'title',
211
+ layout: { positions: { lg: { colSpan: 12 } } },
212
+ },
213
+ {
214
+ name: 'name',
215
+ layout: { positions: { lg: { colSpan: 12 } } },
216
+ },
217
+ {
218
+ name: 'description',
219
+ layout: { positions: { lg: { colSpan: 12 } } },
220
+ },
221
+ ],
222
+ },
223
+ single: {
224
+ title: '{{title}}',
225
+ sections: [
226
+ {
227
+ id: 'basic-info',
228
+ layout: { positions: { lg: { colSpan: 12 } } },
229
+ },
230
+ ],
231
+ properties: [
232
+ {
233
+ name: 'title',
234
+ layout: { positions: { lg: { colSpan: 12 } } },
235
+ },
236
+ {
237
+ name: 'name',
238
+ layout: { positions: { lg: { colSpan: 12 } } },
239
+ },
240
+ {
241
+ name: 'description',
242
+ layout: { positions: { lg: { colSpan: 12 } } },
243
+ },
244
+ ],
245
+ actions: [...entityMasterRecordActions()],
246
+ },
247
+ list: {
248
+ actions: [
249
+ ...entityMasterCrudActions(),
250
+ {
251
+ title: `@${i18n}:permissions-feature.actions.assign.title`,
252
+ command: 'assign-permissions',
253
+ priority: 'secondary',
254
+ type: 'view',
255
+ scope: AXPEntityCommandScope.Individual,
256
+ },
257
+ ],
258
+ views: [createAllQueryView()],
259
+ },
260
+ },
261
+ },
262
+ };
263
+ return entityDef;
264
+ }
265
+
266
+ /**
267
+ * Generated bundle index. Do not edit.
268
+ */
269
+
270
+ export { rolesFactory };
271
+ //# sourceMappingURL=acorex-platform-module-security-management-client-contracts-entities-roles.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-security-management-client-contracts-entities-roles.mjs","sources":["../../../../libs/modules/security-management/contracts/src/ROLE_PERMISSIONS_PAGE_COMPONENT_KEY.ts","../../../../libs/modules/security-management/contracts/src/root-config.ts","../../../../libs/modules/security-management/contracts/src/entities/roles/roles.entity.ts","../../../../libs/modules/security-management/contracts/src/acorex-platform-module-security-management-client-contracts-entities-roles.ts"],"sourcesContent":["/** Component key for the Role permissions page tab. Register via AXP_PAGE_COMPONENT_PROVIDER. */\nexport const ROLE_PERMISSIONS_PAGE_COMPONENT_KEY = 'role-permissions-page';\n","const config = {\n i18n: 'security-management',\n profileEntity: 'Profile',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'security-management',\n name: 'SecurityManagement',\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-shield-halved',\n },\n entities: {\n policy: {\n name: 'Policy',\n title: `@${config.i18n}:policies.entities.policy.title`,\n titlePlural: `@${config.i18n}:policies.entities.policy.plural`,\n icon: 'fa-light fa-clipboard-list',\n },\n deviceSessions: {\n name: 'DeviceSessions',\n title: `@${config.i18n}:sessions.entities.session.title`,\n titlePlural: `@${config.i18n}:sessions.entities.session.plural`,\n icon: 'fa-light fa-laptop',\n },\n users: {\n name: 'User',\n title: `@${config.i18n}:users.entities.user.title`,\n titlePlural: `@${config.i18n}:users.entities.user.plural`,\n icon: 'fa-light fa-users',\n },\n roles: {\n name: 'Role',\n title: `@${config.i18n}:roles.entities.role.title`,\n titlePlural: `@${config.i18n}:roles.entities.role.plural`,\n icon: 'fa-light fa-user-tag',\n },\n rolePermission: {\n name: 'RolePermission',\n title: `@${config.i18n}:role-permissions.entities.role-permission.title`,\n titlePlural: `@${config.i18n}:role-permissions.entities.role-permission.plural`,\n icon: 'fa-light fa-key',\n },\n userRole: {\n name: 'UserRole',\n title: `@${config.i18n}:user-roles.entities.user-role.title`,\n titlePlural: `@${config.i18n}:user-roles.entities.user-role.plural`,\n icon: 'fa-light fa-user-tag',\n },\n profile: {\n name: 'Profile',\n title: `@${config.i18n}:profile.entities.profile.title`,\n titlePlural: `@${config.i18n}:profile.entities.profile.plural`,\n icon: 'fa-light fa-user',\n },\n identityProvider: {\n name: 'IdentityProvider',\n title: `@${config.i18n}:identity-providers.entities.identity-provider.title`,\n titlePlural: `@${config.i18n}:identity-providers.entities.identity-provider.plural`,\n icon: 'fa-light fa-id-badge',\n },\n },\n queries: {\n reports: {\n getUserEffectiveRolesHistory: 'SecurityManagement:Reports:GetUserEffectiveRolesHistory',\n getUserEffectivePermissionsHistory:\n 'SecurityManagement:Reports:GetUserEffectivePermissionsHistory',\n getRoleHoldersHistory: 'SecurityManagement:Reports:GetRoleHoldersHistory',\n getPermissionHoldersHistory: 'SecurityManagement:Reports:GetPermissionHoldersHistory',\n getUserPasswordChangeHistory: 'SecurityManagement:Reports:GetUserPasswordChangeHistory',\n },\n },\n} as const;\n","import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n AXPEntityCommandScope,\n createAllQueryView,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\nimport { ROLE_PERMISSIONS_PAGE_COMPONENT_KEY } from '../../ROLE_PERMISSIONS_PAGE_COMPONENT_KEY';\nimport { RootConfig } from '../../root-config';\n\nexport async function rolesFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.roles.name,\n title: RootConfig.entities.roles.title,\n icon: RootConfig.entities.roles.icon,\n formats: {\n individual: RootConfig.entities.roles.title,\n plural: RootConfig.entities.roles.titlePlural,\n },\n plugins: [\n { name: 'history' },\n { name: 'lock' },\n { name: 'compare' },\n { name: 'archive' },\n { name: 'reports' },\n ],\n relatedEntities: [],\n pages: [\n {\n componentKey: ROLE_PERMISSIONS_PAGE_COMPONENT_KEY,\n title: '@security-management:roles.entities.role.pages.permissions.title',\n icon: 'fa-light fa-shield-keyhole',\n layout: { order: 1, position: 'after' },\n appearOn: { create: true, update: true },\n },\n ],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n ],\n properties: [\n {\n name: 'id',\n title: `@general:terms.common.id`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n visible: false,\n nullable: false,\n readonly: true,\n unique: {\n enabled: true,\n },\n },\n },\n {\n name: 'name',\n title: `@general:terms.common.name`,\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: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'title',\n title: `@general:terms.common.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: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'description',\n title: `@general:terms.common.description`,\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: {\n advance: { enabled: true },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n options: {\n rows: 3,\n },\n },\n },\n },\n ],\n columns: [{ name: 'title' }, { name: 'name' }, { name: 'description' }],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }],\n properties: [\n {\n name: 'title',\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n {\n name: 'name',\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n {\n name: 'description',\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\n properties: [\n {\n name: 'title',\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n {\n name: 'name',\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n {\n name: 'description',\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'basic-info',\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n {\n name: 'name',\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n {\n name: 'description',\n layout: { positions: { lg: { colSpan: 12 } } },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n {\n title: `@${i18n}:permissions-feature.actions.assign.title`,\n command: 'assign-permissions',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView()],\n },\n },\n },\n };\n\n return entityDef;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.roles';\n"],"names":[],"mappings":";;;AAAA;AACO,MAAM,mCAAmC,GAAG,uBAAuB;;ACD1E,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,aAAa,EAAE,SAAS;CACzB;AACM,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,IAAI,EAAE,oBAAoB;AAC1B,QAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,aAAA,CAAe;AACrC,QAAA,IAAI,EAAE,2BAA2B;AAClC,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,+BAAA,CAAiC;AACvD,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,gCAAA,CAAkC;AAC9D,YAAA,IAAI,EAAE,4BAA4B;AACnC,SAAA;AACD,QAAA,cAAc,EAAE;AACd,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,gCAAA,CAAkC;AACxD,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,iCAAA,CAAmC;AAC/D,YAAA,IAAI,EAAE,oBAAoB;AAC3B,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,0BAAA,CAA4B;AAClD,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,2BAAA,CAA6B;AACzD,YAAA,IAAI,EAAE,mBAAmB;AAC1B,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,0BAAA,CAA4B;AAClD,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,2BAAA,CAA6B;AACzD,YAAA,IAAI,EAAE,sBAAsB;AAC7B,SAAA;AACD,QAAA,cAAc,EAAE;AACd,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,gDAAA,CAAkD;AACxE,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,iDAAA,CAAmD;AAC/E,YAAA,IAAI,EAAE,iBAAiB;AACxB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,oCAAA,CAAsC;AAC5D,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,qCAAA,CAAuC;AACnE,YAAA,IAAI,EAAE,sBAAsB;AAC7B,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,+BAAA,CAAiC;AACvD,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,gCAAA,CAAkC;AAC9D,YAAA,IAAI,EAAE,kBAAkB;AACzB,SAAA;AACD,QAAA,gBAAgB,EAAE;AAChB,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,oDAAA,CAAsD;AAC5E,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,qDAAA,CAAuD;AACnF,YAAA,IAAI,EAAE,sBAAsB;AAC7B,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE;AACP,YAAA,4BAA4B,EAAE,yDAAyD;AACvF,YAAA,kCAAkC,EAChC,+DAA+D;AACjE,YAAA,qBAAqB,EAAE,kDAAkD;AACzE,YAAA,2BAA2B,EAAE,wDAAwD;AACrF,YAAA,4BAA4B,EAAE,yDAAyD;AACxF,SAAA;AACF,KAAA;CACO;;AC7DH,eAAe,YAAY,GAAA;AAChC,IAAA,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI;AAEnC,IAAA,MAAM,SAAS,GAAc;AAC3B,QAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC9B,QAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;AACpC,QAAA,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;AACtC,QAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;AACpC,QAAA,OAAO,EAAE;AACP,YAAA,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;AAC3C,YAAA,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW;AAC9C,SAAA;AACD,QAAA,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,MAAM,EAAE;YAChB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;AACpB,SAAA;AACD,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,KAAK,EAAE;AACL,YAAA;AACE,gBAAA,YAAY,EAAE,mCAAmC;AACjD,gBAAA,KAAK,EAAE,kEAAkE;AACzE,gBAAA,IAAI,EAAE,4BAA4B;gBAClC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACvC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;AACzC,aAAA;AACF,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,EAAE,EAAE,YAAY;AAChB,gBAAA,KAAK,EAAE,CAAA,mCAAA,CAAqC;AAC7C,aAAA;AACF,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA;AACE,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,CAAA,wBAAA,CAA0B;AACjC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,QAAQ,EAAE,KAAK;AACf,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE,IAAI;AACd,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,CAAA,0BAAA,CAA4B;AACnC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,wBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,KAAK,EAAE,CAAA,2BAAA,CAA6B;AACpC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,wBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,KAAK,EAAE,CAAA,iCAAA,CAAmC;AAC1C,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE;AACN,wBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC3B,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,SAAS;AACjC,wBAAA,OAAO,EAAE;AACP,4BAAA,IAAI,EAAE,CAAC;AACR,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACvE,QAAA,UAAU,EAAE;AACV,YAAA,MAAM,EAAE;AACN,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;AAChC,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;AAChC,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,QAAQ,EAAE;AACR,wBAAA;AACE,4BAAA,EAAE,EAAE,YAAY;AAChB,4BAAA,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,yBAAA;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;AAC/C,yBAAA;AACF,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,GAAG,yBAAyB,EAAE,CAAC;AAC1C,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,OAAO,EAAE;AACP,wBAAA,GAAG,uBAAuB,EAAE;AAC5B,wBAAA;4BACE,KAAK,EAAE,CAAA,CAAA,EAAI,IAAI,CAAA,yCAAA,CAA2C;AAC1D,4BAAA,OAAO,EAAE,oBAAoB;AAC7B,4BAAA,QAAQ,EAAE,WAAW;AACrB,4BAAA,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,qBAAqB,CAAC,UAAU;AACxC,yBAAA;AACF,qBAAA;AACD,oBAAA,KAAK,EAAE,CAAC,kBAAkB,EAAE,CAAC;AAC9B,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AAED,IAAA,OAAO,SAAS;AAClB;;ACrMA;;AAEG;;;;"}
@@ -0,0 +1,221 @@
1
+ import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';
3
+
4
+ const config = {
5
+ i18n: 'security-management',
6
+ profileEntity: 'Profile',
7
+ };
8
+ const RootConfig = {
9
+ config,
10
+ module: {
11
+ route: 'security-management',
12
+ name: 'SecurityManagement',
13
+ title: `@${config.i18n}:module.title`,
14
+ icon: 'fa-light fa-shield-halved',
15
+ },
16
+ entities: {
17
+ policy: {
18
+ name: 'Policy',
19
+ title: `@${config.i18n}:policies.entities.policy.title`,
20
+ titlePlural: `@${config.i18n}:policies.entities.policy.plural`,
21
+ icon: 'fa-light fa-clipboard-list',
22
+ },
23
+ deviceSessions: {
24
+ name: 'DeviceSessions',
25
+ title: `@${config.i18n}:sessions.entities.session.title`,
26
+ titlePlural: `@${config.i18n}:sessions.entities.session.plural`,
27
+ icon: 'fa-light fa-laptop',
28
+ },
29
+ users: {
30
+ name: 'User',
31
+ title: `@${config.i18n}:users.entities.user.title`,
32
+ titlePlural: `@${config.i18n}:users.entities.user.plural`,
33
+ icon: 'fa-light fa-users',
34
+ },
35
+ roles: {
36
+ name: 'Role',
37
+ title: `@${config.i18n}:roles.entities.role.title`,
38
+ titlePlural: `@${config.i18n}:roles.entities.role.plural`,
39
+ icon: 'fa-light fa-user-tag',
40
+ },
41
+ rolePermission: {
42
+ name: 'RolePermission',
43
+ title: `@${config.i18n}:role-permissions.entities.role-permission.title`,
44
+ titlePlural: `@${config.i18n}:role-permissions.entities.role-permission.plural`,
45
+ icon: 'fa-light fa-key',
46
+ },
47
+ userRole: {
48
+ name: 'UserRole',
49
+ title: `@${config.i18n}:user-roles.entities.user-role.title`,
50
+ titlePlural: `@${config.i18n}:user-roles.entities.user-role.plural`,
51
+ icon: 'fa-light fa-user-tag',
52
+ },
53
+ profile: {
54
+ name: 'Profile',
55
+ title: `@${config.i18n}:profile.entities.profile.title`,
56
+ titlePlural: `@${config.i18n}:profile.entities.profile.plural`,
57
+ icon: 'fa-light fa-user',
58
+ },
59
+ identityProvider: {
60
+ name: 'IdentityProvider',
61
+ title: `@${config.i18n}:identity-providers.entities.identity-provider.title`,
62
+ titlePlural: `@${config.i18n}:identity-providers.entities.identity-provider.plural`,
63
+ icon: 'fa-light fa-id-badge',
64
+ },
65
+ },
66
+ queries: {
67
+ reports: {
68
+ getUserEffectiveRolesHistory: 'SecurityManagement:Reports:GetUserEffectiveRolesHistory',
69
+ getUserEffectivePermissionsHistory: 'SecurityManagement:Reports:GetUserEffectivePermissionsHistory',
70
+ getRoleHoldersHistory: 'SecurityManagement:Reports:GetRoleHoldersHistory',
71
+ getPermissionHoldersHistory: 'SecurityManagement:Reports:GetPermissionHoldersHistory',
72
+ getUserPasswordChangeHistory: 'SecurityManagement:Reports:GetUserPasswordChangeHistory',
73
+ },
74
+ },
75
+ };
76
+
77
+ async function userRoleFactory() {
78
+ const i18n = RootConfig.config.i18n;
79
+ const entityDef = {
80
+ module: RootConfig.module.name,
81
+ name: RootConfig.entities.userRole.name,
82
+ title: RootConfig.entities.userRole.title,
83
+ icon: RootConfig.entities.userRole.icon,
84
+ formats: {
85
+ individual: RootConfig.entities.userRole.title,
86
+ plural: RootConfig.entities.userRole.titlePlural,
87
+ },
88
+ plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }, { name: 'archive' }],
89
+ relatedEntities: [],
90
+ groups: [
91
+ {
92
+ id: 'basic-info',
93
+ title: `@general:terms.interface.basic-info`,
94
+ },
95
+ {
96
+ id: 'roles',
97
+ title: `@${i18n}:users.entities.user.fields.roles.title`,
98
+ },
99
+ ],
100
+ properties: [
101
+ {
102
+ name: 'id',
103
+ title: `@general:terms.common.id`,
104
+ groupId: 'basic-info',
105
+ schema: {
106
+ dataType: 'string',
107
+ visible: false,
108
+ nullable: false,
109
+ readonly: true,
110
+ unique: {
111
+ enabled: true,
112
+ },
113
+ },
114
+ },
115
+ {
116
+ name: 'userId',
117
+ title: `@${i18n}:user-roles.entities.user-role.fields.user.title`,
118
+ groupId: 'basic-info',
119
+ schema: {
120
+ dataType: 'string',
121
+ nullable: false,
122
+ interface: {
123
+ type: AXPWidgetsCatalog.text,
124
+ },
125
+ },
126
+ validations: [{ rule: 'required' }],
127
+ },
128
+ {
129
+ name: 'roleIds',
130
+ title: `@${i18n}:users.entities.user.fields.roles.title`,
131
+ groupId: 'roles',
132
+ schema: {
133
+ dataType: 'object',
134
+ interface: {
135
+ type: AXPWidgetsCatalog.lookup,
136
+ options: {
137
+ entity: 'SecurityManagement.Role',
138
+ multiple: true,
139
+ look: 'select',
140
+ expose: [
141
+ { source: 'id', target: 'rolesList.{id}' },
142
+ { source: 'title', target: 'rolesList.{title}' },
143
+ ],
144
+ },
145
+ },
146
+ },
147
+ validations: [{ rule: 'required' }],
148
+ },
149
+ ],
150
+ columns: [
151
+ { name: 'userId' },
152
+ { name: 'roleIds', options: { dataPath: 'rolesList' } },
153
+ ],
154
+ interfaces: {
155
+ master: {
156
+ create: {
157
+ sections: [
158
+ {
159
+ id: 'basic-info',
160
+ order: 1,
161
+ layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },
162
+ },
163
+ {
164
+ id: 'roles',
165
+ order: 2,
166
+ layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },
167
+ },
168
+ ],
169
+ properties: [
170
+ { name: 'userId', layout: { positions: { lg: { colSpan: 12 } } } },
171
+ { name: 'roleIds', layout: { positions: { lg: { colSpan: 12 } } } },
172
+ ],
173
+ },
174
+ update: {
175
+ sections: [
176
+ {
177
+ id: 'basic-info',
178
+ order: 1,
179
+ layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },
180
+ },
181
+ {
182
+ id: 'roles',
183
+ order: 2,
184
+ layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },
185
+ },
186
+ ],
187
+ properties: [
188
+ { name: 'userId', layout: { positions: { lg: { colSpan: 12 } } } },
189
+ { name: 'roleIds', layout: { positions: { lg: { colSpan: 12 } } } },
190
+ ],
191
+ },
192
+ single: {
193
+ title: '{{userId}}',
194
+ sections: [
195
+ {
196
+ id: 'basic-info',
197
+ order: 1,
198
+ layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },
199
+ },
200
+ ],
201
+ properties: [
202
+ { name: 'userId', layout: { positions: { lg: { colSpan: 12 } } } },
203
+ { name: 'roleIds', layout: { positions: { lg: { colSpan: 12 } } } },
204
+ ],
205
+ },
206
+ list: {
207
+ actions: [...entityMasterCrudActions()],
208
+ views: [createAllQueryView()],
209
+ },
210
+ },
211
+ },
212
+ };
213
+ return entityDef;
214
+ }
215
+
216
+ /**
217
+ * Generated bundle index. Do not edit.
218
+ */
219
+
220
+ export { userRoleFactory };
221
+ //# sourceMappingURL=acorex-platform-module-security-management-client-contracts-entities-user-role.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-security-management-client-contracts-entities-user-role.mjs","sources":["../../../../libs/modules/security-management/contracts/src/root-config.ts","../../../../libs/modules/security-management/contracts/src/entities/user-role/user-role.entity.ts","../../../../libs/modules/security-management/contracts/src/acorex-platform-module-security-management-client-contracts-entities-user-role.ts"],"sourcesContent":["const config = {\n i18n: 'security-management',\n profileEntity: 'Profile',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'security-management',\n name: 'SecurityManagement',\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-shield-halved',\n },\n entities: {\n policy: {\n name: 'Policy',\n title: `@${config.i18n}:policies.entities.policy.title`,\n titlePlural: `@${config.i18n}:policies.entities.policy.plural`,\n icon: 'fa-light fa-clipboard-list',\n },\n deviceSessions: {\n name: 'DeviceSessions',\n title: `@${config.i18n}:sessions.entities.session.title`,\n titlePlural: `@${config.i18n}:sessions.entities.session.plural`,\n icon: 'fa-light fa-laptop',\n },\n users: {\n name: 'User',\n title: `@${config.i18n}:users.entities.user.title`,\n titlePlural: `@${config.i18n}:users.entities.user.plural`,\n icon: 'fa-light fa-users',\n },\n roles: {\n name: 'Role',\n title: `@${config.i18n}:roles.entities.role.title`,\n titlePlural: `@${config.i18n}:roles.entities.role.plural`,\n icon: 'fa-light fa-user-tag',\n },\n rolePermission: {\n name: 'RolePermission',\n title: `@${config.i18n}:role-permissions.entities.role-permission.title`,\n titlePlural: `@${config.i18n}:role-permissions.entities.role-permission.plural`,\n icon: 'fa-light fa-key',\n },\n userRole: {\n name: 'UserRole',\n title: `@${config.i18n}:user-roles.entities.user-role.title`,\n titlePlural: `@${config.i18n}:user-roles.entities.user-role.plural`,\n icon: 'fa-light fa-user-tag',\n },\n profile: {\n name: 'Profile',\n title: `@${config.i18n}:profile.entities.profile.title`,\n titlePlural: `@${config.i18n}:profile.entities.profile.plural`,\n icon: 'fa-light fa-user',\n },\n identityProvider: {\n name: 'IdentityProvider',\n title: `@${config.i18n}:identity-providers.entities.identity-provider.title`,\n titlePlural: `@${config.i18n}:identity-providers.entities.identity-provider.plural`,\n icon: 'fa-light fa-id-badge',\n },\n },\n queries: {\n reports: {\n getUserEffectiveRolesHistory: 'SecurityManagement:Reports:GetUserEffectiveRolesHistory',\n getUserEffectivePermissionsHistory:\n 'SecurityManagement:Reports:GetUserEffectivePermissionsHistory',\n getRoleHoldersHistory: 'SecurityManagement:Reports:GetRoleHoldersHistory',\n getPermissionHoldersHistory: 'SecurityManagement:Reports:GetPermissionHoldersHistory',\n getUserPasswordChangeHistory: 'SecurityManagement:Reports:GetUserPasswordChangeHistory',\n },\n },\n} as const;\n","import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n createAllQueryView,\n entityMasterCrudActions,\n} from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nexport async function userRoleFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.userRole.name,\n title: RootConfig.entities.userRole.title,\n icon: RootConfig.entities.userRole.icon,\n formats: {\n individual: RootConfig.entities.userRole.title,\n plural: RootConfig.entities.userRole.titlePlural,\n },\n plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }, { name: 'archive' }],\n relatedEntities: [],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n {\n id: 'roles',\n title: `@${i18n}:users.entities.user.fields.roles.title`,\n },\n ],\n properties: [\n {\n name: 'id',\n title: `@general:terms.common.id`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n visible: false,\n nullable: false,\n readonly: true,\n unique: {\n enabled: true,\n },\n },\n },\n {\n name: 'userId',\n title: `@${i18n}:user-roles.entities.user-role.fields.user.title`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n nullable: false,\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'roleIds',\n title: `@${i18n}:users.entities.user.fields.roles.title`,\n groupId: 'roles',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'SecurityManagement.Role',\n multiple: true,\n look: 'select',\n expose: [\n { source: 'id', target: 'rolesList.{id}' },\n { source: 'title', target: 'rolesList.{title}' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n ],\n columns: [\n { name: 'userId' },\n { name: 'roleIds', options: { dataPath: 'rolesList' } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'basic-info',\n order: 1,\n layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },\n },\n {\n id: 'roles',\n order: 2,\n layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },\n },\n ],\n properties: [\n { name: 'userId', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'roleIds', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [\n {\n id: 'basic-info',\n order: 1,\n layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },\n },\n {\n id: 'roles',\n order: 2,\n layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },\n },\n ],\n properties: [\n { name: 'userId', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'roleIds', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: '{{userId}}',\n sections: [\n {\n id: 'basic-info',\n order: 1,\n layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },\n },\n ],\n properties: [\n { name: 'userId', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'roleIds', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView()],\n },\n },\n },\n };\n\n return entityDef;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.user-role';\n"],"names":[],"mappings":"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"}