permissions-contractx 1.0.2 → 1.1.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.
- package/LICENSE +1 -1
- package/README.md +53 -1346
- package/dist/constants/contractx-permissions.constants.d.ts +84 -92
- package/dist/constants/contractx-permissions.constants.d.ts.map +1 -1
- package/dist/constants/contractx-permissions.constants.js +2 -2
- package/dist/constants/contractx-roles.constants.d.ts +150 -254
- package/dist/constants/contractx-roles.constants.d.ts.map +1 -1
- package/dist/constants/contractx-roles.constants.js +2 -2
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +1 -0
- package/dist/constants/permission-names.constants.d.ts +310 -0
- package/dist/constants/permission-names.constants.d.ts.map +1 -0
- package/dist/constants/permission-names.constants.js +209 -0
- package/dist/constants/security.constants.d.ts +49 -49
- package/dist/constants/security.constants.d.ts.map +1 -1
- package/dist/constants/security.constants.js +2 -2
- package/dist/decorators/current-user.decorator.d.ts +5 -53
- package/dist/decorators/current-user.decorator.d.ts.map +1 -1
- package/dist/decorators/current-user.decorator.js +4 -51
- package/dist/decorators/index.d.ts +1 -0
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +1 -0
- package/dist/decorators/permission-writes.decorator.d.ts +14 -0
- package/dist/decorators/permission-writes.decorator.d.ts.map +1 -0
- package/dist/decorators/permission-writes.decorator.js +18 -0
- package/dist/decorators/permissions.decorator.d.ts +0 -58
- package/dist/decorators/permissions.decorator.d.ts.map +1 -1
- package/dist/decorators/permissions.decorator.js +0 -58
- package/dist/decorators/public.decorator.d.ts +0 -0
- package/dist/decorators/public.decorator.d.ts.map +0 -0
- package/dist/decorators/public.decorator.js +0 -0
- package/dist/decorators/roles.decorator.d.ts +4 -57
- package/dist/decorators/roles.decorator.d.ts.map +1 -1
- package/dist/decorators/roles.decorator.js +6 -57
- package/dist/guards/authorization.guard.d.ts +37 -0
- package/dist/guards/authorization.guard.d.ts.map +1 -0
- package/dist/guards/authorization.guard.js +150 -0
- package/dist/guards/index.d.ts +1 -0
- package/dist/guards/index.d.ts.map +1 -1
- package/dist/guards/index.js +1 -0
- package/dist/guards/jwt-auth.guard.d.ts +0 -0
- package/dist/guards/jwt-auth.guard.d.ts.map +1 -1
- package/dist/guards/jwt-auth.guard.js +0 -0
- package/dist/guards/permissions.guard.d.ts +0 -0
- package/dist/guards/permissions.guard.d.ts.map +1 -1
- package/dist/guards/permissions.guard.js +8 -2
- package/dist/guards/roles.guard.d.ts +0 -0
- package/dist/guards/roles.guard.d.ts.map +1 -1
- package/dist/guards/roles.guard.js +1 -1
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -6
- package/dist/interfaces/index.d.ts +1 -0
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +1 -0
- package/dist/interfaces/jwt-payload.interface.d.ts +46 -9
- package/dist/interfaces/jwt-payload.interface.d.ts.map +1 -1
- package/dist/interfaces/jwt-payload.interface.js +19 -0
- package/dist/interfaces/permission-mode.enum.d.ts +22 -0
- package/dist/interfaces/permission-mode.enum.d.ts.map +1 -0
- package/dist/interfaces/permission-mode.enum.js +25 -0
- package/dist/modules/index.d.ts +0 -0
- package/dist/modules/index.d.ts.map +0 -0
- package/dist/modules/index.js +0 -0
- package/dist/modules/permissions-contractx.module.d.ts +0 -0
- package/dist/modules/permissions-contractx.module.d.ts.map +1 -1
- package/dist/modules/permissions-contractx.module.js +4 -2
- package/dist/services/contractx-authorization.service.d.ts +198 -27
- package/dist/services/contractx-authorization.service.d.ts.map +1 -1
- package/dist/services/contractx-authorization.service.js +2 -0
- package/dist/services/contractx-validation.service.d.ts +93 -12
- package/dist/services/contractx-validation.service.d.ts.map +1 -1
- package/dist/services/contractx-validation.service.js +1 -0
- package/dist/services/index.d.ts +0 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -0
- package/dist/services/user-context.service.d.ts +29 -34
- package/dist/services/user-context.service.d.ts.map +1 -1
- package/dist/services/user-context.service.js +65 -44
- package/package.json +5 -24
- package/dist/services/contractx-document-compliance.service.d.ts +0 -85
- package/dist/services/contractx-document-compliance.service.d.ts.map +0 -1
- package/dist/services/contractx-document-compliance.service.js +0 -536
- package/dist/test-document-compliance.d.ts +0 -7
- package/dist/test-document-compliance.d.ts.map +0 -1
- package/dist/test-document-compliance.js +0 -118
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* permission-names.constants.ts
|
|
3
|
+
* ------------------------------------------------------------------------
|
|
4
|
+
* Constantes de NOMBRES (codes) de los 130 permisos de dominio de ContractX.
|
|
5
|
+
* Derivadas del catálogo de Auth (domain-permissions.catalog.ts, ADR-004 Fase 1),
|
|
6
|
+
* tomando SOLO el campo `code` — SIN la metadata de seeding (rolesGranted,
|
|
7
|
+
* rolesReadOnly, approvalCategory, side, requiresHuman), que vive solo en Auth.
|
|
8
|
+
*
|
|
9
|
+
* Fuente única de NOMBRES: este archivo (en el paquete permissions-contractx).
|
|
10
|
+
* La metadata se cuelga encima, en Auth. Un test en Auth valida que todo `code`
|
|
11
|
+
* del catálogo existe como constante aquí (sincronización — Fase 6/8 del porte).
|
|
12
|
+
*
|
|
13
|
+
* Agrupación por microservicio: Auth(12) Contratos(28) Entregables(27)
|
|
14
|
+
* Facturación(27) SLAs(36) = 130.
|
|
15
|
+
*
|
|
16
|
+
* Convención de claves: reflejan el recurso completo del code, en
|
|
17
|
+
* SCREAMING_SNAKE_CASE (recurso + acción). Esto evita colisiones entre dominios
|
|
18
|
+
* (p.ej. los reports de Entregables / Facturación / SLAs quedan distinguibles).
|
|
19
|
+
*
|
|
20
|
+
* NO editar a mano para "arreglar" un nombre: si cambia el catálogo, regenerar.
|
|
21
|
+
* ------------------------------------------------------------------------
|
|
22
|
+
*/
|
|
23
|
+
export declare const AUTH_PERMISSIONS: {
|
|
24
|
+
readonly ADMIN_USERS_CREATE_ANY_TENANT: "admin.users.create_any_tenant";
|
|
25
|
+
readonly ADMIN_USERS_CREATE_OWN_TENANT: "admin.users.create_own_tenant";
|
|
26
|
+
readonly ADMIN_USERS_TOGGLE_USERS: "admin.users.toggle_users";
|
|
27
|
+
readonly ADMIN_USERS_ASSIGN_ROLES: "admin.users.assign_roles";
|
|
28
|
+
readonly ADMIN_RBAC_CREATE_ROLES: "admin.rbac.create_roles";
|
|
29
|
+
readonly ADMIN_RBAC_CREATE_PERMISSIONS: "admin.rbac.create_permissions";
|
|
30
|
+
readonly ADMIN_CLIENTS_MANAGE_ORGS: "admin.clients.manage_orgs";
|
|
31
|
+
readonly ADMIN_CLIENTS_MANAGE_USER_CLIENT: "admin.clients.manage_user_client";
|
|
32
|
+
readonly ADMIN_SESSIONS_VIEW_ALL: "admin.sessions.view_all";
|
|
33
|
+
readonly ADMIN_SESSIONS_VIEW_REVOKE_OWN: "admin.sessions.view_revoke_own";
|
|
34
|
+
readonly ADMIN_SESSIONS_VIEW_ME: "admin.sessions.view_me";
|
|
35
|
+
readonly ADMIN_DELEGATION_MANAGE_DELEGATE: "admin.delegation.manage_delegate";
|
|
36
|
+
};
|
|
37
|
+
export declare const CONTRATOS_PERMISSIONS: {
|
|
38
|
+
readonly CONTRACTS_CREATE: "contracts.create";
|
|
39
|
+
readonly CONTRACTS_UPDATE: "contracts.update";
|
|
40
|
+
readonly CONTRACTS_SUBMIT_REVIEW: "contracts.submit_review";
|
|
41
|
+
readonly CONTRACTS_APPROVE: "contracts.approve";
|
|
42
|
+
readonly CONTRACTS_SIGN: "contracts.sign";
|
|
43
|
+
readonly CONTRACTS_UPLOAD_LEGACY: "contracts.upload_legacy";
|
|
44
|
+
readonly CONTRACTS_CLOSE: "contracts.close";
|
|
45
|
+
readonly CONTRACTS_VIEW_DETAIL: "contracts.view_detail";
|
|
46
|
+
readonly CONTRACTS_VIEW_LIST: "contracts.view_list";
|
|
47
|
+
readonly CONTRACT_CLAUSES_CREATE_SECTIONS: "contract_clauses.create_sections";
|
|
48
|
+
readonly CONTRACT_CLAUSES_CREATE_CLAUSES: "contract_clauses.create_clauses";
|
|
49
|
+
readonly CONTRACT_CLAUSES_MANAGE: "contract_clauses.manage";
|
|
50
|
+
readonly CONTRACT_CLAUSES_VIEW: "contract_clauses.view";
|
|
51
|
+
readonly CONTRACT_SERVICES_DEFINE_SERVICES: "contract_services.define_services";
|
|
52
|
+
readonly CONTRACT_SERVICES_VIEW_TRIPLE_MATCH: "contract_services.view_triple_match";
|
|
53
|
+
readonly CONTRACT_SERVICES_VIEW: "contract_services.view";
|
|
54
|
+
readonly CHANGE_REQUESTS_CREATE_OPERATIONAL: "change_requests.create_operational";
|
|
55
|
+
readonly CHANGE_REQUESTS_CREATE_ECONOMIC: "change_requests.create_economic";
|
|
56
|
+
readonly CHANGE_REQUESTS_APPROVE: "change_requests.approve";
|
|
57
|
+
readonly CHANGE_REQUESTS_CREATE_AMENDMENT: "change_requests.create_amendment";
|
|
58
|
+
readonly CHANGE_REQUESTS_VIEW: "change_requests.view";
|
|
59
|
+
readonly CONTRACT_DOCUMENTS_UPLOAD: "contract_documents.upload";
|
|
60
|
+
readonly CONTRACT_DOCUMENTS_APPROVE: "contract_documents.approve";
|
|
61
|
+
readonly CONTRACT_DOCUMENTS_REJECT: "contract_documents.reject";
|
|
62
|
+
readonly CONTRACT_DOCUMENTS_UPLOAD_VERSION: "contract_documents.upload_version";
|
|
63
|
+
readonly CONTRACT_DOCUMENTS_VIEW_VERSIONS: "contract_documents.view_versions";
|
|
64
|
+
readonly CONTRACT_DOCUMENTS_CONFIGURE_PERIODIC_REVIEW: "contract_documents.configure_periodic_review";
|
|
65
|
+
readonly CONTRACT_DOCUMENTS_DOWNLOAD: "contract_documents.download";
|
|
66
|
+
};
|
|
67
|
+
export declare const ENTREGABLES_PERMISSIONS: {
|
|
68
|
+
readonly DELIVERABLES_CREATE: "deliverables.create";
|
|
69
|
+
readonly DELIVERABLES_UPDATE: "deliverables.update";
|
|
70
|
+
readonly DELIVERABLES_DESACTIVAR_ENTREGABLES: "deliverables.desactivar_entregables";
|
|
71
|
+
readonly DELIVERABLES_CONFIGURE_PENALTY: "deliverables.configure_penalty";
|
|
72
|
+
readonly DELIVERABLES_ASSIGN_RESPONSIBLES: "deliverables.assign_responsibles";
|
|
73
|
+
readonly DELIVERABLES_MANAGE_TEMPLATES: "deliverables.manage_templates";
|
|
74
|
+
readonly DELIVERABLES_DEFINE_SCHEDULE: "deliverables.define_schedule";
|
|
75
|
+
readonly DELIVERABLES_RESCHEDULE: "deliverables.reschedule";
|
|
76
|
+
readonly DELIVERABLES_MARK_UNCONTROLLED: "deliverables.mark_uncontrolled";
|
|
77
|
+
readonly DELIVERABLES_CREATE_SUB: "deliverables.create_sub";
|
|
78
|
+
readonly DELIVERABLE_EVIDENCE_UPLOAD: "deliverable_evidence.upload";
|
|
79
|
+
readonly DELIVERABLE_EVIDENCE_REUPLOAD: "deliverable_evidence.reupload";
|
|
80
|
+
readonly DELIVERABLE_EVIDENCE_VIEW: "deliverable_evidence.view";
|
|
81
|
+
readonly DELIVERABLE_EVIDENCE_DOWNLOAD: "deliverable_evidence.download";
|
|
82
|
+
readonly DELIVERABLE_EVIDENCE_VIEW_REJECTION_REASON: "deliverable_evidence.view_rejection_reason";
|
|
83
|
+
readonly DELIVERABLE_REVIEW_VIEW_QUEUE: "deliverable_review.view_queue";
|
|
84
|
+
readonly DELIVERABLE_REVIEW_APPROVE: "deliverable_review.approve";
|
|
85
|
+
readonly DELIVERABLE_REVIEW_REJECT: "deliverable_review.reject";
|
|
86
|
+
readonly DELIVERABLE_REVIEW_WRITE_REJECTION_REASON: "deliverable_review.write_rejection_reason";
|
|
87
|
+
readonly DELIVERABLE_PENALTIES_VIEW_SUMMARY: "deliverable_penalties.view_summary";
|
|
88
|
+
readonly DELIVERABLE_PENALTIES_VIEW_DETAIL: "deliverable_penalties.view_detail";
|
|
89
|
+
readonly DELIVERABLE_PENALTIES_EXPORT: "deliverable_penalties.export";
|
|
90
|
+
readonly DELIVERABLE_REPORTS_REPORT_COMPLIANCE: "deliverable_reports.report_compliance";
|
|
91
|
+
readonly DELIVERABLE_REPORTS_REPORT_PUNCTUALITY: "deliverable_reports.report_punctuality";
|
|
92
|
+
readonly DELIVERABLE_REPORTS_REPORT_HISTORY: "deliverable_reports.report_history";
|
|
93
|
+
readonly DELIVERABLE_REPORTS_EXPORT: "deliverable_reports.export";
|
|
94
|
+
readonly DELIVERABLE_REPORTS_ALERTS: "deliverable_reports.alerts";
|
|
95
|
+
};
|
|
96
|
+
export declare const FACTURACION_PERMISSIONS: {
|
|
97
|
+
readonly INVOICES_REGISTER: "invoices.register";
|
|
98
|
+
readonly INVOICES_UPLOAD_SUPPORT: "invoices.upload_support";
|
|
99
|
+
readonly INVOICES_UPLOAD_BACKUP: "invoices.upload_backup";
|
|
100
|
+
readonly INVOICES_UPDATE: "invoices.update";
|
|
101
|
+
readonly INVOICES_RESUBMIT: "invoices.resubmit";
|
|
102
|
+
readonly INVOICES_VIEW_QUEUE: "invoices.view_queue";
|
|
103
|
+
readonly INVOICES_START_REVIEW: "invoices.start_review";
|
|
104
|
+
readonly INVOICES_VALIDATE: "invoices.validate";
|
|
105
|
+
readonly INVOICES_RETURN: "invoices.return";
|
|
106
|
+
readonly INVOICES_APPROVE: "invoices.approve";
|
|
107
|
+
readonly INVOICES_REJECT: "invoices.reject";
|
|
108
|
+
readonly INVOICES_CANCEL: "invoices.cancel";
|
|
109
|
+
readonly INVOICES_VIEW_DETAIL: "invoices.view_detail";
|
|
110
|
+
readonly INVOICES_VIEW_OWN: "invoices.view_own";
|
|
111
|
+
readonly INVOICES_VIEW_APPROVED: "invoices.view_approved";
|
|
112
|
+
readonly INVOICES_DOWNLOAD: "invoices.download";
|
|
113
|
+
readonly INVOICE_ADJUSTMENTS_VIEW_ADJUSTMENTS: "invoice_adjustments.view_adjustments";
|
|
114
|
+
readonly INVOICE_ADJUSTMENTS_APPLY_SLA: "invoice_adjustments.apply_sla";
|
|
115
|
+
readonly INVOICE_PAYMENTS_REGISTER: "invoice_payments.register";
|
|
116
|
+
readonly INVOICE_PAYMENTS_REGISTER_PARTIAL: "invoice_payments.register_partial";
|
|
117
|
+
readonly INVOICE_PAYMENTS_SET_EXCHANGE_RATE: "invoice_payments.set_exchange_rate";
|
|
118
|
+
readonly INVOICE_PAYMENTS_GENERATE_ERP_TOKEN: "invoice_payments.generate_erp_token";
|
|
119
|
+
readonly INVOICE_REPORTS_REPORT_FINANCIAL: "invoice_reports.report_financial";
|
|
120
|
+
readonly INVOICE_REPORTS_REPORT_HISTORY: "invoice_reports.report_history";
|
|
121
|
+
readonly INVOICE_REPORTS_EXPORT: "invoice_reports.export";
|
|
122
|
+
readonly INVOICE_CONFIG_CONFIGURE_PARAMS: "invoice_config.configure_params";
|
|
123
|
+
readonly INVOICE_AUDIT_VIEW_AUDIT: "invoice_audit.view_audit";
|
|
124
|
+
};
|
|
125
|
+
export declare const SLAS_PERMISSIONS: {
|
|
126
|
+
readonly SLAS_CREATE: "slas.create";
|
|
127
|
+
readonly SLAS_UPDATE: "slas.update";
|
|
128
|
+
readonly SLAS_ASSOCIATE_AMOUNT: "slas.associate_amount";
|
|
129
|
+
readonly SLAS_TOGGLE_ACTIVE: "slas.toggle_active";
|
|
130
|
+
readonly SLAS_VIEW_DETAIL: "slas.view_detail";
|
|
131
|
+
readonly SLAS_DEFINE_ANNUAL_TARGETS: "slas.define_annual_targets";
|
|
132
|
+
readonly SLAS_ADJUST_TARGETS: "slas.adjust_targets";
|
|
133
|
+
readonly SLAS_CONFIGURE_WINDOW: "slas.configure_window";
|
|
134
|
+
readonly SLAS_CONFIGURE_PARAMS: "slas.configure_params";
|
|
135
|
+
readonly SLA_MEASUREMENTS_UPLOAD: "sla_measurements.upload";
|
|
136
|
+
readonly SLA_MEASUREMENTS_VIEW_COMPLIANCE: "sla_measurements.view_compliance";
|
|
137
|
+
readonly SLA_MEASUREMENTS_SUBMIT: "sla_measurements.submit";
|
|
138
|
+
readonly SLA_MEASUREMENTS_APPROVE: "sla_measurements.approve";
|
|
139
|
+
readonly SLA_MEASUREMENTS_REJECT: "sla_measurements.reject";
|
|
140
|
+
readonly SLA_MEASUREMENTS_RESUBMIT: "sla_measurements.resubmit";
|
|
141
|
+
readonly SLA_MEASUREMENTS_VIEW_HISTORY: "sla_measurements.view_history";
|
|
142
|
+
readonly SLA_MEASUREMENTS_UPLOAD_ACTION_PLAN: "sla_measurements.upload_action_plan";
|
|
143
|
+
readonly SLA_CREDITS_VIEW_PENDING: "sla_credits.view_pending";
|
|
144
|
+
readonly SLA_CREDITS_APPLY: "sla_credits.apply";
|
|
145
|
+
readonly SLA_CREDITS_APPLY_PARTIAL: "sla_credits.apply_partial";
|
|
146
|
+
readonly SLA_CREDITS_APPROVE_EXPIRATION: "sla_credits.approve_expiration";
|
|
147
|
+
readonly SLA_CREDITS_VIEW_HISTORY: "sla_credits.view_history";
|
|
148
|
+
readonly SLA_EXCEPTIONS_REQUEST: "sla_exceptions.request";
|
|
149
|
+
readonly SLA_EXCEPTIONS_APPROVE_TOTAL: "sla_exceptions.approve_total";
|
|
150
|
+
readonly SLA_EXCEPTIONS_APPROVE_PARTIAL: "sla_exceptions.approve_partial";
|
|
151
|
+
readonly SLA_EXCEPTIONS_REJECT: "sla_exceptions.reject";
|
|
152
|
+
readonly SLA_EXCEPTIONS_ESCALATE_GOVERNANCE: "sla_exceptions.escalate_governance";
|
|
153
|
+
readonly SLA_EXCEPTIONS_VIEW_PENDING: "sla_exceptions.view_pending";
|
|
154
|
+
readonly SLA_DISPUTES_CREATE: "sla_disputes.create";
|
|
155
|
+
readonly SLA_DISPUTES_LINK_GOVERNANCE: "sla_disputes.link_governance";
|
|
156
|
+
readonly SLA_DISPUTES_CLOSE: "sla_disputes.close";
|
|
157
|
+
readonly SLA_DISPUTES_VIEW_ACTIVE: "sla_disputes.view_active";
|
|
158
|
+
readonly SLA_RECOVERY_VIEW_RECOVERY_INPROGRESS: "sla_recovery.view_recovery_inprogress";
|
|
159
|
+
readonly SLA_RECOVERY_VIEW_RECOVERY_FAILED: "sla_recovery.view_recovery_failed";
|
|
160
|
+
readonly SLA_REPORTS_VIEW_DASHBOARD: "sla_reports.view_dashboard";
|
|
161
|
+
readonly SLA_REPORTS_EXPORT_MONTHLY: "sla_reports.export_monthly";
|
|
162
|
+
};
|
|
163
|
+
/** Todas las constantes agrupadas por dominio. */
|
|
164
|
+
export declare const PERMISSIONS_BY_DOMAIN: {
|
|
165
|
+
readonly Auth: {
|
|
166
|
+
readonly ADMIN_USERS_CREATE_ANY_TENANT: "admin.users.create_any_tenant";
|
|
167
|
+
readonly ADMIN_USERS_CREATE_OWN_TENANT: "admin.users.create_own_tenant";
|
|
168
|
+
readonly ADMIN_USERS_TOGGLE_USERS: "admin.users.toggle_users";
|
|
169
|
+
readonly ADMIN_USERS_ASSIGN_ROLES: "admin.users.assign_roles";
|
|
170
|
+
readonly ADMIN_RBAC_CREATE_ROLES: "admin.rbac.create_roles";
|
|
171
|
+
readonly ADMIN_RBAC_CREATE_PERMISSIONS: "admin.rbac.create_permissions";
|
|
172
|
+
readonly ADMIN_CLIENTS_MANAGE_ORGS: "admin.clients.manage_orgs";
|
|
173
|
+
readonly ADMIN_CLIENTS_MANAGE_USER_CLIENT: "admin.clients.manage_user_client";
|
|
174
|
+
readonly ADMIN_SESSIONS_VIEW_ALL: "admin.sessions.view_all";
|
|
175
|
+
readonly ADMIN_SESSIONS_VIEW_REVOKE_OWN: "admin.sessions.view_revoke_own";
|
|
176
|
+
readonly ADMIN_SESSIONS_VIEW_ME: "admin.sessions.view_me";
|
|
177
|
+
readonly ADMIN_DELEGATION_MANAGE_DELEGATE: "admin.delegation.manage_delegate";
|
|
178
|
+
};
|
|
179
|
+
readonly Contratos: {
|
|
180
|
+
readonly CONTRACTS_CREATE: "contracts.create";
|
|
181
|
+
readonly CONTRACTS_UPDATE: "contracts.update";
|
|
182
|
+
readonly CONTRACTS_SUBMIT_REVIEW: "contracts.submit_review";
|
|
183
|
+
readonly CONTRACTS_APPROVE: "contracts.approve";
|
|
184
|
+
readonly CONTRACTS_SIGN: "contracts.sign";
|
|
185
|
+
readonly CONTRACTS_UPLOAD_LEGACY: "contracts.upload_legacy";
|
|
186
|
+
readonly CONTRACTS_CLOSE: "contracts.close";
|
|
187
|
+
readonly CONTRACTS_VIEW_DETAIL: "contracts.view_detail";
|
|
188
|
+
readonly CONTRACTS_VIEW_LIST: "contracts.view_list";
|
|
189
|
+
readonly CONTRACT_CLAUSES_CREATE_SECTIONS: "contract_clauses.create_sections";
|
|
190
|
+
readonly CONTRACT_CLAUSES_CREATE_CLAUSES: "contract_clauses.create_clauses";
|
|
191
|
+
readonly CONTRACT_CLAUSES_MANAGE: "contract_clauses.manage";
|
|
192
|
+
readonly CONTRACT_CLAUSES_VIEW: "contract_clauses.view";
|
|
193
|
+
readonly CONTRACT_SERVICES_DEFINE_SERVICES: "contract_services.define_services";
|
|
194
|
+
readonly CONTRACT_SERVICES_VIEW_TRIPLE_MATCH: "contract_services.view_triple_match";
|
|
195
|
+
readonly CONTRACT_SERVICES_VIEW: "contract_services.view";
|
|
196
|
+
readonly CHANGE_REQUESTS_CREATE_OPERATIONAL: "change_requests.create_operational";
|
|
197
|
+
readonly CHANGE_REQUESTS_CREATE_ECONOMIC: "change_requests.create_economic";
|
|
198
|
+
readonly CHANGE_REQUESTS_APPROVE: "change_requests.approve";
|
|
199
|
+
readonly CHANGE_REQUESTS_CREATE_AMENDMENT: "change_requests.create_amendment";
|
|
200
|
+
readonly CHANGE_REQUESTS_VIEW: "change_requests.view";
|
|
201
|
+
readonly CONTRACT_DOCUMENTS_UPLOAD: "contract_documents.upload";
|
|
202
|
+
readonly CONTRACT_DOCUMENTS_APPROVE: "contract_documents.approve";
|
|
203
|
+
readonly CONTRACT_DOCUMENTS_REJECT: "contract_documents.reject";
|
|
204
|
+
readonly CONTRACT_DOCUMENTS_UPLOAD_VERSION: "contract_documents.upload_version";
|
|
205
|
+
readonly CONTRACT_DOCUMENTS_VIEW_VERSIONS: "contract_documents.view_versions";
|
|
206
|
+
readonly CONTRACT_DOCUMENTS_CONFIGURE_PERIODIC_REVIEW: "contract_documents.configure_periodic_review";
|
|
207
|
+
readonly CONTRACT_DOCUMENTS_DOWNLOAD: "contract_documents.download";
|
|
208
|
+
};
|
|
209
|
+
readonly Entregables: {
|
|
210
|
+
readonly DELIVERABLES_CREATE: "deliverables.create";
|
|
211
|
+
readonly DELIVERABLES_UPDATE: "deliverables.update";
|
|
212
|
+
readonly DELIVERABLES_DESACTIVAR_ENTREGABLES: "deliverables.desactivar_entregables";
|
|
213
|
+
readonly DELIVERABLES_CONFIGURE_PENALTY: "deliverables.configure_penalty";
|
|
214
|
+
readonly DELIVERABLES_ASSIGN_RESPONSIBLES: "deliverables.assign_responsibles";
|
|
215
|
+
readonly DELIVERABLES_MANAGE_TEMPLATES: "deliverables.manage_templates";
|
|
216
|
+
readonly DELIVERABLES_DEFINE_SCHEDULE: "deliverables.define_schedule";
|
|
217
|
+
readonly DELIVERABLES_RESCHEDULE: "deliverables.reschedule";
|
|
218
|
+
readonly DELIVERABLES_MARK_UNCONTROLLED: "deliverables.mark_uncontrolled";
|
|
219
|
+
readonly DELIVERABLES_CREATE_SUB: "deliverables.create_sub";
|
|
220
|
+
readonly DELIVERABLE_EVIDENCE_UPLOAD: "deliverable_evidence.upload";
|
|
221
|
+
readonly DELIVERABLE_EVIDENCE_REUPLOAD: "deliverable_evidence.reupload";
|
|
222
|
+
readonly DELIVERABLE_EVIDENCE_VIEW: "deliverable_evidence.view";
|
|
223
|
+
readonly DELIVERABLE_EVIDENCE_DOWNLOAD: "deliverable_evidence.download";
|
|
224
|
+
readonly DELIVERABLE_EVIDENCE_VIEW_REJECTION_REASON: "deliverable_evidence.view_rejection_reason";
|
|
225
|
+
readonly DELIVERABLE_REVIEW_VIEW_QUEUE: "deliverable_review.view_queue";
|
|
226
|
+
readonly DELIVERABLE_REVIEW_APPROVE: "deliverable_review.approve";
|
|
227
|
+
readonly DELIVERABLE_REVIEW_REJECT: "deliverable_review.reject";
|
|
228
|
+
readonly DELIVERABLE_REVIEW_WRITE_REJECTION_REASON: "deliverable_review.write_rejection_reason";
|
|
229
|
+
readonly DELIVERABLE_PENALTIES_VIEW_SUMMARY: "deliverable_penalties.view_summary";
|
|
230
|
+
readonly DELIVERABLE_PENALTIES_VIEW_DETAIL: "deliverable_penalties.view_detail";
|
|
231
|
+
readonly DELIVERABLE_PENALTIES_EXPORT: "deliverable_penalties.export";
|
|
232
|
+
readonly DELIVERABLE_REPORTS_REPORT_COMPLIANCE: "deliverable_reports.report_compliance";
|
|
233
|
+
readonly DELIVERABLE_REPORTS_REPORT_PUNCTUALITY: "deliverable_reports.report_punctuality";
|
|
234
|
+
readonly DELIVERABLE_REPORTS_REPORT_HISTORY: "deliverable_reports.report_history";
|
|
235
|
+
readonly DELIVERABLE_REPORTS_EXPORT: "deliverable_reports.export";
|
|
236
|
+
readonly DELIVERABLE_REPORTS_ALERTS: "deliverable_reports.alerts";
|
|
237
|
+
};
|
|
238
|
+
readonly Facturacion: {
|
|
239
|
+
readonly INVOICES_REGISTER: "invoices.register";
|
|
240
|
+
readonly INVOICES_UPLOAD_SUPPORT: "invoices.upload_support";
|
|
241
|
+
readonly INVOICES_UPLOAD_BACKUP: "invoices.upload_backup";
|
|
242
|
+
readonly INVOICES_UPDATE: "invoices.update";
|
|
243
|
+
readonly INVOICES_RESUBMIT: "invoices.resubmit";
|
|
244
|
+
readonly INVOICES_VIEW_QUEUE: "invoices.view_queue";
|
|
245
|
+
readonly INVOICES_START_REVIEW: "invoices.start_review";
|
|
246
|
+
readonly INVOICES_VALIDATE: "invoices.validate";
|
|
247
|
+
readonly INVOICES_RETURN: "invoices.return";
|
|
248
|
+
readonly INVOICES_APPROVE: "invoices.approve";
|
|
249
|
+
readonly INVOICES_REJECT: "invoices.reject";
|
|
250
|
+
readonly INVOICES_CANCEL: "invoices.cancel";
|
|
251
|
+
readonly INVOICES_VIEW_DETAIL: "invoices.view_detail";
|
|
252
|
+
readonly INVOICES_VIEW_OWN: "invoices.view_own";
|
|
253
|
+
readonly INVOICES_VIEW_APPROVED: "invoices.view_approved";
|
|
254
|
+
readonly INVOICES_DOWNLOAD: "invoices.download";
|
|
255
|
+
readonly INVOICE_ADJUSTMENTS_VIEW_ADJUSTMENTS: "invoice_adjustments.view_adjustments";
|
|
256
|
+
readonly INVOICE_ADJUSTMENTS_APPLY_SLA: "invoice_adjustments.apply_sla";
|
|
257
|
+
readonly INVOICE_PAYMENTS_REGISTER: "invoice_payments.register";
|
|
258
|
+
readonly INVOICE_PAYMENTS_REGISTER_PARTIAL: "invoice_payments.register_partial";
|
|
259
|
+
readonly INVOICE_PAYMENTS_SET_EXCHANGE_RATE: "invoice_payments.set_exchange_rate";
|
|
260
|
+
readonly INVOICE_PAYMENTS_GENERATE_ERP_TOKEN: "invoice_payments.generate_erp_token";
|
|
261
|
+
readonly INVOICE_REPORTS_REPORT_FINANCIAL: "invoice_reports.report_financial";
|
|
262
|
+
readonly INVOICE_REPORTS_REPORT_HISTORY: "invoice_reports.report_history";
|
|
263
|
+
readonly INVOICE_REPORTS_EXPORT: "invoice_reports.export";
|
|
264
|
+
readonly INVOICE_CONFIG_CONFIGURE_PARAMS: "invoice_config.configure_params";
|
|
265
|
+
readonly INVOICE_AUDIT_VIEW_AUDIT: "invoice_audit.view_audit";
|
|
266
|
+
};
|
|
267
|
+
readonly SLAs: {
|
|
268
|
+
readonly SLAS_CREATE: "slas.create";
|
|
269
|
+
readonly SLAS_UPDATE: "slas.update";
|
|
270
|
+
readonly SLAS_ASSOCIATE_AMOUNT: "slas.associate_amount";
|
|
271
|
+
readonly SLAS_TOGGLE_ACTIVE: "slas.toggle_active";
|
|
272
|
+
readonly SLAS_VIEW_DETAIL: "slas.view_detail";
|
|
273
|
+
readonly SLAS_DEFINE_ANNUAL_TARGETS: "slas.define_annual_targets";
|
|
274
|
+
readonly SLAS_ADJUST_TARGETS: "slas.adjust_targets";
|
|
275
|
+
readonly SLAS_CONFIGURE_WINDOW: "slas.configure_window";
|
|
276
|
+
readonly SLAS_CONFIGURE_PARAMS: "slas.configure_params";
|
|
277
|
+
readonly SLA_MEASUREMENTS_UPLOAD: "sla_measurements.upload";
|
|
278
|
+
readonly SLA_MEASUREMENTS_VIEW_COMPLIANCE: "sla_measurements.view_compliance";
|
|
279
|
+
readonly SLA_MEASUREMENTS_SUBMIT: "sla_measurements.submit";
|
|
280
|
+
readonly SLA_MEASUREMENTS_APPROVE: "sla_measurements.approve";
|
|
281
|
+
readonly SLA_MEASUREMENTS_REJECT: "sla_measurements.reject";
|
|
282
|
+
readonly SLA_MEASUREMENTS_RESUBMIT: "sla_measurements.resubmit";
|
|
283
|
+
readonly SLA_MEASUREMENTS_VIEW_HISTORY: "sla_measurements.view_history";
|
|
284
|
+
readonly SLA_MEASUREMENTS_UPLOAD_ACTION_PLAN: "sla_measurements.upload_action_plan";
|
|
285
|
+
readonly SLA_CREDITS_VIEW_PENDING: "sla_credits.view_pending";
|
|
286
|
+
readonly SLA_CREDITS_APPLY: "sla_credits.apply";
|
|
287
|
+
readonly SLA_CREDITS_APPLY_PARTIAL: "sla_credits.apply_partial";
|
|
288
|
+
readonly SLA_CREDITS_APPROVE_EXPIRATION: "sla_credits.approve_expiration";
|
|
289
|
+
readonly SLA_CREDITS_VIEW_HISTORY: "sla_credits.view_history";
|
|
290
|
+
readonly SLA_EXCEPTIONS_REQUEST: "sla_exceptions.request";
|
|
291
|
+
readonly SLA_EXCEPTIONS_APPROVE_TOTAL: "sla_exceptions.approve_total";
|
|
292
|
+
readonly SLA_EXCEPTIONS_APPROVE_PARTIAL: "sla_exceptions.approve_partial";
|
|
293
|
+
readonly SLA_EXCEPTIONS_REJECT: "sla_exceptions.reject";
|
|
294
|
+
readonly SLA_EXCEPTIONS_ESCALATE_GOVERNANCE: "sla_exceptions.escalate_governance";
|
|
295
|
+
readonly SLA_EXCEPTIONS_VIEW_PENDING: "sla_exceptions.view_pending";
|
|
296
|
+
readonly SLA_DISPUTES_CREATE: "sla_disputes.create";
|
|
297
|
+
readonly SLA_DISPUTES_LINK_GOVERNANCE: "sla_disputes.link_governance";
|
|
298
|
+
readonly SLA_DISPUTES_CLOSE: "sla_disputes.close";
|
|
299
|
+
readonly SLA_DISPUTES_VIEW_ACTIVE: "sla_disputes.view_active";
|
|
300
|
+
readonly SLA_RECOVERY_VIEW_RECOVERY_INPROGRESS: "sla_recovery.view_recovery_inprogress";
|
|
301
|
+
readonly SLA_RECOVERY_VIEW_RECOVERY_FAILED: "sla_recovery.view_recovery_failed";
|
|
302
|
+
readonly SLA_REPORTS_VIEW_DASHBOARD: "sla_reports.view_dashboard";
|
|
303
|
+
readonly SLA_REPORTS_EXPORT_MONTHLY: "sla_reports.export_monthly";
|
|
304
|
+
};
|
|
305
|
+
};
|
|
306
|
+
/** Lista plana de los 130 codes (para validación de sincronización con Auth). */
|
|
307
|
+
export declare const ALL_PERMISSION_CODES: readonly string[];
|
|
308
|
+
/** Tipo unión de todos los codes de permiso válidos. */
|
|
309
|
+
export type PermissionCode = (typeof AUTH_PERMISSIONS)[keyof typeof AUTH_PERMISSIONS] | (typeof CONTRATOS_PERMISSIONS)[keyof typeof CONTRATOS_PERMISSIONS] | (typeof ENTREGABLES_PERMISSIONS)[keyof typeof ENTREGABLES_PERMISSIONS] | (typeof FACTURACION_PERMISSIONS)[keyof typeof FACTURACION_PERMISSIONS] | (typeof SLAS_PERMISSIONS)[keyof typeof SLAS_PERMISSIONS];
|
|
310
|
+
//# sourceMappingURL=permission-names.constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-names.constants.d.ts","sourceRoot":"","sources":["../../src/constants/permission-names.constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;CAanB,CAAC;AAGX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC;AAGX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC1B,CAAC;AAGX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC1B,CAAC;AAGX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CnB,CAAC;AAIX,kDAAkD;AAClD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMxB,CAAC;AAEX,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAMxC,CAAC;AAEX,wDAAwD;AACxD,MAAM,MAAM,cAAc,GACtB,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,GACxD,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,GAClE,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,GACtE,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,GACtE,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* permission-names.constants.ts
|
|
4
|
+
* ------------------------------------------------------------------------
|
|
5
|
+
* Constantes de NOMBRES (codes) de los 130 permisos de dominio de ContractX.
|
|
6
|
+
* Derivadas del catálogo de Auth (domain-permissions.catalog.ts, ADR-004 Fase 1),
|
|
7
|
+
* tomando SOLO el campo `code` — SIN la metadata de seeding (rolesGranted,
|
|
8
|
+
* rolesReadOnly, approvalCategory, side, requiresHuman), que vive solo en Auth.
|
|
9
|
+
*
|
|
10
|
+
* Fuente única de NOMBRES: este archivo (en el paquete permissions-contractx).
|
|
11
|
+
* La metadata se cuelga encima, en Auth. Un test en Auth valida que todo `code`
|
|
12
|
+
* del catálogo existe como constante aquí (sincronización — Fase 6/8 del porte).
|
|
13
|
+
*
|
|
14
|
+
* Agrupación por microservicio: Auth(12) Contratos(28) Entregables(27)
|
|
15
|
+
* Facturación(27) SLAs(36) = 130.
|
|
16
|
+
*
|
|
17
|
+
* Convención de claves: reflejan el recurso completo del code, en
|
|
18
|
+
* SCREAMING_SNAKE_CASE (recurso + acción). Esto evita colisiones entre dominios
|
|
19
|
+
* (p.ej. los reports de Entregables / Facturación / SLAs quedan distinguibles).
|
|
20
|
+
*
|
|
21
|
+
* NO editar a mano para "arreglar" un nombre: si cambia el catálogo, regenerar.
|
|
22
|
+
* ------------------------------------------------------------------------
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.ALL_PERMISSION_CODES = exports.PERMISSIONS_BY_DOMAIN = exports.SLAS_PERMISSIONS = exports.FACTURACION_PERMISSIONS = exports.ENTREGABLES_PERMISSIONS = exports.CONTRATOS_PERMISSIONS = exports.AUTH_PERMISSIONS = void 0;
|
|
26
|
+
// ======================= AUTH (12) =======================
|
|
27
|
+
exports.AUTH_PERMISSIONS = {
|
|
28
|
+
ADMIN_USERS_CREATE_ANY_TENANT: 'admin.users.create_any_tenant',
|
|
29
|
+
ADMIN_USERS_CREATE_OWN_TENANT: 'admin.users.create_own_tenant',
|
|
30
|
+
ADMIN_USERS_TOGGLE_USERS: 'admin.users.toggle_users',
|
|
31
|
+
ADMIN_USERS_ASSIGN_ROLES: 'admin.users.assign_roles',
|
|
32
|
+
ADMIN_RBAC_CREATE_ROLES: 'admin.rbac.create_roles',
|
|
33
|
+
ADMIN_RBAC_CREATE_PERMISSIONS: 'admin.rbac.create_permissions',
|
|
34
|
+
ADMIN_CLIENTS_MANAGE_ORGS: 'admin.clients.manage_orgs',
|
|
35
|
+
ADMIN_CLIENTS_MANAGE_USER_CLIENT: 'admin.clients.manage_user_client',
|
|
36
|
+
ADMIN_SESSIONS_VIEW_ALL: 'admin.sessions.view_all',
|
|
37
|
+
ADMIN_SESSIONS_VIEW_REVOKE_OWN: 'admin.sessions.view_revoke_own',
|
|
38
|
+
ADMIN_SESSIONS_VIEW_ME: 'admin.sessions.view_me',
|
|
39
|
+
ADMIN_DELEGATION_MANAGE_DELEGATE: 'admin.delegation.manage_delegate',
|
|
40
|
+
};
|
|
41
|
+
// ======================= CONTRATOS (28) =======================
|
|
42
|
+
exports.CONTRATOS_PERMISSIONS = {
|
|
43
|
+
// contracts.*
|
|
44
|
+
CONTRACTS_CREATE: 'contracts.create',
|
|
45
|
+
CONTRACTS_UPDATE: 'contracts.update',
|
|
46
|
+
CONTRACTS_SUBMIT_REVIEW: 'contracts.submit_review',
|
|
47
|
+
CONTRACTS_APPROVE: 'contracts.approve',
|
|
48
|
+
CONTRACTS_SIGN: 'contracts.sign',
|
|
49
|
+
CONTRACTS_UPLOAD_LEGACY: 'contracts.upload_legacy',
|
|
50
|
+
CONTRACTS_CLOSE: 'contracts.close',
|
|
51
|
+
CONTRACTS_VIEW_DETAIL: 'contracts.view_detail',
|
|
52
|
+
CONTRACTS_VIEW_LIST: 'contracts.view_list',
|
|
53
|
+
// contract_clauses.*
|
|
54
|
+
CONTRACT_CLAUSES_CREATE_SECTIONS: 'contract_clauses.create_sections',
|
|
55
|
+
CONTRACT_CLAUSES_CREATE_CLAUSES: 'contract_clauses.create_clauses',
|
|
56
|
+
CONTRACT_CLAUSES_MANAGE: 'contract_clauses.manage',
|
|
57
|
+
CONTRACT_CLAUSES_VIEW: 'contract_clauses.view',
|
|
58
|
+
// contract_services.*
|
|
59
|
+
CONTRACT_SERVICES_DEFINE_SERVICES: 'contract_services.define_services',
|
|
60
|
+
CONTRACT_SERVICES_VIEW_TRIPLE_MATCH: 'contract_services.view_triple_match',
|
|
61
|
+
CONTRACT_SERVICES_VIEW: 'contract_services.view',
|
|
62
|
+
// change_requests.*
|
|
63
|
+
CHANGE_REQUESTS_CREATE_OPERATIONAL: 'change_requests.create_operational',
|
|
64
|
+
CHANGE_REQUESTS_CREATE_ECONOMIC: 'change_requests.create_economic',
|
|
65
|
+
CHANGE_REQUESTS_APPROVE: 'change_requests.approve',
|
|
66
|
+
CHANGE_REQUESTS_CREATE_AMENDMENT: 'change_requests.create_amendment',
|
|
67
|
+
CHANGE_REQUESTS_VIEW: 'change_requests.view',
|
|
68
|
+
// contract_documents.*
|
|
69
|
+
CONTRACT_DOCUMENTS_UPLOAD: 'contract_documents.upload',
|
|
70
|
+
CONTRACT_DOCUMENTS_APPROVE: 'contract_documents.approve',
|
|
71
|
+
CONTRACT_DOCUMENTS_REJECT: 'contract_documents.reject',
|
|
72
|
+
CONTRACT_DOCUMENTS_UPLOAD_VERSION: 'contract_documents.upload_version',
|
|
73
|
+
CONTRACT_DOCUMENTS_VIEW_VERSIONS: 'contract_documents.view_versions',
|
|
74
|
+
CONTRACT_DOCUMENTS_CONFIGURE_PERIODIC_REVIEW: 'contract_documents.configure_periodic_review',
|
|
75
|
+
CONTRACT_DOCUMENTS_DOWNLOAD: 'contract_documents.download',
|
|
76
|
+
};
|
|
77
|
+
// ======================= ENTREGABLES (27) =======================
|
|
78
|
+
exports.ENTREGABLES_PERMISSIONS = {
|
|
79
|
+
// deliverables.*
|
|
80
|
+
DELIVERABLES_CREATE: 'deliverables.create',
|
|
81
|
+
DELIVERABLES_UPDATE: 'deliverables.update',
|
|
82
|
+
DELIVERABLES_DESACTIVAR_ENTREGABLES: 'deliverables.desactivar_entregables',
|
|
83
|
+
DELIVERABLES_CONFIGURE_PENALTY: 'deliverables.configure_penalty',
|
|
84
|
+
DELIVERABLES_ASSIGN_RESPONSIBLES: 'deliverables.assign_responsibles',
|
|
85
|
+
DELIVERABLES_MANAGE_TEMPLATES: 'deliverables.manage_templates',
|
|
86
|
+
DELIVERABLES_DEFINE_SCHEDULE: 'deliverables.define_schedule',
|
|
87
|
+
DELIVERABLES_RESCHEDULE: 'deliverables.reschedule',
|
|
88
|
+
DELIVERABLES_MARK_UNCONTROLLED: 'deliverables.mark_uncontrolled',
|
|
89
|
+
DELIVERABLES_CREATE_SUB: 'deliverables.create_sub',
|
|
90
|
+
// deliverable_evidence.*
|
|
91
|
+
DELIVERABLE_EVIDENCE_UPLOAD: 'deliverable_evidence.upload',
|
|
92
|
+
DELIVERABLE_EVIDENCE_REUPLOAD: 'deliverable_evidence.reupload',
|
|
93
|
+
DELIVERABLE_EVIDENCE_VIEW: 'deliverable_evidence.view',
|
|
94
|
+
DELIVERABLE_EVIDENCE_DOWNLOAD: 'deliverable_evidence.download',
|
|
95
|
+
DELIVERABLE_EVIDENCE_VIEW_REJECTION_REASON: 'deliverable_evidence.view_rejection_reason',
|
|
96
|
+
// deliverable_review.*
|
|
97
|
+
DELIVERABLE_REVIEW_VIEW_QUEUE: 'deliverable_review.view_queue',
|
|
98
|
+
DELIVERABLE_REVIEW_APPROVE: 'deliverable_review.approve',
|
|
99
|
+
DELIVERABLE_REVIEW_REJECT: 'deliverable_review.reject',
|
|
100
|
+
DELIVERABLE_REVIEW_WRITE_REJECTION_REASON: 'deliverable_review.write_rejection_reason',
|
|
101
|
+
// deliverable_penalties.*
|
|
102
|
+
DELIVERABLE_PENALTIES_VIEW_SUMMARY: 'deliverable_penalties.view_summary',
|
|
103
|
+
DELIVERABLE_PENALTIES_VIEW_DETAIL: 'deliverable_penalties.view_detail',
|
|
104
|
+
DELIVERABLE_PENALTIES_EXPORT: 'deliverable_penalties.export',
|
|
105
|
+
// deliverable_reports.*
|
|
106
|
+
DELIVERABLE_REPORTS_REPORT_COMPLIANCE: 'deliverable_reports.report_compliance',
|
|
107
|
+
DELIVERABLE_REPORTS_REPORT_PUNCTUALITY: 'deliverable_reports.report_punctuality',
|
|
108
|
+
DELIVERABLE_REPORTS_REPORT_HISTORY: 'deliverable_reports.report_history',
|
|
109
|
+
DELIVERABLE_REPORTS_EXPORT: 'deliverable_reports.export',
|
|
110
|
+
DELIVERABLE_REPORTS_ALERTS: 'deliverable_reports.alerts',
|
|
111
|
+
};
|
|
112
|
+
// ======================= FACTURACIÓN (27) =======================
|
|
113
|
+
exports.FACTURACION_PERMISSIONS = {
|
|
114
|
+
// invoices.*
|
|
115
|
+
INVOICES_REGISTER: 'invoices.register',
|
|
116
|
+
INVOICES_UPLOAD_SUPPORT: 'invoices.upload_support',
|
|
117
|
+
INVOICES_UPLOAD_BACKUP: 'invoices.upload_backup',
|
|
118
|
+
INVOICES_UPDATE: 'invoices.update',
|
|
119
|
+
INVOICES_RESUBMIT: 'invoices.resubmit',
|
|
120
|
+
INVOICES_VIEW_QUEUE: 'invoices.view_queue',
|
|
121
|
+
INVOICES_START_REVIEW: 'invoices.start_review',
|
|
122
|
+
INVOICES_VALIDATE: 'invoices.validate',
|
|
123
|
+
INVOICES_RETURN: 'invoices.return',
|
|
124
|
+
INVOICES_APPROVE: 'invoices.approve',
|
|
125
|
+
INVOICES_REJECT: 'invoices.reject',
|
|
126
|
+
INVOICES_CANCEL: 'invoices.cancel',
|
|
127
|
+
INVOICES_VIEW_DETAIL: 'invoices.view_detail',
|
|
128
|
+
INVOICES_VIEW_OWN: 'invoices.view_own',
|
|
129
|
+
INVOICES_VIEW_APPROVED: 'invoices.view_approved',
|
|
130
|
+
INVOICES_DOWNLOAD: 'invoices.download',
|
|
131
|
+
// invoice_adjustments.*
|
|
132
|
+
INVOICE_ADJUSTMENTS_VIEW_ADJUSTMENTS: 'invoice_adjustments.view_adjustments',
|
|
133
|
+
INVOICE_ADJUSTMENTS_APPLY_SLA: 'invoice_adjustments.apply_sla',
|
|
134
|
+
// invoice_payments.*
|
|
135
|
+
INVOICE_PAYMENTS_REGISTER: 'invoice_payments.register',
|
|
136
|
+
INVOICE_PAYMENTS_REGISTER_PARTIAL: 'invoice_payments.register_partial',
|
|
137
|
+
INVOICE_PAYMENTS_SET_EXCHANGE_RATE: 'invoice_payments.set_exchange_rate',
|
|
138
|
+
INVOICE_PAYMENTS_GENERATE_ERP_TOKEN: 'invoice_payments.generate_erp_token',
|
|
139
|
+
// invoice_reports.*
|
|
140
|
+
INVOICE_REPORTS_REPORT_FINANCIAL: 'invoice_reports.report_financial',
|
|
141
|
+
INVOICE_REPORTS_REPORT_HISTORY: 'invoice_reports.report_history',
|
|
142
|
+
INVOICE_REPORTS_EXPORT: 'invoice_reports.export',
|
|
143
|
+
// invoice_config.* / invoice_audit.*
|
|
144
|
+
INVOICE_CONFIG_CONFIGURE_PARAMS: 'invoice_config.configure_params',
|
|
145
|
+
INVOICE_AUDIT_VIEW_AUDIT: 'invoice_audit.view_audit',
|
|
146
|
+
};
|
|
147
|
+
// ======================= SLAs (36) =======================
|
|
148
|
+
exports.SLAS_PERMISSIONS = {
|
|
149
|
+
// slas.*
|
|
150
|
+
SLAS_CREATE: 'slas.create',
|
|
151
|
+
SLAS_UPDATE: 'slas.update',
|
|
152
|
+
SLAS_ASSOCIATE_AMOUNT: 'slas.associate_amount',
|
|
153
|
+
SLAS_TOGGLE_ACTIVE: 'slas.toggle_active',
|
|
154
|
+
SLAS_VIEW_DETAIL: 'slas.view_detail',
|
|
155
|
+
SLAS_DEFINE_ANNUAL_TARGETS: 'slas.define_annual_targets',
|
|
156
|
+
SLAS_ADJUST_TARGETS: 'slas.adjust_targets',
|
|
157
|
+
SLAS_CONFIGURE_WINDOW: 'slas.configure_window',
|
|
158
|
+
SLAS_CONFIGURE_PARAMS: 'slas.configure_params',
|
|
159
|
+
// sla_measurements.*
|
|
160
|
+
SLA_MEASUREMENTS_UPLOAD: 'sla_measurements.upload',
|
|
161
|
+
SLA_MEASUREMENTS_VIEW_COMPLIANCE: 'sla_measurements.view_compliance',
|
|
162
|
+
SLA_MEASUREMENTS_SUBMIT: 'sla_measurements.submit',
|
|
163
|
+
SLA_MEASUREMENTS_APPROVE: 'sla_measurements.approve',
|
|
164
|
+
SLA_MEASUREMENTS_REJECT: 'sla_measurements.reject',
|
|
165
|
+
SLA_MEASUREMENTS_RESUBMIT: 'sla_measurements.resubmit',
|
|
166
|
+
SLA_MEASUREMENTS_VIEW_HISTORY: 'sla_measurements.view_history',
|
|
167
|
+
SLA_MEASUREMENTS_UPLOAD_ACTION_PLAN: 'sla_measurements.upload_action_plan',
|
|
168
|
+
// sla_credits.*
|
|
169
|
+
SLA_CREDITS_VIEW_PENDING: 'sla_credits.view_pending',
|
|
170
|
+
SLA_CREDITS_APPLY: 'sla_credits.apply',
|
|
171
|
+
SLA_CREDITS_APPLY_PARTIAL: 'sla_credits.apply_partial',
|
|
172
|
+
SLA_CREDITS_APPROVE_EXPIRATION: 'sla_credits.approve_expiration',
|
|
173
|
+
SLA_CREDITS_VIEW_HISTORY: 'sla_credits.view_history',
|
|
174
|
+
// sla_exceptions.*
|
|
175
|
+
SLA_EXCEPTIONS_REQUEST: 'sla_exceptions.request',
|
|
176
|
+
SLA_EXCEPTIONS_APPROVE_TOTAL: 'sla_exceptions.approve_total',
|
|
177
|
+
SLA_EXCEPTIONS_APPROVE_PARTIAL: 'sla_exceptions.approve_partial',
|
|
178
|
+
SLA_EXCEPTIONS_REJECT: 'sla_exceptions.reject',
|
|
179
|
+
SLA_EXCEPTIONS_ESCALATE_GOVERNANCE: 'sla_exceptions.escalate_governance',
|
|
180
|
+
SLA_EXCEPTIONS_VIEW_PENDING: 'sla_exceptions.view_pending',
|
|
181
|
+
// sla_disputes.*
|
|
182
|
+
SLA_DISPUTES_CREATE: 'sla_disputes.create',
|
|
183
|
+
SLA_DISPUTES_LINK_GOVERNANCE: 'sla_disputes.link_governance',
|
|
184
|
+
SLA_DISPUTES_CLOSE: 'sla_disputes.close',
|
|
185
|
+
SLA_DISPUTES_VIEW_ACTIVE: 'sla_disputes.view_active',
|
|
186
|
+
// sla_recovery.*
|
|
187
|
+
SLA_RECOVERY_VIEW_RECOVERY_INPROGRESS: 'sla_recovery.view_recovery_inprogress',
|
|
188
|
+
SLA_RECOVERY_VIEW_RECOVERY_FAILED: 'sla_recovery.view_recovery_failed',
|
|
189
|
+
// sla_reports.*
|
|
190
|
+
SLA_REPORTS_VIEW_DASHBOARD: 'sla_reports.view_dashboard',
|
|
191
|
+
SLA_REPORTS_EXPORT_MONTHLY: 'sla_reports.export_monthly',
|
|
192
|
+
};
|
|
193
|
+
// ======================= AGREGADOS Y TIPOS =======================
|
|
194
|
+
/** Todas las constantes agrupadas por dominio. */
|
|
195
|
+
exports.PERMISSIONS_BY_DOMAIN = {
|
|
196
|
+
Auth: exports.AUTH_PERMISSIONS,
|
|
197
|
+
Contratos: exports.CONTRATOS_PERMISSIONS,
|
|
198
|
+
Entregables: exports.ENTREGABLES_PERMISSIONS,
|
|
199
|
+
Facturacion: exports.FACTURACION_PERMISSIONS,
|
|
200
|
+
SLAs: exports.SLAS_PERMISSIONS,
|
|
201
|
+
};
|
|
202
|
+
/** Lista plana de los 130 codes (para validación de sincronización con Auth). */
|
|
203
|
+
exports.ALL_PERMISSION_CODES = [
|
|
204
|
+
...Object.values(exports.AUTH_PERMISSIONS),
|
|
205
|
+
...Object.values(exports.CONTRATOS_PERMISSIONS),
|
|
206
|
+
...Object.values(exports.ENTREGABLES_PERMISSIONS),
|
|
207
|
+
...Object.values(exports.FACTURACION_PERMISSIONS),
|
|
208
|
+
...Object.values(exports.SLAS_PERMISSIONS),
|
|
209
|
+
];
|