permissions-contractx 1.0.0

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 (75) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1397 -0
  3. package/dist/constants/contractx-permissions.constants.d.ts +310 -0
  4. package/dist/constants/contractx-permissions.constants.d.ts.map +1 -0
  5. package/dist/constants/contractx-permissions.constants.js +1061 -0
  6. package/dist/constants/contractx-roles.constants.d.ts +295 -0
  7. package/dist/constants/contractx-roles.constants.d.ts.map +1 -0
  8. package/dist/constants/contractx-roles.constants.js +238 -0
  9. package/dist/constants/index.d.ts +3 -0
  10. package/dist/constants/index.d.ts.map +1 -0
  11. package/dist/constants/index.js +18 -0
  12. package/dist/constants/security.constants.d.ts +77 -0
  13. package/dist/constants/security.constants.d.ts.map +1 -0
  14. package/dist/constants/security.constants.js +139 -0
  15. package/dist/decorators/current-user.decorator.d.ts +73 -0
  16. package/dist/decorators/current-user.decorator.d.ts.map +1 -0
  17. package/dist/decorators/current-user.decorator.js +91 -0
  18. package/dist/decorators/index.d.ts +5 -0
  19. package/dist/decorators/index.d.ts.map +1 -0
  20. package/dist/decorators/index.js +20 -0
  21. package/dist/decorators/permissions.decorator.d.ts +97 -0
  22. package/dist/decorators/permissions.decorator.d.ts.map +1 -0
  23. package/dist/decorators/permissions.decorator.js +106 -0
  24. package/dist/decorators/public.decorator.d.ts +18 -0
  25. package/dist/decorators/public.decorator.d.ts.map +1 -0
  26. package/dist/decorators/public.decorator.js +22 -0
  27. package/dist/decorators/roles.decorator.d.ts +79 -0
  28. package/dist/decorators/roles.decorator.d.ts.map +1 -0
  29. package/dist/decorators/roles.decorator.js +87 -0
  30. package/dist/guards/index.d.ts +4 -0
  31. package/dist/guards/index.d.ts.map +1 -0
  32. package/dist/guards/index.js +19 -0
  33. package/dist/guards/jwt-auth.guard.d.ts +21 -0
  34. package/dist/guards/jwt-auth.guard.d.ts.map +1 -0
  35. package/dist/guards/jwt-auth.guard.js +115 -0
  36. package/dist/guards/permissions.guard.d.ts +14 -0
  37. package/dist/guards/permissions.guard.d.ts.map +1 -0
  38. package/dist/guards/permissions.guard.js +77 -0
  39. package/dist/guards/roles.guard.d.ts +13 -0
  40. package/dist/guards/roles.guard.d.ts.map +1 -0
  41. package/dist/guards/roles.guard.js +59 -0
  42. package/dist/index.d.ts +8 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +28 -0
  45. package/dist/interfaces/index.d.ts +2 -0
  46. package/dist/interfaces/index.d.ts.map +1 -0
  47. package/dist/interfaces/index.js +17 -0
  48. package/dist/interfaces/jwt-payload.interface.d.ts +93 -0
  49. package/dist/interfaces/jwt-payload.interface.d.ts.map +1 -0
  50. package/dist/interfaces/jwt-payload.interface.js +2 -0
  51. package/dist/modules/index.d.ts +2 -0
  52. package/dist/modules/index.d.ts.map +1 -0
  53. package/dist/modules/index.js +17 -0
  54. package/dist/modules/permissions-contractx.module.d.ts +41 -0
  55. package/dist/modules/permissions-contractx.module.d.ts.map +1 -0
  56. package/dist/modules/permissions-contractx.module.js +215 -0
  57. package/dist/services/contractx-authorization.service.d.ts +107 -0
  58. package/dist/services/contractx-authorization.service.d.ts.map +1 -0
  59. package/dist/services/contractx-authorization.service.js +362 -0
  60. package/dist/services/contractx-document-compliance.service.d.ts +85 -0
  61. package/dist/services/contractx-document-compliance.service.d.ts.map +1 -0
  62. package/dist/services/contractx-document-compliance.service.js +536 -0
  63. package/dist/services/contractx-validation.service.d.ts +76 -0
  64. package/dist/services/contractx-validation.service.d.ts.map +1 -0
  65. package/dist/services/contractx-validation.service.js +305 -0
  66. package/dist/services/index.d.ts +6 -0
  67. package/dist/services/index.d.ts.map +1 -0
  68. package/dist/services/index.js +20 -0
  69. package/dist/services/user-context.service.d.ts +114 -0
  70. package/dist/services/user-context.service.d.ts.map +1 -0
  71. package/dist/services/user-context.service.js +199 -0
  72. package/dist/test-document-compliance.d.ts +7 -0
  73. package/dist/test-document-compliance.d.ts.map +1 -0
  74. package/dist/test-document-compliance.js +118 -0
  75. package/package.json +405 -0
@@ -0,0 +1,1061 @@
1
+ "use strict";
2
+ /**
3
+ * ContractX Permissions Constants
4
+ * Based on the ODS permissions matrix and auth-service-contract module structure
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.parseOdsPermissions = exports.getPermissionsForModule = exports.hasAnyModuleAccess = exports.hasModuleAccess = exports.getActionFromPermission = exports.getModuleFromPermission = exports.validatePermission = exports.VALID_CONTRACTX_PERMISSIONS = exports.ODS_ROLE_PERMISSIONS = exports.CONTRACTX_PERMISSION_GROUPS = exports.CONTRACTX_PERMISSIONS = exports.PERMISSION_ACTIONS = exports.CONTRACTX_MODULES = exports.ContractXPermissionCategory = exports.ContractXPermissionScope = exports.ContractXPermissionType = void 0;
8
+ // Permission Types (CRUD + Show + Filter)
9
+ var ContractXPermissionType;
10
+ (function (ContractXPermissionType) {
11
+ ContractXPermissionType["CREATE"] = "create";
12
+ ContractXPermissionType["READ"] = "read";
13
+ ContractXPermissionType["UPDATE"] = "update";
14
+ ContractXPermissionType["DELETE"] = "delete";
15
+ ContractXPermissionType["EXECUTE"] = "execute";
16
+ ContractXPermissionType["APPROVE"] = "approve";
17
+ ContractXPermissionType["REJECT"] = "reject";
18
+ ContractXPermissionType["EXPORT"] = "export";
19
+ ContractXPermissionType["IMPORT"] = "import";
20
+ ContractXPermissionType["FILTER"] = "filter";
21
+ ContractXPermissionType["SHOW"] = "show";
22
+ ContractXPermissionType["ADMIN"] = "admin";
23
+ })(ContractXPermissionType || (exports.ContractXPermissionType = ContractXPermissionType = {}));
24
+ // Permission Scopes
25
+ var ContractXPermissionScope;
26
+ (function (ContractXPermissionScope) {
27
+ ContractXPermissionScope["GLOBAL"] = "global";
28
+ ContractXPermissionScope["ORGANIZATION"] = "organization";
29
+ ContractXPermissionScope["PROJECT"] = "project";
30
+ ContractXPermissionScope["DEPARTMENT"] = "department";
31
+ ContractXPermissionScope["TEAM"] = "team";
32
+ ContractXPermissionScope["PERSONAL"] = "personal";
33
+ })(ContractXPermissionScope || (exports.ContractXPermissionScope = ContractXPermissionScope = {}));
34
+ // Permission Categories
35
+ var ContractXPermissionCategory;
36
+ (function (ContractXPermissionCategory) {
37
+ ContractXPermissionCategory["USER_MANAGEMENT"] = "user_management";
38
+ ContractXPermissionCategory["CONTRACT_MANAGEMENT"] = "contract_management";
39
+ ContractXPermissionCategory["CLIENT_MANAGEMENT"] = "client_management";
40
+ ContractXPermissionCategory["PROVIDER_MANAGEMENT"] = "provider_management";
41
+ ContractXPermissionCategory["DOCUMENT_MANAGEMENT"] = "document_management";
42
+ ContractXPermissionCategory["FINANCIAL"] = "financial";
43
+ ContractXPermissionCategory["REPORTING"] = "reporting";
44
+ ContractXPermissionCategory["SYSTEM_ADMIN"] = "system_admin";
45
+ ContractXPermissionCategory["AUDIT"] = "audit";
46
+ ContractXPermissionCategory["INTEGRATION"] = "integration";
47
+ })(ContractXPermissionCategory || (exports.ContractXPermissionCategory = ContractXPermissionCategory = {}));
48
+ // ContractX Modules (from ODS matrix)
49
+ exports.CONTRACTX_MODULES = {
50
+ // Core Tenant Management
51
+ CLIENTS: 'clients',
52
+ // Contract Management
53
+ CONTRACTS: 'contracts',
54
+ USERS: 'users',
55
+ PROVIDERS: 'providers',
56
+ DOCUMENTS: 'documents',
57
+ CLAUSES: 'clauses',
58
+ // Deliverables Management
59
+ DELIVERABLES: 'deliverables',
60
+ SUBDELIVERABLES: 'subdeliverables',
61
+ DELIVERABLE_HISTORY: 'deliverable_history',
62
+ // SLA Management
63
+ SLA_SERVICES: 'sla_services',
64
+ MEASUREMENT_WINDOWS: 'measurement_windows',
65
+ CREDIT_SERVICE_LEVELS: 'credit_service_levels',
66
+ // Meeting Management
67
+ MEETINGS: 'meetings',
68
+ MEETING_PARTICIPANTS: 'meeting_participants',
69
+ ACTION_ITEMS: 'action_items',
70
+ // Notification System
71
+ NOTIFICATION_ESCALATIONS: 'notification_escalations',
72
+ // Financial Management
73
+ INVOICE_SERVICES: 'invoice_services',
74
+ INVOICE_LINES: 'invoice_lines',
75
+ // System Administration
76
+ SECURITY_CONTROL: 'security_control',
77
+ CONFIGURATION: 'configuration', // Type Values
78
+ WORKFLOWS: 'workflows',
79
+ };
80
+ // CRUD Actions with abbreviations (from ODS: c,r,u,d,s,f)
81
+ exports.PERMISSION_ACTIONS = {
82
+ c: ContractXPermissionType.CREATE,
83
+ r: ContractXPermissionType.READ,
84
+ u: ContractXPermissionType.UPDATE,
85
+ d: ContractXPermissionType.DELETE,
86
+ s: ContractXPermissionType.SHOW,
87
+ f: ContractXPermissionType.FILTER,
88
+ };
89
+ // Generate permissions for each module
90
+ const createModulePermissions = (module) => ({
91
+ CREATE: `${module}:create`,
92
+ READ: `${module}:read`,
93
+ UPDATE: `${module}:update`,
94
+ DELETE: `${module}:delete`,
95
+ SHOW: `${module}:show`,
96
+ FILTER: `${module}:filter`,
97
+ ADMIN: `${module}:admin`,
98
+ });
99
+ // ContractX Permissions organized by module
100
+ exports.CONTRACTX_PERMISSIONS = {
101
+ // Tenant Management
102
+ CLIENTS: createModulePermissions(exports.CONTRACTX_MODULES.CLIENTS),
103
+ // Contract Management
104
+ CONTRACTS: createModulePermissions(exports.CONTRACTX_MODULES.CONTRACTS),
105
+ USERS: createModulePermissions(exports.CONTRACTX_MODULES.USERS),
106
+ PROVIDERS: createModulePermissions(exports.CONTRACTX_MODULES.PROVIDERS),
107
+ DOCUMENTS: createModulePermissions(exports.CONTRACTX_MODULES.DOCUMENTS),
108
+ CLAUSES: createModulePermissions(exports.CONTRACTX_MODULES.CLAUSES),
109
+ // Deliverables Management
110
+ DELIVERABLES: createModulePermissions(exports.CONTRACTX_MODULES.DELIVERABLES),
111
+ SUBDELIVERABLES: createModulePermissions(exports.CONTRACTX_MODULES.SUBDELIVERABLES),
112
+ DELIVERABLE_HISTORY: createModulePermissions(exports.CONTRACTX_MODULES.DELIVERABLE_HISTORY),
113
+ // SLA Management
114
+ SLA_SERVICES: createModulePermissions(exports.CONTRACTX_MODULES.SLA_SERVICES),
115
+ MEASUREMENT_WINDOWS: createModulePermissions(exports.CONTRACTX_MODULES.MEASUREMENT_WINDOWS),
116
+ CREDIT_SERVICE_LEVELS: createModulePermissions(exports.CONTRACTX_MODULES.CREDIT_SERVICE_LEVELS),
117
+ // Meeting Management
118
+ MEETINGS: createModulePermissions(exports.CONTRACTX_MODULES.MEETINGS),
119
+ MEETING_PARTICIPANTS: createModulePermissions(exports.CONTRACTX_MODULES.MEETING_PARTICIPANTS),
120
+ ACTION_ITEMS: createModulePermissions(exports.CONTRACTX_MODULES.ACTION_ITEMS),
121
+ // Notification System
122
+ NOTIFICATION_ESCALATIONS: createModulePermissions(exports.CONTRACTX_MODULES.NOTIFICATION_ESCALATIONS),
123
+ // Financial Management
124
+ INVOICE_SERVICES: createModulePermissions(exports.CONTRACTX_MODULES.INVOICE_SERVICES),
125
+ INVOICE_LINES: createModulePermissions(exports.CONTRACTX_MODULES.INVOICE_LINES),
126
+ // System Administration
127
+ SECURITY_CONTROL: createModulePermissions(exports.CONTRACTX_MODULES.SECURITY_CONTROL),
128
+ CONFIGURATION: createModulePermissions(exports.CONTRACTX_MODULES.CONFIGURATION),
129
+ WORKFLOWS: createModulePermissions(exports.CONTRACTX_MODULES.WORKFLOWS),
130
+ };
131
+ // Flatten all permissions for validation (will be properly exported later)
132
+ const VALID_CONTRACTX_PERMISSIONS_TEMP = Object.values(exports.CONTRACTX_PERMISSIONS)
133
+ .flatMap(module => Object.values(module));
134
+ // Permission groups for role assignments (based on ODS matrix analysis)
135
+ exports.CONTRACTX_PERMISSION_GROUPS = {
136
+ // Superadmin - Full access (c,r,u,d,f for all modules)
137
+ SUPERADMIN_PERMISSIONS: VALID_CONTRACTX_PERMISSIONS_TEMP,
138
+ // Core Management Permissions
139
+ CORE_MANAGEMENT: [
140
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.CONTRACTS),
141
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.USERS),
142
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.PROVIDERS),
143
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.CLIENTS),
144
+ ],
145
+ // Performance Management Permissions
146
+ PERFORMANCE_MANAGEMENT: [
147
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.SLA_SERVICES),
148
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS),
149
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.DELIVERABLES),
150
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES),
151
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY),
152
+ ],
153
+ // Financial Management Permissions
154
+ FINANCIAL_MANAGEMENT: [
155
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES),
156
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.INVOICE_LINES),
157
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS),
158
+ ],
159
+ // Collaboration Permissions
160
+ COLLABORATION: [
161
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.MEETINGS),
162
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS),
163
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS),
164
+ ],
165
+ // Reporting Permissions (mostly read/show/filter)
166
+ REPORTING: [
167
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
168
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.READ,
169
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.SHOW,
170
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.FILTER,
171
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.READ,
172
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.SHOW,
173
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.FILTER,
174
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
175
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.READ,
176
+ ],
177
+ // Risk Management Permissions
178
+ RISK_MANAGEMENT: [
179
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
180
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
181
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.UPDATE,
182
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.SHOW,
183
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.UPDATE,
184
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.SHOW,
185
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.UPDATE,
186
+ ],
187
+ // System Administration Permissions
188
+ SYSTEM_ADMIN: [
189
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL),
190
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.CONFIGURATION),
191
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.WORKFLOWS),
192
+ ...Object.values(exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS),
193
+ ],
194
+ // Read-only permissions for viewers
195
+ READ_ONLY: VALID_CONTRACTX_PERMISSIONS_TEMP.filter(permission => permission.endsWith(':read') ||
196
+ permission.endsWith(':show') ||
197
+ permission.endsWith(':filter')),
198
+ };
199
+ // Complete ODS Matrix-based Role Permissions (from PermisosRoles.odt document)
200
+ exports.ODS_ROLE_PERMISSIONS = {
201
+ // 1. Superadmin - Full access to all modules (C,R,U,D,F on all) - Document compliant
202
+ superadmin: [
203
+ // clients: ['create', 'read', 'update', 'delete', 'filter']
204
+ exports.CONTRACTX_PERMISSIONS.CLIENTS.CREATE,
205
+ exports.CONTRACTX_PERMISSIONS.CLIENTS.READ,
206
+ exports.CONTRACTX_PERMISSIONS.CLIENTS.UPDATE,
207
+ exports.CONTRACTX_PERMISSIONS.CLIENTS.DELETE,
208
+ exports.CONTRACTX_PERMISSIONS.CLIENTS.FILTER,
209
+ // contracts: ['create', 'read', 'update', 'delete', 'filter']
210
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.CREATE,
211
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.READ,
212
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.UPDATE,
213
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.DELETE,
214
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.FILTER,
215
+ // users: ['create', 'read', 'update', 'delete', 'filter']
216
+ exports.CONTRACTX_PERMISSIONS.USERS.CREATE,
217
+ exports.CONTRACTX_PERMISSIONS.USERS.READ,
218
+ exports.CONTRACTX_PERMISSIONS.USERS.UPDATE,
219
+ exports.CONTRACTX_PERMISSIONS.USERS.DELETE,
220
+ exports.CONTRACTX_PERMISSIONS.USERS.FILTER,
221
+ // providers: ['create', 'read', 'update', 'delete', 'filter']
222
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.CREATE,
223
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.READ,
224
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.UPDATE,
225
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.DELETE,
226
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.FILTER,
227
+ // documents: ['create', 'read', 'update', 'delete', 'filter']
228
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.CREATE,
229
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.READ,
230
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.UPDATE,
231
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.DELETE,
232
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.FILTER,
233
+ // clauses: ['create', 'read', 'update', 'delete', 'filter']
234
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.CREATE,
235
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.READ,
236
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.UPDATE,
237
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.DELETE,
238
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.FILTER,
239
+ // deliverables: ['create', 'read', 'update', 'delete', 'filter']
240
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.CREATE,
241
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.READ,
242
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.UPDATE,
243
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.DELETE,
244
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.FILTER,
245
+ // subdeliverables: ['create', 'read', 'update', 'delete', 'filter']
246
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.CREATE,
247
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.READ,
248
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.UPDATE,
249
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.DELETE,
250
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.FILTER,
251
+ // deliverable_history: ['create', 'read', 'update', 'delete', 'filter']
252
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.CREATE,
253
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.READ,
254
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.UPDATE,
255
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.DELETE,
256
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.FILTER,
257
+ // sla_services: ['create', 'read', 'update', 'delete', 'filter']
258
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.CREATE,
259
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.READ,
260
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.UPDATE,
261
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.DELETE,
262
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.FILTER,
263
+ // measurement_windows: ['create', 'read', 'update', 'delete', 'filter']
264
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.CREATE,
265
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.READ,
266
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.UPDATE,
267
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.DELETE,
268
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.FILTER,
269
+ // credit_service_levels: ['create', 'read', 'update', 'delete', 'filter']
270
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.CREATE,
271
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.READ,
272
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.UPDATE,
273
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.DELETE,
274
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.FILTER,
275
+ // meetings: ['create', 'read', 'update', 'delete', 'filter']
276
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.CREATE,
277
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.READ,
278
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.UPDATE,
279
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.DELETE,
280
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.FILTER,
281
+ // meeting_participants: ['create', 'read', 'update', 'delete', 'filter']
282
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.CREATE,
283
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.READ,
284
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.UPDATE,
285
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.DELETE,
286
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.FILTER,
287
+ // action_items: ['create', 'read', 'update', 'delete', 'filter']
288
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.CREATE,
289
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.READ,
290
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.UPDATE,
291
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.DELETE,
292
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.FILTER,
293
+ // notification_escalations: ['create', 'read', 'update', 'delete', 'filter']
294
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.CREATE,
295
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.READ,
296
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.UPDATE,
297
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.DELETE,
298
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.FILTER,
299
+ // invoice_services: ['create', 'read', 'update', 'delete', 'filter']
300
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.CREATE,
301
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.READ,
302
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.UPDATE,
303
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.DELETE,
304
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.FILTER,
305
+ // invoice_lines: ['create', 'read', 'update', 'delete', 'filter']
306
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.CREATE,
307
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.READ,
308
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.UPDATE,
309
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.DELETE,
310
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.FILTER,
311
+ // security_control: ['create', 'read', 'update', 'delete', 'filter']
312
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.CREATE,
313
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.READ,
314
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.UPDATE,
315
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.DELETE,
316
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.FILTER,
317
+ // configuration: ['create', 'read', 'update', 'delete', 'filter']
318
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.CREATE,
319
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.READ,
320
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.UPDATE,
321
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.DELETE,
322
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.FILTER,
323
+ // workflows: ['create', 'read', 'update', 'delete', 'filter']
324
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.CREATE,
325
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.READ,
326
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.UPDATE,
327
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.DELETE,
328
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.FILTER,
329
+ ],
330
+ // 2. Client Contract Admin - Full contract management for assigned client (N/A for clients)
331
+ client_contract_admin: [
332
+ // contracts: ['create', 'show', 'update', 'delete', 'filter'],
333
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.CREATE,
334
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
335
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.UPDATE,
336
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.DELETE,
337
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.FILTER,
338
+ // users: ['create', 'show', 'update', 'delete', 'filter'],
339
+ exports.CONTRACTX_PERMISSIONS.USERS.CREATE,
340
+ exports.CONTRACTX_PERMISSIONS.USERS.SHOW,
341
+ exports.CONTRACTX_PERMISSIONS.USERS.UPDATE,
342
+ exports.CONTRACTX_PERMISSIONS.USERS.DELETE,
343
+ exports.CONTRACTX_PERMISSIONS.USERS.FILTER,
344
+ // providers: ['create', 'show', 'update', 'delete', 'filter'],
345
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.CREATE,
346
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.SHOW,
347
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.UPDATE,
348
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.DELETE,
349
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.FILTER,
350
+ // documents: ['create', 'show', 'update', 'delete', 'filter'],
351
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.CREATE,
352
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
353
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.UPDATE,
354
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.DELETE,
355
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.FILTER,
356
+ // clauses: ['create', 'show', 'update', 'delete', 'filter'],
357
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.CREATE,
358
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.SHOW,
359
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.UPDATE,
360
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.DELETE,
361
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.FILTER,
362
+ // deliverables: ['create', 'show', 'update', 'delete', 'filter'],
363
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.CREATE,
364
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.SHOW,
365
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.UPDATE,
366
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.DELETE,
367
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.FILTER,
368
+ // subdeliverables: ['create', 'show', 'update', 'delete', 'filter'],
369
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.CREATE,
370
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.SHOW,
371
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.UPDATE,
372
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.DELETE,
373
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.FILTER,
374
+ // deliverable_history: ['create', 'show', 'update', 'delete', 'filter'],
375
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.CREATE,
376
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.SHOW,
377
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.UPDATE,
378
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.DELETE,
379
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.FILTER,
380
+ // sla_service: ['create', 'show', 'update', 'delete', 'filter'],
381
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.CREATE,
382
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.SHOW,
383
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.UPDATE,
384
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.DELETE,
385
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.FILTER,
386
+ // measurement_windows: ['create', 'read', 'update', 'delete', 'show', 'filter'],
387
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.CREATE,
388
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.READ,
389
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.UPDATE,
390
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.DELETE,
391
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.SHOW,
392
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.FILTER,
393
+ // credit_service_levels: ['create', 'show', 'update', 'delete', 'filter'],
394
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.CREATE,
395
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.SHOW,
396
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.UPDATE,
397
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.DELETE,
398
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.FILTER,
399
+ // meetings: ['create', 'show', 'update', 'delete', 'filter'],
400
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.CREATE,
401
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
402
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.UPDATE,
403
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.DELETE,
404
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.FILTER,
405
+ // meeting_participants: ['create', 'show', 'update', 'delete', 'filter'],
406
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.CREATE,
407
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.SHOW,
408
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.UPDATE,
409
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.DELETE,
410
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.FILTER,
411
+ // action_items: ['create', 'show', 'update', 'delete', 'filter'],
412
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.CREATE,
413
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.SHOW,
414
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.UPDATE,
415
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.DELETE,
416
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.FILTER,
417
+ // notification_escalation: ['create', 'show', 'update', 'delete', 'filter'],
418
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.CREATE,
419
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.SHOW,
420
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.UPDATE,
421
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.DELETE,
422
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.FILTER,
423
+ // invoices: ['create', 'show', 'update', 'delete', 'filter'],
424
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.CREATE,
425
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.SHOW,
426
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.UPDATE,
427
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.DELETE,
428
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.FILTER,
429
+ // invoice_lines: ['create', 'show', 'update', 'delete', 'filter'],
430
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.CREATE,
431
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.SHOW,
432
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.UPDATE,
433
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.DELETE,
434
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.FILTER,
435
+ // security_control: ['create', 'show', 'update', 'delete', 'filter'],
436
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.CREATE,
437
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.SHOW,
438
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.UPDATE,
439
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.DELETE,
440
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.FILTER,
441
+ // type_values: ['create', 'read', 'update', 'delete', 'filter'],
442
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.CREATE,
443
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.READ,
444
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.UPDATE,
445
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.DELETE,
446
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.FILTER,
447
+ // workflows: ['create', 'show', 'update', 'delete', 'filter'],
448
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.CREATE,
449
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.SHOW,
450
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.UPDATE,
451
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.DELETE,
452
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.FILTER,
453
+ ],
454
+ // 3. Client Performance Manager - Focus on SLA management and measurement
455
+ client_performance_manager: [
456
+ // contracts: ['show', 'filter'],
457
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
458
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.FILTER,
459
+ // users: ['show', 'filter'],
460
+ exports.CONTRACTX_PERMISSIONS.USERS.SHOW,
461
+ exports.CONTRACTX_PERMISSIONS.USERS.FILTER,
462
+ // providers: ['show', 'filter'],
463
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.SHOW,
464
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.FILTER,
465
+ // documents: ['show', 'filter'],
466
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
467
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.FILTER,
468
+ // clauses: ['show', 'filter'],
469
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.SHOW,
470
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.FILTER,
471
+ // deliverables: ['show', 'filter'],
472
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.SHOW,
473
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.FILTER,
474
+ // subdeliverables: ['show', 'filter'],
475
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.SHOW,
476
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.FILTER,
477
+ // deliverable_history: ['show', 'filter'],
478
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.SHOW,
479
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.FILTER,
480
+ // sla_service: ['create', 'show', 'update', 'delete', 'filter'],
481
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.CREATE,
482
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.SHOW,
483
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.UPDATE,
484
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.DELETE,
485
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.FILTER,
486
+ // measurement_windows: ['create', 'update', 'delete', 'show', 'filter'],
487
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.CREATE,
488
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.UPDATE,
489
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.DELETE,
490
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.SHOW,
491
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.FILTER,
492
+ // credit_service_levels: ['show', 'filter'],
493
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.SHOW,
494
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.FILTER,
495
+ // meetings: ['show', 'filter'],
496
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
497
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.FILTER,
498
+ // meeting_participants: ['show', 'filter'],
499
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.SHOW,
500
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.FILTER,
501
+ // action_items: ['show', 'filter'],
502
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.SHOW,
503
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.FILTER,
504
+ // notification_escalation: ['show', 'filter'],
505
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.SHOW,
506
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.FILTER,
507
+ // invoices: ['show', 'update', 'filter'],
508
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.SHOW,
509
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.UPDATE,
510
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.FILTER,
511
+ // invoice_lines: ['show', 'update', 'filter'],
512
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.SHOW,
513
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.UPDATE,
514
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.FILTER,
515
+ // type_values: ['read'],
516
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.READ,
517
+ ],
518
+ // 4. Client Finance Manager - Financial responsibility role
519
+ client_finance_manager: [
520
+ // contracts: ['show', 'filter'],
521
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
522
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.FILTER,
523
+ // users: ['show', 'filter'],
524
+ exports.CONTRACTX_PERMISSIONS.USERS.SHOW,
525
+ exports.CONTRACTX_PERMISSIONS.USERS.FILTER,
526
+ // providers: ['show', 'filter'],
527
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.SHOW,
528
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.FILTER,
529
+ // clauses: ['show', 'filter'],
530
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.SHOW,
531
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.FILTER,
532
+ // deliverables: ['show', 'filter'],
533
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.SHOW,
534
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.FILTER,
535
+ // subdeliverables: ['show', 'filter'],
536
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.SHOW,
537
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.FILTER,
538
+ // deliverable_history: ['show', 'filter'],
539
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.SHOW,
540
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.FILTER,
541
+ // sla_service: ['show', 'filter'],
542
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.SHOW,
543
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.FILTER,
544
+ // credit_service_levels: ['show', 'filter'],
545
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.SHOW,
546
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.FILTER,
547
+ // notification_escalation: ['show', 'filter'],
548
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.SHOW,
549
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.FILTER,
550
+ // invoices: ['show', 'update', 'filter'],
551
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.SHOW,
552
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.UPDATE,
553
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.FILTER,
554
+ // invoice_lines: ['show', 'update', 'filter'],
555
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.SHOW,
556
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.UPDATE,
557
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.FILTER,
558
+ // type_values: ['read'],
559
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.READ,
560
+ ],
561
+ // 5. Client Reports Manager - Reporting responsibility role (corrected)
562
+ client_reports_manager: [
563
+ // documents: ['show']
564
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
565
+ // clauses: ['show', 'filter']
566
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.SHOW,
567
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.FILTER,
568
+ // subdeliverables: ['show']
569
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.SHOW,
570
+ // deliverable_history: ['show']
571
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.SHOW,
572
+ // measurement_windows: ['read', 'show', 'filter']
573
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.READ,
574
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.SHOW,
575
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.FILTER,
576
+ // notification_escalation: ['show', 'filter']
577
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.SHOW,
578
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.FILTER,
579
+ // meetings: ['show']
580
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
581
+ // type_values: ['show']
582
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.SHOW,
583
+ ],
584
+ // 6. Client Relationship Manager - Relationship management role - Document compliant
585
+ client_relationship_manager: [
586
+ // users: ['show', 'filter'],
587
+ exports.CONTRACTX_PERMISSIONS.USERS.SHOW,
588
+ exports.CONTRACTX_PERMISSIONS.USERS.FILTER,
589
+ // clauses: ['show', 'filter'] - ADDED from document
590
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.SHOW,
591
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.FILTER,
592
+ // meetings: ['show', 'update'],
593
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
594
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.UPDATE,
595
+ // meeting_participants: ['show', 'update'],
596
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.SHOW,
597
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.UPDATE,
598
+ // action_items: ['show', 'update'],
599
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.SHOW,
600
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.UPDATE,
601
+ ],
602
+ // 7. Client Risk Manager - Risk management role - Document compliant
603
+ client_risk_manager: [
604
+ // contracts: ['show'],
605
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
606
+ // documents: ['show', 'update'],
607
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
608
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.UPDATE,
609
+ // meetings: ['show', 'update'] - ADDED from document
610
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
611
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.UPDATE,
612
+ // notification_escalation: ['show', 'update'],
613
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.SHOW,
614
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.UPDATE,
615
+ // security_control: ['show', 'update'],
616
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.SHOW,
617
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.UPDATE,
618
+ ],
619
+ // 8. Provider Contract Admin - Provider contract administrator - Document compliant
620
+ provider_contract_admin: [
621
+ // contracts: ['create', 'show', 'update'],
622
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.CREATE,
623
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
624
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.UPDATE,
625
+ // users: ['create', 'show', 'update', 'delete'],
626
+ exports.CONTRACTX_PERMISSIONS.USERS.CREATE,
627
+ exports.CONTRACTX_PERMISSIONS.USERS.SHOW,
628
+ exports.CONTRACTX_PERMISSIONS.USERS.UPDATE,
629
+ exports.CONTRACTX_PERMISSIONS.USERS.DELETE,
630
+ // providers: ['create', 'show', 'update'],
631
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.CREATE,
632
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.SHOW,
633
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.UPDATE,
634
+ // documents: ['create', 'show', 'update', 'delete'],
635
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.CREATE,
636
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
637
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.UPDATE,
638
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.DELETE,
639
+ // deliverables: ['create', 'show', 'update', 'delete'],
640
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.CREATE,
641
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.SHOW,
642
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.UPDATE,
643
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.DELETE,
644
+ // subdeliverables: ['create', 'show', 'update', 'delete'],
645
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.CREATE,
646
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.SHOW,
647
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.UPDATE,
648
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.DELETE,
649
+ // deliverable_history: ['create', 'show', 'update', 'delete'],
650
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.CREATE,
651
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.SHOW,
652
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.UPDATE,
653
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.DELETE,
654
+ // sla_service: ['create', 'show', 'update', 'delete'],
655
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.CREATE,
656
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.SHOW,
657
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.UPDATE,
658
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.DELETE,
659
+ // measurement_windows: ['create', 'read', 'update', 'delete', 'filter'],
660
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.CREATE,
661
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.READ,
662
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.UPDATE,
663
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.DELETE,
664
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.FILTER,
665
+ // credit_service_levels: ['create', 'show', 'update', 'delete', 'filter'],
666
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.CREATE,
667
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.SHOW,
668
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.UPDATE,
669
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.DELETE,
670
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.FILTER,
671
+ // meetings: ['create', 'show', 'update', 'delete'],
672
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.CREATE,
673
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
674
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.UPDATE,
675
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.DELETE,
676
+ // meeting_participants: ['create', 'show', 'update', 'delete'],
677
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.CREATE,
678
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.SHOW,
679
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.UPDATE,
680
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.DELETE,
681
+ // action_items: ['create', 'show', 'update', 'delete'],
682
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.CREATE,
683
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.SHOW,
684
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.UPDATE,
685
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.DELETE,
686
+ // notification_escalation: ['create', 'show', 'update', 'delete'],
687
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.CREATE,
688
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.SHOW,
689
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.UPDATE,
690
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.DELETE,
691
+ // invoices: ['create', 'show', 'update', 'delete'],
692
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.CREATE,
693
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.SHOW,
694
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.UPDATE,
695
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.DELETE,
696
+ // invoice_lines: ['create', 'show', 'update', 'delete'],
697
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.CREATE,
698
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.SHOW,
699
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.UPDATE,
700
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.DELETE,
701
+ // type_values: ['create', 'read', 'update', 'delete'],
702
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.CREATE,
703
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.READ,
704
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.UPDATE,
705
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.DELETE,
706
+ // workflows: ['create', 'read', 'update', 'delete', 'filter'] - ADDED from document
707
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.CREATE,
708
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.READ,
709
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.UPDATE,
710
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.DELETE,
711
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.FILTER,
712
+ ],
713
+ // 9. Provider Performance Manager - Provider performance focused - Document compliant
714
+ provider_performance_manager: [
715
+ // contracts: ['show', 'filter'],
716
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
717
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.FILTER,
718
+ // users: ['show', 'filter'] - ADDED from document
719
+ exports.CONTRACTX_PERMISSIONS.USERS.SHOW,
720
+ exports.CONTRACTX_PERMISSIONS.USERS.FILTER,
721
+ // providers: ['show', 'filter'] - ADDED from document
722
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.SHOW,
723
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.FILTER,
724
+ // documents: ['show', 'filter'] - ADDED from document
725
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
726
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.FILTER,
727
+ // deliverables: ['show', 'filter'] - FIXED from document
728
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.SHOW,
729
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.FILTER,
730
+ // subdeliverables: ['show', 'filter'] - FIXED from document
731
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.SHOW,
732
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.FILTER,
733
+ // deliverable_history: ['show', 'filter'] - FIXED from document
734
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.SHOW,
735
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.FILTER,
736
+ // sla_service: ['create', 'show', 'update', 'delete', 'filter'] - FIXED from document
737
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.CREATE,
738
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.SHOW,
739
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.UPDATE,
740
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.DELETE,
741
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.FILTER,
742
+ // measurement_windows: ['create', 'show', 'update', 'delete', 'filter'] - FIXED from document
743
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.CREATE,
744
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.SHOW,
745
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.UPDATE,
746
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.DELETE,
747
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.FILTER,
748
+ // credit_service_levels: ['show', 'filter'] - ADDED from document
749
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.SHOW,
750
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.FILTER,
751
+ // meetings: ['show', 'filter'] - FIXED from document
752
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
753
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.FILTER,
754
+ // meeting_participants: ['show', 'filter'] - FIXED from document
755
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.SHOW,
756
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.FILTER,
757
+ // action_items: ['show', 'filter'] - FIXED from document
758
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.SHOW,
759
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.FILTER,
760
+ // notification_escalation: ['show', 'filter'] - ADDED from document
761
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.SHOW,
762
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.FILTER,
763
+ // invoices: ['show', 'update', 'filter'] - ADDED from document
764
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.SHOW,
765
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.UPDATE,
766
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.FILTER,
767
+ // invoice_lines: ['show', 'update', 'filter'] - ADDED from document
768
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.SHOW,
769
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.UPDATE,
770
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.FILTER,
771
+ // type_values: ['read'] - ADDED from document
772
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.READ,
773
+ ],
774
+ // 10. Provider Finance Manager - Provider financial operations (corrected)
775
+ provider_finance_manager: [
776
+ // contracts: ['show']
777
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
778
+ // invoices: ['show', 'update']
779
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.SHOW,
780
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.UPDATE,
781
+ // invoice_lines: ['show', 'update']
782
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.SHOW,
783
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.UPDATE,
784
+ // type_values: ['read']
785
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.READ,
786
+ ],
787
+ // 11. Provider Relationship Manager - Provider relationship management (corrected)
788
+ provider_relationship_manager: [
789
+ // users: ['show']
790
+ exports.CONTRACTX_PERMISSIONS.USERS.SHOW,
791
+ // meetings: ['show', 'update']
792
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
793
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.UPDATE,
794
+ // meeting_participants: ['show', 'update']
795
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.SHOW,
796
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.UPDATE,
797
+ // action_items: ['show', 'update']
798
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.SHOW,
799
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.UPDATE,
800
+ ],
801
+ // 12. Provider Risk Manager - Provider risk management (corrected)
802
+ provider_risk_manager: [
803
+ // contracts: ['show']
804
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
805
+ // documents: ['show', 'update']
806
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
807
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.UPDATE,
808
+ // notification_escalation: ['show', 'update']
809
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.SHOW,
810
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.UPDATE,
811
+ // security_control: ['show', 'update']
812
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.SHOW,
813
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.UPDATE,
814
+ // subdeliverables: ['create', 'read', 'update', 'delete', 'filter']
815
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.CREATE,
816
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.READ,
817
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.UPDATE,
818
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.DELETE,
819
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.FILTER,
820
+ ],
821
+ // 13. Provider Operator - Provider operational support
822
+ provider_operator: [
823
+ // deliverables: ['show', 'update'],
824
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.SHOW,
825
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.UPDATE,
826
+ // subdeliverables: ['show', 'update'],
827
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.SHOW,
828
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.UPDATE,
829
+ // deliverable_history: ['create', 'show'],
830
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.CREATE,
831
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.SHOW,
832
+ // meetings: ['show'],
833
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
834
+ // action_items: ['show', 'update'],
835
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.SHOW,
836
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.UPDATE,
837
+ ],
838
+ // 14. Auditor - Audit and compliance role
839
+ auditor: [
840
+ // contracts: ['show', 'filter'],
841
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
842
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.FILTER,
843
+ // documents: ['show', 'filter'],
844
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
845
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.FILTER,
846
+ // deliverables: ['show', 'filter'],
847
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.SHOW,
848
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.FILTER,
849
+ // deliverable_history: ['show', 'filter'],
850
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.SHOW,
851
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.FILTER,
852
+ // sla_service: ['show', 'filter'],
853
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.SHOW,
854
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.FILTER,
855
+ // credit_service_levels: ['show', 'filter'],
856
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.SHOW,
857
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.FILTER,
858
+ // meetings: ['show', 'filter'],
859
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
860
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.FILTER,
861
+ // action_items: ['show', 'filter'],
862
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.SHOW,
863
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.FILTER,
864
+ // invoices: ['show', 'filter'],
865
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.SHOW,
866
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.FILTER,
867
+ // security_control: ['show', 'filter'],
868
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.SHOW,
869
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.FILTER,
870
+ ],
871
+ // 15. Guest - Limited read-only access
872
+ guest: [
873
+ // contracts: ['show'],
874
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.SHOW,
875
+ // documents: ['show'],
876
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
877
+ // deliverables: ['show'],
878
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.SHOW,
879
+ // meetings: ['show'],
880
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
881
+ ],
882
+ // 16. Provider Reports Manager - Provider reports management - Document compliant
883
+ provider_reports_manager: [
884
+ // documents: ['show']
885
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.SHOW,
886
+ // subdeliverables: ['show']
887
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.SHOW,
888
+ // deliverable_history: ['show']
889
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.SHOW,
890
+ // measurement_windows: ['read', 'show', 'filter']
891
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.READ,
892
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.SHOW,
893
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.FILTER,
894
+ // meetings: ['show']
895
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.SHOW,
896
+ // action_items: ['show']
897
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.SHOW,
898
+ ],
899
+ // 17. Support - Support role with broad access (excluding clients) - Document compliant
900
+ support: [
901
+ // All modules except clients (same as superadmin but no client access)
902
+ // contracts: ['create', 'read', 'update', 'delete', 'filter']
903
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.CREATE,
904
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.READ,
905
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.UPDATE,
906
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.DELETE,
907
+ exports.CONTRACTX_PERMISSIONS.CONTRACTS.FILTER,
908
+ // users: ['create', 'read', 'update', 'delete', 'filter']
909
+ exports.CONTRACTX_PERMISSIONS.USERS.CREATE,
910
+ exports.CONTRACTX_PERMISSIONS.USERS.READ,
911
+ exports.CONTRACTX_PERMISSIONS.USERS.UPDATE,
912
+ exports.CONTRACTX_PERMISSIONS.USERS.DELETE,
913
+ exports.CONTRACTX_PERMISSIONS.USERS.FILTER,
914
+ // providers: ['create', 'read', 'update', 'delete', 'filter']
915
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.CREATE,
916
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.READ,
917
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.UPDATE,
918
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.DELETE,
919
+ exports.CONTRACTX_PERMISSIONS.PROVIDERS.FILTER,
920
+ // documents: ['create', 'read', 'update', 'delete', 'filter']
921
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.CREATE,
922
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.READ,
923
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.UPDATE,
924
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.DELETE,
925
+ exports.CONTRACTX_PERMISSIONS.DOCUMENTS.FILTER,
926
+ // clauses: ['create', 'read', 'update', 'delete', 'filter']
927
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.CREATE,
928
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.READ,
929
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.UPDATE,
930
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.DELETE,
931
+ exports.CONTRACTX_PERMISSIONS.CLAUSES.FILTER,
932
+ // deliverables: ['create', 'read', 'update', 'delete', 'filter']
933
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.CREATE,
934
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.READ,
935
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.UPDATE,
936
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.DELETE,
937
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLES.FILTER,
938
+ // subdeliverables: ['create', 'read', 'update', 'delete', 'filter']
939
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.CREATE,
940
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.READ,
941
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.UPDATE,
942
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.DELETE,
943
+ exports.CONTRACTX_PERMISSIONS.SUBDELIVERABLES.FILTER,
944
+ // deliverable_history: ['create', 'read', 'update', 'delete', 'filter']
945
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.CREATE,
946
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.READ,
947
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.UPDATE,
948
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.DELETE,
949
+ exports.CONTRACTX_PERMISSIONS.DELIVERABLE_HISTORY.FILTER,
950
+ // sla_services: ['create', 'read', 'update', 'delete', 'filter']
951
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.CREATE,
952
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.READ,
953
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.UPDATE,
954
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.DELETE,
955
+ exports.CONTRACTX_PERMISSIONS.SLA_SERVICES.FILTER,
956
+ // measurement_windows: ['create', 'read', 'update', 'delete', 'filter']
957
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.CREATE,
958
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.READ,
959
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.UPDATE,
960
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.DELETE,
961
+ exports.CONTRACTX_PERMISSIONS.MEASUREMENT_WINDOWS.FILTER,
962
+ // credit_service_levels: ['create', 'read', 'update', 'delete', 'filter']
963
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.CREATE,
964
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.READ,
965
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.UPDATE,
966
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.DELETE,
967
+ exports.CONTRACTX_PERMISSIONS.CREDIT_SERVICE_LEVELS.FILTER,
968
+ // meetings: ['create', 'read', 'update', 'delete', 'filter']
969
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.CREATE,
970
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.READ,
971
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.UPDATE,
972
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.DELETE,
973
+ exports.CONTRACTX_PERMISSIONS.MEETINGS.FILTER,
974
+ // meeting_participants: ['create', 'read', 'update', 'delete', 'filter']
975
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.CREATE,
976
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.READ,
977
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.UPDATE,
978
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.DELETE,
979
+ exports.CONTRACTX_PERMISSIONS.MEETING_PARTICIPANTS.FILTER,
980
+ // action_items: ['create', 'read', 'update', 'delete', 'filter']
981
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.CREATE,
982
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.READ,
983
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.UPDATE,
984
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.DELETE,
985
+ exports.CONTRACTX_PERMISSIONS.ACTION_ITEMS.FILTER,
986
+ // notification_escalations: ['create', 'read', 'update', 'delete', 'filter']
987
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.CREATE,
988
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.READ,
989
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.UPDATE,
990
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.DELETE,
991
+ exports.CONTRACTX_PERMISSIONS.NOTIFICATION_ESCALATIONS.FILTER,
992
+ // invoice_services: ['create', 'read', 'update', 'delete', 'filter']
993
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.CREATE,
994
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.READ,
995
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.UPDATE,
996
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.DELETE,
997
+ exports.CONTRACTX_PERMISSIONS.INVOICE_SERVICES.FILTER,
998
+ // invoice_lines: ['create', 'read', 'update', 'delete', 'filter']
999
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.CREATE,
1000
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.READ,
1001
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.UPDATE,
1002
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.DELETE,
1003
+ exports.CONTRACTX_PERMISSIONS.INVOICE_LINES.FILTER,
1004
+ // security_control: ['create', 'read', 'update', 'delete', 'filter']
1005
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.CREATE,
1006
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.READ,
1007
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.UPDATE,
1008
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.DELETE,
1009
+ exports.CONTRACTX_PERMISSIONS.SECURITY_CONTROL.FILTER,
1010
+ // configuration: ['create', 'read', 'update', 'delete', 'filter']
1011
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.CREATE,
1012
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.READ,
1013
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.UPDATE,
1014
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.DELETE,
1015
+ exports.CONTRACTX_PERMISSIONS.CONFIGURATION.FILTER,
1016
+ // workflows: ['create', 'read', 'update', 'delete', 'filter']
1017
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.CREATE,
1018
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.READ,
1019
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.UPDATE,
1020
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.DELETE,
1021
+ exports.CONTRACTX_PERMISSIONS.WORKFLOWS.FILTER,
1022
+ ],
1023
+ };
1024
+ // Export the validation arrays - ODS_ROLE_PERMISSIONS is already exported above
1025
+ exports.VALID_CONTRACTX_PERMISSIONS = Object.values(exports.CONTRACTX_PERMISSIONS)
1026
+ .flatMap(module => Object.values(module));
1027
+ // Helper functions for permission validation
1028
+ const validatePermission = (permission) => {
1029
+ return exports.VALID_CONTRACTX_PERMISSIONS.includes(permission);
1030
+ };
1031
+ exports.validatePermission = validatePermission;
1032
+ const getModuleFromPermission = (permission) => {
1033
+ const [module] = permission.split(':');
1034
+ return Object.values(exports.CONTRACTX_MODULES).includes(module) ? module : null;
1035
+ };
1036
+ exports.getModuleFromPermission = getModuleFromPermission;
1037
+ const getActionFromPermission = (permission) => {
1038
+ const [, action] = permission.split(':');
1039
+ return Object.values(ContractXPermissionType).includes(action) ? action : null;
1040
+ };
1041
+ exports.getActionFromPermission = getActionFromPermission;
1042
+ const hasModuleAccess = (permissions, module, action) => {
1043
+ const permissionToCheck = `${module}:${action}`;
1044
+ return permissions.includes(permissionToCheck);
1045
+ };
1046
+ exports.hasModuleAccess = hasModuleAccess;
1047
+ const hasAnyModuleAccess = (permissions, module) => {
1048
+ return permissions.some(permission => permission.startsWith(`${module}:`));
1049
+ };
1050
+ exports.hasAnyModuleAccess = hasAnyModuleAccess;
1051
+ const getPermissionsForModule = (module) => {
1052
+ return exports.CONTRACTX_PERMISSIONS[module.toUpperCase()];
1053
+ };
1054
+ exports.getPermissionsForModule = getPermissionsForModule;
1055
+ const parseOdsPermissions = (odsString) => {
1056
+ if (!odsString || odsString === 'N/A')
1057
+ return [];
1058
+ const actions = odsString.split(',').map(s => s.trim());
1059
+ return actions.map(action => exports.PERMISSION_ACTIONS[action]).filter(Boolean);
1060
+ };
1061
+ exports.parseOdsPermissions = parseOdsPermissions;