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.
Files changed (87) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +53 -1346
  3. package/dist/constants/contractx-permissions.constants.d.ts +84 -92
  4. package/dist/constants/contractx-permissions.constants.d.ts.map +1 -1
  5. package/dist/constants/contractx-permissions.constants.js +2 -2
  6. package/dist/constants/contractx-roles.constants.d.ts +150 -254
  7. package/dist/constants/contractx-roles.constants.d.ts.map +1 -1
  8. package/dist/constants/contractx-roles.constants.js +2 -2
  9. package/dist/constants/index.d.ts +1 -0
  10. package/dist/constants/index.d.ts.map +1 -1
  11. package/dist/constants/index.js +1 -0
  12. package/dist/constants/permission-names.constants.d.ts +432 -0
  13. package/dist/constants/permission-names.constants.d.ts.map +1 -0
  14. package/dist/constants/permission-names.constants.js +304 -0
  15. package/dist/constants/security.constants.d.ts +49 -49
  16. package/dist/constants/security.constants.d.ts.map +1 -1
  17. package/dist/constants/security.constants.js +2 -2
  18. package/dist/decorators/current-user.decorator.d.ts +5 -53
  19. package/dist/decorators/current-user.decorator.d.ts.map +1 -1
  20. package/dist/decorators/current-user.decorator.js +4 -51
  21. package/dist/decorators/index.d.ts +1 -0
  22. package/dist/decorators/index.d.ts.map +1 -1
  23. package/dist/decorators/index.js +1 -0
  24. package/dist/decorators/permission-writes.decorator.d.ts +14 -0
  25. package/dist/decorators/permission-writes.decorator.d.ts.map +1 -0
  26. package/dist/decorators/permission-writes.decorator.js +18 -0
  27. package/dist/decorators/permissions.decorator.d.ts +0 -58
  28. package/dist/decorators/permissions.decorator.d.ts.map +1 -1
  29. package/dist/decorators/permissions.decorator.js +0 -58
  30. package/dist/decorators/public.decorator.d.ts +0 -0
  31. package/dist/decorators/public.decorator.d.ts.map +0 -0
  32. package/dist/decorators/public.decorator.js +0 -0
  33. package/dist/decorators/roles.decorator.d.ts +4 -57
  34. package/dist/decorators/roles.decorator.d.ts.map +1 -1
  35. package/dist/decorators/roles.decorator.js +6 -57
  36. package/dist/guards/authorization.guard.d.ts +37 -0
  37. package/dist/guards/authorization.guard.d.ts.map +1 -0
  38. package/dist/guards/authorization.guard.js +150 -0
  39. package/dist/guards/index.d.ts +1 -0
  40. package/dist/guards/index.d.ts.map +1 -1
  41. package/dist/guards/index.js +1 -0
  42. package/dist/guards/jwt-auth.guard.d.ts +0 -0
  43. package/dist/guards/jwt-auth.guard.d.ts.map +1 -1
  44. package/dist/guards/jwt-auth.guard.js +0 -0
  45. package/dist/guards/permissions.guard.d.ts +0 -0
  46. package/dist/guards/permissions.guard.d.ts.map +1 -1
  47. package/dist/guards/permissions.guard.js +8 -2
  48. package/dist/guards/roles.guard.d.ts +0 -0
  49. package/dist/guards/roles.guard.d.ts.map +1 -1
  50. package/dist/guards/roles.guard.js +1 -1
  51. package/dist/index.d.ts +0 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +0 -6
  54. package/dist/interfaces/index.d.ts +1 -0
  55. package/dist/interfaces/index.d.ts.map +1 -1
  56. package/dist/interfaces/index.js +1 -0
  57. package/dist/interfaces/jwt-payload.interface.d.ts +46 -9
  58. package/dist/interfaces/jwt-payload.interface.d.ts.map +1 -1
  59. package/dist/interfaces/jwt-payload.interface.js +19 -0
  60. package/dist/interfaces/permission-mode.enum.d.ts +22 -0
  61. package/dist/interfaces/permission-mode.enum.d.ts.map +1 -0
  62. package/dist/interfaces/permission-mode.enum.js +25 -0
  63. package/dist/modules/index.d.ts +0 -0
  64. package/dist/modules/index.d.ts.map +0 -0
  65. package/dist/modules/index.js +0 -0
  66. package/dist/modules/permissions-contractx.module.d.ts +0 -0
  67. package/dist/modules/permissions-contractx.module.d.ts.map +1 -1
  68. package/dist/modules/permissions-contractx.module.js +4 -2
  69. package/dist/services/contractx-authorization.service.d.ts +198 -27
  70. package/dist/services/contractx-authorization.service.d.ts.map +1 -1
  71. package/dist/services/contractx-authorization.service.js +2 -0
  72. package/dist/services/contractx-validation.service.d.ts +93 -12
  73. package/dist/services/contractx-validation.service.d.ts.map +1 -1
  74. package/dist/services/contractx-validation.service.js +1 -0
  75. package/dist/services/index.d.ts +0 -2
  76. package/dist/services/index.d.ts.map +1 -1
  77. package/dist/services/index.js +2 -0
  78. package/dist/services/user-context.service.d.ts +29 -34
  79. package/dist/services/user-context.service.d.ts.map +1 -1
  80. package/dist/services/user-context.service.js +65 -44
  81. package/package.json +5 -24
  82. package/dist/services/contractx-document-compliance.service.d.ts +0 -85
  83. package/dist/services/contractx-document-compliance.service.d.ts.map +0 -1
  84. package/dist/services/contractx-document-compliance.service.js +0 -536
  85. package/dist/test-document-compliance.d.ts +0 -7
  86. package/dist/test-document-compliance.d.ts.map +0 -1
  87. package/dist/test-document-compliance.js +0 -118
@@ -1,118 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /**
4
- * Test script to validate permissions-contractx package compliance with PermisosRoles.odt document
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.testDocumentCompliance = main;
8
- const contractx_document_compliance_service_1 = require("./services/contractx-document-compliance.service");
9
- const common_1 = require("@nestjs/common");
10
- // Mock Logger for standalone script
11
- const mockLogger = {
12
- log: console.log,
13
- error: console.error,
14
- warn: console.warn,
15
- debug: console.debug,
16
- verbose: console.log
17
- };
18
- // Override NestJS Logger
19
- Object.setPrototypeOf(common_1.Logger.prototype, mockLogger);
20
- async function main() {
21
- console.log('šŸ” ContractX Package Document Compliance Validation');
22
- console.log('===================================================\n');
23
- const complianceService = new contractx_document_compliance_service_1.ContractXDocumentComplianceService();
24
- try {
25
- console.log('šŸ“‹ Validating package compliance with PermisosRoles.odt document...\n');
26
- const validationResult = await complianceService.validateDocumentCompliance();
27
- // Generate and display report
28
- const report = complianceService.generateComplianceReport(validationResult);
29
- console.log(report);
30
- // Summary
31
- console.log('\nšŸŽÆ COMPLIANCE SUMMARY:');
32
- console.log('=======================');
33
- console.log(`Overall Compliance: ${validationResult.isCompliant ? 'āœ… PASSED' : 'āŒ FAILED'}`);
34
- console.log(`Compliant Roles: ${validationResult.summary.compliantRoles.length}/${validationResult.summary.totalRoles}`);
35
- console.log(`Validated Permissions: ${validationResult.summary.validatedPermissions}`);
36
- console.log(`Warnings: ${validationResult.warnings.length}`);
37
- console.log(`Errors: ${validationResult.errors.length}`);
38
- if (!validationResult.isCompliant) {
39
- console.log('\nāŒ NON-COMPLIANT ROLES:');
40
- validationResult.summary.nonCompliantRoles.forEach(role => {
41
- const analysis = validationResult.roleAnalysis.find(a => a.role === role);
42
- if (analysis) {
43
- console.log(` • ${role}:`);
44
- if (analysis.missingPermissions.length > 0) {
45
- console.log(` Missing: ${analysis.missingPermissions.length} permissions`);
46
- }
47
- if (analysis.extraPermissions.length > 0) {
48
- console.log(` Extra: ${analysis.extraPermissions.length} permissions`);
49
- }
50
- }
51
- });
52
- }
53
- // Detailed analysis for key roles
54
- console.log('\nšŸ” KEY ROLE ANALYSIS:');
55
- console.log('=====================');
56
- const keyRoles = [
57
- 'superadmin',
58
- 'support',
59
- 'client_contract_admin',
60
- 'provider_contract_admin',
61
- 'client_reports_manager',
62
- 'provider_finance_manager'
63
- ];
64
- keyRoles.forEach(role => {
65
- const analysis = validationResult.roleAnalysis.find(a => a.role === role);
66
- if (analysis) {
67
- const status = analysis.isCompliant ? 'āœ…' : 'āŒ';
68
- console.log(`${status} ${role}: ${analysis.expectedPermissions.length} expected, ${analysis.actualPermissions.length} actual`);
69
- if (!analysis.isCompliant) {
70
- if (analysis.missingPermissions.length > 0) {
71
- console.log(` Missing (${analysis.missingPermissions.length}): ${analysis.missingPermissions.slice(0, 3).join(', ')}${analysis.missingPermissions.length > 3 ? '...' : ''}`);
72
- }
73
- if (analysis.extraPermissions.length > 0) {
74
- console.log(` Extra (${analysis.extraPermissions.length}): ${analysis.extraPermissions.slice(0, 3).join(', ')}${analysis.extraPermissions.length > 3 ? '...' : ''}`);
75
- }
76
- }
77
- }
78
- });
79
- // Module coverage analysis
80
- console.log('\nšŸ“Š MODULE COVERAGE:');
81
- console.log('===================');
82
- const coverageStats = {
83
- covered: validationResult.modulesCoverage.filter(m => m.covered).length,
84
- total: validationResult.modulesCoverage.length
85
- };
86
- console.log(`Modules covered: ${coverageStats.covered}/${coverageStats.total}`);
87
- // Show uncovered modules if any
88
- const uncoveredModules = validationResult.modulesCoverage.filter(m => !m.covered);
89
- if (uncoveredModules.length > 0) {
90
- console.log('Uncovered modules:');
91
- uncoveredModules.forEach(module => {
92
- console.log(` āŒ ${module.module}`);
93
- });
94
- }
95
- // Final assessment
96
- console.log('\nšŸŽÆ FINAL ASSESSMENT:');
97
- console.log('====================');
98
- if (validationResult.isCompliant) {
99
- console.log('āœ… The permissions-contractx package is FULLY COMPLIANT with the PermisosRoles.odt document.');
100
- console.log('āœ… All role permissions match the documented requirements.');
101
- console.log('āœ… The package can be confidently used for JWT token validation.');
102
- }
103
- else {
104
- console.log('āŒ The permissions-contractx package has COMPLIANCE ISSUES with the PermisosRoles.odt document.');
105
- console.log('āŒ Some role permissions do not match the documented requirements.');
106
- console.log('āš ļø Review and fix the non-compliant roles before using for JWT validation.');
107
- }
108
- process.exit(validationResult.isCompliant ? 0 : 1);
109
- }
110
- catch (error) {
111
- console.error('āŒ Error during compliance validation:', error);
112
- process.exit(1);
113
- }
114
- }
115
- // Run the validation
116
- if (require.main === module) {
117
- main().catch(console.error);
118
- }