@skyapp-labs/blueprint-backend-core 1.3.1 → 1.4.0

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 CHANGED
@@ -1,6 +1,6 @@
1
- ## [1.3.1](https://github.com/Skyapp-Labs/blueprint-backend-core/compare/v1.3.0...v1.3.1) (2026-05-13)
1
+ # [1.4.0](https://github.com/Skyapp-Labs/blueprint-backend-core/compare/v1.3.1...v1.4.0) (2026-05-19)
2
2
 
3
3
 
4
- ### Bug Fixes
4
+ ### Features
5
5
 
6
- * replace test credential retrieval with a more flexible test entry lookup method ([4f097ec](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/4f097ecad424c9fe118328f0a3ad9c486eacafeb))
6
+ * enhance JWT payload structure to include user profile details and permissions ([d7c8464](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/d7c846430fa74e731f7b78fffdd91fbd43150caf))
@@ -1,5 +1,11 @@
1
1
  export interface RequestUser {
2
2
  id: string;
3
+ fullName: string;
4
+ phoneNumber: string;
5
+ countryCode: string;
6
+ email?: string;
7
+ photoUrl?: string;
3
8
  permissions: string[];
9
+ roles: string[];
4
10
  }
5
11
  //# sourceMappingURL=request-user.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-user.interface.d.ts","sourceRoot":"","sources":["../../../common/interfaces/request-user.interface.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB"}
1
+ {"version":3,"file":"request-user.interface.d.ts","sourceRoot":"","sources":["../../../common/interfaces/request-user.interface.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB"}
@@ -2,6 +2,7 @@ import { Strategy } from 'passport-jwt';
2
2
  import { ConfigService } from '@nestjs/config';
3
3
  import IORedis from 'ioredis';
4
4
  import { JwtPayload } from '../../dto/token.dto';
5
+ import { RequestUser } from '../../../../common/interfaces/request-user.interface';
5
6
  declare const JwtStrategy_base: new (...args: [opt: import("passport-jwt").StrategyOptionsWithRequest] | [opt: import("passport-jwt").StrategyOptionsWithoutRequest]) => Strategy & {
6
7
  validate(...args: any[]): unknown;
7
8
  };
@@ -9,10 +10,7 @@ export declare class JwtStrategy extends JwtStrategy_base {
9
10
  private readonly configService;
10
11
  private readonly redis;
11
12
  constructor(configService: ConfigService, redis: IORedis | null);
12
- validate(payload: JwtPayload): Promise<{
13
- id: string;
14
- permissions: string[];
15
- }>;
13
+ validate(payload: JwtPayload): Promise<RequestUser>;
16
14
  }
17
15
  export {};
18
16
  //# sourceMappingURL=jwt.strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.strategy.d.ts","sourceRoot":"","sources":["../../../../../modules/auth/auth-core/strategies/jwt.strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;;;;AAEjD,qBACa,WAAY,SAAQ,gBAA0B;IAEzD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAHL,aAAa,EAAE,aAAa,EAG5B,KAAK,EAAE,OAAO,GAAG,IAAI;IASjC,QAAQ,CAAC,OAAO,EAAE,UAAU;;;;CASlC"}
1
+ {"version":3,"file":"jwt.strategy.d.ts","sourceRoot":"","sources":["../../../../../modules/auth/auth-core/strategies/jwt.strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;;;;AAEnF,qBACa,WAAY,SAAQ,gBAA0B;IAEzD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAHL,aAAa,EAAE,aAAa,EAG5B,KAAK,EAAE,OAAO,GAAG,IAAI;IASjC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CAkBzD"}
@@ -32,7 +32,16 @@ let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(pas
32
32
  const banned = await this.redis?.get(`user:banned:${payload.sub}`);
33
33
  if (banned)
34
34
  throw new common_1.UnauthorizedException('Account deactivated');
35
- return { id: payload.sub, permissions: payload.permissions ?? [] };
35
+ return {
36
+ id: payload.sub,
37
+ fullName: payload.fullName ?? '',
38
+ phoneNumber: payload.phoneNumber ?? '',
39
+ countryCode: payload.countryCode ?? '',
40
+ email: payload.email,
41
+ photoUrl: payload.photoUrl,
42
+ permissions: payload.permissions ?? [],
43
+ roles: payload.roles ?? [],
44
+ };
36
45
  }
37
46
  };
38
47
  exports.JwtStrategy = JwtStrategy;
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../../../../modules/auth/auth-core/strategies/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqF;AACrF,+CAAoD;AACpD,+CAAoD;AACpD,2CAA+C;AAE/C,kEAA+D;AAIxD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,CAAC;IAC1D,YACkB,aAA4B,EAG5B,KAAqB;QAEtC,KAAK,CAAC;YACL,cAAc,EAAE,yBAAU,CAAC,2BAA2B,EAAE;YACxD,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,aAAa,CAAC,GAAG,CAAS,gBAAgB,EAAE,EAAE,CAAC;SAC5D,CAAC,CAAC;QATc,kBAAa,GAAb,aAAa,CAAe;QAG5B,UAAK,GAAL,KAAK,CAAgB;IAOvC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAmB;QAIjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM;YAAE,MAAM,IAAI,8BAAqB,CAAC,qBAAqB,CAAC,CAAC;QAEnE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;IACpE,CAAC;CACD,CAAA;AAvBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAIV,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,2BAAY,CAAC,CAAA;qCAFW,sBAAa;GAFlC,WAAW,CAuBvB"}
1
+ {"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../../../../modules/auth/auth-core/strategies/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqF;AACrF,+CAAoD;AACpD,+CAAoD;AACpD,2CAA+C;AAE/C,kEAA+D;AAKxD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,CAAC;IAC1D,YACkB,aAA4B,EAG5B,KAAqB;QAEtC,KAAK,CAAC;YACL,cAAc,EAAE,yBAAU,CAAC,2BAA2B,EAAE;YACxD,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,aAAa,CAAC,GAAG,CAAS,gBAAgB,EAAE,EAAE,CAAC;SAC5D,CAAC,CAAC;QATc,kBAAa,GAAb,aAAa,CAAe;QAG5B,UAAK,GAAL,KAAK,CAAgB;IAOvC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAmB;QAIjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,eAAe,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM;YAAE,MAAM,IAAI,8BAAqB,CAAC,qBAAqB,CAAC,CAAC;QAEnE,OAAO;YACN,EAAE,EAAE,OAAO,CAAC,GAAG;YACf,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;SAC1B,CAAC;IACH,CAAC;CACD,CAAA;AAhCY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAIV,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,2BAAY,CAAC,CAAA;qCAFW,sBAAa;GAFlC,WAAW,CAgCvB"}
@@ -3,7 +3,13 @@ export declare class RefreshTokenDto {
3
3
  }
4
4
  export interface JwtPayload {
5
5
  sub: string;
6
+ fullName: string;
7
+ phoneNumber: string;
8
+ countryCode: string;
9
+ email?: string;
10
+ photoUrl?: string;
6
11
  permissions: string[];
12
+ roles: string[];
7
13
  iat?: number;
8
14
  exp?: number;
9
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token.dto.d.ts","sourceRoot":"","sources":["../../../../modules/auth/dto/token.dto.ts"],"names":[],"mappings":"AAGA,qBAAa,eAAe;IAI3B,YAAY,EAAG,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"token.dto.d.ts","sourceRoot":"","sources":["../../../../modules/auth/dto/token.dto.ts"],"names":[],"mappings":"AAGA,qBAAa,eAAe;IAI3B,YAAY,EAAG,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CAClB"}
@@ -10,6 +10,16 @@ export declare class UserRolesService {
10
10
  removeRoles(userId: string): Promise<User>;
11
11
  getUserRoles(userId: string): Promise<Role[]>;
12
12
  getUserPermissionSlugs(userId: string): Promise<string[]>;
13
+ getUserRoleAndPermissionSlugs(userId: string): Promise<{
14
+ permissions: string[];
15
+ roleSlugs: string[];
16
+ }>;
17
+ getUserAuthContext(userId: string): Promise<{
18
+ user: User;
19
+ permissions: string[];
20
+ roleSlugs: string[];
21
+ }>;
22
+ private collectRoleAndPermissionSlugs;
13
23
  private getUserWithRoles;
14
24
  }
15
25
  //# sourceMappingURL=user-roles.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-roles.service.d.ts","sourceRoot":"","sources":["../../../../modules/roles/services/user-roles.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAM,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,qBACa,gBAAgB;IAG3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,EAEhC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC;IAG5C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAS7C,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAWjD,gBAAgB;CAQ9B"}
1
+ {"version":3,"file":"user-roles.service.d.ts","sourceRoot":"","sources":["../../../../modules/roles/services/user-roles.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAM,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,qBACa,gBAAgB;IAG3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,EAEhC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC;IAG5C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAS7C,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKzD,6BAA6B,CAClC,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAMpD,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACjD,IAAI,EAAE,IAAI,CAAC;QACX,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,SAAS,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IAWF,OAAO,CAAC,6BAA6B;YAevB,gBAAgB;CAQ9B"}
@@ -58,14 +58,33 @@ let UserRolesService = class UserRolesService {
58
58
  return user.roles;
59
59
  }
60
60
  async getUserPermissionSlugs(userId) {
61
+ const { permissions } = await this.getUserRoleAndPermissionSlugs(userId);
62
+ return permissions;
63
+ }
64
+ async getUserRoleAndPermissionSlugs(userId) {
61
65
  const roles = await this.getUserRoles(userId);
62
- const slugs = new Set();
66
+ return this.collectRoleAndPermissionSlugs(roles);
67
+ }
68
+ async getUserAuthContext(userId) {
69
+ const user = await this.userRepository.findOne({
70
+ where: { id: userId },
71
+ relations: ['roles', 'roles.permissions'],
72
+ });
73
+ if (!user)
74
+ throw new common_1.NotFoundException(`User ${userId} not found`);
75
+ const { permissions, roleSlugs } = this.collectRoleAndPermissionSlugs(user.roles ?? []);
76
+ return { user, permissions, roleSlugs };
77
+ }
78
+ collectRoleAndPermissionSlugs(roles) {
79
+ const permissions = new Set();
80
+ const roleSlugs = [];
63
81
  for (const role of roles) {
64
- for (const perm of role.permissions) {
65
- slugs.add(perm.slug);
82
+ roleSlugs.push(role.slug);
83
+ for (const perm of role.permissions ?? []) {
84
+ permissions.add(perm.slug);
66
85
  }
67
86
  }
68
- return Array.from(slugs);
87
+ return { permissions: Array.from(permissions), roleSlugs };
69
88
  }
70
89
  async getUserWithRoles(userId) {
71
90
  const user = await this.userRepository.findOne({
@@ -1 +1 @@
1
- {"version":3,"file":"user-roles.service.js","sourceRoot":"","sources":["../../../../modules/roles/services/user-roles.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-roles.service.js","sourceRoot":"","sources":["../../../../modules/roles/services/user-roles.service.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,8 @@ export declare class TokenService {
29
29
  }): Promise<TokenResponse>;
30
30
  rotateRefreshToken(rawRefreshToken: string, deviceInfo?: string, ipAddress?: string): Promise<TokenResponse>;
31
31
  generateTokensForUserId(userId: string, familyId: string, providerRefreshToken?: string, deviceInfo?: string, ipAddress?: string): Promise<TokenResponse>;
32
+ private issueTokenPair;
33
+ private buildJwtPayload;
32
34
  private get accessTokenExpiresInMs();
33
35
  revokeRefreshToken(tokenId: string, reason?: RevokeReason): Promise<void>;
34
36
  revokeAllUserTokens(userId: string, reason?: RevokeReason): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"token.service.d.ts","sourceRoot":"","sources":["../../../../modules/sessions/services/token.service.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAc,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAkB3E,qBACa,YAAY;IAIvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAEjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAGvC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAVjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAGtC,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAElC,sBAAsB,EAAE,UAAU,CAAC,YAAY,CAAC,EAGhD,KAAK,EAAE,OAAO,GAAG,IAAI,EACrB,eAAe,EAAE,eAAe;IAU5C,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBrD,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcpD,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB9D,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcxD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAexD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWxD,cAAc,CAAC,EACpB,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,SAAS,EACT,oBAAoB,GACpB,EAAE;QACF,IAAI,EAAE,IAAI,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC9B,GAAG,OAAO,CAAC,aAAa,CAAC;IAmCpB,kBAAkB,CACvB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IA+CnB,uBAAuB,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAkCzB,OAAO,KAAK,sBAAsB,GAMjC;IAEK,kBAAkB,CACvB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,YAAkC,GACxC,OAAO,CAAC,IAAI,CAAC;IAOV,mBAAmB,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,YAAkC,GACxC,OAAO,CAAC,IAAI,CAAC;IASV,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAO9D,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YAM1D,gBAAgB;YAyBhB,WAAW;YAIX,kBAAkB;IAOhC,OAAO,CAAC,WAAW;CAOnB"}
1
+ {"version":3,"file":"token.service.d.ts","sourceRoot":"","sources":["../../../../modules/sessions/services/token.service.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAc,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAkB3E,qBACa,YAAY;IAIvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAEjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAGvC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAVjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAGtC,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAElC,sBAAsB,EAAE,UAAU,CAAC,YAAY,CAAC,EAGhD,KAAK,EAAE,OAAO,GAAG,IAAI,EACrB,eAAe,EAAE,eAAe;IAU5C,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBrD,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcpD,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB9D,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcxD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAexD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcxD,cAAc,CAAC,EACpB,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,SAAS,EACT,oBAAoB,GACpB,EAAE;QACF,IAAI,EAAE,IAAI,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC9B,GAAG,OAAO,CAAC,aAAa,CAAC;IAapB,kBAAkB,CACvB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IAqDnB,uBAAuB,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;YAWX,cAAc;IAsC5B,OAAO,CAAC,eAAe;IAevB,OAAO,KAAK,sBAAsB,GAMjC;IAEK,kBAAkB,CACvB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,YAAkC,GACxC,OAAO,CAAC,IAAI,CAAC;IAOV,mBAAmB,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,YAAkC,GACxC,OAAO,CAAC,IAAI,CAAC;IASV,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAO9D,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YAM1D,gBAAgB;YAyBhB,WAAW;YAIX,kBAAkB;IAOhC,OAAO,CAAC,WAAW;CAOnB"}
@@ -129,23 +129,13 @@ let TokenService = TokenService_1 = class TokenService {
129
129
  return email;
130
130
  }
131
131
  async generateTokens({ user, familyId, deviceInfo, ipAddress, providerRefreshToken, }) {
132
- const permissions = await this.userRolesService.getUserPermissionSlugs(user.id);
133
- const payload = {
134
- sub: user.id,
135
- permissions,
136
- };
137
- const accessToken = await this.jwtService.signAsync(payload, {
138
- expiresIn: this.settingsService.get(settings_keys_1.SETTING_KEYS.TOKENS_ACCESS_EXPIRES_IN),
132
+ const { permissions, roleSlugs } = await this.userRolesService.getUserRoleAndPermissionSlugs(user.id);
133
+ return this.issueTokenPair(user, permissions, roleSlugs, {
134
+ familyId,
135
+ providerRefreshToken,
136
+ deviceInfo,
137
+ ipAddress,
139
138
  });
140
- const resolvedFamilyId = familyId ?? (0, crypto_1.randomUUID)();
141
- const secret = (0, crypto_1.randomUUID)();
142
- const tokenHash = await argon2.hash(secret);
143
- const savedToken = await this.saveRefreshToken(user.id, tokenHash, resolvedFamilyId, providerRefreshToken, deviceInfo, ipAddress);
144
- return {
145
- accessToken,
146
- refreshToken: `${savedToken.id}.${secret}`,
147
- expiresIn: this.accessTokenExpiresInMs,
148
- };
149
139
  }
150
140
  async rotateRefreshToken(rawRefreshToken, deviceInfo, ipAddress) {
151
141
  const parts = rawRefreshToken.split('.');
@@ -171,26 +161,44 @@ let TokenService = TokenService_1 = class TokenService {
171
161
  throw new common_1.UnauthorizedException('Refresh token expired');
172
162
  }
173
163
  await this.markRevoked(record.id, refresh_token_entity_1.RevokeReason.ROTATED);
174
- return this.generateTokensForUserId(record.userId, record.familyId, deviceInfo, ipAddress);
164
+ return this.generateTokensForUserId(record.userId, record.familyId, record.providerRefreshToken, deviceInfo, ipAddress);
175
165
  }
176
166
  async generateTokensForUserId(userId, familyId, providerRefreshToken, deviceInfo, ipAddress) {
177
- const permissions = await this.userRolesService.getUserPermissionSlugs(userId);
178
- const payload = {
179
- sub: userId,
180
- permissions,
181
- };
167
+ const { user, permissions, roleSlugs } = await this.userRolesService.getUserAuthContext(userId);
168
+ return this.issueTokenPair(user, permissions, roleSlugs, {
169
+ familyId,
170
+ providerRefreshToken,
171
+ deviceInfo,
172
+ ipAddress,
173
+ });
174
+ }
175
+ async issueTokenPair(user, permissions, roleSlugs, options) {
176
+ const payload = this.buildJwtPayload(user, permissions, roleSlugs);
182
177
  const accessToken = await this.jwtService.signAsync(payload, {
183
178
  expiresIn: this.settingsService.get(settings_keys_1.SETTING_KEYS.TOKENS_ACCESS_EXPIRES_IN),
184
179
  });
180
+ const resolvedFamilyId = options.familyId ?? (0, crypto_1.randomUUID)();
185
181
  const secret = (0, crypto_1.randomUUID)();
186
182
  const tokenHash = await argon2.hash(secret);
187
- const savedToken = await this.saveRefreshToken(userId, tokenHash, familyId, providerRefreshToken, deviceInfo, ipAddress);
183
+ const savedToken = await this.saveRefreshToken(user.id, tokenHash, resolvedFamilyId, options.providerRefreshToken, options.deviceInfo, options.ipAddress);
188
184
  return {
189
185
  accessToken,
190
186
  refreshToken: `${savedToken.id}.${secret}`,
191
187
  expiresIn: this.accessTokenExpiresInMs,
192
188
  };
193
189
  }
190
+ buildJwtPayload(user, permissions, roles) {
191
+ return {
192
+ sub: user.id,
193
+ fullName: user.fullName,
194
+ phoneNumber: user.phoneNumber ?? '',
195
+ countryCode: user.countryCode ?? '',
196
+ ...(user.email ? { email: user.email } : {}),
197
+ ...(user.photoUrl ? { photoUrl: user.photoUrl } : {}),
198
+ permissions,
199
+ roles,
200
+ };
201
+ }
194
202
  get accessTokenExpiresInMs() {
195
203
  return (0, ms_1.default)(this.settingsService.get(settings_keys_1.SETTING_KEYS.TOKENS_ACCESS_EXPIRES_IN));
196
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token.service.js","sourceRoot":"","sources":["../../../../modules/sessions/services/token.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.service.js","sourceRoot":"","sources":["../../../../modules/sessions/services/token.service.ts"],"names":[],"mappings":"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"}