mongodb-dynamic-api 2.1.5 → 2.1.7

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 (64) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +2 -2
  3. package/src/builders/index.d.ts +0 -1
  4. package/src/builders/index.js +0 -1
  5. package/src/builders/route-decorators/route-decorators.builder.d.ts +0 -1
  6. package/src/decorators/index.d.ts +0 -1
  7. package/src/decorators/index.js +0 -1
  8. package/src/dynamic-api.module.d.ts +2 -0
  9. package/src/dynamic-api.module.js +39 -29
  10. package/src/guards/base-policies.guard.d.ts +7 -8
  11. package/src/guards/base-policies.guard.js +17 -22
  12. package/src/helpers/controller-ability-predicates.helper.d.ts +2 -2
  13. package/src/helpers/controller-mixin.helper.d.ts +4 -28
  14. package/src/helpers/controller-mixin.helper.js +6 -16
  15. package/src/helpers/format.helper.d.ts +2 -0
  16. package/src/helpers/format.helper.js +6 -1
  17. package/src/interfaces/dynamic-api-ability.interface.d.ts +9 -0
  18. package/src/interfaces/dynamic-api-ability.interface.js +2 -0
  19. package/src/interfaces/dynamic-api-controller-options.interface.d.ts +1 -1
  20. package/src/interfaces/dynamic-api-policy-handler.interface.d.ts +4 -10
  21. package/src/interfaces/dynamic-api-route-config.interface.d.ts +2 -2
  22. package/src/interfaces/index.d.ts +1 -1
  23. package/src/interfaces/index.js +1 -1
  24. package/src/mixins/create-policies-guard.mixin.d.ts +3 -2
  25. package/src/mixins/create-policies-guard.mixin.js +9 -6
  26. package/src/modules/auth/mixins/auth-controller.mixin.js +6 -1
  27. package/src/modules/auth/mixins/auth-register-policies-guard.mixin.d.ts +2 -3
  28. package/src/modules/auth/mixins/auth-register-policies-guard.mixin.js +6 -35
  29. package/src/modules/auth/services/base-auth.service.d.ts +0 -1
  30. package/src/modules/auth/services/base-auth.service.js +3 -6
  31. package/src/routes/create-many/create-many-controller.mixin.js +0 -2
  32. package/src/routes/create-many/create-many.helper.js +2 -2
  33. package/src/routes/create-one/create-one-controller.mixin.js +0 -2
  34. package/src/routes/create-one/create-one.helper.js +2 -2
  35. package/src/routes/delete-many/delete-many-controller.mixin.js +0 -2
  36. package/src/routes/delete-many/delete-many.helper.js +2 -2
  37. package/src/routes/delete-one/delete-one-controller.mixin.js +0 -2
  38. package/src/routes/delete-one/delete-one.helper.js +2 -2
  39. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +0 -2
  40. package/src/routes/duplicate-many/duplicate-many.helper.js +2 -2
  41. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +0 -2
  42. package/src/routes/duplicate-one/duplicate-one.helper.js +2 -2
  43. package/src/routes/get-many/get-many-controller.mixin.js +9 -6
  44. package/src/routes/get-many/get-many.helper.js +2 -2
  45. package/src/routes/get-one/get-one-controller.mixin.js +1 -4
  46. package/src/routes/get-one/get-one.helper.js +2 -2
  47. package/src/routes/replace-one/replace-one-controller.mixin.js +1 -3
  48. package/src/routes/replace-one/replace-one.helper.js +2 -2
  49. package/src/routes/update-many/update-many-controller.mixin.js +1 -3
  50. package/src/routes/update-many/update-many.helper.js +2 -2
  51. package/src/routes/update-one/update-one-controller.mixin.js +1 -3
  52. package/src/routes/update-one/update-one.helper.js +2 -2
  53. package/src/services/base/base.service.d.ts +7 -1
  54. package/src/services/base/base.service.js +32 -0
  55. package/src/version.json +1 -1
  56. package/tsconfig.tsbuildinfo +1 -1
  57. package/src/builders/casl/casl-ability.builder.d.ts +0 -5
  58. package/src/builders/casl/casl-ability.builder.js +0 -17
  59. package/src/decorators/check-policies.decorator.d.ts +0 -5
  60. package/src/decorators/check-policies.decorator.js +0 -8
  61. package/src/interfaces/dynamic-api-casl-ability.interface.d.ts +0 -12
  62. package/src/interfaces/dynamic-api-casl-ability.interface.js +0 -5
  63. package/src/routes/delete-many/delete-many.presenter.d.ts +0 -3
  64. package/src/routes/delete-many/delete-many.presenter.js +0 -20
@@ -1,5 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
- import { AppAbility, RouteAbilityPredicate, RouteType } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- declare function CaslAbilityBuilder<Entity extends BaseEntity>(entity: Type<Entity>, routeType: RouteType, abilityPredicate: RouteAbilityPredicate<Entity>, user: unknown): AppAbility<Entity>;
5
- export { CaslAbilityBuilder };
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CaslAbilityBuilder = void 0;
4
- const ability_1 = require("@casl/ability");
5
- const interfaces_1 = require("../../interfaces");
6
- function CaslAbilityBuilder(entity, routeType, abilityPredicate, user) {
7
- if (!entity || !routeType || !abilityPredicate || !user) {
8
- throw new Error('Invalid parameters, cannot build ability');
9
- }
10
- const { can, build } = new ability_1.AbilityBuilder(ability_1.PureAbility);
11
- can(routeType, entity, (instance) => abilityPredicate(instance, user));
12
- return build({
13
- conditionsMatcher: interfaces_1.lambdaMatcher,
14
- detectSubjectType: (object) => object.constructor,
15
- });
16
- }
17
- exports.CaslAbilityBuilder = CaslAbilityBuilder;
@@ -1,5 +0,0 @@
1
- import { PolicyHandler } from '../interfaces';
2
- import { BaseEntity } from '../models';
3
- declare const CHECK_POLICIES_KEY = "check_policy";
4
- declare const CheckPolicies: <Entity extends BaseEntity>(...handlers: PolicyHandler<Entity>[]) => import("@nestjs/common").CustomDecorator<string>;
5
- export { CheckPolicies, CHECK_POLICIES_KEY };
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CHECK_POLICIES_KEY = exports.CheckPolicies = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const CHECK_POLICIES_KEY = 'check_policy';
6
- exports.CHECK_POLICIES_KEY = CHECK_POLICIES_KEY;
7
- const CheckPolicies = (...handlers) => (0, common_1.SetMetadata)(CHECK_POLICIES_KEY, handlers);
8
- exports.CheckPolicies = CheckPolicies;
@@ -1,12 +0,0 @@
1
- import { AbilityTuple, MatchConditions, PureAbility } from '@casl/ability';
2
- import { BaseEntity } from '../models';
3
- import { RouteType } from './dynamic-api-route-type.type';
4
- type AppAbility<Entity extends BaseEntity> = PureAbility<AbilityTuple, MatchConditions<Entity>>;
5
- declare const lambdaMatcher: <Entity extends BaseEntity>(matchConditions: MatchConditions<Entity>) => MatchConditions<Entity>;
6
- type RouteAbilityPredicate<Entity extends BaseEntity, User = any> = (entity: Entity, user: User) => boolean;
7
- type RegisterAbilityPredicate<User = any> = (user: User) => boolean;
8
- type ControllerAbilityPredicate<Entity extends BaseEntity> = {
9
- targets: RouteType[];
10
- predicate: RouteAbilityPredicate<Entity>;
11
- };
12
- export { AppAbility, ControllerAbilityPredicate, RegisterAbilityPredicate, RouteAbilityPredicate, lambdaMatcher, };
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lambdaMatcher = void 0;
4
- const lambdaMatcher = (matchConditions) => matchConditions;
5
- exports.lambdaMatcher = lambdaMatcher;
@@ -1,3 +0,0 @@
1
- export declare class DeleteManyPresenter {
2
- deletedCount: number;
3
- }
@@ -1,20 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DeleteManyPresenter = void 0;
13
- const swagger_1 = require("@nestjs/swagger");
14
- class DeleteManyPresenter {
15
- }
16
- exports.DeleteManyPresenter = DeleteManyPresenter;
17
- __decorate([
18
- (0, swagger_1.ApiProperty)(),
19
- __metadata("design:type", Number)
20
- ], DeleteManyPresenter.prototype, "deletedCount", void 0);