@vita-mojo/auth 1.0.40 → 1.0.41
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/package.json +9 -5
- package/src/auth.d.ts +1 -2
- package/src/auth.js.map +1 -1
- package/src/generic-permissions-checker.d.ts +7 -0
- package/src/generic-permissions-checker.js +37 -0
- package/src/generic-permissions-checker.js.map +1 -0
- package/src/index.d.ts +1 -4
- package/src/index.js +1 -4
- package/src/index.js.map +1 -1
- package/src/decorators/index.d.ts +0 -1
- package/src/decorators/index.js +0 -6
- package/src/decorators/index.js.map +0 -1
- package/src/decorators/permissions.decorator.d.ts +0 -1
- package/src/decorators/permissions.decorator.js +0 -7
- package/src/decorators/permissions.decorator.js.map +0 -1
- package/src/guards/index.d.ts +0 -1
- package/src/guards/index.js +0 -6
- package/src/guards/index.js.map +0 -1
- package/src/guards/permissions.guard.d.ts +0 -7
- package/src/guards/permissions.guard.js +0 -35
- package/src/guards/permissions.guard.js.map +0 -1
- package/src/permissions-checker/index.d.ts +0 -1
- package/src/permissions-checker/index.js +0 -6
- package/src/permissions-checker/index.js.map +0 -1
- package/src/permissions-checker/permissions-checker.d.ts +0 -12
- package/src/permissions-checker/permissions-checker.js +0 -45
- package/src/permissions-checker/permissions-checker.js.map +0 -1
- package/src/types/auth-permissions-types.d.ts +0 -11
- package/src/types/auth-permissions-types.js +0 -3
- package/src/types/auth-permissions-types.js.map +0 -1
- package/src/types/index.d.ts +0 -2
- package/src/types/index.js +0 -3
- package/src/types/index.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vita-mojo/auth",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
|
|
3
|
+
"version": "1.0.41",
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"passport-jwt": "^4.0.1",
|
|
6
|
+
"jsonwebtoken": "^9.0.2"
|
|
7
|
+
},
|
|
8
|
+
"devDependencies": {
|
|
9
|
+
"@types/passport-jwt": "^4.0.1",
|
|
10
|
+
"@types/jsonwebtoken": "^9.0.10",
|
|
11
|
+
"@vita-mojo/types": "*"
|
|
8
12
|
},
|
|
9
13
|
"main": "./src/index.js",
|
|
10
14
|
"type": "commonjs"
|
package/src/auth.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Request } from 'express';
|
|
2
1
|
import * as jwt from 'jsonwebtoken';
|
|
3
|
-
export declare const extractTokenFromRequest: (request:
|
|
2
|
+
export declare const extractTokenFromRequest: (request: any) => string | null;
|
|
4
3
|
export declare const checkToken: (token: string, secretOrKey: string) => Promise<string | jwt.JwtPayload>;
|
|
5
4
|
export declare const isAllowedRole: (role: {
|
|
6
5
|
slug: string;
|
package/src/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../packages/auth/src/auth.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../packages/auth/src/auth.ts"],"names":[],"mappings":";;;;AAAA,oCAAoC;AACpC,+CAA0C;AAEnC,MAAM,uBAAuB,GAAG,CAAC,OAAY,EAAE,EAAE,CACtD,yBAAU,CAAC,2BAA2B,EAAE,CAAC,OAAO,CAAC,CAAC;AADvC,QAAA,uBAAuB,2BACgB;AAE7C,MAAM,UAAU,GAAG,CAAO,KAAa,EAAE,WAAmB,EAAE,EAAE,0DACrE,OAAA,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA,GAAA,CAAC;AADxD,QAAA,UAAU,cAC8C;AAE9D,MAAM,aAAa,GAAG,CAAC,IAAsB,EAAE,YAAsB,EAAE,EAAE,CAC9E,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AADtB,QAAA,aAAa,iBACS;AAE5B,MAAM,mBAAmB,GAAG,CACjC,WAAqB,EACrB,kBAA4B,EAC5B,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAHlE,QAAA,mBAAmB,uBAG+C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PermissionDefinition, PermissionsMap, User } from '@vita-mojo/types';
|
|
2
|
+
export declare class GenericPermissionsChecker {
|
|
3
|
+
static permissionsMap: PermissionsMap;
|
|
4
|
+
static registerPermissions(permissionList: readonly PermissionDefinition[]): void;
|
|
5
|
+
static createPlainPermissionResource(namespace: string): (resource?: string) => string;
|
|
6
|
+
static check(user: User, resource: string): boolean;
|
|
7
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GenericPermissionsChecker = void 0;
|
|
4
|
+
class GenericPermissionsChecker {
|
|
5
|
+
static registerPermissions(permissionList) {
|
|
6
|
+
GenericPermissionsChecker.permissionsMap =
|
|
7
|
+
permissionList.reduce((accumulator, current) => {
|
|
8
|
+
accumulator[current.resource
|
|
9
|
+
? `${current.namespace}__${current.resource}`
|
|
10
|
+
: current.namespace] = current;
|
|
11
|
+
return accumulator;
|
|
12
|
+
}, {});
|
|
13
|
+
}
|
|
14
|
+
static createPlainPermissionResource(namespace) {
|
|
15
|
+
return (resource) => resource ? `${namespace}__${resource}` : namespace;
|
|
16
|
+
}
|
|
17
|
+
static check(user, resource) {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
if (!user || !GenericPermissionsChecker.permissionsMap)
|
|
20
|
+
return false;
|
|
21
|
+
if (!resource)
|
|
22
|
+
return true;
|
|
23
|
+
const permissionsMap = GenericPermissionsChecker.permissionsMap;
|
|
24
|
+
if (!permissionsMap[resource])
|
|
25
|
+
return false;
|
|
26
|
+
if (((_a = user.role) === null || _a === void 0 ? void 0 : _a.slug) === 'service-account')
|
|
27
|
+
return true;
|
|
28
|
+
if (!permissionsMap[resource].permission ||
|
|
29
|
+
permissionsMap[resource].permission === '*')
|
|
30
|
+
return true;
|
|
31
|
+
if (!((_b = user.role) === null || _b === void 0 ? void 0 : _b.permissions))
|
|
32
|
+
return false;
|
|
33
|
+
return user.role.permissions.includes(permissionsMap[resource].permission);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.GenericPermissionsChecker = GenericPermissionsChecker;
|
|
37
|
+
//# sourceMappingURL=generic-permissions-checker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-permissions-checker.js","sourceRoot":"","sources":["../../../../packages/auth/src/generic-permissions-checker.ts"],"names":[],"mappings":";;;AAEA,MAAa,yBAAyB;IAGpC,MAAM,CAAC,mBAAmB,CAAC,cAA+C;QACxE,yBAAyB,CAAC,cAAc;YACtC,cAAc,CAAC,MAAM,CAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;gBAC7D,WAAW,CACT,OAAO,CAAC,QAAQ;oBACd,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,QAAQ,EAAE;oBAC7C,CAAC,CAAC,OAAO,CAAC,SAAS,CACtB,GAAG,OAAO,CAAC;gBAEZ,OAAO,WAAW,CAAC;YACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,6BAA6B,CAAC,SAAiB;QACpD,OAAO,CAAC,QAAiB,EAAE,EAAE,CAC3B,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAU,EAAE,QAAgB;;QACvC,IAAI,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAErE,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,cAAc,GAAG,yBAAyB,CAAC,cAAc,CAAC;QAEhE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAE5C,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,MAAK,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAEvD,IACE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU;YACpC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,KAAK,GAAG;YAE3C,OAAO,IAAI,CAAC;QAEd,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,CAAA;YAAE,OAAO,KAAK,CAAC;QAE1C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;CACF;AA1CD,8DA0CC"}
|
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
|
@@ -2,8 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./auth"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./
|
|
6
|
-
tslib_1.__exportStar(require("./guards"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./permissions-checker"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./types"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./generic-permissions-checker"), exports);
|
|
9
6
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/auth/src/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/auth/src/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,wEAA8C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Permissions } from './permissions.decorator';
|
package/src/decorators/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Permissions = void 0;
|
|
4
|
-
var permissions_decorator_1 = require("./permissions.decorator");
|
|
5
|
-
Object.defineProperty(exports, "Permissions", { enumerable: true, get: function () { return permissions_decorator_1.Permissions; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/auth/src/decorators/index.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AAA7C,oHAAA,WAAW,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const Permissions: (permissions: string[]) => import("@nestjs/common").CustomDecorator<string>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Permissions = void 0;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
const Permissions = (permissions) => (0, common_1.SetMetadata)('permissions', permissions);
|
|
6
|
-
exports.Permissions = Permissions;
|
|
7
|
-
//# sourceMappingURL=permissions.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.decorator.js","sourceRoot":"","sources":["../../../../../packages/auth/src/decorators/permissions.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAEtC,MAAM,WAAW,GAAG,CAAC,WAAqB,EAAE,EAAE,CAAC,IAAA,oBAAW,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAAjF,QAAA,WAAW,eAAsE"}
|
package/src/guards/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { PermissionsGuard } from './permissions.guard';
|
package/src/guards/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PermissionsGuard = void 0;
|
|
4
|
-
var permissions_guard_1 = require("./permissions.guard");
|
|
5
|
-
Object.defineProperty(exports, "PermissionsGuard", { enumerable: true, get: function () { return permissions_guard_1.PermissionsGuard; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
package/src/guards/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/auth/src/guards/index.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
|
2
|
-
import { Reflector } from '@nestjs/core';
|
|
3
|
-
export declare class PermissionsGuard implements CanActivate {
|
|
4
|
-
private readonly reflector;
|
|
5
|
-
constructor(reflector: Reflector);
|
|
6
|
-
canActivate(context: ExecutionContext): boolean;
|
|
7
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PermissionsGuard = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const common_1 = require("@nestjs/common");
|
|
6
|
-
const core_1 = require("@nestjs/core");
|
|
7
|
-
let PermissionsGuard = class PermissionsGuard {
|
|
8
|
-
constructor(reflector) {
|
|
9
|
-
this.reflector = reflector;
|
|
10
|
-
}
|
|
11
|
-
canActivate(context) {
|
|
12
|
-
var _a, _b, _c, _d;
|
|
13
|
-
const classPermissions = this.reflector.get('permissions', context.getClass());
|
|
14
|
-
const methodPermissions = this.reflector.get('permissions', context.getHandler());
|
|
15
|
-
if (!classPermissions && !methodPermissions) {
|
|
16
|
-
return true;
|
|
17
|
-
}
|
|
18
|
-
const request = context.switchToHttp().getRequest();
|
|
19
|
-
const isServiceAccount = ((_b = (_a = request.user) === null || _a === void 0 ? void 0 : _a.role) === null || _b === void 0 ? void 0 : _b.slug) === 'service-account';
|
|
20
|
-
if (isServiceAccount) {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
const userPermissions = (_d = (_c = request.user) === null || _c === void 0 ? void 0 : _c.role) === null || _d === void 0 ? void 0 : _d.permissions;
|
|
24
|
-
if (!userPermissions) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
return userPermissions.some((permission) => (methodPermissions || classPermissions).includes(permission));
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
exports.PermissionsGuard = PermissionsGuard;
|
|
31
|
-
exports.PermissionsGuard = PermissionsGuard = tslib_1.__decorate([
|
|
32
|
-
(0, common_1.Injectable)(),
|
|
33
|
-
tslib_1.__metadata("design:paramtypes", [core_1.Reflector])
|
|
34
|
-
], PermissionsGuard);
|
|
35
|
-
//# sourceMappingURL=permissions.guard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.guard.js","sourceRoot":"","sources":["../../../../../packages/auth/src/guards/permissions.guard.ts"],"names":[],"mappings":";;;;AAAA,2CAA2E;AAC3E,uCAAyC;AAGlC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD,WAAW,CAAC,OAAyB;;QACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAW,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzF,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAW,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAE5F,IAAI,CAAC,gBAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAAG,CAAA,MAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI,0CAAE,IAAI,MAAK,iBAAiB,CAAC;QAExE,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,eAAe,GAAG,MAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI,0CAAE,WAAW,CAAC;QAExD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,UAAkB,EAAE,EAAE,CAAC,CAAC,iBAAiB,IAAI,gBAAgB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACpH,CAAC;CACF,CAAA;AA1BY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;6CAE6B,gBAAS;GADtC,gBAAgB,CA0B5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { PermissionsChecker } from './permissions-checker';
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PermissionsChecker = void 0;
|
|
4
|
-
var permissions_checker_1 = require("./permissions-checker");
|
|
5
|
-
Object.defineProperty(exports, "PermissionsChecker", { enumerable: true, get: function () { return permissions_checker_1.PermissionsChecker; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/auth/src/permissions-checker/index.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type ExecutionContext } from '@nestjs/common';
|
|
2
|
-
import type { Reflector } from '@nestjs/core';
|
|
3
|
-
import { User } from '@vita-mojo/types';
|
|
4
|
-
import { PermissionDefinition, PermissionsMap } from '../types';
|
|
5
|
-
export declare class PermissionsChecker {
|
|
6
|
-
static permissionsMap: PermissionsMap;
|
|
7
|
-
static registerPermissions(permissionList: readonly PermissionDefinition[]): void;
|
|
8
|
-
static getPermissionResource(reflector: Reflector, context: ExecutionContext): string;
|
|
9
|
-
static createPlainPermissionResource(namespace: string): (resource?: string) => string;
|
|
10
|
-
static createPermissionResource(namespace: string): (resource?: string) => import("@nestjs/common").CustomDecorator<string>;
|
|
11
|
-
static check(user: User, resource: string): boolean;
|
|
12
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PermissionsChecker = void 0;
|
|
4
|
-
const common_1 = require("@nestjs/common");
|
|
5
|
-
class PermissionsChecker {
|
|
6
|
-
static registerPermissions(permissionList) {
|
|
7
|
-
PermissionsChecker.permissionsMap = permissionList.reduce((accumulator, current) => {
|
|
8
|
-
accumulator[current.resource
|
|
9
|
-
? `${current.namespace}__${current.resource}`
|
|
10
|
-
: current.namespace] = current;
|
|
11
|
-
return accumulator;
|
|
12
|
-
}, {});
|
|
13
|
-
}
|
|
14
|
-
static getPermissionResource(reflector, context) {
|
|
15
|
-
const classResource = reflector.get('permissionResource', context.getClass());
|
|
16
|
-
const methodResource = reflector.get('permissionResource', context.getHandler());
|
|
17
|
-
return methodResource || classResource;
|
|
18
|
-
}
|
|
19
|
-
static createPlainPermissionResource(namespace) {
|
|
20
|
-
return (resource) => resource ? `${namespace}__${resource}` : namespace;
|
|
21
|
-
}
|
|
22
|
-
static createPermissionResource(namespace) {
|
|
23
|
-
return (resource) => (0, common_1.SetMetadata)('permissionResource', PermissionsChecker.createPlainPermissionResource(namespace)(resource));
|
|
24
|
-
}
|
|
25
|
-
static check(user, resource) {
|
|
26
|
-
var _a, _b;
|
|
27
|
-
if (!user || !PermissionsChecker.permissionsMap)
|
|
28
|
-
return false;
|
|
29
|
-
if (!resource)
|
|
30
|
-
return true;
|
|
31
|
-
const permissionsMap = PermissionsChecker.permissionsMap;
|
|
32
|
-
if (!permissionsMap[resource])
|
|
33
|
-
return false;
|
|
34
|
-
if (((_a = user.role) === null || _a === void 0 ? void 0 : _a.slug) === 'service-account')
|
|
35
|
-
return true;
|
|
36
|
-
if (!permissionsMap[resource].permission ||
|
|
37
|
-
permissionsMap[resource].permission === '*')
|
|
38
|
-
return true;
|
|
39
|
-
if (!((_b = user.role) === null || _b === void 0 ? void 0 : _b.permissions))
|
|
40
|
-
return false;
|
|
41
|
-
return user.role.permissions.includes(permissionsMap[resource].permission);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.PermissionsChecker = PermissionsChecker;
|
|
45
|
-
//# sourceMappingURL=permissions-checker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissions-checker.js","sourceRoot":"","sources":["../../../../../packages/auth/src/permissions-checker/permissions-checker.ts"],"names":[],"mappings":";;;AAAA,2CAAoE;AAMpE,MAAa,kBAAkB;IAG7B,MAAM,CAAC,mBAAmB,CAAC,cAA+C;QACxE,kBAAkB,CAAC,cAAc,GAAG,cAAc,CAAC,MAAM,CACvD,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;YACvB,WAAW,CACT,OAAO,CAAC,QAAQ;gBACd,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,QAAQ,EAAE;gBAC7C,CAAC,CAAC,OAAO,CAAC,SAAS,CACtB,GAAG,OAAO,CAAC;YAEZ,OAAO,WAAW,CAAC;QACrB,CAAC,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB,CAC1B,SAAoB,EACpB,OAAyB;QAEzB,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CACjC,oBAAoB,EACpB,OAAO,CAAC,QAAQ,EAAE,CACnB,CAAC;QACF,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAClC,oBAAoB,EACpB,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;QAEF,OAAO,cAAc,IAAI,aAAa,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,6BAA6B,CAAC,SAAiB;QACpD,OAAO,CAAC,QAAiB,EAAE,EAAE,CAC3B,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,SAAiB;QAC/C,OAAO,CAAC,QAAiB,EAAE,EAAE,CAC3B,IAAA,oBAAW,EACT,oBAAoB,EACpB,kBAAkB,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CACtE,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAU,EAAE,QAAgB;;QACvC,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAE9D,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,cAAc,GAAG,kBAAkB,CAAC,cAAc,CAAC;QAEzD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAE5C,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,MAAK,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAEvD,IACE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU;YACpC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,KAAK,GAAG;YAE3C,OAAO,IAAI,CAAC;QAEd,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,CAAA;YAAE,OAAO,KAAK,CAAC;QAE1C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;CACF;AApED,gDAoEC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-permissions-types.js","sourceRoot":"","sources":["../../../../../packages/auth/src/types/auth-permissions-types.ts"],"names":[],"mappings":""}
|
package/src/types/index.d.ts
DELETED
package/src/types/index.js
DELETED
package/src/types/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/auth/src/types/index.ts"],"names":[],"mappings":""}
|