mongodb-dynamic-api 2.1.6 → 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.
- package/CHANGELOG.md +2 -0
- package/package.json +1 -2
- package/src/builders/index.d.ts +0 -1
- package/src/builders/index.js +0 -1
- package/src/builders/route-decorators/route-decorators.builder.d.ts +0 -1
- package/src/decorators/index.d.ts +0 -1
- package/src/decorators/index.js +0 -1
- package/src/dynamic-api.module.d.ts +2 -0
- package/src/dynamic-api.module.js +39 -29
- package/src/guards/base-policies.guard.d.ts +7 -8
- package/src/guards/base-policies.guard.js +17 -22
- package/src/helpers/controller-ability-predicates.helper.d.ts +2 -2
- package/src/helpers/controller-mixin.helper.d.ts +4 -28
- package/src/helpers/controller-mixin.helper.js +6 -16
- package/src/helpers/format.helper.d.ts +2 -0
- package/src/helpers/format.helper.js +6 -1
- package/src/interfaces/dynamic-api-ability.interface.d.ts +9 -0
- package/src/interfaces/dynamic-api-ability.interface.js +2 -0
- package/src/interfaces/dynamic-api-controller-options.interface.d.ts +1 -1
- package/src/interfaces/dynamic-api-policy-handler.interface.d.ts +4 -10
- package/src/interfaces/dynamic-api-route-config.interface.d.ts +2 -2
- package/src/interfaces/index.d.ts +1 -1
- package/src/interfaces/index.js +1 -1
- package/src/mixins/create-policies-guard.mixin.d.ts +3 -2
- package/src/mixins/create-policies-guard.mixin.js +9 -6
- package/src/modules/auth/mixins/auth-controller.mixin.js +0 -1
- package/src/modules/auth/mixins/auth-register-policies-guard.mixin.d.ts +2 -3
- package/src/modules/auth/mixins/auth-register-policies-guard.mixin.js +6 -33
- package/src/modules/auth/services/base-auth.service.d.ts +0 -1
- package/src/modules/auth/services/base-auth.service.js +3 -6
- package/src/routes/create-many/create-many-controller.mixin.js +0 -2
- package/src/routes/create-many/create-many.helper.js +2 -2
- package/src/routes/create-one/create-one-controller.mixin.js +0 -2
- package/src/routes/create-one/create-one.helper.js +2 -2
- package/src/routes/delete-many/delete-many-controller.mixin.js +0 -2
- package/src/routes/delete-many/delete-many.helper.js +2 -2
- package/src/routes/delete-one/delete-one-controller.mixin.js +0 -2
- package/src/routes/delete-one/delete-one.helper.js +2 -2
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +0 -2
- package/src/routes/duplicate-many/duplicate-many.helper.js +2 -2
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +0 -2
- package/src/routes/duplicate-one/duplicate-one.helper.js +2 -2
- package/src/routes/get-many/get-many-controller.mixin.js +9 -6
- package/src/routes/get-many/get-many.helper.js +2 -2
- package/src/routes/get-one/get-one-controller.mixin.js +1 -4
- package/src/routes/get-one/get-one.helper.js +2 -2
- package/src/routes/replace-one/replace-one-controller.mixin.js +1 -3
- package/src/routes/replace-one/replace-one.helper.js +2 -2
- package/src/routes/update-many/update-many-controller.mixin.js +1 -3
- package/src/routes/update-many/update-many.helper.js +2 -2
- package/src/routes/update-one/update-one-controller.mixin.js +1 -3
- package/src/routes/update-one/update-one.helper.js +2 -2
- package/src/services/base/base.service.d.ts +7 -1
- package/src/services/base/base.service.js +32 -0
- package/src/version.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/src/builders/casl/casl-ability.builder.d.ts +0 -5
- package/src/builders/casl/casl-ability.builder.js +0 -17
- package/src/decorators/check-policies.decorator.d.ts +0 -5
- package/src/decorators/check-policies.decorator.js +0 -8
- package/src/interfaces/dynamic-api-casl-ability.interface.d.ts +0 -12
- package/src/interfaces/dynamic-api-casl-ability.interface.js +0 -5
|
@@ -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, };
|