@lenne.tech/nest-server 11.16.1 → 11.18.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 (113) hide show
  1. package/dist/config.env.js +8 -2
  2. package/dist/config.env.js.map +1 -1
  3. package/dist/core/common/decorators/response-model.decorator.d.ts +3 -0
  4. package/dist/core/common/decorators/response-model.decorator.js +8 -0
  5. package/dist/core/common/decorators/response-model.decorator.js.map +1 -0
  6. package/dist/core/common/helpers/db.helper.js +2 -2
  7. package/dist/core/common/helpers/db.helper.js.map +1 -1
  8. package/dist/core/common/helpers/filter.helper.js +3 -3
  9. package/dist/core/common/helpers/filter.helper.js.map +1 -1
  10. package/dist/core/common/helpers/input.helper.js +2 -2
  11. package/dist/core/common/helpers/input.helper.js.map +1 -1
  12. package/dist/core/common/helpers/interceptor.helper.d.ts +3 -0
  13. package/dist/core/common/helpers/interceptor.helper.js +84 -0
  14. package/dist/core/common/helpers/interceptor.helper.js.map +1 -0
  15. package/dist/core/common/helpers/service.helper.d.ts +1 -0
  16. package/dist/core/common/helpers/service.helper.js +1 -0
  17. package/dist/core/common/helpers/service.helper.js.map +1 -1
  18. package/dist/core/common/interceptors/check-security.interceptor.d.ts +2 -0
  19. package/dist/core/common/interceptors/check-security.interceptor.js +43 -1
  20. package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -1
  21. package/dist/core/common/interceptors/response-model.interceptor.d.ts +13 -0
  22. package/dist/core/common/interceptors/response-model.interceptor.js +107 -0
  23. package/dist/core/common/interceptors/response-model.interceptor.js.map +1 -0
  24. package/dist/core/common/interceptors/translate-response.interceptor.d.ts +8 -0
  25. package/dist/core/common/interceptors/translate-response.interceptor.js +85 -0
  26. package/dist/core/common/interceptors/translate-response.interceptor.js.map +1 -0
  27. package/dist/core/common/interfaces/server-options.interface.d.ts +16 -0
  28. package/dist/core/common/middleware/request-context.middleware.d.ts +5 -0
  29. package/dist/core/common/middleware/request-context.middleware.js +29 -0
  30. package/dist/core/common/middleware/request-context.middleware.js.map +1 -0
  31. package/dist/core/common/pipes/map-and-validate.pipe.js +2 -2
  32. package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -1
  33. package/dist/core/common/plugins/complexity.plugin.d.ts +2 -2
  34. package/dist/core/common/plugins/mongoose-audit-fields.plugin.d.ts +1 -0
  35. package/dist/core/common/plugins/mongoose-audit-fields.plugin.js +51 -0
  36. package/dist/core/common/plugins/mongoose-audit-fields.plugin.js.map +1 -0
  37. package/dist/core/common/plugins/mongoose-password.plugin.d.ts +4 -0
  38. package/dist/core/common/plugins/mongoose-password.plugin.js +69 -0
  39. package/dist/core/common/plugins/mongoose-password.plugin.js.map +1 -0
  40. package/dist/core/common/plugins/mongoose-role-guard.plugin.d.ts +1 -0
  41. package/dist/core/common/plugins/mongoose-role-guard.plugin.js +80 -0
  42. package/dist/core/common/plugins/mongoose-role-guard.plugin.js.map +1 -0
  43. package/dist/core/common/services/config.service.js +2 -2
  44. package/dist/core/common/services/config.service.js.map +1 -1
  45. package/dist/core/common/services/model-registry.service.d.ts +8 -0
  46. package/dist/core/common/services/model-registry.service.js +20 -0
  47. package/dist/core/common/services/model-registry.service.js.map +1 -0
  48. package/dist/core/common/services/module.service.d.ts +2 -0
  49. package/dist/core/common/services/module.service.js +36 -1
  50. package/dist/core/common/services/module.service.js.map +1 -1
  51. package/dist/core/common/services/request-context.service.d.ts +18 -0
  52. package/dist/core/common/services/request-context.service.js +32 -0
  53. package/dist/core/common/services/request-context.service.js.map +1 -0
  54. package/dist/core/modules/auth/guards/auth.guard.js +2 -2
  55. package/dist/core/modules/auth/guards/auth.guard.js.map +1 -1
  56. package/dist/core/modules/better-auth/core-better-auth.resolver.js +2 -2
  57. package/dist/core/modules/better-auth/core-better-auth.resolver.js.map +1 -1
  58. package/dist/core/modules/permissions/core-permissions.controller.d.ts +13 -0
  59. package/dist/core/modules/permissions/core-permissions.controller.js +71 -0
  60. package/dist/core/modules/permissions/core-permissions.controller.js.map +1 -0
  61. package/dist/core/modules/permissions/core-permissions.module.d.ts +5 -0
  62. package/dist/core/modules/permissions/core-permissions.module.js +36 -0
  63. package/dist/core/modules/permissions/core-permissions.module.js.map +1 -0
  64. package/dist/core/modules/permissions/core-permissions.service.d.ts +34 -0
  65. package/dist/core/modules/permissions/core-permissions.service.js +610 -0
  66. package/dist/core/modules/permissions/core-permissions.service.js.map +1 -0
  67. package/dist/core/modules/permissions/interfaces/permissions.interface.d.ts +93 -0
  68. package/dist/core/modules/permissions/interfaces/permissions.interface.js +3 -0
  69. package/dist/core/modules/permissions/interfaces/permissions.interface.js.map +1 -0
  70. package/dist/core/modules/permissions/permissions-scanner.d.ts +25 -0
  71. package/dist/core/modules/permissions/permissions-scanner.js +817 -0
  72. package/dist/core/modules/permissions/permissions-scanner.js.map +1 -0
  73. package/dist/core.module.js +41 -0
  74. package/dist/core.module.js.map +1 -1
  75. package/dist/index.d.ts +15 -0
  76. package/dist/index.js +15 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/server/modules/file/file-info.model.d.ts +12 -12
  79. package/dist/server/modules/user/user.model.d.ts +33 -33
  80. package/dist/tsconfig.build.tsbuildinfo +1 -1
  81. package/package.json +35 -30
  82. package/src/config.env.ts +8 -2
  83. package/src/core/common/decorators/response-model.decorator.ts +31 -0
  84. package/src/core/common/helpers/db.helper.ts +2 -2
  85. package/src/core/common/helpers/filter.helper.ts +3 -3
  86. package/src/core/common/helpers/input.helper.ts +2 -2
  87. package/src/core/common/helpers/interceptor.helper.ts +132 -0
  88. package/src/core/common/helpers/service.helper.ts +1 -1
  89. package/src/core/common/interceptors/check-security.interceptor.ts +44 -1
  90. package/src/core/common/interceptors/response-model.interceptor.ts +135 -0
  91. package/src/core/common/interceptors/translate-response.interceptor.ts +104 -0
  92. package/src/core/common/interfaces/server-options.interface.ts +186 -0
  93. package/src/core/common/middleware/request-context.middleware.ts +25 -0
  94. package/src/core/common/pipes/map-and-validate.pipe.ts +2 -2
  95. package/src/core/common/plugins/complexity.plugin.ts +2 -2
  96. package/src/core/common/plugins/mongoose-audit-fields.plugin.ts +74 -0
  97. package/src/core/common/plugins/mongoose-password.plugin.ts +100 -0
  98. package/src/core/common/plugins/mongoose-role-guard.plugin.ts +150 -0
  99. package/src/core/common/services/config.service.ts +2 -2
  100. package/src/core/common/services/model-registry.service.ts +25 -0
  101. package/src/core/common/services/module.service.ts +91 -1
  102. package/src/core/common/services/request-context.service.ts +69 -0
  103. package/src/core/modules/auth/guards/auth.guard.ts +2 -2
  104. package/src/core/modules/better-auth/core-better-auth.resolver.ts +2 -2
  105. package/src/core/modules/permissions/INTEGRATION-CHECKLIST.md +56 -0
  106. package/src/core/modules/permissions/README.md +102 -0
  107. package/src/core/modules/permissions/core-permissions.controller.ts +34 -0
  108. package/src/core/modules/permissions/core-permissions.module.ts +36 -0
  109. package/src/core/modules/permissions/core-permissions.service.ts +627 -0
  110. package/src/core/modules/permissions/interfaces/permissions.interface.ts +125 -0
  111. package/src/core/modules/permissions/permissions-scanner.ts +1011 -0
  112. package/src/core.module.ts +62 -4
  113. package/src/index.ts +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions-scanner.js","sourceRoot":"","sources":["../../../../src/core/modules/permissions/permissions-scanner.ts"],"names":[],"mappings":"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"}
@@ -18,9 +18,15 @@ const mongoose_2 = require("mongoose");
18
18
  const config_helper_1 = require("./core/common/helpers/config.helper");
19
19
  const check_response_interceptor_1 = require("./core/common/interceptors/check-response.interceptor");
20
20
  const check_security_interceptor_1 = require("./core/common/interceptors/check-security.interceptor");
21
+ const response_model_interceptor_1 = require("./core/common/interceptors/response-model.interceptor");
22
+ const translate_response_interceptor_1 = require("./core/common/interceptors/translate-response.interceptor");
23
+ const request_context_middleware_1 = require("./core/common/middleware/request-context.middleware");
21
24
  const map_and_validate_pipe_1 = require("./core/common/pipes/map-and-validate.pipe");
22
25
  const complexity_plugin_1 = require("./core/common/plugins/complexity.plugin");
23
26
  const mongoose_id_plugin_1 = require("./core/common/plugins/mongoose-id.plugin");
27
+ const mongoose_audit_fields_plugin_1 = require("./core/common/plugins/mongoose-audit-fields.plugin");
28
+ const mongoose_password_plugin_1 = require("./core/common/plugins/mongoose-password.plugin");
29
+ const mongoose_role_guard_plugin_1 = require("./core/common/plugins/mongoose-role-guard.plugin");
24
30
  const config_service_1 = require("./core/common/services/config.service");
25
31
  const email_service_1 = require("./core/common/services/email.service");
26
32
  const mailjet_service_1 = require("./core/common/services/mailjet.service");
@@ -31,11 +37,13 @@ const core_better_auth_module_1 = require("./core/modules/better-auth/core-bette
31
37
  const core_better_auth_service_1 = require("./core/modules/better-auth/core-better-auth.service");
32
38
  const error_code_module_1 = require("./core/modules/error-code/error-code.module");
33
39
  const core_health_check_module_1 = require("./core/modules/health-check/core-health-check.module");
40
+ const core_permissions_module_1 = require("./core/modules/permissions/core-permissions.module");
34
41
  const core_system_setup_module_1 = require("./core/modules/system-setup/core-system-setup.module");
35
42
  let CoreModule = class CoreModule {
36
43
  static { CoreModule_1 = this; }
37
44
  static graphQlEnabled = true;
38
45
  configure(consumer) {
46
+ consumer.apply(request_context_middleware_1.RequestContextMiddleware).forRoutes('*');
39
47
  if (CoreModule_1.graphQlEnabled) {
40
48
  consumer.apply(graphqlUploadExpress()).forRoutes('graphql');
41
49
  }
@@ -96,6 +104,23 @@ let CoreModule = class CoreModule {
96
104
  },
97
105
  port: 3000,
98
106
  }, options);
107
+ const originalConnectionFactory = config.mongoose?.options?.connectionFactory;
108
+ config.mongoose.options = config.mongoose.options || {};
109
+ config.mongoose.options.connectionFactory = (connection, name) => {
110
+ if (originalConnectionFactory) {
111
+ connection = originalConnectionFactory(connection, name);
112
+ }
113
+ if (config.security?.mongoosePasswordPlugin !== false) {
114
+ connection.plugin(mongoose_password_plugin_1.mongoosePasswordPlugin);
115
+ }
116
+ if (config.security?.mongooseRoleGuardPlugin !== false) {
117
+ connection.plugin(mongoose_role_guard_plugin_1.mongooseRoleGuardPlugin);
118
+ }
119
+ if (config.security?.mongooseAuditFieldsPlugin !== false) {
120
+ connection.plugin(mongoose_audit_fields_plugin_1.mongooseAuditFieldsPlugin);
121
+ }
122
+ return connection;
123
+ };
99
124
  const jwtConfig = config.jwt;
100
125
  if (jwtConfig?.secret && jwtConfig.secret && jwtConfig.refresh && jwtConfig.refresh.secret === jwtConfig.secret) {
101
126
  console.warn('JWT secret and refresh secret are equal, this can lead to security vulnerabilities!');
@@ -130,6 +155,18 @@ let CoreModule = class CoreModule {
130
155
  useClass: map_and_validate_pipe_1.MapAndValidatePipe,
131
156
  });
132
157
  }
158
+ if (config.security?.translateResponseInterceptor !== false) {
159
+ providers.push({
160
+ provide: core_1.APP_INTERCEPTOR,
161
+ useClass: translate_response_interceptor_1.TranslateResponseInterceptor,
162
+ });
163
+ }
164
+ if (config.security?.responseModelInterceptor !== false) {
165
+ providers.push({
166
+ provide: core_1.APP_INTERCEPTOR,
167
+ useClass: response_model_interceptor_1.ResponseModelInterceptor,
168
+ });
169
+ }
133
170
  if (config.mongoose?.modelDocumentation) {
134
171
  providers.push(model_doc_service_1.ModelDocService);
135
172
  }
@@ -148,6 +185,10 @@ let CoreModule = class CoreModule {
148
185
  if (config.healthCheck) {
149
186
  imports.push(core_health_check_module_1.CoreHealthCheckModule);
150
187
  }
188
+ const permissionsConfig = config.permissions;
189
+ if (permissionsConfig === true || (typeof permissionsConfig === 'object' && permissionsConfig.enabled !== false)) {
190
+ imports.push(core_permissions_module_1.CorePermissionsModule.forRoot(permissionsConfig));
191
+ }
151
192
  const betterAuthConfig = config.betterAuth;
152
193
  const isExplicitlyDisabled = betterAuthConfig === false || (typeof betterAuthConfig === 'object' && betterAuthConfig?.enabled === false);
153
194
  const isExplicitlyEnabled = betterAuthConfig === true || (typeof betterAuthConfig === 'object' && betterAuthConfig?.enabled !== false);
@@ -1 +1 @@
1
- {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export * from './core/common/decorators/graphql-service-options.decorator';
9
9
  export * from './core/common/decorators/graphql-user.decorator';
10
10
  export * from './core/common/decorators/rest-service-options.decorator';
11
11
  export * from './core/common/decorators/rest-user.decorator';
12
+ export * from './core/common/decorators/response-model.decorator';
12
13
  export * from './core/common/decorators/restricted.decorator';
13
14
  export * from './core/common/decorators/roles.decorator';
14
15
  export * from './core/common/decorators/translatable.decorator';
@@ -27,6 +28,7 @@ export * from './core/common/helpers/decorator.helper';
27
28
  export * from './core/common/helpers/file.helper';
28
29
  export * from './core/common/helpers/filter.helper';
29
30
  export * from './core/common/helpers/graphql.helper';
31
+ export * from './core/common/helpers/interceptor.helper';
30
32
  export * from './core/common/helpers/gridfs.helper';
31
33
  export * from './core/common/helpers/input.helper';
32
34
  export * from './core/common/helpers/logging.helper';
@@ -42,6 +44,8 @@ export * from './core/common/inputs/single-filter.input';
42
44
  export * from './core/common/inputs/sort.input';
43
45
  export * from './core/common/interceptors/check-response.interceptor';
44
46
  export * from './core/common/interceptors/check-security.interceptor';
47
+ export * from './core/common/interceptors/response-model.interceptor';
48
+ export * from './core/common/interceptors/translate-response.interceptor';
45
49
  export * from './core/common/interfaces/core-persistence-model.interface';
46
50
  export * from './core/common/interfaces/cron-job-config-with-time-zone.interface';
47
51
  export * from './core/common/interfaces/cron-job-config-with-utc-offset.interface';
@@ -52,6 +56,7 @@ export * from './core/common/interfaces/prepare-output-options.interface';
52
56
  export * from './core/common/interfaces/resolve-selector.interface';
53
57
  export * from './core/common/interfaces/server-options.interface';
54
58
  export * from './core/common/interfaces/service-options.interface';
59
+ export * from './core/common/middleware/request-context.middleware';
55
60
  export * from './core/common/middlewares/to-lower-case.middleware';
56
61
  export * from './core/common/models/core-model.model';
57
62
  export * from './core/common/models/core-persistence.model';
@@ -60,6 +65,9 @@ export * from './core/common/pipes/check-input.pipe';
60
65
  export * from './core/common/pipes/map-and-validate.pipe';
61
66
  export * from './core/common/plugins/complexity.plugin';
62
67
  export * from './core/common/plugins/mongoose-id.plugin';
68
+ export * from './core/common/plugins/mongoose-audit-fields.plugin';
69
+ export * from './core/common/plugins/mongoose-password.plugin';
70
+ export * from './core/common/plugins/mongoose-role-guard.plugin';
63
71
  export * from './core/common/scalars/any.scalar';
64
72
  export * from './core/common/scalars/date-timestamp.scalar';
65
73
  export * from './core/common/scalars/date.scalar';
@@ -71,7 +79,9 @@ export * from './core/common/services/crud.service';
71
79
  export * from './core/common/services/email.service';
72
80
  export * from './core/common/services/mailjet.service';
73
81
  export * from './core/common/services/model-doc.service';
82
+ export * from './core/common/services/model-registry.service';
74
83
  export * from './core/common/services/module.service';
84
+ export * from './core/common/services/request-context.service';
75
85
  export * from './core/common/services/template.service';
76
86
  export * from './core/common/types/array-element.type';
77
87
  export * from './core/common/types/core-model-constructor.type';
@@ -129,6 +139,11 @@ export * from './core/modules/health-check/core-health-check.module';
129
139
  export * from './core/modules/health-check/core-health-check.resolver';
130
140
  export * from './core/modules/health-check/core-health-check.service';
131
141
  export * from './core/modules/migrate';
142
+ export * from './core/modules/permissions/core-permissions.controller';
143
+ export * from './core/modules/permissions/core-permissions.module';
144
+ export * from './core/modules/permissions/core-permissions.service';
145
+ export * from './core/modules/permissions/interfaces/permissions.interface';
146
+ export * from './core/modules/permissions/permissions-scanner';
132
147
  export * from './core/modules/system-setup/core-system-setup.controller';
133
148
  export * from './core/modules/system-setup/core-system-setup.module';
134
149
  export * from './core/modules/system-setup/core-system-setup.service';
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ __exportStar(require("./core/common/decorators/graphql-service-options.decorator
24
24
  __exportStar(require("./core/common/decorators/graphql-user.decorator"), exports);
25
25
  __exportStar(require("./core/common/decorators/rest-service-options.decorator"), exports);
26
26
  __exportStar(require("./core/common/decorators/rest-user.decorator"), exports);
27
+ __exportStar(require("./core/common/decorators/response-model.decorator"), exports);
27
28
  __exportStar(require("./core/common/decorators/restricted.decorator"), exports);
28
29
  __exportStar(require("./core/common/decorators/roles.decorator"), exports);
29
30
  __exportStar(require("./core/common/decorators/translatable.decorator"), exports);
@@ -42,6 +43,7 @@ __exportStar(require("./core/common/helpers/decorator.helper"), exports);
42
43
  __exportStar(require("./core/common/helpers/file.helper"), exports);
43
44
  __exportStar(require("./core/common/helpers/filter.helper"), exports);
44
45
  __exportStar(require("./core/common/helpers/graphql.helper"), exports);
46
+ __exportStar(require("./core/common/helpers/interceptor.helper"), exports);
45
47
  __exportStar(require("./core/common/helpers/gridfs.helper"), exports);
46
48
  __exportStar(require("./core/common/helpers/input.helper"), exports);
47
49
  __exportStar(require("./core/common/helpers/logging.helper"), exports);
@@ -57,6 +59,8 @@ __exportStar(require("./core/common/inputs/single-filter.input"), exports);
57
59
  __exportStar(require("./core/common/inputs/sort.input"), exports);
58
60
  __exportStar(require("./core/common/interceptors/check-response.interceptor"), exports);
59
61
  __exportStar(require("./core/common/interceptors/check-security.interceptor"), exports);
62
+ __exportStar(require("./core/common/interceptors/response-model.interceptor"), exports);
63
+ __exportStar(require("./core/common/interceptors/translate-response.interceptor"), exports);
60
64
  __exportStar(require("./core/common/interfaces/core-persistence-model.interface"), exports);
61
65
  __exportStar(require("./core/common/interfaces/cron-job-config-with-time-zone.interface"), exports);
62
66
  __exportStar(require("./core/common/interfaces/cron-job-config-with-utc-offset.interface"), exports);
@@ -67,6 +71,7 @@ __exportStar(require("./core/common/interfaces/prepare-output-options.interface"
67
71
  __exportStar(require("./core/common/interfaces/resolve-selector.interface"), exports);
68
72
  __exportStar(require("./core/common/interfaces/server-options.interface"), exports);
69
73
  __exportStar(require("./core/common/interfaces/service-options.interface"), exports);
74
+ __exportStar(require("./core/common/middleware/request-context.middleware"), exports);
70
75
  __exportStar(require("./core/common/middlewares/to-lower-case.middleware"), exports);
71
76
  __exportStar(require("./core/common/models/core-model.model"), exports);
72
77
  __exportStar(require("./core/common/models/core-persistence.model"), exports);
@@ -75,6 +80,9 @@ __exportStar(require("./core/common/pipes/check-input.pipe"), exports);
75
80
  __exportStar(require("./core/common/pipes/map-and-validate.pipe"), exports);
76
81
  __exportStar(require("./core/common/plugins/complexity.plugin"), exports);
77
82
  __exportStar(require("./core/common/plugins/mongoose-id.plugin"), exports);
83
+ __exportStar(require("./core/common/plugins/mongoose-audit-fields.plugin"), exports);
84
+ __exportStar(require("./core/common/plugins/mongoose-password.plugin"), exports);
85
+ __exportStar(require("./core/common/plugins/mongoose-role-guard.plugin"), exports);
78
86
  __exportStar(require("./core/common/scalars/any.scalar"), exports);
79
87
  __exportStar(require("./core/common/scalars/date-timestamp.scalar"), exports);
80
88
  __exportStar(require("./core/common/scalars/date.scalar"), exports);
@@ -86,7 +94,9 @@ __exportStar(require("./core/common/services/crud.service"), exports);
86
94
  __exportStar(require("./core/common/services/email.service"), exports);
87
95
  __exportStar(require("./core/common/services/mailjet.service"), exports);
88
96
  __exportStar(require("./core/common/services/model-doc.service"), exports);
97
+ __exportStar(require("./core/common/services/model-registry.service"), exports);
89
98
  __exportStar(require("./core/common/services/module.service"), exports);
99
+ __exportStar(require("./core/common/services/request-context.service"), exports);
90
100
  __exportStar(require("./core/common/services/template.service"), exports);
91
101
  __exportStar(require("./core/common/types/array-element.type"), exports);
92
102
  __exportStar(require("./core/common/types/core-model-constructor.type"), exports);
@@ -144,6 +154,11 @@ __exportStar(require("./core/modules/health-check/core-health-check.module"), ex
144
154
  __exportStar(require("./core/modules/health-check/core-health-check.resolver"), exports);
145
155
  __exportStar(require("./core/modules/health-check/core-health-check.service"), exports);
146
156
  __exportStar(require("./core/modules/migrate"), exports);
157
+ __exportStar(require("./core/modules/permissions/core-permissions.controller"), exports);
158
+ __exportStar(require("./core/modules/permissions/core-permissions.module"), exports);
159
+ __exportStar(require("./core/modules/permissions/core-permissions.service"), exports);
160
+ __exportStar(require("./core/modules/permissions/interfaces/permissions.interface"), exports);
161
+ __exportStar(require("./core/modules/permissions/permissions-scanner"), exports);
147
162
  __exportStar(require("./core/modules/system-setup/core-system-setup.controller"), exports);
148
163
  __exportStar(require("./core/modules/system-setup/core-system-setup.module"), exports);
149
164
  __exportStar(require("./core/modules/system-setup/core-system-setup.service"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,kFAAgE;AAChE,sFAAoE;AACpE,6FAA2E;AAC3E,kFAAgE;AAChE,0FAAwE;AACxE,+EAA6D;AAC7D,gFAA8D;AAC9D,2EAAyD;AACzD,kFAAgE;AAChE,mFAAiE;AACjE,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,sEAAoD;AACpD,kFAAgE;AAChE,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,kEAAgD;AAChD,yEAAuD;AACvD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,sEAAoD;AACpD,qEAAmD;AACnD,uEAAqD;AACrD,qEAAmD;AACnD,6EAA2D;AAC3D,oEAAkD;AAClD,uEAAqD;AACrD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,wFAAsE;AACtE,4FAA0E;AAC1E,oGAAkF;AAClF,qGAAmF;AACnF,qFAAmE;AACnE,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,6EAA2D;AAC3D,uEAAqD;AACrD,4EAA0D;AAC1D,0EAAwD;AACxD,2EAAyD;AACzD,mEAAiD;AACjD,8EAA4D;AAC5D,oEAAkD;AAClD,oEAAkD;AAClD,uEAAqD;AACrD,wEAAsD;AACtD,gFAA8D;AAC9D,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,2EAAyD;AACzD,wEAAsD;AACtD,0EAAwD;AACxD,yEAAuD;AACvD,kFAAgE;AAChE,iEAA+C;AAC/C,2EAAyD;AACzD,8DAA4C;AAC5C,+DAA6C;AAC7C,qEAAmD;AACnD,yEAAuD;AACvD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,2EAAyD;AACzD,0EAAwD;AACxD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAC7D,mEAAiD;AAMjD,+EAA6D;AAC7D,2EAAyD;AACzD,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,iGAA+E;AAC/E,yFAAuE;AACvE,yFAAuE;AACvE,gGAA8E;AAC9E,wEAAsD;AACtD,0FAAwE;AACxE,kFAAgE;AAChE,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,yFAAuE;AACvE,0FAAwE;AACxE,2FAAyE;AACzE,uFAAqE;AACrE,sFAAoE;AACpE,iFAA+D;AAC/D,gGAA8E;AAC9E,sFAAoE;AACpE,8EAA4D;AAC5D,uEAAqD;AAMrD,6DAA2C;AAM3C,4DAA0C;AAM1C,2EAAyD;AACzD,2EAAyD;AACzD,yEAAuD;AACvD,wEAAsD;AACtD,gGAA8E;AAC9E,uFAAqE;AAMrE,6FAA2E;AAC3E,2FAAyE;AACzE,uFAAqE;AACrE,yFAAuE;AACvE,wFAAsE;AAMtE,yDAAuC;AAMvC,2FAAyE;AACzE,uFAAqE;AACrE,wFAAsE;AAMtE,qDAAmC;AAMnC,sEAAoD;AACpD,wEAAsD;AACtD,oFAAkE;AAClE,6EAA2D;AAC3D,qGAAmF;AAMnF,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,47 +5,47 @@ export declare const FileInfoSchema: import("mongoose").Schema<FileInfo, import(
5
5
  _id: import("mongoose").Types.ObjectId;
6
6
  }> & {
7
7
  __v: number;
8
- }, any, FileInfo>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
8
+ }, any, FileInfo>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
9
9
  _id: import("mongoose").Types.ObjectId;
10
10
  }> & {
11
11
  __v: number;
12
12
  }, {
13
- readonly _id?: import("mongoose").SchemaDefinitionProperty<import("mongoose").Types.ObjectId, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
13
+ readonly _id?: import("mongoose").SchemaDefinitionProperty<import("mongoose").Types.ObjectId, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
14
14
  _id: import("mongoose").Types.ObjectId;
15
15
  }> & {
16
16
  __v: number;
17
17
  }>;
18
- id?: import("mongoose").SchemaDefinitionProperty<string, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
18
+ id?: import("mongoose").SchemaDefinitionProperty<string, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
19
19
  _id: import("mongoose").Types.ObjectId;
20
20
  }> & {
21
21
  __v: number;
22
22
  }>;
23
- chunkSize?: import("mongoose").SchemaDefinitionProperty<number, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
23
+ chunkSize?: import("mongoose").SchemaDefinitionProperty<number, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
24
24
  _id: import("mongoose").Types.ObjectId;
25
25
  }> & {
26
26
  __v: number;
27
27
  }>;
28
- contentType?: import("mongoose").SchemaDefinitionProperty<string, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
28
+ contentType?: import("mongoose").SchemaDefinitionProperty<string, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
29
29
  _id: import("mongoose").Types.ObjectId;
30
30
  }> & {
31
31
  __v: number;
32
32
  }>;
33
- filename?: import("mongoose").SchemaDefinitionProperty<string, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
33
+ filename?: import("mongoose").SchemaDefinitionProperty<string, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
34
34
  _id: import("mongoose").Types.ObjectId;
35
35
  }> & {
36
36
  __v: number;
37
37
  }>;
38
- length?: import("mongoose").SchemaDefinitionProperty<number, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
38
+ length?: import("mongoose").SchemaDefinitionProperty<number, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
39
39
  _id: import("mongoose").Types.ObjectId;
40
40
  }> & {
41
41
  __v: number;
42
42
  }>;
43
- uploadDate?: import("mongoose").SchemaDefinitionProperty<Date, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
43
+ uploadDate?: import("mongoose").SchemaDefinitionProperty<Date, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
44
44
  _id: import("mongoose").Types.ObjectId;
45
45
  }> & {
46
46
  __v: number;
47
47
  }>;
48
- init?: import("mongoose").SchemaDefinitionProperty<(..._args: any[]) => FileInfo, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
48
+ init?: import("mongoose").SchemaDefinitionProperty<(..._args: any[]) => FileInfo, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
49
49
  _id: import("mongoose").Types.ObjectId;
50
50
  }> & {
51
51
  __v: number;
@@ -56,7 +56,7 @@ export declare const FileInfoSchema: import("mongoose").Schema<FileInfo, import(
56
56
  funcAllowed?: boolean;
57
57
  init?: any;
58
58
  mapId?: boolean;
59
- }) => FileInfo, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
59
+ }) => FileInfo, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
60
60
  _id: import("mongoose").Types.ObjectId;
61
61
  }> & {
62
62
  __v: number;
@@ -67,12 +67,12 @@ export declare const FileInfoSchema: import("mongoose").Schema<FileInfo, import(
67
67
  funcAllowed?: boolean;
68
68
  init?: any;
69
69
  mapId?: boolean;
70
- }) => FileInfo, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
70
+ }) => FileInfo, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
71
71
  _id: import("mongoose").Types.ObjectId;
72
72
  }> & {
73
73
  __v: number;
74
74
  }>;
75
- securityCheck?: import("mongoose").SchemaDefinitionProperty<(_user: any, _force?: boolean) => FileInfo, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & FileInfo & Required<{
75
+ securityCheck?: import("mongoose").SchemaDefinitionProperty<(_user: any, _force?: boolean) => FileInfo, FileInfo, import("mongoose").Document<unknown, {}, FileInfo, {}, import("mongoose").DefaultSchemaOptions> & FileInfo & Required<{
76
76
  _id: import("mongoose").Types.ObjectId;
77
77
  }> & {
78
78
  __v: number;