permissions-contractx 1.0.2 → 1.2.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 +432 -0
- package/dist/constants/permission-names.constants.d.ts.map +1 -0
- package/dist/constants/permission-names.constants.js +304 -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,304 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* permission-names.constants.ts
|
|
4
|
+
* ------------------------------------------------------------------------
|
|
5
|
+
* Constantes de NOMBRES (codes) de los 169 permisos de dominio de ContractX.
|
|
6
|
+
* Derivadas del catálogo de Auth (domain-permissions.catalog.ts, ADR-004 Fase 1/2),
|
|
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) Proveedores(39) = 169.
|
|
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.PROVEEDORES_PERMISSIONS = exports.PROVIDERS_REPORTS_VIEW = exports.PROVIDERS_REPORTS_INCIDENTS = exports.PROVIDERS_REPORTS_SURVEYS = exports.PROVIDERS_REPORTS_RISKS = exports.PROVIDERS_REPORTS_EVALUATIONS = exports.PROVIDERS_REPORTS_GENERATE = exports.PROVIDERS_INCIDENTS_VIEW = exports.PROVIDERS_INCIDENTS_REOPEN = exports.PROVIDERS_INCIDENTS_CLOSE = exports.PROVIDERS_INCIDENTS_MANAGE = exports.PROVIDERS_INCIDENTS_ASSIGN = exports.PROVIDERS_INCIDENTS_REGISTER = exports.PROVIDERS_SURVEYS_VIEW = exports.PROVIDERS_SURVEYS_RESPOND = exports.PROVIDERS_SURVEYS_MANAGE_LIFECYCLE = exports.PROVIDERS_SURVEYS_EDIT_QUESTIONS = exports.PROVIDERS_SURVEYS_CREATE = exports.PROVIDERS_RISKS_VIEW_PLANS = exports.PROVIDERS_RISKS_EXECUTE_ACTION = exports.PROVIDERS_RISKS_CREATE_PLAN = exports.PROVIDERS_RISKS_VIEW_MATRIX = exports.PROVIDERS_RISKS_EDIT = exports.PROVIDERS_RISKS_REGISTER = exports.PROVIDERS_EVALS_VIEW = exports.PROVIDERS_EVALS_CANCEL = exports.PROVIDERS_EVALS_EXECUTE = exports.PROVIDERS_EVALS_SCHEDULE = exports.PROVIDERS_DEPS_VIEW = exports.PROVIDERS_DEPS_MANAGE = exports.PROVIDERS_CONTACTS_SET_PRIMARY = exports.PROVIDERS_CONTACTS_VIEW = exports.PROVIDERS_CONTACTS_MANAGE = exports.PROVIDERS_PROFILE_CHANGE_RISK = exports.PROVIDERS_PROFILE_VIEW_BANK_INFO = exports.PROVIDERS_PROFILE_VIEW = exports.PROVIDERS_PROFILE_BLACKLIST = exports.PROVIDERS_PROFILE_CHANGE_STATUS = exports.PROVIDERS_PROFILE_EDIT = exports.PROVIDERS_PROFILE_CREATE = 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
|
+
// ======================= PROVEEDORES (39) =======================
|
|
194
|
+
// [ADR-004 Fase 2 / RA-02] Exportadas también como constantes individuales
|
|
195
|
+
// (además del objeto de dominio) para consumo directo desde guards/decoradores.
|
|
196
|
+
// ── Proveedores ──
|
|
197
|
+
exports.PROVIDERS_PROFILE_CREATE = 'providers.profile.create';
|
|
198
|
+
exports.PROVIDERS_PROFILE_EDIT = 'providers.profile.edit';
|
|
199
|
+
exports.PROVIDERS_PROFILE_CHANGE_STATUS = 'providers.profile.change_status';
|
|
200
|
+
exports.PROVIDERS_PROFILE_BLACKLIST = 'providers.profile.blacklist';
|
|
201
|
+
exports.PROVIDERS_PROFILE_VIEW = 'providers.profile.view';
|
|
202
|
+
exports.PROVIDERS_PROFILE_VIEW_BANK_INFO = 'providers.profile.view_bank_info';
|
|
203
|
+
exports.PROVIDERS_PROFILE_CHANGE_RISK = 'providers.profile.change_risk';
|
|
204
|
+
exports.PROVIDERS_CONTACTS_MANAGE = 'providers.contacts.manage';
|
|
205
|
+
exports.PROVIDERS_CONTACTS_VIEW = 'providers.contacts.view';
|
|
206
|
+
exports.PROVIDERS_CONTACTS_SET_PRIMARY = 'providers.contacts.set_primary';
|
|
207
|
+
exports.PROVIDERS_DEPS_MANAGE = 'providers.deps.manage';
|
|
208
|
+
exports.PROVIDERS_DEPS_VIEW = 'providers.deps.view';
|
|
209
|
+
exports.PROVIDERS_EVALS_SCHEDULE = 'providers.evals.schedule';
|
|
210
|
+
exports.PROVIDERS_EVALS_EXECUTE = 'providers.evals.execute';
|
|
211
|
+
exports.PROVIDERS_EVALS_CANCEL = 'providers.evals.cancel';
|
|
212
|
+
exports.PROVIDERS_EVALS_VIEW = 'providers.evals.view';
|
|
213
|
+
exports.PROVIDERS_RISKS_REGISTER = 'providers.risks.register';
|
|
214
|
+
exports.PROVIDERS_RISKS_EDIT = 'providers.risks.edit';
|
|
215
|
+
exports.PROVIDERS_RISKS_VIEW_MATRIX = 'providers.risks.view_matrix';
|
|
216
|
+
exports.PROVIDERS_RISKS_CREATE_PLAN = 'providers.risks.create_plan';
|
|
217
|
+
exports.PROVIDERS_RISKS_EXECUTE_ACTION = 'providers.risks.execute_action';
|
|
218
|
+
exports.PROVIDERS_RISKS_VIEW_PLANS = 'providers.risks.view_plans';
|
|
219
|
+
exports.PROVIDERS_SURVEYS_CREATE = 'providers.surveys.create';
|
|
220
|
+
exports.PROVIDERS_SURVEYS_EDIT_QUESTIONS = 'providers.surveys.edit_questions';
|
|
221
|
+
exports.PROVIDERS_SURVEYS_MANAGE_LIFECYCLE = 'providers.surveys.manage_lifecycle';
|
|
222
|
+
exports.PROVIDERS_SURVEYS_RESPOND = 'providers.surveys.respond';
|
|
223
|
+
exports.PROVIDERS_SURVEYS_VIEW = 'providers.surveys.view';
|
|
224
|
+
exports.PROVIDERS_INCIDENTS_REGISTER = 'providers.incidents.register';
|
|
225
|
+
exports.PROVIDERS_INCIDENTS_ASSIGN = 'providers.incidents.assign';
|
|
226
|
+
exports.PROVIDERS_INCIDENTS_MANAGE = 'providers.incidents.manage';
|
|
227
|
+
exports.PROVIDERS_INCIDENTS_CLOSE = 'providers.incidents.close';
|
|
228
|
+
exports.PROVIDERS_INCIDENTS_REOPEN = 'providers.incidents.reopen';
|
|
229
|
+
exports.PROVIDERS_INCIDENTS_VIEW = 'providers.incidents.view';
|
|
230
|
+
exports.PROVIDERS_REPORTS_GENERATE = 'providers.reports.generate';
|
|
231
|
+
exports.PROVIDERS_REPORTS_EVALUATIONS = 'providers.reports.evaluations';
|
|
232
|
+
exports.PROVIDERS_REPORTS_RISKS = 'providers.reports.risks';
|
|
233
|
+
exports.PROVIDERS_REPORTS_SURVEYS = 'providers.reports.surveys';
|
|
234
|
+
exports.PROVIDERS_REPORTS_INCIDENTS = 'providers.reports.incidents';
|
|
235
|
+
exports.PROVIDERS_REPORTS_VIEW = 'providers.reports.view';
|
|
236
|
+
/** Objeto de dominio Proveedores (agrupación, igual que los demás microservicios). */
|
|
237
|
+
exports.PROVEEDORES_PERMISSIONS = {
|
|
238
|
+
// providers.profile.*
|
|
239
|
+
PROVIDERS_PROFILE_CREATE: exports.PROVIDERS_PROFILE_CREATE,
|
|
240
|
+
PROVIDERS_PROFILE_EDIT: exports.PROVIDERS_PROFILE_EDIT,
|
|
241
|
+
PROVIDERS_PROFILE_CHANGE_STATUS: exports.PROVIDERS_PROFILE_CHANGE_STATUS,
|
|
242
|
+
PROVIDERS_PROFILE_BLACKLIST: exports.PROVIDERS_PROFILE_BLACKLIST,
|
|
243
|
+
PROVIDERS_PROFILE_VIEW: exports.PROVIDERS_PROFILE_VIEW,
|
|
244
|
+
PROVIDERS_PROFILE_VIEW_BANK_INFO: exports.PROVIDERS_PROFILE_VIEW_BANK_INFO,
|
|
245
|
+
PROVIDERS_PROFILE_CHANGE_RISK: exports.PROVIDERS_PROFILE_CHANGE_RISK,
|
|
246
|
+
// providers.contacts.*
|
|
247
|
+
PROVIDERS_CONTACTS_MANAGE: exports.PROVIDERS_CONTACTS_MANAGE,
|
|
248
|
+
PROVIDERS_CONTACTS_VIEW: exports.PROVIDERS_CONTACTS_VIEW,
|
|
249
|
+
PROVIDERS_CONTACTS_SET_PRIMARY: exports.PROVIDERS_CONTACTS_SET_PRIMARY,
|
|
250
|
+
// providers.deps.*
|
|
251
|
+
PROVIDERS_DEPS_MANAGE: exports.PROVIDERS_DEPS_MANAGE,
|
|
252
|
+
PROVIDERS_DEPS_VIEW: exports.PROVIDERS_DEPS_VIEW,
|
|
253
|
+
// providers.evals.*
|
|
254
|
+
PROVIDERS_EVALS_SCHEDULE: exports.PROVIDERS_EVALS_SCHEDULE,
|
|
255
|
+
PROVIDERS_EVALS_EXECUTE: exports.PROVIDERS_EVALS_EXECUTE,
|
|
256
|
+
PROVIDERS_EVALS_CANCEL: exports.PROVIDERS_EVALS_CANCEL,
|
|
257
|
+
PROVIDERS_EVALS_VIEW: exports.PROVIDERS_EVALS_VIEW,
|
|
258
|
+
// providers.risks.*
|
|
259
|
+
PROVIDERS_RISKS_REGISTER: exports.PROVIDERS_RISKS_REGISTER,
|
|
260
|
+
PROVIDERS_RISKS_EDIT: exports.PROVIDERS_RISKS_EDIT,
|
|
261
|
+
PROVIDERS_RISKS_VIEW_MATRIX: exports.PROVIDERS_RISKS_VIEW_MATRIX,
|
|
262
|
+
PROVIDERS_RISKS_CREATE_PLAN: exports.PROVIDERS_RISKS_CREATE_PLAN,
|
|
263
|
+
PROVIDERS_RISKS_EXECUTE_ACTION: exports.PROVIDERS_RISKS_EXECUTE_ACTION,
|
|
264
|
+
PROVIDERS_RISKS_VIEW_PLANS: exports.PROVIDERS_RISKS_VIEW_PLANS,
|
|
265
|
+
// providers.surveys.*
|
|
266
|
+
PROVIDERS_SURVEYS_CREATE: exports.PROVIDERS_SURVEYS_CREATE,
|
|
267
|
+
PROVIDERS_SURVEYS_EDIT_QUESTIONS: exports.PROVIDERS_SURVEYS_EDIT_QUESTIONS,
|
|
268
|
+
PROVIDERS_SURVEYS_MANAGE_LIFECYCLE: exports.PROVIDERS_SURVEYS_MANAGE_LIFECYCLE,
|
|
269
|
+
PROVIDERS_SURVEYS_RESPOND: exports.PROVIDERS_SURVEYS_RESPOND,
|
|
270
|
+
PROVIDERS_SURVEYS_VIEW: exports.PROVIDERS_SURVEYS_VIEW,
|
|
271
|
+
// providers.incidents.*
|
|
272
|
+
PROVIDERS_INCIDENTS_REGISTER: exports.PROVIDERS_INCIDENTS_REGISTER,
|
|
273
|
+
PROVIDERS_INCIDENTS_ASSIGN: exports.PROVIDERS_INCIDENTS_ASSIGN,
|
|
274
|
+
PROVIDERS_INCIDENTS_MANAGE: exports.PROVIDERS_INCIDENTS_MANAGE,
|
|
275
|
+
PROVIDERS_INCIDENTS_CLOSE: exports.PROVIDERS_INCIDENTS_CLOSE,
|
|
276
|
+
PROVIDERS_INCIDENTS_REOPEN: exports.PROVIDERS_INCIDENTS_REOPEN,
|
|
277
|
+
PROVIDERS_INCIDENTS_VIEW: exports.PROVIDERS_INCIDENTS_VIEW,
|
|
278
|
+
// providers.reports.*
|
|
279
|
+
PROVIDERS_REPORTS_GENERATE: exports.PROVIDERS_REPORTS_GENERATE,
|
|
280
|
+
PROVIDERS_REPORTS_EVALUATIONS: exports.PROVIDERS_REPORTS_EVALUATIONS,
|
|
281
|
+
PROVIDERS_REPORTS_RISKS: exports.PROVIDERS_REPORTS_RISKS,
|
|
282
|
+
PROVIDERS_REPORTS_SURVEYS: exports.PROVIDERS_REPORTS_SURVEYS,
|
|
283
|
+
PROVIDERS_REPORTS_INCIDENTS: exports.PROVIDERS_REPORTS_INCIDENTS,
|
|
284
|
+
PROVIDERS_REPORTS_VIEW: exports.PROVIDERS_REPORTS_VIEW,
|
|
285
|
+
};
|
|
286
|
+
// ======================= AGREGADOS Y TIPOS =======================
|
|
287
|
+
/** Todas las constantes agrupadas por dominio. */
|
|
288
|
+
exports.PERMISSIONS_BY_DOMAIN = {
|
|
289
|
+
Auth: exports.AUTH_PERMISSIONS,
|
|
290
|
+
Contratos: exports.CONTRATOS_PERMISSIONS,
|
|
291
|
+
Entregables: exports.ENTREGABLES_PERMISSIONS,
|
|
292
|
+
Facturacion: exports.FACTURACION_PERMISSIONS,
|
|
293
|
+
SLAs: exports.SLAS_PERMISSIONS,
|
|
294
|
+
Proveedores: exports.PROVEEDORES_PERMISSIONS,
|
|
295
|
+
};
|
|
296
|
+
/** Lista plana de los 169 codes (para validación de sincronización con Auth). */
|
|
297
|
+
exports.ALL_PERMISSION_CODES = [
|
|
298
|
+
...Object.values(exports.AUTH_PERMISSIONS),
|
|
299
|
+
...Object.values(exports.CONTRATOS_PERMISSIONS),
|
|
300
|
+
...Object.values(exports.ENTREGABLES_PERMISSIONS),
|
|
301
|
+
...Object.values(exports.FACTURACION_PERMISSIONS),
|
|
302
|
+
...Object.values(exports.SLAS_PERMISSIONS),
|
|
303
|
+
...Object.values(exports.PROVEEDORES_PERMISSIONS),
|
|
304
|
+
];
|
|
@@ -3,75 +3,75 @@
|
|
|
3
3
|
* Implements complete role hierarchy for client/provider contract management
|
|
4
4
|
*/
|
|
5
5
|
export declare const CONTRACTX_ROLES: {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
SUPERADMIN: string;
|
|
7
|
+
CLIENT_CONTRACT_ADMIN: string;
|
|
8
|
+
CLIENT_PERFORMANCE_RESP: string;
|
|
9
|
+
CLIENT_FINANCE_RESP: string;
|
|
10
|
+
CLIENT_REPORTS_RESP: string;
|
|
11
|
+
CLIENT_RELATIONSHIP_RESP: string;
|
|
12
|
+
CLIENT_RISK_RESP: string;
|
|
13
|
+
PROVIDER_CONTRACT_ADMIN: string;
|
|
14
|
+
PROVIDER_PERFORMANCE_RESP: string;
|
|
15
|
+
PROVIDER_FINANCE_RESP: string;
|
|
16
|
+
PROVIDER_REPORTS_RESP: string;
|
|
17
|
+
PROVIDER_RELATIONSHIP_RESP: string;
|
|
18
|
+
PROVIDER_RISK_RESP: string;
|
|
19
|
+
SUPPORT: string;
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
22
|
* ODS Role Hierarchy Levels - Exact hierarchy from Excel specification
|
|
23
23
|
* Higher numbers indicate higher privileges
|
|
24
24
|
*/
|
|
25
25
|
export declare const ROLE_HIERARCHY: {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
26
|
+
[CONTRACTX_ROLES.SUPERADMIN]: number;
|
|
27
|
+
[CONTRACTX_ROLES.SUPPORT]: number;
|
|
28
|
+
[CONTRACTX_ROLES.CLIENT_CONTRACT_ADMIN]: number;
|
|
29
|
+
[CONTRACTX_ROLES.CLIENT_PERFORMANCE_RESP]: number;
|
|
30
|
+
[CONTRACTX_ROLES.CLIENT_FINANCE_RESP]: number;
|
|
31
|
+
[CONTRACTX_ROLES.CLIENT_REPORTS_RESP]: number;
|
|
32
|
+
[CONTRACTX_ROLES.CLIENT_RELATIONSHIP_RESP]: number;
|
|
33
|
+
[CONTRACTX_ROLES.CLIENT_RISK_RESP]: number;
|
|
34
|
+
[CONTRACTX_ROLES.PROVIDER_CONTRACT_ADMIN]: number;
|
|
35
|
+
[CONTRACTX_ROLES.PROVIDER_PERFORMANCE_RESP]: number;
|
|
36
|
+
[CONTRACTX_ROLES.PROVIDER_FINANCE_RESP]: number;
|
|
37
|
+
[CONTRACTX_ROLES.PROVIDER_REPORTS_RESP]: number;
|
|
38
|
+
[CONTRACTX_ROLES.PROVIDER_RELATIONSHIP_RESP]: number;
|
|
39
|
+
[CONTRACTX_ROLES.PROVIDER_RISK_RESP]: number;
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
42
|
* Permission Categories for organization
|
|
43
43
|
*/
|
|
44
44
|
export declare const PERMISSION_CATEGORIES: {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
45
|
+
USER_MANAGEMENT: string;
|
|
46
|
+
ROLE_MANAGEMENT: string;
|
|
47
|
+
PERMISSION_MANAGEMENT: string;
|
|
48
|
+
CLIENT_MANAGEMENT: string;
|
|
49
|
+
PROVIDER_MANAGEMENT: string;
|
|
50
|
+
CONTRACT_MANAGEMENT: string;
|
|
51
|
+
DOCUMENT_MANAGEMENT: string;
|
|
52
|
+
DELIVERABLE_MANAGEMENT: string;
|
|
53
|
+
PERFORMANCE_MANAGEMENT: string;
|
|
54
|
+
FINANCIAL_MANAGEMENT: string;
|
|
55
|
+
COMMUNICATION_MANAGEMENT: string;
|
|
56
|
+
SYSTEM_ADMINISTRATION: string;
|
|
57
57
|
};
|
|
58
58
|
/**
|
|
59
59
|
* ODS Role Groups for easy assignment and management
|
|
60
60
|
*/
|
|
61
61
|
export declare const ROLE_GROUPS: {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
ADMIN_ROLES: string[];
|
|
63
|
+
CLIENT_ROLES: string[];
|
|
64
|
+
PROVIDER_ROLES: string[];
|
|
65
|
+
MANAGER_ROLES: string[];
|
|
66
|
+
VIEWER_ROLES: string[];
|
|
67
|
+
RESPONSIBILITY_ROLES: string[];
|
|
68
|
+
SYSTEM_ROLES: string[];
|
|
69
69
|
};
|
|
70
70
|
/**
|
|
71
71
|
* Module constants for metadata
|
|
72
72
|
*/
|
|
73
73
|
export declare const MODULE_CONSTANTS: {
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
MODULE_OPTIONS_TOKEN: string;
|
|
75
|
+
JWT_CONFIG_TOKEN: string;
|
|
76
76
|
};
|
|
77
77
|
//# sourceMappingURL=security.constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.constants.d.ts","sourceRoot":"","sources":["../../src/constants/security.constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"security.constants.d.ts","sourceRoot":"","sources":["../../src/constants/security.constants.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;CAmB3B,CAAC;AACF;;;GAGG;AACH,eAAO,MAAM,cAAc;IACvB,CAAC,eAAe,CAAC,UAAU,CAAC,SAAK;IACjC,CAAC,eAAe,CAAC,OAAO,CAAC,SAAI;IAE7B,CAAC,eAAe,CAAC,qBAAqB,CAAC,SAAI;IAC3C,CAAC,eAAe,CAAC,uBAAuB,CAAC,SAAI;IAC7C,CAAC,eAAe,CAAC,mBAAmB,CAAC,SAAI;IACzC,CAAC,eAAe,CAAC,mBAAmB,CAAC,SAAI;IACzC,CAAC,eAAe,CAAC,wBAAwB,CAAC,SAAI;IAC9C,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAI;IAEtC,CAAC,eAAe,CAAC,uBAAuB,CAAC,SAAI;IAC7C,CAAC,eAAe,CAAC,yBAAyB,CAAC,SAAI;IAC/C,CAAC,eAAe,CAAC,qBAAqB,CAAC,SAAI;IAC3C,CAAC,eAAe,CAAC,qBAAqB,CAAC,SAAI;IAC3C,CAAC,eAAe,CAAC,0BAA0B,CAAC,SAAI;IAChD,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAI;CAC3C,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;CAajC,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;CAkDvB,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MODULE_CONSTANTS = exports.ROLE_GROUPS = exports.PERMISSION_CATEGORIES = exports.ROLE_HIERARCHY = exports.CONTRACTX_ROLES = void 0;
|
|
2
4
|
// ===================================================================
|
|
3
5
|
// ContractX ODS (Operational Data Store) Security Constants
|
|
4
6
|
// ===================================================================
|
|
@@ -11,8 +13,6 @@
|
|
|
11
13
|
//
|
|
12
14
|
// Version: 2.0.0 - ODS Complete Implementation
|
|
13
15
|
// ===================================================================
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.MODULE_CONSTANTS = exports.ROLE_GROUPS = exports.PERMISSION_CATEGORIES = exports.ROLE_HIERARCHY = exports.CONTRACTX_ROLES = void 0;
|
|
16
16
|
/**
|
|
17
17
|
* ODS Roles - Exact 16 roles from Excel specification
|
|
18
18
|
* Implements complete role hierarchy for client/provider contract management
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { JwtPayload } from '../interfaces';
|
|
2
1
|
/**
|
|
3
2
|
* Parameter decorator to inject the current authenticated user into a route handler
|
|
4
3
|
*
|
|
@@ -8,66 +7,19 @@ import { JwtPayload } from '../interfaces';
|
|
|
8
7
|
*
|
|
9
8
|
* @example
|
|
10
9
|
* ```typescript
|
|
11
|
-
* // Get full user object
|
|
12
10
|
* @Get('profile')
|
|
13
11
|
* getProfile(@CurrentUser() user: JwtPayload) {
|
|
14
12
|
* return user;
|
|
15
13
|
* }
|
|
16
|
-
*
|
|
17
|
-
* // Get specific user property
|
|
18
|
-
* @Post('action')
|
|
19
|
-
* performAction(@CurrentUser('sub') userId: string) {
|
|
20
|
-
* // Only gets the user ID
|
|
21
|
-
* }
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
export declare const CurrentUser: (...dataOrPipes: (keyof JwtPayload | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>> | undefined)[]) => ParameterDecorator;
|
|
25
|
-
/**
|
|
26
|
-
* Decorator to get current user's ID
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* ```typescript
|
|
30
|
-
* @Post('create')
|
|
31
|
-
* createResource(@UserId() userId: string) {
|
|
32
|
-
* // Gets user.sub as userId
|
|
33
|
-
* }
|
|
34
14
|
* ```
|
|
35
15
|
*/
|
|
16
|
+
export declare const CurrentUser: (...dataOrPipes: (string | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
|
|
17
|
+
/** Decorator to get current user's ID */
|
|
36
18
|
export declare const UserId: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
|
37
|
-
/**
|
|
38
|
-
* Decorator to get current user's roles
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```typescript
|
|
42
|
-
* @Get('roles')
|
|
43
|
-
* getUserRoles(@UserRoles() roles: string[]) {
|
|
44
|
-
* return { roles };
|
|
45
|
-
* }
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
19
|
+
/** Decorator to get current user's roles */
|
|
48
20
|
export declare const UserRoles: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
|
49
|
-
/**
|
|
50
|
-
* Decorator to get current user's permissions
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* ```typescript
|
|
54
|
-
* @Get('permissions')
|
|
55
|
-
* getUserPermissions(@UserPermissions() permissions: string[]) {
|
|
56
|
-
* return { permissions };
|
|
57
|
-
* }
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
21
|
+
/** Decorator to get current user's permissions */
|
|
60
22
|
export declare const UserPermissions: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
|
61
|
-
/**
|
|
62
|
-
* Decorator to get current user's client ID
|
|
63
|
-
*
|
|
64
|
-
* @example
|
|
65
|
-
* ```typescript
|
|
66
|
-
* @Get('client-data')
|
|
67
|
-
* getClientData(@UserClientId() clientId: string) {
|
|
68
|
-
* // Gets user.clientId
|
|
69
|
-
* }
|
|
70
|
-
* ```
|
|
71
|
-
*/
|
|
23
|
+
/** Decorator to get current user's client ID */
|
|
72
24
|
export declare const UserClientId: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
|
73
25
|
//# sourceMappingURL=current-user.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"current-user.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/current-user.decorator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"current-user.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/current-user.decorator.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,yLAItB,CAAC;AAEH,yCAAyC;AACzC,eAAO,MAAM,MAAM,mDAGjB,CAAC;AAEH,4CAA4C;AAC5C,eAAO,MAAM,SAAS,mDAGpB,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,eAAe,mDAG1B,CAAC;AAEH,gDAAgD;AAChD,eAAO,MAAM,YAAY,mDAGvB,CAAC"}
|
|
@@ -11,17 +11,10 @@ const common_1 = require("@nestjs/common");
|
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
13
|
* ```typescript
|
|
14
|
-
* // Get full user object
|
|
15
14
|
* @Get('profile')
|
|
16
15
|
* getProfile(@CurrentUser() user: JwtPayload) {
|
|
17
16
|
* return user;
|
|
18
17
|
* }
|
|
19
|
-
*
|
|
20
|
-
* // Get specific user property
|
|
21
|
-
* @Post('action')
|
|
22
|
-
* performAction(@CurrentUser('sub') userId: string) {
|
|
23
|
-
* // Only gets the user ID
|
|
24
|
-
* }
|
|
25
18
|
* ```
|
|
26
19
|
*/
|
|
27
20
|
exports.CurrentUser = (0, common_1.createParamDecorator)((data, ctx) => {
|
|
@@ -29,62 +22,22 @@ exports.CurrentUser = (0, common_1.createParamDecorator)((data, ctx) => {
|
|
|
29
22
|
const user = request.user;
|
|
30
23
|
return data ? user?.[data] : user;
|
|
31
24
|
});
|
|
32
|
-
/**
|
|
33
|
-
* Decorator to get current user's ID
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```typescript
|
|
37
|
-
* @Post('create')
|
|
38
|
-
* createResource(@UserId() userId: string) {
|
|
39
|
-
* // Gets user.sub as userId
|
|
40
|
-
* }
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
25
|
+
/** Decorator to get current user's ID */
|
|
43
26
|
exports.UserId = (0, common_1.createParamDecorator)((_data, ctx) => {
|
|
44
27
|
const request = ctx.switchToHttp().getRequest();
|
|
45
28
|
return request.user?.sub;
|
|
46
29
|
});
|
|
47
|
-
/**
|
|
48
|
-
* Decorator to get current user's roles
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```typescript
|
|
52
|
-
* @Get('roles')
|
|
53
|
-
* getUserRoles(@UserRoles() roles: string[]) {
|
|
54
|
-
* return { roles };
|
|
55
|
-
* }
|
|
56
|
-
* ```
|
|
57
|
-
*/
|
|
30
|
+
/** Decorator to get current user's roles */
|
|
58
31
|
exports.UserRoles = (0, common_1.createParamDecorator)((_data, ctx) => {
|
|
59
32
|
const request = ctx.switchToHttp().getRequest();
|
|
60
33
|
return request.user?.role || [];
|
|
61
34
|
});
|
|
62
|
-
/**
|
|
63
|
-
* Decorator to get current user's permissions
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* ```typescript
|
|
67
|
-
* @Get('permissions')
|
|
68
|
-
* getUserPermissions(@UserPermissions() permissions: string[]) {
|
|
69
|
-
* return { permissions };
|
|
70
|
-
* }
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
35
|
+
/** Decorator to get current user's permissions */
|
|
73
36
|
exports.UserPermissions = (0, common_1.createParamDecorator)((_data, ctx) => {
|
|
74
37
|
const request = ctx.switchToHttp().getRequest();
|
|
75
38
|
return request.user?.permissions || [];
|
|
76
39
|
});
|
|
77
|
-
/**
|
|
78
|
-
* Decorator to get current user's client ID
|
|
79
|
-
*
|
|
80
|
-
* @example
|
|
81
|
-
* ```typescript
|
|
82
|
-
* @Get('client-data')
|
|
83
|
-
* getClientData(@UserClientId() clientId: string) {
|
|
84
|
-
* // Gets user.clientId
|
|
85
|
-
* }
|
|
86
|
-
* ```
|
|
87
|
-
*/
|
|
40
|
+
/** Decorator to get current user's client ID */
|
|
88
41
|
exports.UserClientId = (0, common_1.createParamDecorator)((_data, ctx) => {
|
|
89
42
|
const request = ctx.switchToHttp().getRequest();
|
|
90
43
|
return request.user?.clientId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC"}
|
package/dist/decorators/index.js
CHANGED
|
@@ -18,3 +18,4 @@ __exportStar(require("./public.decorator"), exports);
|
|
|
18
18
|
__exportStar(require("./roles.decorator"), exports);
|
|
19
19
|
__exportStar(require("./permissions.decorator"), exports);
|
|
20
20
|
__exportStar(require("./current-user.decorator"), exports);
|
|
21
|
+
__exportStar(require("./permission-writes.decorator"), exports);
|