@fabx.vn/core 1.0.7 → 1.0.8

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.
@@ -1,9 +1,7 @@
1
1
  import { JwtService } from "@nestjs/jwt";
2
2
  import { SessionService, CurrentUserDto } from "../services/session.service";
3
3
  export interface JwtTokenData {
4
- sub: string | number;
5
- sessionId?: string;
6
- email?: string;
4
+ sub: string;
7
5
  }
8
6
  export interface JwtValidationResult {
9
7
  isValid: boolean;
@@ -16,23 +14,17 @@ export declare class CoreJwtService {
16
14
  private readonly logger;
17
15
  constructor(jwtService: JwtService, sessionService: SessionService);
18
16
  createAccessToken(sessionData: CurrentUserDto): Promise<string>;
19
- createSimpleAccessToken(userId: string | number, email: string): string;
20
17
  decodeToken(token: string): JwtTokenData | null;
21
18
  verifyToken(token: string): JwtTokenData | null;
22
19
  validateTokenSignature(token: string): JwtValidationResult;
23
20
  isTokenSignatureValid(token: string): boolean;
24
- getUserIdFromToken(token: string): string | number | null;
25
21
  getSessionIdFromToken(token: string): string | null;
26
22
  deleteSessionFromToken(token: string): Promise<boolean>;
27
- extractTokenFromHeader(request: any): string | null;
28
23
  getTokenExpirationTime(token: string): number | null;
29
24
  isTokenExpired(token: string): boolean;
30
- createTokenPayload(userId: string | number, sessionId?: string, email?: string): JwtTokenData;
31
- signToken(payload: JwtTokenData): string;
32
25
  createInternalToken(service: string): string;
33
26
  verifyInternalToken(token: string): {
34
27
  service: string;
35
28
  } | null;
36
29
  getCurrentUser(accessToken: string): Promise<CurrentUserDto | null>;
37
- getEmailFromToken(token: string): string | null;
38
30
  }
@@ -27,18 +27,7 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
27
27
  async createAccessToken(sessionData) {
28
28
  const ttlSec = date_utils_1.DateUtils.parseExpirationTime(jwt_config_1.jwtConfig.expiresIn);
29
29
  const sessionId = await this.sessionService.createSession(sessionData, ttlSec);
30
- const payload = {
31
- sub: sessionData.userId,
32
- sessionId: sessionId,
33
- email: sessionData.email,
34
- };
35
- return this.jwtService.sign(payload);
36
- }
37
- createSimpleAccessToken(userId, email) {
38
- const payload = {
39
- sub: userId,
40
- email: email,
41
- };
30
+ const payload = { sub: sessionId };
42
31
  return this.jwtService.sign(payload);
43
32
  }
44
33
  decodeToken(token) {
@@ -84,13 +73,9 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
84
73
  const result = this.validateTokenSignature(token);
85
74
  return result.isValid;
86
75
  }
87
- getUserIdFromToken(token) {
88
- const payload = this.decodeToken(token);
89
- return payload?.sub || null;
90
- }
91
76
  getSessionIdFromToken(token) {
92
77
  const payload = this.decodeToken(token);
93
- return payload?.sessionId || null;
78
+ return payload?.sub || null;
94
79
  }
95
80
  async deleteSessionFromToken(token) {
96
81
  const sessionId = this.getSessionIdFromToken(token);
@@ -100,18 +85,6 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
100
85
  }
101
86
  return false;
102
87
  }
103
- extractTokenFromHeader(request) {
104
- try {
105
- const authHeader = request.headers?.authorization;
106
- if (!authHeader || !authHeader.startsWith("Bearer ")) {
107
- return null;
108
- }
109
- return authHeader.substring(7);
110
- }
111
- catch (error) {
112
- return null;
113
- }
114
- }
115
88
  getTokenExpirationTime(token) {
116
89
  try {
117
90
  const payload = this.decodeToken(token);
@@ -131,21 +104,6 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
131
104
  const expirationTime = this.getTokenExpirationTime(token);
132
105
  return expirationTime === null || expirationTime <= 0;
133
106
  }
134
- createTokenPayload(userId, sessionId, email) {
135
- const payload = {
136
- sub: userId,
137
- };
138
- if (sessionId) {
139
- payload.sessionId = sessionId;
140
- }
141
- if (email) {
142
- payload.email = email;
143
- }
144
- return payload;
145
- }
146
- signToken(payload) {
147
- return this.jwtService.sign(payload);
148
- }
149
107
  createInternalToken(service) {
150
108
  return this.jwtService.sign({ service }, {
151
109
  secret: internal_config_1.internalConfig.internalSecret,
@@ -167,9 +125,9 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
167
125
  try {
168
126
  const payload = this.decodeToken(accessToken);
169
127
  this.logger.log(`Payload: ${JSON.stringify(payload)}`);
170
- if (!payload?.sessionId)
128
+ if (!payload?.sub)
171
129
  return null;
172
- const sessionData = await this.sessionService.getSession(payload.sessionId);
130
+ const sessionData = await this.sessionService.getSession(payload.sub);
173
131
  this.logger.log(`Session data: ${JSON.stringify(sessionData)}`);
174
132
  return sessionData;
175
133
  }
@@ -177,10 +135,6 @@ let CoreJwtService = CoreJwtService_1 = class CoreJwtService {
177
135
  return null;
178
136
  }
179
137
  }
180
- getEmailFromToken(token) {
181
- const payload = this.decodeToken(token);
182
- return payload?.email || null;
183
- }
184
138
  };
185
139
  exports.CoreJwtService = CoreJwtService;
186
140
  exports.CoreJwtService = CoreJwtService = CoreJwtService_1 = __decorate([
@@ -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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"}
@@ -2,12 +2,12 @@ import { RedisService } from "../services/redis.service";
2
2
  export interface CurrentUserDto {
3
3
  userUuid: string;
4
4
  userId: number;
5
+ orgUnitId: number;
5
6
  email: string;
6
7
  fullName: string;
7
8
  employeeCode: string;
8
9
  avatar: string;
9
10
  dataScope: string;
10
- orgUnitIds: number[];
11
11
  permissions: string[];
12
12
  }
13
13
  export declare class SessionService {
@@ -18,11 +18,26 @@ let AuditSubscriber = class AuditSubscriber {
18
18
  this.dataSource = dataSource;
19
19
  this.dataSource.subscribers.push(this);
20
20
  }
21
- safeSetProperty(entity, property, value) {
21
+ safeSetProperty(entity, property, value, metadata) {
22
22
  if (!entity)
23
23
  return;
24
24
  try {
25
- entity[property] = value;
25
+ let entityMetadata = metadata;
26
+ if (!entityMetadata && entity.constructor) {
27
+ entityMetadata = this.dataSource.entityMetadatas.find((meta) => meta.target === entity.constructor);
28
+ }
29
+ if (entityMetadata) {
30
+ const hasProperty = entityMetadata.columns.some((column) => column.propertyName === property);
31
+ if (hasProperty) {
32
+ entity[property] = value;
33
+ }
34
+ }
35
+ else {
36
+ if (property in entity ||
37
+ Object.prototype.hasOwnProperty.call(entity, property)) {
38
+ entity[property] = value;
39
+ }
40
+ }
26
41
  }
27
42
  catch (error) {
28
43
  }
@@ -32,11 +47,10 @@ let AuditSubscriber = class AuditSubscriber {
32
47
  return;
33
48
  const user = request_context_service_1.RequestContextService.getCurrentUser();
34
49
  if (user?.userId) {
35
- this.safeSetProperty(event.entity, "createdBy", user.userId);
36
- const orgUnitId = user.orgUnitIds && user.orgUnitIds.length > 0
37
- ? user.orgUnitIds[0]
38
- : event.entity.orgUnitId || null;
39
- this.safeSetProperty(event.entity, "orgUnitId", orgUnitId);
50
+ this.safeSetProperty(event.entity, "createdBy", user.userId, event.metadata);
51
+ if (user.orgUnitId) {
52
+ this.safeSetProperty(event.entity, "createdOrg", user.orgUnitId, event.metadata);
53
+ }
40
54
  }
41
55
  }
42
56
  beforeUpdate(event) {
@@ -45,10 +59,10 @@ let AuditSubscriber = class AuditSubscriber {
45
59
  const user = request_context_service_1.RequestContextService.getCurrentUser();
46
60
  if (user?.userId) {
47
61
  if (event.entity.deletedAt) {
48
- this.safeSetProperty(event.entity, "deletedBy", user.userId);
62
+ this.safeSetProperty(event.entity, "deletedBy", user.userId, event.metadata);
49
63
  }
50
64
  else {
51
- this.safeSetProperty(event.entity, "updatedBy", user.userId);
65
+ this.safeSetProperty(event.entity, "updatedBy", user.userId, event.metadata);
52
66
  }
53
67
  }
54
68
  }
@@ -57,7 +71,7 @@ let AuditSubscriber = class AuditSubscriber {
57
71
  return;
58
72
  const user = request_context_service_1.RequestContextService.getCurrentUser();
59
73
  if (user?.userId) {
60
- this.safeSetProperty(event.entity, "deletedBy", user.userId);
74
+ this.safeSetProperty(event.entity, "deletedBy", user.userId, event.metadata);
61
75
  }
62
76
  }
63
77
  beforeSoftRemove(event) {
@@ -65,7 +79,7 @@ let AuditSubscriber = class AuditSubscriber {
65
79
  return;
66
80
  const user = request_context_service_1.RequestContextService.getCurrentUser();
67
81
  if (user?.userId) {
68
- this.safeSetProperty(event.entity, "deletedBy", user.userId);
82
+ this.safeSetProperty(event.entity, "deletedBy", user.userId, event.metadata);
69
83
  }
70
84
  }
71
85
  };
@@ -1 +1 @@
1
- {"version":3,"file":"audit.subscriber.js","sourceRoot":"","sources":["../../../src/core/subscribers/audit.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AACjB,2CAA4C;AAC5C,oFAA+E;AAIxE,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QACxC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAQO,eAAe,CAAC,MAAW,EAAE,QAAgB,EAAE,KAAU;QAC/D,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,CAAC;YAGH,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;QAGjB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAuB;QACxC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAE1B,MAAM,IAAI,GAAG,+CAAqB,CAAC,cAAc,EAAE,CAAC;QACpD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YAEjB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAG7D,MAAM,SAAS,GACb,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC3C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAuB;QAClC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAE1B,MAAM,IAAI,GAAG,+CAAqB,CAAC,cAAc,EAAE,CAAC;QACpD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YAEjB,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAuB;QAClC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAE1B,MAAM,IAAI,GAAG,+CAAqB,CAAC,cAAc,EAAE,CAAC;QACpD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,KAA2B;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAE1B,MAAM,IAAI,GAAG,+CAAqB,CAAC,cAAc,EAAE,CAAC;QACpD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF,CAAA;AAxEY,0CAAe;0BAAf,eAAe;IAF3B,IAAA,mBAAU,GAAE;IACZ,IAAA,yBAAe,GAAE;qCAEgB,oBAAU;GAD/B,eAAe,CAwE3B"}
1
+ {"version":3,"file":"audit.subscriber.js","sourceRoot":"","sources":["../../../src/core/subscribers/audit.subscriber.ts"],"names":[],"mappings":"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"}