@bidding-micro/shared 1.0.0 → 1.0.1

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 (43) hide show
  1. package/dist/constants/enum.constant.d.ts +16 -0
  2. package/dist/constants/enum.constant.js +31 -0
  3. package/dist/constants/enum.constant.js.map +1 -0
  4. package/dist/constants/messages.constant.d.ts +6 -0
  5. package/dist/constants/messages.constant.js +10 -0
  6. package/dist/constants/messages.constant.js.map +1 -0
  7. package/dist/constants/rolePermissionsMap.constant.js +25 -0
  8. package/dist/constants/rolePermissionsMap.constant.js.map +1 -0
  9. package/dist/decorators/auth.decorator.d.ts +1 -0
  10. package/dist/{decorator → decorators}/auth.decorator.js +2 -3
  11. package/dist/decorators/auth.decorator.js.map +1 -0
  12. package/dist/{decorator → decorators}/currentUser.decorator.js +4 -4
  13. package/dist/decorators/currentUser.decorator.js.map +1 -0
  14. package/dist/guard/role.guard.d.ts +22 -0
  15. package/dist/guard/role.guard.js +100 -0
  16. package/dist/guard/role.guard.js.map +1 -0
  17. package/dist/index.d.ts +8 -6
  18. package/dist/index.js +8 -6
  19. package/dist/index.js.map +1 -1
  20. package/dist/interfaces/user.interface.d.ts +12 -0
  21. package/dist/interfaces/user.interface.js +3 -0
  22. package/dist/interfaces/user.interface.js.map +1 -0
  23. package/dist/modules/auth.module.d.ts +8 -0
  24. package/dist/modules/auth.module.js +43 -0
  25. package/dist/modules/auth.module.js.map +1 -0
  26. package/dist/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +1 -1
  28. package/dist/constant/enum.constant.d.ts +0 -69
  29. package/dist/constant/enum.constant.js +0 -77
  30. package/dist/constant/enum.constant.js.map +0 -1
  31. package/dist/constant/messages.constant.d.ts +0 -6
  32. package/dist/constant/messages.constant.js +0 -10
  33. package/dist/constant/messages.constant.js.map +0 -1
  34. package/dist/constant/rolePermissionsMap.constant.js +0 -100
  35. package/dist/constant/rolePermissionsMap.constant.js.map +0 -1
  36. package/dist/decorator/auth.decorator.d.ts +0 -3
  37. package/dist/decorator/auth.decorator.js.map +0 -1
  38. package/dist/decorator/currentUser.decorator.js.map +0 -1
  39. package/dist/guard/base-role.guard.d.ts +0 -18
  40. package/dist/guard/base-role.guard.js +0 -67
  41. package/dist/guard/base-role.guard.js.map +0 -1
  42. /package/dist/{constant → constants}/rolePermissionsMap.constant.d.ts +0 -0
  43. /package/dist/{decorator → decorators}/currentUser.decorator.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bidding-micro/shared",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Shared constants, decorators, guards and NATS helpers for bidding microservices",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,69 +0,0 @@
1
- export declare enum Role {
2
- ADMIN = "admin",
3
- INSTRUCTOR = "instructor",
4
- USER = "user"
5
- }
6
- export declare const AllRoles: Role[];
7
- export declare enum Permission {
8
- UPDATE_USER = "update_user",
9
- DELETE_USER = "delete_user",
10
- EDIT_USER_ROLE = "edit_user_role",
11
- VIEW_USER = "view_user",
12
- CREATE_INSTRUCTOR = "create_instructor",
13
- VIEW_INSTRUCTOR = "view_instructor",
14
- COUNT_USER_DETAILS = "count_user_details",
15
- RESET_PASSWORD = "RESET_PASSWORD",
16
- CHANGE_PASSWORD = "CHANGE_PASSWORD",
17
- FORGOT_PASSWORD = "FORGOT_PASSWORD",
18
- LOGOUT = "LOGOUT",
19
- CREATE_CATEGORY = "create_category",
20
- UPDATE_CATEGORY = "update_category",
21
- DELETE_CATEGORY = "delete_category",
22
- CREATE_COURSE = "create_course",
23
- UPDATE_COURSE = "update_course",
24
- VIEW_REQUEST_FOR_USER = "view_request_for_user",
25
- DELETE_COURSE = "delete_course",
26
- CREATE_STARTUP = "create_startup",
27
- UPDATE_STARTUP = "update_startup",
28
- DELETE_STARTUP = "delete_startup",
29
- CREATE_REQUEST = "create_request",
30
- UPDATE_REQUEST = "update_request",
31
- DELETE_REQUEST = "delete_request",
32
- VIEW_REQUEST = "view_request",
33
- UPDATE_REQUESTFORUSER = "update_requestforuser",
34
- CREATE_CERTIFICATE = "create_certificate",
35
- VIEW_CERTIFICATE = "view_certificate",
36
- VIEW_CERTIFICATE_FOR_USER = "view_certificate_for_user",
37
- DELETE_CERTIFICATE = "delete_certificate",
38
- CREATE_CART = "create_cart",
39
- UPDATE_CART = "update_cart",
40
- DELETE_CART = "delete_cart",
41
- VIEW_CART = "view_cart",
42
- CREATE_WISHLIST = "create_wishlist",
43
- DELETE_WISHLIST = "delete_wishlist",
44
- VIEW_WISHLIST = "view_wishlist",
45
- CREATE_REVIEW = "create_review",
46
- UPDATE_REVIEW = "update_review",
47
- DELETE_REVIEW = "delete_review",
48
- READ_REVIEW_FOR_USER = "read_review_for_user",
49
- DELETE_REVIEW_AS_ADMIN = "delete_review_as_admin",
50
- DISAPPROVE_REVIEW = "disapprove_review",
51
- CREATE_STUDENT_PROJECT = "create_student_project",
52
- UPDATE_STUDENT_PROJECT = "update_student_project",
53
- DELETE_STUDENT_PROJECT = "delete_student_project",
54
- APPROVE_STUDENT_PROJECT = "approve_student_project",
55
- VIEW_STUDENT_PROJECT = "view_student_project"
56
- }
57
- export declare enum CourseLevel {
58
- BEGINNER = "beginner",
59
- INTERMEDIATE = "intermediate",
60
- ADVANCED = "advanced",
61
- ALL = "all"
62
- }
63
- export declare enum RequestStatus {
64
- APPROVED = "approved",
65
- PENDING = "pending",
66
- REJECTED = "rejected",
67
- CANCELED = "canceled",
68
- COMPLETED = "completed"
69
- }
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RequestStatus = exports.CourseLevel = exports.Permission = exports.AllRoles = exports.Role = void 0;
4
- var Role;
5
- (function (Role) {
6
- Role["ADMIN"] = "admin";
7
- Role["INSTRUCTOR"] = "instructor";
8
- Role["USER"] = "user";
9
- })(Role || (exports.Role = Role = {}));
10
- exports.AllRoles = Object.values(Role);
11
- var Permission;
12
- (function (Permission) {
13
- Permission["UPDATE_USER"] = "update_user";
14
- Permission["DELETE_USER"] = "delete_user";
15
- Permission["EDIT_USER_ROLE"] = "edit_user_role";
16
- Permission["VIEW_USER"] = "view_user";
17
- Permission["CREATE_INSTRUCTOR"] = "create_instructor";
18
- Permission["VIEW_INSTRUCTOR"] = "view_instructor";
19
- Permission["COUNT_USER_DETAILS"] = "count_user_details";
20
- Permission["RESET_PASSWORD"] = "RESET_PASSWORD";
21
- Permission["CHANGE_PASSWORD"] = "CHANGE_PASSWORD";
22
- Permission["FORGOT_PASSWORD"] = "FORGOT_PASSWORD";
23
- Permission["LOGOUT"] = "LOGOUT";
24
- Permission["CREATE_CATEGORY"] = "create_category";
25
- Permission["UPDATE_CATEGORY"] = "update_category";
26
- Permission["DELETE_CATEGORY"] = "delete_category";
27
- Permission["CREATE_COURSE"] = "create_course";
28
- Permission["UPDATE_COURSE"] = "update_course";
29
- Permission["VIEW_REQUEST_FOR_USER"] = "view_request_for_user";
30
- Permission["DELETE_COURSE"] = "delete_course";
31
- Permission["CREATE_STARTUP"] = "create_startup";
32
- Permission["UPDATE_STARTUP"] = "update_startup";
33
- Permission["DELETE_STARTUP"] = "delete_startup";
34
- Permission["CREATE_REQUEST"] = "create_request";
35
- Permission["UPDATE_REQUEST"] = "update_request";
36
- Permission["DELETE_REQUEST"] = "delete_request";
37
- Permission["VIEW_REQUEST"] = "view_request";
38
- Permission["UPDATE_REQUESTFORUSER"] = "update_requestforuser";
39
- Permission["CREATE_CERTIFICATE"] = "create_certificate";
40
- Permission["VIEW_CERTIFICATE"] = "view_certificate";
41
- Permission["VIEW_CERTIFICATE_FOR_USER"] = "view_certificate_for_user";
42
- Permission["DELETE_CERTIFICATE"] = "delete_certificate";
43
- Permission["CREATE_CART"] = "create_cart";
44
- Permission["UPDATE_CART"] = "update_cart";
45
- Permission["DELETE_CART"] = "delete_cart";
46
- Permission["VIEW_CART"] = "view_cart";
47
- Permission["CREATE_WISHLIST"] = "create_wishlist";
48
- Permission["DELETE_WISHLIST"] = "delete_wishlist";
49
- Permission["VIEW_WISHLIST"] = "view_wishlist";
50
- Permission["CREATE_REVIEW"] = "create_review";
51
- Permission["UPDATE_REVIEW"] = "update_review";
52
- Permission["DELETE_REVIEW"] = "delete_review";
53
- Permission["READ_REVIEW_FOR_USER"] = "read_review_for_user";
54
- Permission["DELETE_REVIEW_AS_ADMIN"] = "delete_review_as_admin";
55
- Permission["DISAPPROVE_REVIEW"] = "disapprove_review";
56
- Permission["CREATE_STUDENT_PROJECT"] = "create_student_project";
57
- Permission["UPDATE_STUDENT_PROJECT"] = "update_student_project";
58
- Permission["DELETE_STUDENT_PROJECT"] = "delete_student_project";
59
- Permission["APPROVE_STUDENT_PROJECT"] = "approve_student_project";
60
- Permission["VIEW_STUDENT_PROJECT"] = "view_student_project";
61
- })(Permission || (exports.Permission = Permission = {}));
62
- var CourseLevel;
63
- (function (CourseLevel) {
64
- CourseLevel["BEGINNER"] = "beginner";
65
- CourseLevel["INTERMEDIATE"] = "intermediate";
66
- CourseLevel["ADVANCED"] = "advanced";
67
- CourseLevel["ALL"] = "all";
68
- })(CourseLevel || (exports.CourseLevel = CourseLevel = {}));
69
- var RequestStatus;
70
- (function (RequestStatus) {
71
- RequestStatus["APPROVED"] = "approved";
72
- RequestStatus["PENDING"] = "pending";
73
- RequestStatus["REJECTED"] = "rejected";
74
- RequestStatus["CANCELED"] = "canceled";
75
- RequestStatus["COMPLETED"] = "completed";
76
- })(RequestStatus || (exports.RequestStatus = RequestStatus = {}));
77
- //# sourceMappingURL=enum.constant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enum.constant.js","sourceRoot":"","sources":["../../src/constant/enum.constant.ts"],"names":[],"mappings":";;;AACA,IAAY,IAIX;AAJD,WAAY,IAAI;IACd,uBAAe,CAAA;IACf,iCAAyB,CAAA;IACzB,qBAAa,CAAA;AACf,CAAC,EAJW,IAAI,oBAAJ,IAAI,QAIf;AAEY,QAAA,QAAQ,GAAW,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAEpD,IAAY,UAsEX;AAtED,WAAY,UAAU;IAEpB,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAC3B,+CAAiC,CAAA;IACjC,qCAAuB,CAAA;IACvB,qDAAuC,CAAA;IACvC,iDAAmC,CAAA;IACnC,uDAAyC,CAAA;IAGzC,+CAAiC,CAAA;IACjC,iDAAmC,CAAA;IACnC,iDAAmC,CAAA;IACnC,+BAAiB,CAAA;IAGjB,iDAAmC,CAAA;IACnC,iDAAmC,CAAA;IACnC,iDAAmC,CAAA;IAGnC,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,6DAA+C,CAAA;IAC/C,6CAA+B,CAAA;IAG/B,+CAAiC,CAAA;IACjC,+CAAiC,CAAA;IACjC,+CAAiC,CAAA;IAGjC,+CAAiC,CAAA;IACjC,+CAAiC,CAAA;IACjC,+CAAiC,CAAA;IACjC,2CAA6B,CAAA;IAC7B,6DAA+C,CAAA;IAG/C,uDAAyC,CAAA;IACzC,mDAAqC,CAAA;IACrC,qEAAuD,CAAA;IACvD,uDAAyC,CAAA;IAGzC,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAC3B,qCAAuB,CAAA;IAGvB,iDAAmC,CAAA;IACnC,iDAAmC,CAAA;IACnC,6CAA+B,CAAA;IAG/B,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,2DAA6C,CAAA;IAC7C,+DAAiD,CAAA;IACjD,qDAAuC,CAAA;IAGvC,+DAAiD,CAAA;IACjD,+DAAiD,CAAA;IACjD,+DAAiD,CAAA;IACjD,iEAAmD,CAAA;IACnD,2DAA6C,CAAA;AAC/C,CAAC,EAtEW,UAAU,0BAAV,UAAU,QAsErB;AAED,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,4CAA6B,CAAA;IAC7B,oCAAqB,CAAA;IACrB,0BAAW,CAAA;AACb,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;IACrB,wCAAuB,CAAA;AACzB,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB"}
@@ -1,6 +0,0 @@
1
- export declare const DEFAULT_PAGE = 1;
2
- export declare const DEFAULT_LIMIT = 12;
3
- export declare const CurrentUserMsg = "User not found in request";
4
- export declare const PasswordValidatorMsg = "Password should be from 6 to 16 digits";
5
- export declare const ExceptionFilterMsg = "An error occurred";
6
- export declare const DeliveryPrice = 20;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeliveryPrice = exports.ExceptionFilterMsg = exports.PasswordValidatorMsg = exports.CurrentUserMsg = exports.DEFAULT_LIMIT = exports.DEFAULT_PAGE = void 0;
4
- exports.DEFAULT_PAGE = 1;
5
- exports.DEFAULT_LIMIT = 12;
6
- exports.CurrentUserMsg = 'User not found in request';
7
- exports.PasswordValidatorMsg = 'Password should be from 6 to 16 digits';
8
- exports.ExceptionFilterMsg = 'An error occurred';
9
- exports.DeliveryPrice = 20;
10
- //# sourceMappingURL=messages.constant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.constant.js","sourceRoot":"","sources":["../../src/constant/messages.constant.ts"],"names":[],"mappings":";;;AACa,QAAA,YAAY,GAAG,CAAC,CAAC;AACjB,QAAA,aAAa,GAAG,EAAE,CAAC;AAGnB,QAAA,cAAc,GAAG,2BAA2B,CAAC;AAC7C,QAAA,oBAAoB,GAAG,wCAAwC,CAAC;AAGhE,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AAGzC,QAAA,aAAa,GAAG,EAAE,CAAC"}
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rolePermissionsMap = void 0;
4
- const enum_constant_1 = require("./enum.constant");
5
- exports.rolePermissionsMap = {
6
- [enum_constant_1.Role.ADMIN]: [
7
- enum_constant_1.Permission.UPDATE_USER,
8
- enum_constant_1.Permission.DELETE_USER,
9
- enum_constant_1.Permission.EDIT_USER_ROLE,
10
- enum_constant_1.Permission.RESET_PASSWORD,
11
- enum_constant_1.Permission.CHANGE_PASSWORD,
12
- enum_constant_1.Permission.FORGOT_PASSWORD,
13
- enum_constant_1.Permission.LOGOUT,
14
- enum_constant_1.Permission.VIEW_USER,
15
- enum_constant_1.Permission.CREATE_INSTRUCTOR,
16
- enum_constant_1.Permission.VIEW_INSTRUCTOR,
17
- enum_constant_1.Permission.COUNT_USER_DETAILS,
18
- enum_constant_1.Permission.CREATE_CATEGORY,
19
- enum_constant_1.Permission.UPDATE_CATEGORY,
20
- enum_constant_1.Permission.DELETE_CATEGORY,
21
- enum_constant_1.Permission.VIEW_REQUEST,
22
- enum_constant_1.Permission.VIEW_REQUEST_FOR_USER,
23
- enum_constant_1.Permission.CREATE_REQUEST,
24
- enum_constant_1.Permission.UPDATE_REQUEST,
25
- enum_constant_1.Permission.DELETE_REQUEST,
26
- enum_constant_1.Permission.UPDATE_REQUESTFORUSER,
27
- enum_constant_1.Permission.CREATE_COURSE,
28
- enum_constant_1.Permission.UPDATE_COURSE,
29
- enum_constant_1.Permission.DELETE_COURSE,
30
- enum_constant_1.Permission.CREATE_CERTIFICATE,
31
- enum_constant_1.Permission.VIEW_CERTIFICATE,
32
- enum_constant_1.Permission.VIEW_CERTIFICATE_FOR_USER,
33
- enum_constant_1.Permission.DELETE_CERTIFICATE,
34
- enum_constant_1.Permission.CREATE_CART,
35
- enum_constant_1.Permission.UPDATE_CART,
36
- enum_constant_1.Permission.DELETE_CART,
37
- enum_constant_1.Permission.VIEW_CART,
38
- enum_constant_1.Permission.CREATE_WISHLIST,
39
- enum_constant_1.Permission.DELETE_WISHLIST,
40
- enum_constant_1.Permission.VIEW_WISHLIST,
41
- enum_constant_1.Permission.CREATE_REVIEW,
42
- enum_constant_1.Permission.UPDATE_REVIEW,
43
- enum_constant_1.Permission.DELETE_REVIEW,
44
- enum_constant_1.Permission.DELETE_REVIEW_AS_ADMIN,
45
- enum_constant_1.Permission.DISAPPROVE_REVIEW,
46
- enum_constant_1.Permission.CREATE_STARTUP,
47
- enum_constant_1.Permission.DELETE_STARTUP,
48
- enum_constant_1.Permission.UPDATE_STARTUP,
49
- enum_constant_1.Permission.CREATE_STUDENT_PROJECT,
50
- enum_constant_1.Permission.UPDATE_STUDENT_PROJECT,
51
- enum_constant_1.Permission.DELETE_STUDENT_PROJECT,
52
- enum_constant_1.Permission.APPROVE_STUDENT_PROJECT,
53
- enum_constant_1.Permission.VIEW_STUDENT_PROJECT,
54
- ],
55
- [enum_constant_1.Role.USER]: [
56
- enum_constant_1.Permission.UPDATE_USER,
57
- enum_constant_1.Permission.RESET_PASSWORD,
58
- enum_constant_1.Permission.CHANGE_PASSWORD,
59
- enum_constant_1.Permission.FORGOT_PASSWORD,
60
- enum_constant_1.Permission.LOGOUT,
61
- enum_constant_1.Permission.COUNT_USER_DETAILS,
62
- enum_constant_1.Permission.UPDATE_REQUESTFORUSER,
63
- enum_constant_1.Permission.CREATE_REQUEST,
64
- enum_constant_1.Permission.VIEW_REQUEST_FOR_USER,
65
- enum_constant_1.Permission.VIEW_CERTIFICATE_FOR_USER,
66
- enum_constant_1.Permission.CREATE_CART,
67
- enum_constant_1.Permission.UPDATE_CART,
68
- enum_constant_1.Permission.DELETE_CART,
69
- enum_constant_1.Permission.VIEW_CART,
70
- enum_constant_1.Permission.CREATE_WISHLIST,
71
- enum_constant_1.Permission.DELETE_WISHLIST,
72
- enum_constant_1.Permission.VIEW_WISHLIST,
73
- enum_constant_1.Permission.CREATE_REVIEW,
74
- enum_constant_1.Permission.UPDATE_REVIEW,
75
- enum_constant_1.Permission.DELETE_REVIEW,
76
- enum_constant_1.Permission.READ_REVIEW_FOR_USER,
77
- enum_constant_1.Permission.CREATE_STUDENT_PROJECT,
78
- enum_constant_1.Permission.UPDATE_STUDENT_PROJECT,
79
- enum_constant_1.Permission.VIEW_STUDENT_PROJECT,
80
- ],
81
- [enum_constant_1.Role.INSTRUCTOR]: [
82
- enum_constant_1.Permission.UPDATE_USER,
83
- enum_constant_1.Permission.RESET_PASSWORD,
84
- enum_constant_1.Permission.CHANGE_PASSWORD,
85
- enum_constant_1.Permission.FORGOT_PASSWORD,
86
- enum_constant_1.Permission.LOGOUT,
87
- enum_constant_1.Permission.VIEW_CERTIFICATE_FOR_USER,
88
- enum_constant_1.Permission.CREATE_CART,
89
- enum_constant_1.Permission.UPDATE_CART,
90
- enum_constant_1.Permission.DELETE_CART,
91
- enum_constant_1.Permission.VIEW_CART,
92
- enum_constant_1.Permission.CREATE_WISHLIST,
93
- enum_constant_1.Permission.DELETE_WISHLIST,
94
- enum_constant_1.Permission.VIEW_WISHLIST,
95
- enum_constant_1.Permission.CREATE_REVIEW,
96
- enum_constant_1.Permission.UPDATE_REVIEW,
97
- enum_constant_1.Permission.DELETE_REVIEW,
98
- ],
99
- };
100
- //# sourceMappingURL=rolePermissionsMap.constant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rolePermissionsMap.constant.js","sourceRoot":"","sources":["../../src/constant/rolePermissionsMap.constant.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Permission } from '../constant/enum.constant';
2
- export declare const PERMISSIONS_KEY = "permissions";
3
- export declare function Auth(permissions?: Permission[]): <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.decorator.js","sourceRoot":"","sources":["../../src/decorator/auth.decorator.ts"],"names":[],"mappings":";;;AAYA,oBAEC;AAdD,2CAAyE;AAG5D,QAAA,eAAe,GAAG,aAAa,CAAC;AAS7C,SAAgB,IAAI,CAAC,cAA4B,EAAE;IACjD,OAAO,IAAA,wBAAe,EAAC,IAAA,oBAAW,EAAC,uBAAe,EAAE,WAAW,CAAC,CAAC,CAAC;AACpE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"currentUser.decorator.js","sourceRoot":"","sources":["../../src/decorator/currentUser.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAIwB;AACxB,6CAAsD;AACtD,qEAA+D;AAElD,QAAA,WAAW,GAAG,IAAA,6BAAoB,EAC7C,CAAC,KAAc,EAAE,OAAyB,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,4BAAmB,CAAC,kCAAc,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CACF,CAAC"}
@@ -1,18 +0,0 @@
1
- import { CanActivate, ExecutionContext } from '@nestjs/common';
2
- import { Reflector } from '@nestjs/core';
3
- import { JwtService } from '@nestjs/jwt';
4
- import { Permission, Role } from '../constant/enum.constant';
5
- export declare abstract class BaseRoleGuard implements CanActivate {
6
- protected readonly jwtService: JwtService;
7
- protected readonly reflector: Reflector;
8
- constructor(jwtService: JwtService, reflector: Reflector);
9
- canActivate(context: ExecutionContext): Promise<boolean>;
10
- protected abstract findUser(id: string): Promise<{
11
- id: string;
12
- email: string;
13
- role: Role;
14
- }>;
15
- protected abstract getRolePermissions(role: Role): Permission[];
16
- private extractToken;
17
- private verifyToken;
18
- }
@@ -1,67 +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.BaseRoleGuard = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const core_1 = require("@nestjs/core");
15
- const graphql_1 = require("@nestjs/graphql");
16
- const jwt_1 = require("@nestjs/jwt");
17
- const auth_decorator_1 = require("../decorator/auth.decorator");
18
- let BaseRoleGuard = class BaseRoleGuard {
19
- constructor(jwtService, reflector) {
20
- this.jwtService = jwtService;
21
- this.reflector = reflector;
22
- }
23
- async canActivate(context) {
24
- const { request } = graphql_1.GqlExecutionContext.create(context).getContext();
25
- const token = this.extractToken(request);
26
- if (!token) {
27
- throw new common_1.UnauthorizedException('No token provided');
28
- }
29
- const requiredPermissions = this.reflector.getAllAndOverride(auth_decorator_1.PERMISSIONS_KEY, [context.getHandler(), context.getClass()]) ?? [];
30
- const payload = await this.verifyToken(token);
31
- const user = await this.findUser(payload.id);
32
- const rolePermissions = this.getRolePermissions(user.role);
33
- const hasPermissions = requiredPermissions.length === 0 ||
34
- requiredPermissions.every((p) => rolePermissions.includes(p));
35
- if (!hasPermissions) {
36
- throw new common_1.UnauthorizedException('Insufficient permissions');
37
- }
38
- request['user'] = {
39
- id: user.id,
40
- email: user.email,
41
- role: user.role,
42
- permissions: rolePermissions,
43
- };
44
- return true;
45
- }
46
- extractToken(request) {
47
- const [type, token] = request.headers['authorization']?.split(' ') ?? [];
48
- return type === 'Bearer' ? token : null;
49
- }
50
- async verifyToken(token) {
51
- try {
52
- return await this.jwtService.verifyAsync(token, {
53
- secret: process.env.JWT_SECRET,
54
- });
55
- }
56
- catch {
57
- throw new common_1.UnauthorizedException('Invalid or expired token');
58
- }
59
- }
60
- };
61
- exports.BaseRoleGuard = BaseRoleGuard;
62
- exports.BaseRoleGuard = BaseRoleGuard = __decorate([
63
- (0, common_1.Injectable)(),
64
- __metadata("design:paramtypes", [jwt_1.JwtService,
65
- core_1.Reflector])
66
- ], BaseRoleGuard);
67
- //# sourceMappingURL=base-role.guard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-role.guard.js","sourceRoot":"","sources":["../../src/guard/base-role.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAMwB;AACxB,uCAAyC;AACzC,6CAAsD;AACtD,qCAAyC;AAGzC,gEAA8D;AAYvD,IAAe,aAAa,GAA5B,MAAe,aAAa;IACjC,YACqB,UAAsB,EACtB,SAAoB;QADpB,eAAU,GAAV,UAAU,CAAY;QACtB,cAAS,GAAT,SAAS,CAAW;IACtC,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC,mBAAmB,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC1D,gCAAe,EACf,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC3C,IAAI,EAAE,CAAC;QAER,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE7C,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,cAAc,GAClB,mBAAmB,CAAC,MAAM,KAAK,CAAC;YAChC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,8BAAqB,CAAC,0BAA0B,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,GAAG;YAChB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,eAAe;SAC7B,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,YAAY,CAAC,OAAgB;QACnC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACzE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAa;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC9C,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,8BAAqB,CAAC,0BAA0B,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAA;AA1DqB,sCAAa;wBAAb,aAAa;IADlC,IAAA,mBAAU,GAAE;qCAGsB,gBAAU;QACX,gBAAS;GAHrB,aAAa,CA0DlC"}