mongodb-dynamic-api 4.22.0 → 4.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/package.json +1 -1
  3. package/src/dynamic-api.module.js +6 -3
  4. package/src/dynamic-api.module.js.map +1 -1
  5. package/src/guards/base-policies.guard.d.ts +1 -0
  6. package/src/guards/base-policies.guard.js +3 -2
  7. package/src/guards/base-policies.guard.js.map +1 -1
  8. package/src/helpers/cache-path-registry.store.d.ts +13 -0
  9. package/src/helpers/cache-path-registry.store.js +45 -0
  10. package/src/helpers/cache-path-registry.store.js.map +1 -0
  11. package/src/helpers/mixin-data.helper.js +19 -0
  12. package/src/helpers/mixin-data.helper.js.map +1 -1
  13. package/src/interceptors/dynamic-api-cache.interceptor.d.ts +5 -1
  14. package/src/interceptors/dynamic-api-cache.interceptor.js +18 -3
  15. package/src/interceptors/dynamic-api-cache.interceptor.js.map +1 -1
  16. package/src/interfaces/dynamic-api-cache-options.interface.d.ts +1 -0
  17. package/src/interfaces/dynamic-api-custom-route.interface.d.ts +4 -1
  18. package/src/interfaces/dynamic-api-global-state.interface.d.ts +1 -0
  19. package/src/interfaces/dynamic-api-service-callback.interface.d.ts +1 -0
  20. package/src/mixins/policies-guard.mixin.d.ts +6 -1
  21. package/src/mixins/policies-guard.mixin.js +3 -1
  22. package/src/mixins/policies-guard.mixin.js.map +1 -1
  23. package/src/modules/dynamic-api-config/dynamic-api-config.module.js +8 -1
  24. package/src/modules/dynamic-api-config/dynamic-api-config.module.js.map +1 -1
  25. package/src/routes/aggregate/aggregate-controller.mixin.js +1 -1
  26. package/src/routes/aggregate/aggregate-controller.mixin.js.map +1 -1
  27. package/src/routes/cache-purge/cache-purge.helper.js +5 -9
  28. package/src/routes/cache-purge/cache-purge.helper.js.map +1 -1
  29. package/src/routes/custom/create-custom-route-controller.js +79 -40
  30. package/src/routes/custom/create-custom-route-controller.js.map +1 -1
  31. package/src/routes/custom/create-custom-route-gateway.js +8 -4
  32. package/src/routes/custom/create-custom-route-gateway.js.map +1 -1
  33. package/src/routes/get-many/get-many-controller.mixin.js +1 -1
  34. package/src/routes/get-many/get-many-controller.mixin.js.map +1 -1
  35. package/src/services/base/base.service.d.ts +3 -0
  36. package/src/services/base/base.service.js +49 -4
  37. package/src/services/base/base.service.js.map +1 -1
  38. package/src/services/dynamic-api-cache/dynamic-api-cache.service.d.ts +13 -0
  39. package/src/services/dynamic-api-cache/dynamic-api-cache.service.js +84 -0
  40. package/src/services/dynamic-api-cache/dynamic-api-cache.service.js.map +1 -0
  41. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.d.ts +1 -0
  42. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js +4 -0
  43. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js.map +1 -1
  44. package/src/services/index.d.ts +1 -0
  45. package/src/services/index.js +1 -0
  46. package/src/services/index.js.map +1 -1
  47. package/src/version.json +1 -1
  48. package/test/for-feature/cache-identity-key.e2e-spec.d.ts +1 -0
  49. package/test/for-feature/cache-identity-key.e2e-spec.js +120 -0
  50. package/test/for-feature/cache-identity-key.e2e-spec.js.map +1 -0
  51. package/test/for-feature/cache-scoped-invalidation.e2e-spec.d.ts +1 -0
  52. package/test/for-feature/cache-scoped-invalidation.e2e-spec.js +136 -0
  53. package/test/for-feature/cache-scoped-invalidation.e2e-spec.js.map +1 -0
  54. package/test/for-feature/custom-route-inject.e2e-spec.d.ts +1 -0
  55. package/test/for-feature/custom-route-inject.e2e-spec.js +101 -0
  56. package/test/for-feature/custom-route-inject.e2e-spec.js.map +1 -0
  57. package/test/for-feature/custom-route-params-openapi.e2e-spec.d.ts +1 -0
  58. package/test/for-feature/custom-route-params-openapi.e2e-spec.js +77 -0
  59. package/test/for-feature/custom-route-params-openapi.e2e-spec.js.map +1 -0
  60. package/test/for-feature/custom-route-target-param.e2e-spec.d.ts +1 -0
  61. package/test/for-feature/custom-route-target-param.e2e-spec.js +102 -0
  62. package/test/for-feature/custom-route-target-param.e2e-spec.js.map +1 -0
  63. package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.d.ts +1 -0
  64. package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.js +128 -0
  65. package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.js.map +1 -0
  66. package/test/for-feature/exclude-from-response.e2e-spec.d.ts +1 -0
  67. package/test/for-feature/exclude-from-response.e2e-spec.js +93 -0
  68. package/test/for-feature/exclude-from-response.e2e-spec.js.map +1 -0
  69. package/test/for-root/auth-api-basic.e2e-spec.js +2 -0
  70. package/test/for-root/auth-api-basic.e2e-spec.js.map +1 -1
  71. package/test/for-root/initialization.e2e-spec.js +2 -0
  72. package/test/for-root/initialization.e2e-spec.js.map +1 -1
  73. package/test/for-root/websockets-auth-basic.e2e-spec.js +1 -0
  74. package/test/for-root/websockets-auth-basic.e2e-spec.js.map +1 -1
  75. package/tsconfig.tsbuildinfo +1 -1
@@ -16,12 +16,14 @@ exports.createCustomRouteController = createCustomRouteController;
16
16
  exports.getCustomRouteControllerName = getCustomRouteControllerName;
17
17
  exports.getCustomRoutePoliciesGuardName = getCustomRoutePoliciesGuardName;
18
18
  const common_1 = require("@nestjs/common");
19
+ const core_1 = require("@nestjs/core");
19
20
  const mongoose_1 = require("@nestjs/mongoose");
20
21
  const swagger_1 = require("@nestjs/swagger");
21
22
  const mongoose_2 = require("mongoose");
22
23
  const decorators_1 = require("../../decorators");
23
24
  const dynamic_api_module_1 = require("../../dynamic-api.module");
24
25
  const helpers_1 = require("../../helpers");
26
+ const logger_1 = require("../../logger");
25
27
  const mixins_1 = require("../../mixins");
26
28
  const HTTP_METHOD_DECORATOR_MAP = {
27
29
  GET: common_1.Get,
@@ -30,8 +32,72 @@ const HTTP_METHOD_DECORATOR_MAP = {
30
32
  PUT: common_1.Put,
31
33
  DELETE: common_1.Delete,
32
34
  };
35
+ const logger = new logger_1.MongoDBDynamicApiLogger('DynamicApiModule');
36
+ function warnIfTargetParamLikelyMissing(entityName, routePath, abilityPredicate, predicateBehavior, targetParam) {
37
+ if (!abilityPredicate || predicateBehavior === 'filter' || targetParam) {
38
+ return;
39
+ }
40
+ const pathParams = [...routePath.matchAll(/:(\w+)/g)].map((match) => match[1]);
41
+ if (pathParams.length === 0 || pathParams.includes('id')) {
42
+ return;
43
+ }
44
+ const pathParamList = pathParams.map((p) => `:${p}`).join(', ');
45
+ logger.warn(`[Ability Predicate] Custom route "${routePath}" on ${entityName}: abilityPredicate is set on a `
46
+ + `route with path param(s) ${pathParamList}, none named "id", and no `
47
+ + `targetParam configured. The Guard's single-document check only ever looks for a param named `
48
+ + `"id" unless targetParam says otherwise — right now it silently falls back to checking a list of `
49
+ + `documents matched by the query string instead of the route's actual target. Set `
50
+ + `targetParam: '${pathParams[0]}' if that's the document abilityPredicate should check.`);
51
+ }
52
+ function applyCustomRouteHandlerDecorators(ControllerClass, options) {
53
+ const { method, routePath, routePathPascal, baseDisplayedName, effectiveVersion, description, entity, presenterType, dTOs, allGuards, routeInterceptors, isPublic, isAuthEnabled, } = options;
54
+ if (dTOs?.body ?? dTOs?.query) {
55
+ const paramTypes = [Object, Object, Object, Object];
56
+ if (dTOs?.body)
57
+ paramTypes[1] = dTOs.body;
58
+ if (dTOs?.query)
59
+ paramTypes[2] = dTOs.query;
60
+ Reflect.defineMetadata('design:paramtypes', paramTypes, ControllerClass.prototype, 'handle');
61
+ }
62
+ const descriptor = Object.getOwnPropertyDescriptor(ControllerClass.prototype, 'handle');
63
+ HTTP_METHOD_DECORATOR_MAP[method](routePath)(ControllerClass.prototype, 'handle', descriptor);
64
+ (0, swagger_1.ApiOperation)({
65
+ operationId: `custom${routePathPascal}${baseDisplayedName}${effectiveVersion ? 'V' + effectiveVersion : ''}`,
66
+ summary: description ?? `${method} /${routePath} — custom endpoint for ${entity.name}`,
67
+ })(ControllerClass.prototype, 'handle', descriptor);
68
+ (0, swagger_1.ApiResponse)({
69
+ type: presenterType,
70
+ })(ControllerClass.prototype, 'handle', descriptor);
71
+ if (dTOs?.body) {
72
+ (0, swagger_1.ApiBody)({ type: dTOs.body })(ControllerClass.prototype, 'handle', descriptor);
73
+ }
74
+ if (dTOs?.query) {
75
+ (0, swagger_1.ApiQuery)({ type: dTOs.query })(ControllerClass.prototype, 'handle', descriptor);
76
+ }
77
+ if (dTOs?.params) {
78
+ const paramsInstance = new dTOs.params();
79
+ for (const name of Object.keys(paramsInstance)) {
80
+ (0, swagger_1.ApiParam)({
81
+ name,
82
+ type: typeof paramsInstance[name],
83
+ })(ControllerClass.prototype, 'handle', descriptor);
84
+ }
85
+ }
86
+ if (allGuards.length > 0) {
87
+ (0, common_1.UseGuards)(...allGuards)(ControllerClass.prototype, 'handle', descriptor);
88
+ }
89
+ if (routeInterceptors.length > 0) {
90
+ (0, common_1.UseInterceptors)(...routeInterceptors)(ControllerClass.prototype, 'handle', descriptor);
91
+ }
92
+ if (isPublic) {
93
+ (0, decorators_1.Public)()(ControllerClass.prototype, 'handle', descriptor);
94
+ }
95
+ else if (isAuthEnabled) {
96
+ (0, swagger_1.ApiBearerAuth)()(ControllerClass.prototype, 'handle', descriptor);
97
+ }
98
+ }
33
99
  function createCustomRouteController(entity, { useInterceptors = [], ...controllerOptions }, customRouteConfig, controllerVersion, controllerValidationPipeOptions) {
34
- const { path: routePath, method, handler, version: routeVersion, isPublic, description, guards = [], abilityPredicate, predicateBehavior, validationPipeOptions: routeValidationPipeOptions, dTOs, useInterceptors: routeInterceptors = [], } = customRouteConfig;
100
+ const { path: routePath, method, handler, inject = [], version: routeVersion, isPublic, description, guards = [], abilityPredicate, predicateBehavior, targetParam, validationPipeOptions: routeValidationPipeOptions, dTOs, useInterceptors: routeInterceptors = [], } = customRouteConfig;
35
101
  const { path: controllerPath, apiTag } = controllerOptions;
36
102
  const effectiveVersion = routeVersion ?? controllerVersion;
37
103
  const effectiveValidationPipeOptions = routeValidationPipeOptions ?? controllerValidationPipeOptions;
@@ -42,17 +108,20 @@ function createCustomRouteController(entity, { useInterceptors = [], ...controll
42
108
  const connectionName = dynamic_api_module_1.DynamicApiModule.state.get('connectionName');
43
109
  const allGuards = [];
44
110
  if (abilityPredicate) {
45
- const PoliciesGuard = (0, mixins_1.RoutePoliciesGuardMixin)(entity, 'Custom', uniqueDisplayedName, effectiveVersion, abilityPredicate, undefined, predicateBehavior);
111
+ warnIfTargetParamLikelyMissing(entity.name, routePath, abilityPredicate, predicateBehavior, targetParam);
112
+ const PoliciesGuard = (0, mixins_1.RoutePoliciesGuardMixin)(entity, 'Custom', uniqueDisplayedName, effectiveVersion, abilityPredicate, { predicateBehavior, targetParam });
46
113
  allGuards.push(PoliciesGuard);
47
114
  }
48
115
  allGuards.push(...guards);
49
116
  const presenterType = dTOs?.presenter ?? entity;
50
117
  let CustomRouteController = class CustomRouteController {
51
- constructor(model) {
118
+ constructor(model, moduleRef) {
52
119
  this.model = model;
120
+ this.moduleRef = moduleRef;
53
121
  this.entity = entity;
54
122
  }
55
123
  async handle(params, body, query, req) {
124
+ const injected = inject.map((token) => this.moduleRef.get(token, { strict: false }));
56
125
  const result = await handler({
57
126
  model: this.model,
58
127
  user: req?.user,
@@ -60,7 +129,7 @@ function createCustomRouteController(entity, { useInterceptors = [], ...controll
60
129
  body: body,
61
130
  query: query,
62
131
  req,
63
- });
132
+ }, injected);
64
133
  const fromEntity = presenterType.fromEntity;
65
134
  return fromEntity ? fromEntity(result) : result;
66
135
  }
@@ -80,43 +149,13 @@ function createCustomRouteController(entity, { useInterceptors = [], ...controll
80
149
  (0, decorators_1.ValidatorPipe)(effectiveValidationPipeOptions),
81
150
  (0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor, ...useInterceptors),
82
151
  __param(0, (0, mongoose_1.InjectModel)(entity.name, connectionName)),
83
- __metadata("design:paramtypes", [mongoose_2.Model])
152
+ __metadata("design:paramtypes", [mongoose_2.Model,
153
+ core_1.ModuleRef])
84
154
  ], CustomRouteController);
85
- if (dTOs?.body ?? dTOs?.query) {
86
- const paramTypes = [Object, Object, Object, Object];
87
- if (dTOs?.body)
88
- paramTypes[1] = dTOs.body;
89
- if (dTOs?.query)
90
- paramTypes[2] = dTOs.query;
91
- Reflect.defineMetadata('design:paramtypes', paramTypes, CustomRouteController.prototype, 'handle');
92
- }
93
- const descriptor = Object.getOwnPropertyDescriptor(CustomRouteController.prototype, 'handle');
94
- HTTP_METHOD_DECORATOR_MAP[method](routePath)(CustomRouteController.prototype, 'handle', descriptor);
95
- (0, swagger_1.ApiOperation)({
96
- operationId: `custom${routePathPascal}${baseDisplayedName}${effectiveVersion ? 'V' + effectiveVersion : ''}`,
97
- summary: description ?? `${method} /${routePath} — custom endpoint for ${entity.name}`,
98
- })(CustomRouteController.prototype, 'handle', descriptor);
99
- (0, swagger_1.ApiResponse)({
100
- type: presenterType,
101
- })(CustomRouteController.prototype, 'handle', descriptor);
102
- if (dTOs?.body) {
103
- (0, swagger_1.ApiBody)({ type: dTOs.body })(CustomRouteController.prototype, 'handle', descriptor);
104
- }
105
- if (dTOs?.query) {
106
- (0, swagger_1.ApiQuery)({ type: dTOs.query })(CustomRouteController.prototype, 'handle', descriptor);
107
- }
108
- if (allGuards.length > 0) {
109
- (0, common_1.UseGuards)(...allGuards)(CustomRouteController.prototype, 'handle', descriptor);
110
- }
111
- if (routeInterceptors.length > 0) {
112
- (0, common_1.UseInterceptors)(...routeInterceptors)(CustomRouteController.prototype, 'handle', descriptor);
113
- }
114
- if (isPublic) {
115
- (0, decorators_1.Public)()(CustomRouteController.prototype, 'handle', descriptor);
116
- }
117
- else if (isAuthEnabled) {
118
- (0, swagger_1.ApiBearerAuth)()(CustomRouteController.prototype, 'handle', descriptor);
119
- }
155
+ applyCustomRouteHandlerDecorators(CustomRouteController, {
156
+ method, routePath, routePathPascal, baseDisplayedName, effectiveVersion, description,
157
+ entity, presenterType, dTOs, allGuards, routeInterceptors, isPublic, isAuthEnabled,
158
+ });
120
159
  Object.defineProperty(CustomRouteController, 'name', {
121
160
  value: `Custom${uniqueDisplayedName}${(0, helpers_1.addVersionSuffix)(effectiveVersion)}Controller`,
122
161
  writable: false,
@@ -1 +1 @@
1
- {"version":3,"file":"create-custom-route-controller.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/custom/create-custom-route-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-custom-route-controller.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/custom/create-custom-route-controller.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.createCustomRouteGateway = createCustomRouteGateway;
16
16
  exports.getCustomRouteGatewayName = getCustomRouteGatewayName;
17
17
  const common_1 = require("@nestjs/common");
18
+ const core_1 = require("@nestjs/core");
18
19
  const jwt_1 = require("@nestjs/jwt");
19
20
  const mongoose_1 = require("@nestjs/mongoose");
20
21
  const websockets_1 = require("@nestjs/websockets");
@@ -27,7 +28,7 @@ const helpers_1 = require("../../helpers");
27
28
  const mixins_1 = require("../../mixins");
28
29
  const dynamic_api_module_1 = require("../../dynamic-api.module");
29
30
  function createCustomRouteGateway(entity, { useInterceptors = [], ...controllerOptions }, customRouteConfig, controllerVersion, controllerValidationPipeOptions, gatewayOptions = {}) {
30
- const { path: routePath, handler, version: routeVersion, isPublic, guards = [], abilityPredicate, predicateBehavior, validationPipeOptions: routeValidationPipeOptions, eventName, dTOs, } = customRouteConfig;
31
+ const { path: routePath, handler, inject = [], version: routeVersion, isPublic, guards = [], abilityPredicate, predicateBehavior, validationPipeOptions: routeValidationPipeOptions, eventName, dTOs, } = customRouteConfig;
31
32
  const { apiTag } = controllerOptions;
32
33
  const effectiveVersion = routeVersion ?? controllerVersion;
33
34
  const effectiveValidationPipeOptions = routeValidationPipeOptions ?? controllerValidationPipeOptions;
@@ -46,20 +47,22 @@ function createCustomRouteGateway(entity, { useInterceptors = [], ...controllerO
46
47
  }
47
48
  guardInstances.push(...guards);
48
49
  let CustomRouteGateway = class CustomRouteGateway extends gateways_1.BaseGateway {
49
- constructor(model, jwtService) {
50
+ constructor(model, jwtService, moduleRef) {
50
51
  super(jwtService);
51
52
  this.model = model;
52
53
  this.jwtService = jwtService;
54
+ this.moduleRef = moduleRef;
53
55
  this.entity = entity;
54
56
  }
55
57
  async handle(socket, body) {
58
+ const injected = inject.map((token) => this.moduleRef.get(token, { strict: false }));
56
59
  const result = await handler({
57
60
  model: this.model,
58
61
  user: socket?.user,
59
62
  params: {},
60
63
  body: body,
61
64
  query: {},
62
- });
65
+ }, injected);
63
66
  const fromEntity = presenterType.fromEntity;
64
67
  const data = fromEntity ? fromEntity(result) : result;
65
68
  return { event, data };
@@ -82,7 +85,8 @@ function createCustomRouteGateway(entity, { useInterceptors = [], ...controllerO
82
85
  __param(0, (0, mongoose_1.InjectModel)(entity.name, connectionName)),
83
86
  __param(1, (0, common_1.Optional)()),
84
87
  __metadata("design:paramtypes", [mongoose_2.Model,
85
- jwt_1.JwtService])
88
+ jwt_1.JwtService,
89
+ core_1.ModuleRef])
86
90
  ], CustomRouteGateway);
87
91
  Object.defineProperty(CustomRouteGateway, 'name', {
88
92
  value: `Custom${uniqueDisplayedName}${(0, helpers_1.addVersionSuffix)(effectiveVersion)}Gateway`,
@@ -1 +1 @@
1
- {"version":3,"file":"create-custom-route-gateway.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/custom/create-custom-route-gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-custom-route-gateway.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/custom/create-custom-route-gateway.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ function GetManyControllerMixin(entity, controllerOptions, { dTOs, useIntercepto
38
38
  const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder(routeType, entity, routeConfig.subPath, version, description, isPublic, {
39
39
  presenter: GetManyPresenter,
40
40
  });
41
- class GetManyPoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate, undefined, predicateBehavior) {
41
+ class GetManyPoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate, { predicateBehavior }) {
42
42
  }
43
43
  Object.defineProperty(GetManyPoliciesGuard, 'name', {
44
44
  value: `${routeType}${displayedName}${(0, helpers_1.addVersionSuffix)(version)}PoliciesGuard`,
@@ -1 +1 @@
1
- {"version":3,"file":"get-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/get-many/get-many-controller.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/get-many/get-many-controller.mixin.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ export declare abstract class BaseService<Entity extends BaseEntity> {
26
26
  protected createOneDocument<T extends BaseEntity>(entity: Type<T>, data: Partial<T>): Promise<T>;
27
27
  protected updateManyDocuments<T extends BaseEntity>(entity: Type<T>, query: FilterQuery<T>, update: UpdateQuery<T> | UpdateWithAggregationPipeline): Promise<UpdateResult>;
28
28
  protected updateOneDocument<T extends BaseEntity>(entity: Type<T>, query: FilterQuery<T>, update: UpdateQuery<T> | UpdateWithAggregationPipeline): Promise<UpdateResult>;
29
+ private resolveDerivedFieldsTargetId;
29
30
  private validateMongoOperators;
30
31
  protected rawUpdateManyDocuments<T extends BaseEntity>(entity: Type<T>, filter: FilterQuery<T>, update: MongoUpdateOperators<T>): Promise<UpdateResult>;
31
32
  protected rawUpdateOneDocument<T extends BaseEntity>(entity: Type<T>, filter: FilterQuery<T>, update: MongoUpdateOperators<T>): Promise<UpdateResult>;
@@ -44,6 +45,8 @@ export declare abstract class BaseService<Entity extends BaseEntity> {
44
45
  protected writeAuditLog(action: AuditLogAction, entityId: string, before: Record<string, unknown> | null, after: Record<string, unknown> | null, user: unknown): Promise<void>;
45
46
  protected buildInstance(document: Entity): Entity;
46
47
  protected applyDerivedFields(partial: Partial<Entity>, trigger: 'save' | 'read', existingDoc?: Partial<Entity>): Partial<Entity>;
48
+ private static computeDerivedFieldsFor;
49
+ protected recomputeDerivedFields<T extends BaseEntity>(entity: Type<T>, id: string): Promise<void>;
47
50
  protected handleAbilityPredicate(document: Entity, authAbilityPredicate?: AuthAbilityPredicate<Entity>): void;
48
51
  protected invokeAfterSaveCallback(callback: AfterSaveCallback<Entity> | undefined, entity: Entity, user: unknown, retry?: CallbackRetryOptions): Promise<void>;
49
52
  private sleep;
@@ -23,6 +23,7 @@ class BaseService {
23
23
  deleteManyDocuments: this.deleteManyDocuments.bind(this),
24
24
  deleteOneDocument: this.deleteOneDocument.bind(this),
25
25
  aggregateDocuments: this.aggregateDocuments.bind(this),
26
+ recomputeDerivedFields: this.recomputeDerivedFields.bind(this),
26
27
  };
27
28
  }
28
29
  get isSoftDeletable() {
@@ -106,7 +107,20 @@ class BaseService {
106
107
  }
107
108
  async updateOneDocument(entity, query, update) {
108
109
  const model = await dynamic_api_global_state_service_1.DynamicApiGlobalStateService.getEntityModel(entity);
109
- return model.updateOne(query, update).exec();
110
+ const targetId = await this.resolveDerivedFieldsTargetId(entity, model, query);
111
+ const result = await model.updateOne(query, update).exec();
112
+ if (targetId) {
113
+ await this.recomputeDerivedFields(entity, targetId);
114
+ }
115
+ return result;
116
+ }
117
+ async resolveDerivedFieldsTargetId(entity, model, query) {
118
+ const keys = Reflect.getMetadata(decorators_1.DERIVED_FIELD_KEYS_METADATA, entity?.prototype) ?? [];
119
+ if (!keys.length) {
120
+ return undefined;
121
+ }
122
+ const target = await model.findOne(query, { _id: 1 }).lean().exec();
123
+ return target ? target._id.toString() : undefined;
110
124
  }
111
125
  validateMongoOperators(update) {
112
126
  const invalidKeys = Object.keys(update).filter((k) => !k.startsWith('$'));
@@ -122,7 +136,12 @@ class BaseService {
122
136
  async rawUpdateOneDocument(entity, filter, update) {
123
137
  this.validateMongoOperators(update);
124
138
  const model = await dynamic_api_global_state_service_1.DynamicApiGlobalStateService.getEntityModel(entity);
125
- return model.updateOne(filter, update).exec();
139
+ const targetId = await this.resolveDerivedFieldsTargetId(entity, model, filter);
140
+ const result = await model.updateOne(filter, update).exec();
141
+ if (targetId) {
142
+ await this.recomputeDerivedFields(entity, targetId);
143
+ }
144
+ return result;
126
145
  }
127
146
  async deleteManyDocuments(entity, ids) {
128
147
  const model = await dynamic_api_global_state_service_1.DynamicApiGlobalStateService.getEntityModel(entity);
@@ -239,15 +258,41 @@ class BaseService {
239
258
  return partial;
240
259
  }
241
260
  const snapshot = existingDoc ? { ...existingDoc, ...partial } : { ...partial };
242
- const result = { ...partial };
261
+ return { ...partial, ...BaseService.computeDerivedFieldsFor(this.entity, snapshot, trigger) };
262
+ }
263
+ static computeDerivedFieldsFor(entityClass, snapshot, trigger) {
264
+ const keys = Reflect.getMetadata(decorators_1.DERIVED_FIELD_KEYS_METADATA, entityClass.prototype) ?? [];
265
+ const result = {};
243
266
  for (const key of keys) {
244
- const meta = Reflect.getMetadata(decorators_1.DERIVED_FIELD_METADATA, this.entity.prototype, key);
267
+ const meta = Reflect.getMetadata(decorators_1.DERIVED_FIELD_METADATA, entityClass.prototype, key);
245
268
  if (meta && (meta.on === trigger || meta.on === 'both')) {
246
269
  result[key] = meta.computeFn(snapshot);
247
270
  }
248
271
  }
249
272
  return result;
250
273
  }
274
+ async recomputeDerivedFields(entity, id) {
275
+ const keys = Reflect.getMetadata(decorators_1.DERIVED_FIELD_KEYS_METADATA, entity?.prototype) ?? [];
276
+ if (!keys.length) {
277
+ return;
278
+ }
279
+ try {
280
+ const model = await dynamic_api_global_state_service_1.DynamicApiGlobalStateService.getEntityModel(entity);
281
+ const document = await model.findById(id).lean().exec();
282
+ if (!document) {
283
+ return;
284
+ }
285
+ const recomputed = BaseService.computeDerivedFieldsFor(entity, document, 'save');
286
+ if (Object.keys(recomputed).length === 0) {
287
+ return;
288
+ }
289
+ await model.updateOne({ _id: id }, { $set: recomputed }).exec();
290
+ }
291
+ catch (error) {
292
+ this.baseServiceLogger.warn(`[DerivedFields] Failed to recompute derived fields for ${entity?.name ?? 'entity'} ${id}: `
293
+ + `${error instanceof Error ? error.message : String(error)}`);
294
+ }
295
+ }
251
296
  handleAbilityPredicate(document, authAbilityPredicate) {
252
297
  this.baseServiceLogger.debug('handleAbilityPredicate', {
253
298
  documentId: document?._id?.toString(),
@@ -1 +1 @@
1
- {"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/services/base/base.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/services/base/base.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Type } from '@nestjs/common';
2
+ import { Cache } from 'cache-manager';
3
+ declare class DynamicApiCacheService {
4
+ private readonly cacheManager;
5
+ private readonly logger;
6
+ constructor(cacheManager: Cache);
7
+ invalidate(entity: Type, id?: string): Promise<void>;
8
+ clear(): Promise<void>;
9
+ invalidateForUrl(url: string): Promise<void>;
10
+ private invalidatePrefix;
11
+ private static matchesPrefix;
12
+ }
13
+ export { DynamicApiCacheService };
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var DynamicApiCacheService_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.DynamicApiCacheService = void 0;
17
+ const cache_manager_1 = require("@nestjs/cache-manager");
18
+ const common_1 = require("@nestjs/common");
19
+ const cache_path_registry_store_1 = require("../../helpers/cache-path-registry.store");
20
+ const logger_1 = require("../../logger");
21
+ let DynamicApiCacheService = DynamicApiCacheService_1 = class DynamicApiCacheService {
22
+ constructor(cacheManager) {
23
+ this.cacheManager = cacheManager;
24
+ this.logger = new logger_1.MongoDBDynamicApiLogger(DynamicApiCacheService_1.name);
25
+ }
26
+ async invalidate(entity, id) {
27
+ const path = cache_path_registry_store_1.DynamicApiCachePathRegistryStore.getPath(entity.name);
28
+ if (!path) {
29
+ this.logger.warn(`[Cache] invalidate() called for "${entity.name}", which has no registered controller `
30
+ + 'path (was it registered via DynamicApiModule.forFeature?). Falling back to a full clear().');
31
+ await this.cacheManager.clear();
32
+ return;
33
+ }
34
+ await this.invalidatePrefix(`/${path.replace(/^\/+/, '')}`);
35
+ }
36
+ async clear() {
37
+ await this.cacheManager.clear();
38
+ }
39
+ async invalidateForUrl(url) {
40
+ const prefix = cache_path_registry_store_1.DynamicApiCachePathRegistryStore.findPrefixForUrl(url);
41
+ if (!prefix) {
42
+ await this.cacheManager.clear();
43
+ return;
44
+ }
45
+ await this.invalidatePrefix(prefix);
46
+ }
47
+ async invalidatePrefix(prefix) {
48
+ let sawIterableStore = false;
49
+ for (const store of this.cacheManager.stores) {
50
+ if (typeof store.iterator !== 'function') {
51
+ continue;
52
+ }
53
+ sawIterableStore = true;
54
+ for await (const [key] of store.iterator(undefined)) {
55
+ if (typeof key === 'string' && DynamicApiCacheService_1.matchesPrefix(key, prefix)) {
56
+ await this.cacheManager.del(key);
57
+ }
58
+ }
59
+ }
60
+ if (!sawIterableStore) {
61
+ this.logger.warn(`[Cache] No configured cache store supports key enumeration — falling back to a full `
62
+ + `clear() to invalidate "${prefix}". Configure a store with iterator support (the default `
63
+ + 'in-memory store already does) for scoped invalidation.');
64
+ await this.cacheManager.clear();
65
+ }
66
+ }
67
+ static matchesPrefix(key, prefix) {
68
+ if (key === prefix) {
69
+ return true;
70
+ }
71
+ if (!key.startsWith(prefix)) {
72
+ return false;
73
+ }
74
+ const boundary = key[prefix.length];
75
+ return boundary === '/' || boundary === '?' || boundary === ':';
76
+ }
77
+ };
78
+ exports.DynamicApiCacheService = DynamicApiCacheService;
79
+ exports.DynamicApiCacheService = DynamicApiCacheService = DynamicApiCacheService_1 = __decorate([
80
+ (0, common_1.Injectable)(),
81
+ __param(0, (0, common_1.Inject)(cache_manager_1.CACHE_MANAGER)),
82
+ __metadata("design:paramtypes", [Object])
83
+ ], DynamicApiCacheService);
84
+ //# sourceMappingURL=dynamic-api-cache.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-api-cache.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/services/dynamic-api-cache/dynamic-api-cache.service.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare class DynamicApiGlobalStateService {
11
11
  constructor(initialGlobalState?: Partial<DynamicApiGlobalState>);
12
12
  static onInitialized(): BehaviorSubject<boolean>;
13
13
  static addEntitySchema<T = any>(entity: Type<T>, schema: Schema<T>): void;
14
+ static getValue<K extends keyof DynamicApiGlobalState>(key: K): DynamicApiGlobalState[K];
14
15
  static getEntityModel<T = any>(entity: Type<T>): Promise<Model<T, {}, {}, {}, import("mongoose").IfAny<T, any, import("mongoose").Document<unknown, {}, T> & import("mongoose").Default__v<import("mongoose").Require_id<T>>>, any>>;
15
16
  set<V>([target, value]: ([keyof DynamicApiGlobalState, value: V] | ['partial', Partial<DynamicApiGlobalState>])): void;
16
17
  get<T = DynamicApiGlobalState>(key?: keyof DynamicApiGlobalState): T;