@fabx.vn/core 1.0.0 → 1.0.2

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 (36) hide show
  1. package/README.md +68 -131
  2. package/dist/core/core.module.js +11 -11
  3. package/dist/core/dtos/api-response.dto.js +1 -1
  4. package/dist/core/dtos/pagination.dto.js +1 -1
  5. package/dist/core/filters/http-exception.filter.js +2 -2
  6. package/dist/core/guards/internal-auth.guard.d.ts +1 -1
  7. package/dist/core/guards/internal-auth.guard.js +2 -2
  8. package/dist/core/guards/jwt-auth.guard.d.ts +2 -1
  9. package/dist/core/guards/jwt-auth.guard.js +12 -6
  10. package/dist/core/guards/jwt-auth.guard.js.map +1 -1
  11. package/dist/core/guards/permission.guard.d.ts +1 -1
  12. package/dist/core/guards/permission.guard.js +5 -5
  13. package/dist/core/interceptors/request-context.interceptor.d.ts +1 -1
  14. package/dist/core/interceptors/request-context.interceptor.js +2 -2
  15. package/dist/core/services/cache.service.js +1 -1
  16. package/dist/core/services/cookie.service.js +1 -1
  17. package/dist/core/services/jwt.service.d.ts +2 -1
  18. package/dist/core/services/jwt.service.js +11 -7
  19. package/dist/core/services/jwt.service.js.map +1 -1
  20. package/dist/core/services/rabbitmq-publisher.service.js +1 -1
  21. package/dist/core/services/redis.service.js +1 -1
  22. package/dist/core/services/request-context.service.d.ts +1 -1
  23. package/dist/core/services/session.service.d.ts +1 -1
  24. package/dist/core/services/session.service.js +1 -1
  25. package/dist/core/services/session.service.js.map +1 -1
  26. package/dist/core/strategies/jwt.strategy.d.ts +1 -1
  27. package/dist/core/strategies/jwt.strategy.js +2 -2
  28. package/dist/core/subscribers/audit.subscriber.js +1 -1
  29. package/dist/index.d.ts +22 -22
  30. package/dist/index.js +20 -20
  31. package/dist/index.js.map +1 -1
  32. package/dist/libs/axios/index.d.ts +1 -1
  33. package/dist/libs/axios/index.js +1 -1
  34. package/dist/libs/axios/index.js.map +1 -1
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +9 -8
package/README.md CHANGED
@@ -1,26 +1,13 @@
1
- # @package-core
1
+ # @fabx.vn/core
2
2
 
3
3
  Shared core module for all ERP services. Contains reusable core functionality including JWT handling, session management, authentication guards, interceptors, and common utilities.
4
4
 
5
- ## Installation
6
-
7
- ### 1. Update `tsconfig.json` in your service:
8
-
9
- ```json
10
- {
11
- "compilerOptions": {
12
- "paths": {
13
- "@package-core": ["../package-core/src"],
14
- "@package-core/*": ["../package-core/src/*"]
15
- }
16
- }
17
- }
18
- ```
5
+ **📦 Published on npm:** https://www.npmjs.com/package/@fabx.vn/core
19
6
 
20
- ### 2. Import in your service:
7
+ ## Installation
21
8
 
22
- ```typescript
23
- import { CoreModule } from "@package-core";
9
+ ```bash
10
+ npm install @fabx.vn/core@latest
24
11
  ```
25
12
 
26
13
  ## Quick Start
@@ -29,15 +16,15 @@ import { CoreModule } from "@package-core";
29
16
 
30
17
  ```typescript
31
18
  import { Module } from "@nestjs/common";
32
- import { CoreModule } from "@package-core";
19
+ import { CoreModule } from "@fabx.vn/core";
33
20
 
34
21
  @Module({
35
- imports: [CoreModule], // @Global() - available everywhere after import
22
+ imports: [CoreModule], // @Global() - available everywhere
36
23
  })
37
24
  export class AppModule {}
38
25
  ```
39
26
 
40
- ### 2. Use Guards
27
+ ### 2. Use Guards & Decorators
41
28
 
42
29
  ```typescript
43
30
  import { Controller, Get, UseGuards } from "@nestjs/common";
@@ -46,7 +33,7 @@ import {
46
33
  CurrentUser,
47
34
  CurrentUserDto,
48
35
  Public,
49
- } from "@package-core";
36
+ } from "@fabx.vn/core";
50
37
 
51
38
  @Controller("api")
52
39
  export class MyController {
@@ -64,42 +51,23 @@ export class MyController {
64
51
  }
65
52
  ```
66
53
 
67
- ### 3. Use Permission Guard
68
-
69
- ```typescript
70
- import { Controller, Get, UseGuards } from "@nestjs/common";
71
- import { PermissionGuard, RequirePermissions } from "@package-core";
72
-
73
- @Controller("admin")
74
- @UseGuards(PermissionGuard)
75
- export class AdminController {
76
- @Get("users")
77
- @RequirePermissions("user:read", "user:list")
78
- getUsers() {
79
- return { users: [] };
80
- }
81
- }
82
- ```
83
-
84
- ### 4. Use Services
54
+ ### 3. Use Services
85
55
 
86
56
  ```typescript
87
57
  import { Injectable } from "@nestjs/common";
88
58
  import {
89
59
  CoreJwtService,
90
60
  SessionService,
91
- CacheService,
92
- CookieService,
61
+ RedisService,
93
62
  RabbitMQPublisher,
94
63
  RABBITMQ_ROUTING_KEYS,
95
- } from "@package-core";
64
+ } from "@fabx.vn/core";
96
65
 
97
66
  @Injectable()
98
67
  export class MyService {
99
68
  constructor(
100
69
  private coreJwtService: CoreJwtService,
101
- private sessionService: SessionService,
102
- private cacheService: CacheService,
70
+ private redisService: RedisService,
103
71
  private rabbitmqPublisher: RabbitMQPublisher
104
72
  ) {}
105
73
 
@@ -107,14 +75,6 @@ export class MyService {
107
75
  return await this.coreJwtService.signToken({ sub: userId });
108
76
  }
109
77
 
110
- async setSession(sessionId: string, userData: CurrentUserDto) {
111
- await this.sessionService.setSession(sessionId, userData);
112
- }
113
-
114
- async cacheData(key: string, value: string, ttl: number = 3600) {
115
- await this.cacheService.set(key, value, ttl);
116
- }
117
-
118
78
  async publishEvent(data: any) {
119
79
  this.rabbitmqPublisher.publish(
120
80
  RABBITMQ_ROUTING_KEYS.AUTH_USER_CREATED,
@@ -124,80 +84,61 @@ export class MyService {
124
84
  }
125
85
  ```
126
86
 
127
- ### 5. Use Constants
128
-
129
- ```typescript
130
- import { MESSAGES, ERROR_MESSAGES, SUCCESS_MESSAGES } from "@package-core";
131
- import { BadRequestException } from "@nestjs/common";
132
-
133
- throw new BadRequestException(MESSAGES.AUTH.INVALID_CREDENTIALS);
134
- throw new BadRequestException(MESSAGES.VALIDATION.EMAIL_REQUIRED);
135
- ```
136
-
137
87
  ## Available Exports
138
88
 
139
89
  ### Core Module
140
90
 
141
- - **`CoreModule`** - Main module (marked as `@Global()`)
91
+ - `CoreModule` - Global module (import once in AppModule)
142
92
 
143
93
  ### Services
144
94
 
145
- - **`CoreJwtService`** - JWT token creation, validation, session management
146
- - **`SessionService`** - Redis-based session management
147
- - **`CacheService`** - Redis cache operations
148
- - **`CookieService`** - Cookie handling for authentication tokens
149
- - **`RabbitMQPublisher`** - RabbitMQ message publishing
150
- - **`RequestContextService`** - Request context management (AsyncLocalStorage)
151
- - **`RequestInfoService`** - Extract request information (IP, user agent)
95
+ - `CoreJwtService` - JWT token creation, validation
96
+ - `SessionService` - Redis-based session management
97
+ - `RedisService` - Redis operations
98
+ - `CookieService` - Cookie handling
99
+ - `RabbitMQPublisher` - RabbitMQ message publishing
100
+ - `RequestContextService` - Request context management
101
+ - `RequestInfoService` - Extract request info (IP, user agent)
102
+ - `PermissionService` - Permission management
152
103
 
153
104
  ### Guards
154
105
 
155
- - **`JwtAuthGuard`** - JWT authentication guard (extracts token from cookies)
156
- - **`InternalAuthGuard`** - Internal service-to-service authentication
157
- - **`PermissionGuard`** - Permission-based access control
106
+ - `JwtAuthGuard` - JWT authentication guard
107
+ - `InternalAuthGuard` - Internal service-to-service auth
108
+ - `PermissionGuard` - Permission-based access control
158
109
 
159
110
  ### Decorators
160
111
 
161
- - **`@CurrentUser()`** - Extract current user from request
162
- - **`@Public()`** - Mark route as public (skip authentication)
163
- - **`@RequirePermissions(...permissions)`** - Require ALL specified permissions
164
- - **`@RequireAnyPermission(...permissions)`** - Require ANY of specified permissions
112
+ - `@CurrentUser()` - Extract current user from request
113
+ - `@Public()` - Mark route as public
114
+ - `@RequirePermissions(...permissions)` - Require ALL permissions
115
+ - `@RequireAnyPermission(...permissions)` - Require ANY permission
165
116
 
166
117
  ### DTOs & Types
167
118
 
168
- - **`CurrentUserDto`** - Current user data structure
169
- - **`ApiResponseDto<T>`** - Standardized API response
170
- - **`PaginationDto`** - Pagination query parameters
171
- - **`PaginationResponseDto<T>`** - Paginated response structure
172
- - **`JwtTokenData`** - JWT token payload structure
173
- - **`JwtValidationResult`** - JWT validation result
119
+ - `CurrentUserDto`, `ApiResponseDto<T>`, `PaginationDto`, `PaginationResponseDto<T>`, `PaginationMetaDto`
120
+ - `JwtTokenData`, `JwtValidationResult`
174
121
 
175
122
  ### Filters & Interceptors
176
123
 
177
- - **`HttpExceptionFilter`** - Global exception filter
178
- - **`RequestContextInterceptor`** - Request context interceptor (auto-registered)
124
+ - `HttpExceptionFilter` - Global exception filter
125
+ - `RequestContextInterceptor` - Auto-registered interceptor
179
126
 
180
127
  ### Config
181
128
 
182
- - **`jwtConfig`** - JWT configuration
183
- - **`redisConfig`** - Redis configuration
184
- - **`rabbitmqConfig`** - RabbitMQ configuration
185
- - **`RABBITMQ_ROUTING_KEYS`** - RabbitMQ routing keys constants
186
- - **`cookieConfig`** - Cookie configuration
187
- - **`internalConfig`** - Internal service configuration
188
- - **`corsConfig`** - CORS configuration
189
- - **`googleOAuthConfig`** - Google OAuth configuration
129
+ - `jwtConfig`, `redisConfig`, `databaseConfig`, `rabbitmqConfig`, `RABBITMQ_ROUTING_KEYS`
130
+ - `cookieConfig`, `internalConfig`, `corsConfig`, `googleOAuthConfig`
190
131
 
191
132
  ### Constants
192
133
 
193
- - **`MESSAGES`** - Vietnamese user-facing messages (AUTH, VALIDATION, etc.)
194
- - **`ERROR_MESSAGES`** - Error message constants
195
- - **`SUCCESS_MESSAGES`** - Success message constants
134
+ - `MESSAGES` - Vietnamese messages (AUTH, VALIDATION, API, etc.)
135
+ - `ERROR_MESSAGES`, `ERROR_RESPONSES`, `SUCCESS_MESSAGES`, `SUCCESS_RESPONSES`
136
+ - `PERMISSION_QUERIES` - SQL queries for permissions
196
137
 
197
138
  ### Utils & Libs
198
139
 
199
- - **`DateUtils`** - Date utility functions
200
- - **`AxiosClient`**, **`apiClient`**, **`createServiceClient`** - Axios client utilities
140
+ - `DateUtils` - Date utilities
141
+ - `AxiosClient`, `apiClient`, `createServiceClient` - Axios utilities
201
142
 
202
143
  ## Environment Variables
203
144
 
@@ -206,7 +147,6 @@ throw new BadRequestException(MESSAGES.VALIDATION.EMAIL_REQUIRED);
206
147
  JWT_SECRET=your-jwt-secret
207
148
  JWT_EXPIRES_IN=15m
208
149
  JWT_REFRESH_EXPIRES_IN=7d
209
- JWT_SESSION_EXPIRES_IN=24h
210
150
 
211
151
  # Redis
212
152
  SHARED_REDIS_HOST=localhost
@@ -227,44 +167,41 @@ AUTH_COOKIE_NAME=auth_tokens
227
167
 
228
168
  # Internal Service
229
169
  INTERNAL_SECRET=internal-secret
230
- USER_MANAGEMENT_SERVICE_URL=http://service-user-management:3002
231
170
  ```
232
171
 
233
- ## Package Structure
172
+ ## Publishing
234
173
 
235
- ```
236
- package-core/
237
- ├── src/
238
- │ ├── index.ts # Main export file
239
- │ ├── core/
240
- │ │ ├── core.module.ts # Core module
241
- │ │ ├── services/ # 7 services
242
- │ │ ├── guards/ # 3 guards
243
- │ │ ├── decorators/ # 3 decorators
244
- │ │ ├── dtos/ # 2 DTOs
245
- │ │ ├── filters/ # 1 filter
246
- │ │ ├── interceptors/ # 1 interceptor
247
- │ │ ├── strategies/ # 1 strategy
248
- │ │ └── subscribers/ # 1 subscriber
249
- │ ├── config/ # 8 config files
250
- │ ├── constants/ # 2 constant files
251
- │ ├── utils/ # 1 util file
252
- │ └── libs/ # 1 lib (axios)
253
- ├── package.json
254
- ├── tsconfig.json
255
- └── README.md
174
+ ```bash
175
+ npm login # First time only
176
+ npm run build # Build package
177
+ npm run publish:npm # Publish to npm
178
+
179
+ # Version management
180
+ npm version patch # 1.0.0 → 1.0.1
181
+ npm version minor # 1.0.0 → 1.1.0
182
+ npm version major # 1.0.0 → 2.0.0
256
183
  ```
257
184
 
258
- ## Building
185
+ ## Docker Build
259
186
 
260
- ```bash
261
- cd package-core
262
- npm run build
187
+ **Không cần token!** Package public trên npmjs.com:
188
+
189
+ ```dockerfile
190
+ FROM node:18-alpine
191
+ WORKDIR /usr/src/app
192
+ COPY package*.json ./
193
+ RUN npm install # Tự động lấy @fabx.vn/core từ npmjs.com
194
+ COPY . .
195
+ RUN npm run build
263
196
  ```
264
197
 
265
198
  ## Notes
266
199
 
267
- - **Global Module**: `CoreModule` is marked as `@Global()`, import once in `AppModule` and use everywhere
268
- - **Request Context**: `RequestContextInterceptor` is auto-registered via `APP_INTERCEPTOR`
269
- - **Internal Imports**: Package uses alias imports internally (`@core`, `@config`, `@constants`, etc.)
270
- - **Type Safety**: All exports are fully typed with TypeScript
200
+ - **Global Module**: `CoreModule` is `@Global()`, import once in `AppModule`
201
+ - **Request Context**: `RequestContextInterceptor` auto-registered via `APP_INTERCEPTOR`
202
+ - **Type Safety**: All exports fully typed with TypeScript
203
+ - **Public Package**: Published on npmjs.com, no token required to install
204
+
205
+ ## License
206
+
207
+ MIT
@@ -11,17 +11,17 @@ const common_1 = require("@nestjs/common");
11
11
  const passport_1 = require("@nestjs/passport");
12
12
  const jwt_1 = require("@nestjs/jwt");
13
13
  const core_1 = require("@nestjs/core");
14
- const jwt_config_1 = require("@config/jwt.config");
15
- const request_info_service_1 = require("@core/services/request-info.service");
16
- const jwt_service_1 = require("@core/services/jwt.service");
17
- const session_service_1 = require("@core/services/session.service");
18
- const redis_service_1 = require("@core/services/redis.service");
19
- const rabbitmq_publisher_service_1 = require("@core/services/rabbitmq-publisher.service");
20
- const jwt_strategy_1 = require("@core/strategies/jwt.strategy");
21
- const jwt_auth_guard_1 = require("@core/guards/jwt-auth.guard");
22
- const internal_auth_guard_1 = require("@core/guards/internal-auth.guard");
23
- const request_context_interceptor_1 = require("@core/interceptors/request-context.interceptor");
24
- const audit_subscriber_1 = require("@core/subscribers/audit.subscriber");
14
+ const jwt_config_1 = require("../config/jwt.config");
15
+ const request_info_service_1 = require("./services/request-info.service");
16
+ const jwt_service_1 = require("./services/jwt.service");
17
+ const session_service_1 = require("./services/session.service");
18
+ const redis_service_1 = require("./services/redis.service");
19
+ const rabbitmq_publisher_service_1 = require("./services/rabbitmq-publisher.service");
20
+ const jwt_strategy_1 = require("./strategies/jwt.strategy");
21
+ const jwt_auth_guard_1 = require("./guards/jwt-auth.guard");
22
+ const internal_auth_guard_1 = require("./guards/internal-auth.guard");
23
+ const request_context_interceptor_1 = require("./interceptors/request-context.interceptor");
24
+ const audit_subscriber_1 = require("./subscribers/audit.subscriber");
25
25
  let CoreModule = class CoreModule {
26
26
  };
27
27
  exports.CoreModule = CoreModule;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiResponseDto = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
- const messages_constants_1 = require("@constants/messages.constants");
5
+ const messages_constants_1 = require("../../constants/messages.constants");
6
6
  class ApiResponseDto {
7
7
  constructor(success, message, data, statusCode = common_1.HttpStatus.OK) {
8
8
  this.success = success;
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PaginationResponseDto = exports.PaginationMetaDto = exports.PaginationDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const class_transformer_1 = require("class-transformer");
15
- const messages_constants_1 = require("@constants/messages.constants");
15
+ const messages_constants_1 = require("../../constants/messages.constants");
16
16
  class PaginationDto {
17
17
  constructor() {
18
18
  this.page = 1;
@@ -9,8 +9,8 @@ var HttpExceptionFilter_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.HttpExceptionFilter = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
- const api_response_dto_1 = require("@core/dtos/api-response.dto");
13
- const messages_constants_1 = require("@constants/messages.constants");
12
+ const api_response_dto_1 = require("../dtos/api-response.dto");
13
+ const messages_constants_1 = require("../../constants/messages.constants");
14
14
  let HttpExceptionFilter = HttpExceptionFilter_1 = class HttpExceptionFilter {
15
15
  constructor() {
16
16
  this.logger = new common_1.Logger(HttpExceptionFilter_1.name);
@@ -1,5 +1,5 @@
1
1
  import { CanActivate, ExecutionContext } from "@nestjs/common";
2
- import { CoreJwtService } from "@core/services/jwt.service";
2
+ import { CoreJwtService } from "../services/jwt.service";
3
3
  export declare class InternalAuthGuard implements CanActivate {
4
4
  private readonly coreJwtService;
5
5
  constructor(coreJwtService: CoreJwtService);
@@ -11,8 +11,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.InternalAuthGuard = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
- const jwt_service_1 = require("@core/services/jwt.service");
15
- const messages_constants_1 = require("@constants/messages.constants");
14
+ const jwt_service_1 = require("../services/jwt.service");
15
+ const messages_constants_1 = require("../../constants/messages.constants");
16
16
  let InternalAuthGuard = class InternalAuthGuard {
17
17
  constructor(coreJwtService) {
18
18
  this.coreJwtService = coreJwtService;
@@ -1,10 +1,11 @@
1
1
  import { ExecutionContext } from "@nestjs/common";
2
2
  import { Reflector } from "@nestjs/core";
3
- import { CoreJwtService } from "@core/services/jwt.service";
3
+ import { CoreJwtService } from "../services/jwt.service";
4
4
  declare const JwtAuthGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
5
5
  export declare class JwtAuthGuard extends JwtAuthGuard_base {
6
6
  private reflector;
7
7
  private coreJwtService;
8
+ private readonly logger;
8
9
  constructor(reflector: Reflector, coreJwtService: CoreJwtService);
9
10
  canActivate(context: ExecutionContext): Promise<boolean>;
10
11
  handleRequest(err: any, user: any, info: any): any;
@@ -8,22 +8,25 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var JwtAuthGuard_1;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.JwtAuthGuard = void 0;
13
14
  const common_1 = require("@nestjs/common");
14
15
  const passport_1 = require("@nestjs/passport");
15
16
  const core_1 = require("@nestjs/core");
16
- const jwt_service_1 = require("@core/services/jwt.service");
17
- const cookie_service_1 = require("@core/services/cookie.service");
18
- const messages_constants_1 = require("@constants/messages.constants");
19
- let JwtAuthGuard = class JwtAuthGuard extends (0, passport_1.AuthGuard)("jwt") {
17
+ const jwt_service_1 = require("../services/jwt.service");
18
+ const cookie_service_1 = require("../services/cookie.service");
19
+ const messages_constants_1 = require("../../constants/messages.constants");
20
+ const public_decorator_1 = require("../decorators/public.decorator");
21
+ let JwtAuthGuard = JwtAuthGuard_1 = class JwtAuthGuard extends (0, passport_1.AuthGuard)("jwt") {
20
22
  constructor(reflector, coreJwtService) {
21
23
  super();
22
24
  this.reflector = reflector;
23
25
  this.coreJwtService = coreJwtService;
26
+ this.logger = new common_1.Logger(JwtAuthGuard_1.name);
24
27
  }
25
28
  async canActivate(context) {
26
- const isPublic = this.reflector.getAllAndOverride("isPublic", [
29
+ const isPublic = this.reflector.getAllAndOverride(public_decorator_1.IS_PUBLIC_KEY, [
27
30
  context.getHandler(),
28
31
  context.getClass(),
29
32
  ]);
@@ -31,10 +34,12 @@ let JwtAuthGuard = class JwtAuthGuard extends (0, passport_1.AuthGuard)("jwt") {
31
34
  return true;
32
35
  const request = context.switchToHttp().getRequest();
33
36
  const tokens = cookie_service_1.CookieService.extractTokensFromCookie(request);
37
+ this.logger.log(`Access token: ${tokens?.accessToken}`);
34
38
  if (!tokens?.accessToken) {
35
39
  throw new common_1.UnauthorizedException(messages_constants_1.MESSAGES.AUTH.NO_TOKEN);
36
40
  }
37
41
  const currentUser = await this.coreJwtService.getCurrentUser(tokens.accessToken);
42
+ this.logger.log(`Current user: ${currentUser}`);
38
43
  if (!currentUser) {
39
44
  throw new common_1.UnauthorizedException(messages_constants_1.MESSAGES.AUTH.INVALID_TOKEN);
40
45
  }
@@ -42,13 +47,14 @@ let JwtAuthGuard = class JwtAuthGuard extends (0, passport_1.AuthGuard)("jwt") {
42
47
  return true;
43
48
  }
44
49
  handleRequest(err, user, info) {
50
+ this.logger.log(`Error: ${err}`);
45
51
  if (err || !user)
46
52
  new common_1.UnauthorizedException(messages_constants_1.MESSAGES.AUTH.INVALID_TOKEN);
47
53
  return user;
48
54
  }
49
55
  };
50
56
  exports.JwtAuthGuard = JwtAuthGuard;
51
- exports.JwtAuthGuard = JwtAuthGuard = __decorate([
57
+ exports.JwtAuthGuard = JwtAuthGuard = JwtAuthGuard_1 = __decorate([
52
58
  (0, common_1.Injectable)(),
53
59
  __metadata("design:paramtypes", [core_1.Reflector,
54
60
  jwt_service_1.CoreJwtService])
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-auth.guard.js","sourceRoot":"","sources":["../../../src/core/guards/jwt-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAIwB;AACxB,+CAA6C;AAC7C,uCAAyC;AACzC,4DAA4D;AAC5D,kEAA8D;AAC9D,sEAAyD;AAGlD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;IAChD,YACU,SAAoB,EACpB,cAA8B;QAEtC,KAAK,EAAE,CAAC;QAHA,cAAS,GAAT,SAAS,CAAW;QACpB,mBAAc,GAAd,cAAc,CAAgB;IAGxC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QAEzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAU,UAAU,EAAE;YACrE,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,8BAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,8BAAqB,CAAC,6BAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAC1D,MAAM,CAAC,WAAW,CACnB,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,8BAAqB,CAAC,6BAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC;QAGD,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,GAAQ,EAAE,IAAS,EAAE,IAAS;QAC1C,IAAI,GAAG,IAAI,CAAC,IAAI;YAAE,IAAI,8BAAqB,CAAC,6BAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA1CY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAGU,gBAAS;QACJ,4BAAc;GAH7B,YAAY,CA0CxB"}
1
+ {"version":3,"file":"jwt-auth.guard.js","sourceRoot":"","sources":["../../../src/core/guards/jwt-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAKwB;AACxB,+CAA6C;AAC7C,uCAAyC;AACzC,4DAA4D;AAC5D,kEAA8D;AAC9D,sEAAyD;AACzD,wEAAkE;AAG3D,IAAM,YAAY,oBAAlB,MAAM,YAAa,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;IAGhD,YACU,SAAoB,EACpB,cAA8B;QAEtC,KAAK,EAAE,CAAC;QAHA,cAAS,GAAT,SAAS,CAAW;QACpB,mBAAc,GAAd,cAAc,CAAgB;QAJvB,WAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,CAAC,CAAC;IAOxD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QAEzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAU,gCAAa,EAAE;YACxE,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,8BAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,8BAAqB,CAAC,6BAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAC1D,MAAM,CAAC,WAAW,CACnB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,8BAAqB,CAAC,6BAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,GAAQ,EAAE,IAAS,EAAE,IAAS;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QACjC,IAAI,GAAG,IAAI,CAAC,IAAI;YAAE,IAAI,8BAAqB,CAAC,6BAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA9CY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAKU,gBAAS;QACJ,4BAAc;GAL7B,YAAY,CA8CxB"}
@@ -1,6 +1,6 @@
1
1
  import { CanActivate, ExecutionContext } from "@nestjs/common";
2
2
  import { Reflector } from "@nestjs/core";
3
- import { CoreJwtService } from "@core/services/jwt.service";
3
+ import { CoreJwtService } from "../services/jwt.service";
4
4
  export declare class PermissionGuard implements CanActivate {
5
5
  private reflector;
6
6
  private coreJwtService;
@@ -12,11 +12,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PermissionGuard = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const core_1 = require("@nestjs/core");
15
- const require_permissions_decorator_1 = require("@core/decorators/require-permissions.decorator");
16
- const public_decorator_1 = require("@core/decorators/public.decorator");
17
- const jwt_service_1 = require("@core/services/jwt.service");
18
- const cookie_service_1 = require("@core/services/cookie.service");
19
- const messages_constants_1 = require("@constants/messages.constants");
15
+ const require_permissions_decorator_1 = require("../decorators/require-permissions.decorator");
16
+ const public_decorator_1 = require("../decorators/public.decorator");
17
+ const jwt_service_1 = require("../services/jwt.service");
18
+ const cookie_service_1 = require("../services/cookie.service");
19
+ const messages_constants_1 = require("../../constants/messages.constants");
20
20
  let PermissionGuard = class PermissionGuard {
21
21
  constructor(reflector, coreJwtService) {
22
22
  this.reflector = reflector;
@@ -1,6 +1,6 @@
1
1
  import { NestInterceptor, ExecutionContext, CallHandler } from "@nestjs/common";
2
2
  import { Observable } from "rxjs";
3
- import { RequestInfoService } from "@core/services/request-info.service";
3
+ import { RequestInfoService } from "../services/request-info.service";
4
4
  export declare class RequestContextInterceptor implements NestInterceptor {
5
5
  private requestInfoService;
6
6
  constructor(requestInfoService: RequestInfoService);
@@ -11,8 +11,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.RequestContextInterceptor = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
- const request_context_service_1 = require("@core/services/request-context.service");
15
- const request_info_service_1 = require("@core/services/request-info.service");
14
+ const request_context_service_1 = require("../services/request-context.service");
15
+ const request_info_service_1 = require("../services/request-info.service");
16
16
  let RequestContextInterceptor = class RequestContextInterceptor {
17
17
  constructor(requestInfoService) {
18
18
  this.requestInfoService = requestInfoService;
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.CacheService = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const ioredis_1 = require("ioredis");
12
- const redis_config_1 = require("@config/redis.config");
12
+ const redis_config_1 = require("../../config/redis.config");
13
13
  let CacheService = class CacheService {
14
14
  async onModuleInit() {
15
15
  this.redis = new ioredis_1.default(redis_config_1.redisConfig);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CookieService = void 0;
4
- const cookie_config_1 = require("@config/cookie.config");
4
+ const cookie_config_1 = require("../../config/cookie.config");
5
5
  class CookieService {
6
6
  static setAuthCookies(res, accessToken, refreshToken, refreshTokenExpiresAt) {
7
7
  const authData = {
@@ -1,5 +1,5 @@
1
1
  import { JwtService } from "@nestjs/jwt";
2
- import { SessionService, CurrentUserDto } from "@core/services/session.service";
2
+ import { SessionService, CurrentUserDto } from "../services/session.service";
3
3
  export interface JwtTokenData {
4
4
  sub: string | number;
5
5
  sessionId?: string;
@@ -13,6 +13,7 @@ export interface JwtValidationResult {
13
13
  export declare class CoreJwtService {
14
14
  private readonly jwtService;
15
15
  private readonly sessionService;
16
+ private readonly logger;
16
17
  constructor(jwtService: JwtService, sessionService: SessionService);
17
18
  createAccessToken(sessionData: CurrentUserDto): Promise<string>;
18
19
  createSimpleAccessToken(userId: string | number, email: string): string;
@@ -8,19 +8,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var CoreJwtService_1;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.CoreJwtService = void 0;
13
14
  const common_1 = require("@nestjs/common");
14
15
  const jwt_1 = require("@nestjs/jwt");
15
- const session_service_1 = require("@core/services/session.service");
16
- const date_utils_1 = require("@utils/date.utils");
17
- const jwt_config_1 = require("@config/jwt.config");
18
- const internal_config_1 = require("@config/internal.config");
19
- const messages_constants_1 = require("@constants/messages.constants");
20
- let CoreJwtService = class CoreJwtService {
16
+ const session_service_1 = require("../services/session.service");
17
+ const date_utils_1 = require("../../utils/date.utils");
18
+ const jwt_config_1 = require("../../config/jwt.config");
19
+ const internal_config_1 = require("../../config/internal.config");
20
+ const messages_constants_1 = require("../../constants/messages.constants");
21
+ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
21
22
  constructor(jwtService, sessionService) {
22
23
  this.jwtService = jwtService;
23
24
  this.sessionService = sessionService;
25
+ this.logger = new common_1.Logger(CoreJwtService_1.name);
24
26
  }
25
27
  async createAccessToken(sessionData) {
26
28
  const ttlSec = date_utils_1.DateUtils.parseExpirationTime(jwt_config_1.jwtConfig.expiresIn);
@@ -164,9 +166,11 @@ let CoreJwtService = class CoreJwtService {
164
166
  async getCurrentUser(accessToken) {
165
167
  try {
166
168
  const payload = this.decodeToken(accessToken);
169
+ this.logger.log(`Payload: ${JSON.stringify(payload)}`);
167
170
  if (!payload?.sessionId)
168
171
  return null;
169
172
  const sessionData = await this.sessionService.getSession(payload.sessionId);
173
+ this.logger.log(`Session data: ${JSON.stringify(sessionData)}`);
170
174
  return sessionData;
171
175
  }
172
176
  catch (error) {
@@ -179,7 +183,7 @@ let CoreJwtService = class CoreJwtService {
179
183
  }
180
184
  };
181
185
  exports.CoreJwtService = CoreJwtService;
182
- exports.CoreJwtService = CoreJwtService = __decorate([
186
+ exports.CoreJwtService = CoreJwtService = CoreJwtService_1 = __decorate([
183
187
  (0, common_1.Injectable)(),
184
188
  __metadata("design:paramtypes", [jwt_1.JwtService,
185
189
  session_service_1.SessionService])
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.service.js","sourceRoot":"","sources":["../../../src/core/services/jwt.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwt.service.js","sourceRoot":"","sources":["../../../src/core/services/jwt.service.ts"],"names":[],"mappings":"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"}