@ackplus/nest-auth 1.1.67 → 1.1.69-beta.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 (199) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/admin-console/admin-console.module.d.ts.map +1 -1
  6. package/dist/lib/admin-console/admin-console.module.js +4 -1
  7. package/dist/lib/admin-console/admin-console.module.js.map +1 -1
  8. package/dist/lib/admin-console/controllers/admin-users.controller.d.ts +12 -9
  9. package/dist/lib/admin-console/controllers/admin-users.controller.d.ts.map +1 -1
  10. package/dist/lib/admin-console/controllers/admin-users.controller.js +52 -22
  11. package/dist/lib/admin-console/controllers/admin-users.controller.js.map +1 -1
  12. package/dist/lib/admin-console/dto/admin-user.dto.d.ts +3 -6
  13. package/dist/lib/admin-console/dto/admin-user.dto.d.ts.map +1 -1
  14. package/dist/lib/admin-console/dto/admin-user.dto.js +12 -33
  15. package/dist/lib/admin-console/dto/admin-user.dto.js.map +1 -1
  16. package/dist/lib/admin-console/entities/admin-user.entity.d.ts.map +1 -1
  17. package/dist/lib/admin-console/entities/admin-user.entity.js +3 -2
  18. package/dist/lib/admin-console/entities/admin-user.entity.js.map +1 -1
  19. package/dist/lib/admin-console/services/admin-user-management.service.d.ts +14 -0
  20. package/dist/lib/admin-console/services/admin-user-management.service.d.ts.map +1 -0
  21. package/dist/lib/admin-console/services/admin-user-management.service.js +135 -0
  22. package/dist/lib/admin-console/services/admin-user-management.service.js.map +1 -0
  23. package/dist/lib/admin-console/static/index.html +216 -216
  24. package/dist/lib/admin-console/static/nest-auth.json +60 -1
  25. package/dist/lib/auth/controllers/auth.controller.d.ts +3 -1
  26. package/dist/lib/auth/controllers/auth.controller.d.ts.map +1 -1
  27. package/dist/lib/auth/controllers/auth.controller.js +25 -4
  28. package/dist/lib/auth/controllers/auth.controller.js.map +1 -1
  29. package/dist/lib/auth/controllers/mfa.controller.d.ts +0 -1
  30. package/dist/lib/auth/controllers/mfa.controller.d.ts.map +1 -1
  31. package/dist/lib/auth/controllers/mfa.controller.js +31 -14
  32. package/dist/lib/auth/controllers/mfa.controller.js.map +1 -1
  33. package/dist/lib/auth/dto/requests/switch-tenant.request.dto.d.ts +5 -0
  34. package/dist/lib/auth/dto/requests/switch-tenant.request.dto.d.ts.map +1 -0
  35. package/dist/lib/auth/dto/requests/switch-tenant.request.dto.js +27 -0
  36. package/dist/lib/auth/dto/requests/switch-tenant.request.dto.js.map +1 -0
  37. package/dist/lib/auth/dto/responses/auth.response.dto.d.ts +3 -1
  38. package/dist/lib/auth/dto/responses/auth.response.dto.d.ts.map +1 -1
  39. package/dist/lib/auth/dto/responses/auth.response.dto.js +16 -0
  40. package/dist/lib/auth/dto/responses/auth.response.dto.js.map +1 -1
  41. package/dist/lib/auth/dto/responses/client-config.response.dto.d.ts +2 -3
  42. package/dist/lib/auth/dto/responses/client-config.response.dto.d.ts.map +1 -1
  43. package/dist/lib/auth/dto/responses/client-config.response.dto.js +2 -6
  44. package/dist/lib/auth/dto/responses/client-config.response.dto.js.map +1 -1
  45. package/dist/lib/auth/guards/auth.guard.d.ts +1 -4
  46. package/dist/lib/auth/guards/auth.guard.d.ts.map +1 -1
  47. package/dist/lib/auth/guards/auth.guard.js +6 -16
  48. package/dist/lib/auth/guards/auth.guard.js.map +1 -1
  49. package/dist/lib/auth/index.d.ts +1 -0
  50. package/dist/lib/auth/index.d.ts.map +1 -1
  51. package/dist/lib/auth/index.js +1 -0
  52. package/dist/lib/auth/index.js.map +1 -1
  53. package/dist/lib/auth/services/auth.service.d.ts +8 -2
  54. package/dist/lib/auth/services/auth.service.d.ts.map +1 -1
  55. package/dist/lib/auth/services/auth.service.js +114 -43
  56. package/dist/lib/auth/services/auth.service.js.map +1 -1
  57. package/dist/lib/auth/services/mfa.service.d.ts.map +1 -1
  58. package/dist/lib/auth/services/mfa.service.js +2 -1
  59. package/dist/lib/auth/services/mfa.service.js.map +1 -1
  60. package/dist/lib/auth/services/password.service.d.ts.map +1 -1
  61. package/dist/lib/auth/services/password.service.js +7 -8
  62. package/dist/lib/auth/services/password.service.js.map +1 -1
  63. package/dist/lib/auth/services/verification.service.js +8 -8
  64. package/dist/lib/auth/services/verification.service.js.map +1 -1
  65. package/dist/lib/auth.constants.d.ts +1 -0
  66. package/dist/lib/auth.constants.d.ts.map +1 -1
  67. package/dist/lib/auth.constants.js +2 -1
  68. package/dist/lib/auth.constants.js.map +1 -1
  69. package/dist/lib/core/core.module.d.ts.map +1 -1
  70. package/dist/lib/core/core.module.js +0 -3
  71. package/dist/lib/core/core.module.js.map +1 -1
  72. package/dist/lib/core/entities.d.ts +3 -1
  73. package/dist/lib/core/entities.d.ts.map +1 -1
  74. package/dist/lib/core/entities.js +3 -0
  75. package/dist/lib/core/entities.js.map +1 -1
  76. package/dist/lib/core/interfaces/auth-module-options.interface.d.ts +3 -2
  77. package/dist/lib/core/interfaces/auth-module-options.interface.d.ts.map +1 -1
  78. package/dist/lib/core/interfaces/token-payload.interface.d.ts +1 -0
  79. package/dist/lib/core/interfaces/token-payload.interface.d.ts.map +1 -1
  80. package/dist/lib/core/providers/email-auth.provider.d.ts +0 -2
  81. package/dist/lib/core/providers/email-auth.provider.d.ts.map +1 -1
  82. package/dist/lib/core/providers/email-auth.provider.js +8 -16
  83. package/dist/lib/core/providers/email-auth.provider.js.map +1 -1
  84. package/dist/lib/core/providers/phone-auth.provider.d.ts +2 -0
  85. package/dist/lib/core/providers/phone-auth.provider.d.ts.map +1 -1
  86. package/dist/lib/core/providers/phone-auth.provider.js +14 -0
  87. package/dist/lib/core/providers/phone-auth.provider.js.map +1 -1
  88. package/dist/lib/core/services/auth-config.service.d.ts.map +1 -1
  89. package/dist/lib/core/services/auth-config.service.js +4 -1
  90. package/dist/lib/core/services/auth-config.service.js.map +1 -1
  91. package/dist/lib/core/services/jwt.service.d.ts +1 -0
  92. package/dist/lib/core/services/jwt.service.d.ts.map +1 -1
  93. package/dist/lib/core/services/jwt.service.js.map +1 -1
  94. package/dist/lib/nest-auth.module.d.ts.map +1 -1
  95. package/dist/lib/nest-auth.module.js.map +1 -1
  96. package/dist/lib/request-context/request-context.d.ts +9 -2
  97. package/dist/lib/request-context/request-context.d.ts.map +1 -1
  98. package/dist/lib/request-context/request-context.js +41 -1
  99. package/dist/lib/request-context/request-context.js.map +1 -1
  100. package/dist/lib/role/entities/role.entity.d.ts +2 -0
  101. package/dist/lib/role/entities/role.entity.d.ts.map +1 -1
  102. package/dist/lib/role/entities/role.entity.js +25 -11
  103. package/dist/lib/role/entities/role.entity.js.map +1 -1
  104. package/dist/lib/role/services/role.service.d.ts.map +1 -1
  105. package/dist/lib/role/services/role.service.js +0 -17
  106. package/dist/lib/role/services/role.service.js.map +1 -1
  107. package/dist/lib/session/services/session-manager.service.d.ts +1 -0
  108. package/dist/lib/session/services/session-manager.service.d.ts.map +1 -1
  109. package/dist/lib/session/services/session-manager.service.js +4 -3
  110. package/dist/lib/session/services/session-manager.service.js.map +1 -1
  111. package/dist/lib/session/utils/session.util.d.ts.map +1 -1
  112. package/dist/lib/session/utils/session.util.js.map +1 -1
  113. package/dist/lib/tenant/decorators/current-tenant.decorator.d.ts +3 -0
  114. package/dist/lib/tenant/decorators/current-tenant.decorator.d.ts.map +1 -0
  115. package/dist/lib/tenant/decorators/current-tenant.decorator.js +10 -0
  116. package/dist/lib/tenant/decorators/current-tenant.decorator.js.map +1 -0
  117. package/dist/lib/tenant/decorators/current-user-access.decorator.d.ts +3 -0
  118. package/dist/lib/tenant/decorators/current-user-access.decorator.d.ts.map +1 -0
  119. package/dist/lib/tenant/decorators/current-user-access.decorator.js +10 -0
  120. package/dist/lib/tenant/decorators/current-user-access.decorator.js.map +1 -0
  121. package/dist/lib/tenant/entities/tenant.entity.d.ts +2 -1
  122. package/dist/lib/tenant/entities/tenant.entity.d.ts.map +1 -1
  123. package/dist/lib/tenant/entities/tenant.entity.js +5 -4
  124. package/dist/lib/tenant/entities/tenant.entity.js.map +1 -1
  125. package/dist/lib/tenant/entities/user-access.entity.d.ts +19 -0
  126. package/dist/lib/tenant/entities/user-access.entity.d.ts.map +1 -0
  127. package/dist/lib/tenant/entities/user-access.entity.js +100 -0
  128. package/dist/lib/tenant/entities/user-access.entity.js.map +1 -0
  129. package/dist/lib/tenant/index.d.ts +4 -0
  130. package/dist/lib/tenant/index.d.ts.map +1 -1
  131. package/dist/lib/tenant/index.js +8 -1
  132. package/dist/lib/tenant/index.js.map +1 -1
  133. package/dist/lib/tenant/services/tenant.service.d.ts +4 -9
  134. package/dist/lib/tenant/services/tenant.service.d.ts.map +1 -1
  135. package/dist/lib/tenant/services/tenant.service.js +23 -72
  136. package/dist/lib/tenant/services/tenant.service.js.map +1 -1
  137. package/dist/lib/tenant/tenant-context/services/base-tenant-context.service.d.ts +13 -0
  138. package/dist/lib/tenant/tenant-context/services/base-tenant-context.service.d.ts.map +1 -0
  139. package/dist/lib/tenant/tenant-context/services/base-tenant-context.service.js +26 -0
  140. package/dist/lib/tenant/tenant-context/services/base-tenant-context.service.js.map +1 -0
  141. package/dist/lib/tenant/tenant-context/services/disabled-tenant-context.service.d.ts +10 -0
  142. package/dist/lib/tenant/tenant-context/services/disabled-tenant-context.service.d.ts.map +1 -0
  143. package/dist/lib/tenant/tenant-context/services/disabled-tenant-context.service.js +29 -0
  144. package/dist/lib/tenant/tenant-context/services/disabled-tenant-context.service.js.map +1 -0
  145. package/dist/lib/tenant/tenant-context/services/isolated-tenant-context.service.d.ts +6 -0
  146. package/dist/lib/tenant/tenant-context/services/isolated-tenant-context.service.d.ts.map +1 -0
  147. package/dist/lib/tenant/tenant-context/services/isolated-tenant-context.service.js +26 -0
  148. package/dist/lib/tenant/tenant-context/services/isolated-tenant-context.service.js.map +1 -0
  149. package/dist/lib/tenant/tenant-context/services/shared-tenant-context.service.d.ts +6 -0
  150. package/dist/lib/tenant/tenant-context/services/shared-tenant-context.service.d.ts.map +1 -0
  151. package/dist/lib/tenant/tenant-context/services/shared-tenant-context.service.js +26 -0
  152. package/dist/lib/tenant/tenant-context/services/shared-tenant-context.service.js.map +1 -0
  153. package/dist/lib/tenant/tenant-context/tenant-context.interface.d.ts +9 -0
  154. package/dist/lib/tenant/tenant-context/tenant-context.interface.d.ts.map +1 -0
  155. package/dist/lib/tenant/tenant-context/tenant-context.interface.js +3 -0
  156. package/dist/lib/tenant/tenant-context/tenant-context.interface.js.map +1 -0
  157. package/dist/lib/tenant/tenant.module.d.ts.map +1 -1
  158. package/dist/lib/tenant/tenant.module.js +25 -0
  159. package/dist/lib/tenant/tenant.module.js.map +1 -1
  160. package/dist/lib/user/entities/user.entity.d.ts +8 -15
  161. package/dist/lib/user/entities/user.entity.d.ts.map +1 -1
  162. package/dist/lib/user/entities/user.entity.js +77 -66
  163. package/dist/lib/user/entities/user.entity.js.map +1 -1
  164. package/dist/lib/user/events/user-deleted.event.d.ts +0 -1
  165. package/dist/lib/user/events/user-deleted.event.d.ts.map +1 -1
  166. package/dist/lib/user/events/user-deleted.event.js.map +1 -1
  167. package/dist/lib/user/events/user-updated.event.d.ts +0 -1
  168. package/dist/lib/user/events/user-updated.event.d.ts.map +1 -1
  169. package/dist/lib/user/events/user-updated.event.js.map +1 -1
  170. package/dist/lib/user/services/access-key.service.d.ts.map +1 -1
  171. package/dist/lib/user/services/access-key.service.js.map +1 -1
  172. package/dist/lib/user/services/user.service.d.ts +11 -3
  173. package/dist/lib/user/services/user.service.d.ts.map +1 -1
  174. package/dist/lib/user/services/user.service.js +159 -58
  175. package/dist/lib/user/services/user.service.js.map +1 -1
  176. package/dist/lib/user/user.module.d.ts.map +1 -1
  177. package/dist/lib/user/user.module.js +2 -1
  178. package/dist/lib/user/user.module.js.map +1 -1
  179. package/dist/lib/utils/database.utils.d.ts +1 -0
  180. package/dist/lib/utils/database.utils.d.ts.map +1 -1
  181. package/dist/lib/utils/database.utils.js +12 -0
  182. package/dist/lib/utils/database.utils.js.map +1 -1
  183. package/dist/lib/utils/index.d.ts +1 -0
  184. package/dist/lib/utils/index.d.ts.map +1 -1
  185. package/dist/lib/utils/index.js +1 -0
  186. package/dist/lib/utils/index.js.map +1 -1
  187. package/dist/lib/utils/normalize.util.d.ts +3 -0
  188. package/dist/lib/utils/normalize.util.d.ts.map +1 -0
  189. package/dist/lib/utils/normalize.util.js +17 -0
  190. package/dist/lib/utils/normalize.util.js.map +1 -0
  191. package/package.json +2 -2
  192. package/dist/lib/auth/filters/index.d.ts +0 -2
  193. package/dist/lib/auth/filters/index.d.ts.map +0 -1
  194. package/dist/lib/auth/filters/index.js +0 -18
  195. package/dist/lib/auth/filters/index.js.map +0 -1
  196. package/dist/lib/core/services/initialization.service.d.ts +0 -11
  197. package/dist/lib/core/services/initialization.service.d.ts.map +0 -1
  198. package/dist/lib/core/services/initialization.service.js +0 -44
  199. package/dist/lib/core/services/initialization.service.js.map +0 -1
@@ -25,26 +25,32 @@ const user_created_event_1 = require("../events/user-created.event");
25
25
  const tenant_1 = require("../../tenant");
26
26
  const debug_logger_service_1 = require("../../core/services/debug-logger.service");
27
27
  const auth_config_service_1 = require("../../core/services/auth-config.service");
28
+ const user_access_entity_1 = require("../../tenant/entities/user-access.entity");
29
+ const role_entity_1 = require("../../role/entities/role.entity");
30
+ const nest_auth_contracts_1 = require("@ackplus/nest-auth-contracts");
31
+ const utils_1 = require("../../utils");
28
32
  let UserService = class UserService {
29
33
  userRepository;
34
+ userAccessRepository;
30
35
  tenantService;
31
36
  eventEmitter;
32
37
  authConfigService;
33
38
  debugLogger;
34
- constructor(userRepository, tenantService, eventEmitter, authConfigService, debugLogger) {
39
+ constructor(userRepository, userAccessRepository, tenantService, eventEmitter, authConfigService, debugLogger) {
35
40
  this.userRepository = userRepository;
41
+ this.userAccessRepository = userAccessRepository;
36
42
  this.tenantService = tenantService;
37
43
  this.eventEmitter = eventEmitter;
38
44
  this.authConfigService = authConfigService;
39
45
  this.debugLogger = debugLogger;
40
46
  }
41
- async createUser(data, context) {
47
+ async createUser(data, tenantId, context) {
42
48
  this.debugLogger.logFunctionEntry('createUser', 'UserService', { email: data.email, phone: data.phone, hasPassword: !!data.password });
49
+ const config = this.authConfigService.getConfig();
43
50
  try {
44
- const { email, phone } = data;
45
- let { tenantId = null } = data;
46
- tenantId = await this.tenantService.resolveTenantId(tenantId);
47
- data.tenantId = tenantId;
51
+ const email = (0, utils_1.normalizedEmail)(data.email);
52
+ const phone = (0, utils_1.normalizedPhone)(data.phone);
53
+ await this.tenantService.resolveTenantId(tenantId);
48
54
  if (email) {
49
55
  const existingUser = await this.getUserByEmail(email, tenantId);
50
56
  if (existingUser) {
@@ -65,21 +71,26 @@ let UserService = class UserService {
65
71
  });
66
72
  }
67
73
  }
68
- const config = this.authConfigService.getConfig();
69
74
  if (config.user?.beforeCreate) {
70
75
  this.debugLogger.debug('Applying user.beforeCreate hook', 'UserService');
71
- data = await config.user.beforeCreate(data, context);
76
+ data = await config.user.beforeCreate?.(data, context) ?? data;
72
77
  }
73
78
  this.debugLogger.debug('Creating new user entity', 'UserService');
74
- const user = this.userRepository.create(data);
79
+ const user = this.userRepository.create({
80
+ ...data,
81
+ ...(email != null && { email: email }),
82
+ ...(phone != null && { phone: phone }),
83
+ });
75
84
  if (data.password) {
76
85
  await user.setPassword(data.password);
77
86
  }
78
87
  await this.userRepository.save(user);
88
+ if (tenantId) {
89
+ await this.ensureUserAccess(user.id, tenantId);
90
+ }
79
91
  this.debugLogger.info('User created successfully', 'UserService', { userId: user.id });
80
- const normalizedEmail = email?.toLowerCase().trim();
81
- if (normalizedEmail && config.emailAuth?.enabled !== false) {
82
- await user.findOrCreateIdentity(auth_constants_1.EMAIL_AUTH_PROVIDER, normalizedEmail);
92
+ if (email && config.emailAuth?.enabled !== false) {
93
+ await user.findOrCreateIdentity(auth_constants_1.EMAIL_AUTH_PROVIDER, email);
83
94
  }
84
95
  if (phone && config.phoneAuth?.enabled === true) {
85
96
  await user.findOrCreateIdentity(auth_constants_1.PHONE_AUTH_PROVIDER, phone);
@@ -88,11 +99,11 @@ let UserService = class UserService {
88
99
  await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.USER_CREATED, new user_created_event_1.UserCreatedEvent({
89
100
  user,
90
101
  input: context,
91
- tenantId: user.tenantId
102
+ tenantId: tenantId
92
103
  }));
93
104
  if (config.user?.afterCreate) {
94
105
  this.debugLogger.debug('Applying user.afterCreate hook', 'UserService', { userId: user.id });
95
- await config.user.afterCreate(user, context);
106
+ await config.user.afterCreate?.(user, context);
96
107
  }
97
108
  this.debugLogger.logFunctionExit('createUser', 'UserService', { userId: user.id });
98
109
  return user;
@@ -121,46 +132,47 @@ let UserService = class UserService {
121
132
  }
122
133
  async getUserByEmail(email, tenantId, options) {
123
134
  this.debugLogger.debug('Getting user by email', 'UserService', { email: !!email, tenantId });
124
- tenantId = await this.tenantService.resolveTenantId(tenantId || null);
125
- if (!email) {
135
+ const emailNorm = (0, utils_1.normalizedEmail)(email);
136
+ if (!emailNorm) {
126
137
  this.debugLogger.warn('No email provided for user lookup', 'UserService');
127
138
  return null;
128
139
  }
129
- const normalizedEmail = email.toLowerCase().trim();
130
140
  const user = await this.userRepository.findOne({
131
141
  ...(options ? options : {}),
142
+ relations: ['userAccesses', ...(Array.isArray(options?.relations) ? options.relations : [])],
132
143
  where: {
133
- email: normalizedEmail,
134
- tenantId: tenantId || (0, typeorm_2.IsNull)()
135
- }
144
+ email: emailNorm,
145
+ ...(tenantId ? { userAccesses: { tenantId: tenantId } } : {}),
146
+ },
136
147
  });
137
148
  if (user) {
138
- this.debugLogger.debug('User found by email', 'UserService', { userId: user.id, tenantId });
149
+ this.debugLogger.debug('User found by email', 'UserService', { userId: user.id });
139
150
  }
140
151
  else {
141
- this.debugLogger.debug('No user found with email', 'UserService', { tenantId });
152
+ this.debugLogger.debug('No user found with email', 'UserService');
142
153
  }
143
154
  return user;
144
155
  }
145
156
  async getUserByPhone(phone, tenantId, options) {
146
157
  this.debugLogger.debug('Getting user by phone', 'UserService', { phone: !!phone, tenantId });
147
- tenantId = await this.tenantService.resolveTenantId(tenantId || null);
148
- if (!phone) {
158
+ const phoneNorm = (0, utils_1.normalizedPhone)(phone);
159
+ if (!phoneNorm) {
149
160
  this.debugLogger.warn('No phone provided for user lookup', 'UserService');
150
161
  return null;
151
162
  }
152
163
  const user = await this.userRepository.findOne({
153
164
  ...(options ? options : {}),
165
+ relations: ['userAccesses', ...(Array.isArray(options?.relations) ? options.relations : [])],
154
166
  where: {
155
- phone,
156
- tenantId: tenantId || (0, typeorm_2.IsNull)()
157
- }
167
+ phone: phoneNorm,
168
+ ...(tenantId ? { userAccesses: { tenantId: tenantId } } : {}),
169
+ },
158
170
  });
159
171
  if (user) {
160
- this.debugLogger.debug('User found by phone', 'UserService', { userId: user.id, tenantId });
172
+ this.debugLogger.debug('User found by phone', 'UserService', { userId: user.id });
161
173
  }
162
174
  else {
163
- this.debugLogger.debug('No user found with phone', 'UserService', { tenantId });
175
+ this.debugLogger.debug('No user found with phone', 'UserService');
164
176
  }
165
177
  return user;
166
178
  }
@@ -168,16 +180,16 @@ let UserService = class UserService {
168
180
  return this.userRepository.find(options);
169
181
  }
170
182
  async getUsersByTenant(tenantId, options) {
171
- tenantId = await this.tenantService.resolveTenantId(tenantId || null);
172
- if (!tenantId) {
173
- return [];
174
- }
183
+ const relations = Array.isArray(options?.relations)
184
+ ? Array.from(new Set([...(options?.relations || []), 'userAccesses']))
185
+ : options?.relations;
175
186
  return this.userRepository.find({
176
187
  ...(options ? options : {}),
188
+ relations,
177
189
  where: {
178
- tenantId,
179
- ...(options?.where ? options.where : {})
180
- }
190
+ ...(options?.where ? options.where : {}),
191
+ userAccesses: { tenantId: tenantId },
192
+ },
181
193
  });
182
194
  }
183
195
  async updateUser(id, data) {
@@ -192,17 +204,33 @@ let UserService = class UserService {
192
204
  });
193
205
  }
194
206
  if (data.email || data.phone) {
207
+ const config = this.authConfigService.getConfig();
195
208
  this.debugLogger.debug('Checking for conflicts during user update', 'UserService', { userId: id, email: !!data.email, phone: !!data.phone });
209
+ const userWithMemberships = await this.getUserById(id, {
210
+ relations: ['userAccesses'],
211
+ });
212
+ let tenantId = null;
213
+ if (config.tenant?.mode === nest_auth_contracts_1.TenantModeEnum.ISOLATED) {
214
+ tenantId = userWithMemberships?.userAccesses?.[0]?.tenantId;
215
+ }
196
216
  let existingUser = null;
197
- if (data.phone) {
198
- existingUser = await this.userRepository.findOne({
199
- where: { phone: data.phone, tenantId: user.tenantId, id: (0, typeorm_2.Not)(user.id) }
200
- });
217
+ const phone = (0, utils_1.normalizedPhone)(data.phone);
218
+ const email = (0, utils_1.normalizedEmail)(data.email);
219
+ if (data.email != null)
220
+ data.email = email;
221
+ if (data.phone != null)
222
+ data.phone = phone;
223
+ if (phone != null) {
224
+ const userByPhone = await this.getUserByPhone(phone, tenantId, { select: ['id'] });
225
+ if (userByPhone && userByPhone.id !== id) {
226
+ existingUser = userByPhone;
227
+ }
201
228
  }
202
- if (!existingUser && data.email) {
203
- existingUser = await this.userRepository.findOne({
204
- where: { email: data.email, tenantId: user.tenantId, id: (0, typeorm_2.Not)(user.id) }
205
- });
229
+ if (!existingUser && email != null) {
230
+ const userByEmail = await this.getUserByEmail(email, tenantId, { select: ['id'] });
231
+ if (userByEmail && userByEmail.id !== id) {
232
+ existingUser = userByEmail;
233
+ }
206
234
  }
207
235
  if (existingUser) {
208
236
  this.debugLogger.warn('Conflict detected during user update', 'UserService', { userId: id, conflictingUserId: existingUser.id });
@@ -212,24 +240,22 @@ let UserService = class UserService {
212
240
  });
213
241
  }
214
242
  }
215
- delete data.tenantId;
216
243
  this.debugLogger.debug('Updating user data', 'UserService', { userId: id, fields: Object.keys(data) });
217
244
  Object.assign(user, data);
218
245
  const updatedUser = await this.userRepository.save(user);
219
246
  this.debugLogger.info('User updated successfully', 'UserService', { userId: updatedUser.id });
220
- const config = this.authConfigService.getConfig();
221
- if (data.email && config.emailAuth?.enabled !== false) {
247
+ const updateConfig = this.authConfigService.getConfig();
248
+ if (data.email && updateConfig.emailAuth?.enabled !== false) {
222
249
  this.debugLogger.debug('Updating email identity', 'UserService', { userId: id });
223
250
  await user.updateOrCreateIdentity(auth_constants_1.EMAIL_AUTH_PROVIDER, { providerId: data.email });
224
251
  }
225
- if (data.phone && config.phoneAuth?.enabled === true) {
252
+ if (data.phone && updateConfig.phoneAuth?.enabled === true) {
226
253
  this.debugLogger.debug('Updating phone identity', 'UserService', { userId: id });
227
254
  await user.updateOrCreateIdentity(auth_constants_1.PHONE_AUTH_PROVIDER, { providerId: data.phone });
228
255
  }
229
256
  this.debugLogger.debug('Emitting user updated event', 'UserService', { userId: updatedUser.id });
230
257
  await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.USER_UPDATED, new user_updated_event_1.UserUpdatedEvent({
231
258
  user: updatedUser,
232
- tenantId: updatedUser.tenantId,
233
259
  updatedFields: Object.keys(data)
234
260
  }));
235
261
  this.debugLogger.logFunctionExit('updateUser', 'UserService', { userId: updatedUser.id });
@@ -240,6 +266,77 @@ let UserService = class UserService {
240
266
  throw error;
241
267
  }
242
268
  }
269
+ async ensureUserAccess(userId, tenantId) {
270
+ if (!userId || !tenantId) {
271
+ this.debugLogger.warn('ensureUserAccess called with missing parameters', 'UserService', { userId: !!userId, tenantId: !!tenantId });
272
+ return null;
273
+ }
274
+ const existing = await this.userAccessRepository.findOne({
275
+ where: { userId, tenantId }
276
+ });
277
+ if (existing) {
278
+ return existing;
279
+ }
280
+ const access = this.userAccessRepository.create({
281
+ userId,
282
+ tenantId,
283
+ });
284
+ return await this.userAccessRepository.save(access);
285
+ }
286
+ async isUserInTenant(userId, tenantId) {
287
+ if (!userId || !tenantId) {
288
+ return false;
289
+ }
290
+ const access = await this.userRepository.createQueryBuilder('u')
291
+ .innerJoin('u.userAccesses', 'm', 'm.tenantId = :tenantId', {
292
+ tenantId,
293
+ })
294
+ .where('u.id = :userId', { userId })
295
+ .select('m.id')
296
+ .getRawOne();
297
+ return !!access;
298
+ }
299
+ async setUserAccessRoles(userId, tenantId, roleIds) {
300
+ let access = await this.userAccessRepository.findOne({
301
+ where: { userId, tenantId: tenantId },
302
+ relations: ['roles'],
303
+ });
304
+ if (!access) {
305
+ access = await this.ensureUserAccess(userId, tenantId);
306
+ }
307
+ if (!roleIds?.length) {
308
+ access.roles = [];
309
+ }
310
+ else {
311
+ const roleEntities = await role_entity_1.NestAuthRole.find({ where: { id: (0, typeorm_2.In)(roleIds) } });
312
+ access.roles = roleEntities;
313
+ }
314
+ return this.userAccessRepository.save(access);
315
+ }
316
+ async getUserTenants(userId) {
317
+ if (!userId) {
318
+ return [];
319
+ }
320
+ const accessList = await this.userAccessRepository.find({
321
+ where: { userId, isActive: true },
322
+ relations: ['tenant']
323
+ });
324
+ return accessList
325
+ .map(a => a.tenant)
326
+ .filter(Boolean);
327
+ }
328
+ async deleteUserAccess(userId, tenantId) {
329
+ if (!userId || !tenantId) {
330
+ return;
331
+ }
332
+ const access = await this.userAccessRepository.findOne({
333
+ where: { userId, tenantId },
334
+ });
335
+ if (access) {
336
+ await this.userAccessRepository.remove(access);
337
+ this.debugLogger.debug('User access deleted', 'UserService', { userId, tenantId });
338
+ }
339
+ }
243
340
  async deleteUser(id) {
244
341
  this.debugLogger.logFunctionEntry('deleteUser', 'UserService', { userId: id });
245
342
  try {
@@ -254,7 +351,6 @@ let UserService = class UserService {
254
351
  this.debugLogger.debug('Emitting user deleted event', 'UserService', { userId: id });
255
352
  await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.USER_DELETED, new user_deleted_event_1.UserDeletedEvent({
256
353
  user,
257
- tenantId: user.tenantId
258
354
  }));
259
355
  this.debugLogger.debug('Deleting user from database', 'UserService', { userId: id });
260
356
  await this.userRepository.remove(user);
@@ -314,7 +410,6 @@ let UserService = class UserService {
314
410
  this.debugLogger.debug('Emitting user updated event (status change)', 'UserService', { userId: id, isActive });
315
411
  await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.USER_UPDATED, new user_updated_event_1.UserUpdatedEvent({
316
412
  user: updatedUser,
317
- tenantId: updatedUser.tenantId,
318
413
  updatedFields: ['isActive']
319
414
  }));
320
415
  return updatedUser;
@@ -335,7 +430,6 @@ let UserService = class UserService {
335
430
  this.debugLogger.debug('Emitting user updated event (metadata)', 'UserService', { userId: id });
336
431
  await this.eventEmitter.emitAsync(auth_constants_1.NestAuthEvents.USER_UPDATED, new user_updated_event_1.UserUpdatedEvent({
337
432
  user: updatedUser,
338
- tenantId: updatedUser.tenantId,
339
433
  updatedFields: ['metadata']
340
434
  }));
341
435
  return updatedUser;
@@ -346,14 +440,19 @@ let UserService = class UserService {
346
440
  async getUsersAndCount(options) {
347
441
  return this.userRepository.findAndCount(options);
348
442
  }
349
- async getUsersByRole(roleName, guard) {
443
+ async getUsersByRole(roleName, guard, tenantId) {
350
444
  this.debugLogger.debug('Getting users by role', 'UserService', { roleName, guard });
351
- const users = await this.userRepository
445
+ const usersQuery = this.userRepository
352
446
  .createQueryBuilder('user')
353
- .leftJoinAndSelect('user.roles', 'role')
354
- .where('role.name = :roleName', { roleName })
355
- .andWhere('role.guard = :guard', { guard })
356
- .getMany();
447
+ .innerJoin('user.userAccesses', 'm')
448
+ .innerJoin('m.roles', 'role', 'role.name = :roleName AND role.guard = :guard', {
449
+ roleName,
450
+ guard,
451
+ });
452
+ if (tenantId) {
453
+ usersQuery.andWhere('m.tenantId = :tenantId', { tenantId });
454
+ }
455
+ const users = await usersQuery.getMany();
357
456
  this.debugLogger.debug('Found users with role', 'UserService', { roleName, count: users.length });
358
457
  return users;
359
458
  }
@@ -362,7 +461,9 @@ exports.UserService = UserService;
362
461
  exports.UserService = UserService = __decorate([
363
462
  (0, common_1.Injectable)(),
364
463
  __param(0, (0, typeorm_1.InjectRepository)(user_entity_1.NestAuthUser)),
464
+ __param(1, (0, typeorm_1.InjectRepository)(user_access_entity_1.NestAuthUserAccess)),
365
465
  __metadata("design:paramtypes", [typeorm_2.Repository,
466
+ typeorm_2.Repository,
366
467
  tenant_1.TenantService,
367
468
  event_emitter_1.EventEmitter2,
368
469
  auth_config_service_1.AuthConfigService,
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../../src/lib/user/services/user.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../../../src/lib/user/services/user.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.module.d.ts","sourceRoot":"","sources":["../../../src/lib/user/user.module.ts"],"names":[],"mappings":"AAUA,qBAea,UAAU;CAAI"}
1
+ {"version":3,"file":"user.module.d.ts","sourceRoot":"","sources":["../../../src/lib/user/user.module.ts"],"names":[],"mappings":"AAWA,qBAea,UAAU;CAAI"}
@@ -16,13 +16,14 @@ const auth_module_1 = require("../auth/auth.module");
16
16
  const access_key_entity_1 = require("./entities/access-key.entity");
17
17
  const identity_entity_1 = require("./entities/identity.entity");
18
18
  const tenant_module_1 = require("../tenant/tenant.module");
19
+ const user_access_entity_1 = require("../tenant/entities/user-access.entity");
19
20
  let UserModule = class UserModule {
20
21
  };
21
22
  exports.UserModule = UserModule;
22
23
  exports.UserModule = UserModule = __decorate([
23
24
  (0, common_1.Module)({
24
25
  imports: [
25
- typeorm_1.TypeOrmModule.forFeature([user_entity_1.NestAuthUser, access_key_entity_1.NestAuthAccessKey, identity_entity_1.NestAuthIdentity]),
26
+ typeorm_1.TypeOrmModule.forFeature([user_entity_1.NestAuthUser, access_key_entity_1.NestAuthAccessKey, identity_entity_1.NestAuthIdentity, user_access_entity_1.NestAuthUserAccess]),
26
27
  (0, common_1.forwardRef)(() => auth_module_1.AuthModule),
27
28
  (0, common_1.forwardRef)(() => tenant_module_1.TenantModule),
28
29
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../src/lib/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,6CAAgD;AAChD,wDAAsD;AACtD,0DAAsD;AACtD,sEAAiE;AACjE,qDAAiD;AACjD,oEAAiE;AACjE,gEAA8D;AAC9D,2DAAuD;AAiBhD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAI,CAAA;AAAd,gCAAU;qBAAV,UAAU;IAftB,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE;YACL,uBAAa,CAAC,UAAU,CAAC,CAAC,0BAAY,EAAE,qCAAiB,EAAE,kCAAgB,CAAC,CAAC;YAC7E,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,4BAAY,CAAC;SACjC;QACD,SAAS,EAAE;YACP,0BAAW;YACX,qCAAgB;SACnB;QACD,OAAO,EAAE;YACL,0BAAW;YACX,qCAAgB;SACnB;KACJ,CAAC;GACW,UAAU,CAAI"}
1
+ {"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../src/lib/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,6CAAgD;AAChD,wDAAsD;AACtD,0DAAsD;AACtD,sEAAiE;AACjE,qDAAiD;AACjD,oEAAiE;AACjE,gEAA8D;AAC9D,2DAAuD;AACvD,8EAA2E;AAiBpE,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAI,CAAA;AAAd,gCAAU;qBAAV,UAAU;IAftB,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE;YACL,uBAAa,CAAC,UAAU,CAAC,CAAC,0BAAY,EAAE,qCAAiB,EAAE,kCAAgB,EAAE,uCAAkB,CAAC,CAAC;YACjG,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,4BAAY,CAAC;SACjC;QACD,SAAS,EAAE;YACP,0BAAW;YACX,qCAAgB;SACnB;QACD,OAAO,EAAE;YACL,0BAAW;YACX,qCAAgB;SACnB;KACJ,CAAC;GACW,UAAU,CAAI"}
@@ -1,3 +1,4 @@
1
1
  import { DataSource } from 'typeorm';
2
2
  export declare function getJsonColumnType(dataSource: DataSource): string;
3
+ export declare function isUniqueConstraintViolation(err: unknown): boolean;
3
4
  //# sourceMappingURL=database.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/database.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAGhE"}
1
+ {"version":3,"file":"database.utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/database.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAGhE;AAMD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQjE"}
@@ -1,8 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getJsonColumnType = getJsonColumnType;
4
+ exports.isUniqueConstraintViolation = isUniqueConstraintViolation;
4
5
  function getJsonColumnType(dataSource) {
5
6
  const driver = dataSource.driver;
6
7
  return driver.options.type === 'sqlite' ? 'simple-json' : 'jsonb';
7
8
  }
9
+ function isUniqueConstraintViolation(err) {
10
+ if (!err || typeof err !== 'object')
11
+ return false;
12
+ const e = err;
13
+ const code = e.code ?? e.driverError?.code;
14
+ const errno = e.driverError?.errno;
15
+ if (code === '23505' || code === 'ER_DUP_ENTRY' || Number(errno) === 1062)
16
+ return true;
17
+ const msg = String(e.message ?? '').toLowerCase();
18
+ return msg.includes('unique constraint') || msg.includes('duplicate key');
19
+ }
8
20
  //# sourceMappingURL=database.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.utils.js","sourceRoot":"","sources":["../../../src/lib/utils/database.utils.ts"],"names":[],"mappings":";;AAEA,8CAGC;AAHD,SAAgB,iBAAiB,CAAC,UAAsB;IACpD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"database.utils.js","sourceRoot":"","sources":["../../../src/lib/utils/database.utils.ts"],"names":[],"mappings":";;AAEA,8CAGC;AAMD,kEAQC;AAjBD,SAAgB,iBAAiB,CAAC,UAAsB;IACpD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;AACtE,CAAC;AAMD,SAAgB,2BAA2B,CAAC,GAAY;IACpD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAK,CAAC,CAAC,WAAuC,EAAE,IAAI,CAAC;IACxE,MAAM,KAAK,GAAI,CAAC,CAAC,WAAuC,EAAE,KAAK,CAAC;IAChE,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvF,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAC9E,CAAC"}
@@ -2,6 +2,7 @@ export * from './otp';
2
2
  export * from './device.util';
3
3
  export * from './date.util';
4
4
  export * from './database.utils';
5
+ export * from './normalize.util';
5
6
  export * from './slug.util';
6
7
  export * from './security.util';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
@@ -18,6 +18,7 @@ __exportStar(require("./otp"), exports);
18
18
  __exportStar(require("./device.util"), exports);
19
19
  __exportStar(require("./date.util"), exports);
20
20
  __exportStar(require("./database.utils"), exports);
21
+ __exportStar(require("./normalize.util"), exports);
21
22
  __exportStar(require("./slug.util"), exports);
22
23
  __exportStar(require("./security.util"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,gDAA8B;AAC9B,8CAA4B;AAC5B,mDAAiC;AACjC,8CAA4B;AAC5B,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,gDAA8B;AAC9B,8CAA4B;AAC5B,mDAAiC;AACjC,mDAAiC;AACjC,8CAA4B;AAC5B,kDAAgC"}
@@ -0,0 +1,3 @@
1
+ export declare function normalizedEmail(email: string | null | undefined): string | null;
2
+ export declare function normalizedPhone(phone: string | null | undefined): string | null;
3
+ //# sourceMappingURL=normalize.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.util.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/normalize.util.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAI/E;AAOD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAI/E"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizedEmail = normalizedEmail;
4
+ exports.normalizedPhone = normalizedPhone;
5
+ function normalizedEmail(email) {
6
+ if (email == null || typeof email !== 'string')
7
+ return null;
8
+ const value = email.trim().toLowerCase();
9
+ return value === '' ? null : value;
10
+ }
11
+ function normalizedPhone(phone) {
12
+ if (phone == null || typeof phone !== 'string')
13
+ return null;
14
+ const value = phone.trim().replace(/\s+/g, '');
15
+ return value === '' ? null : value;
16
+ }
17
+ //# sourceMappingURL=normalize.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.util.js","sourceRoot":"","sources":["../../../src/lib/utils/normalize.util.ts"],"names":[],"mappings":";;AAIA,0CAIC;AAOD,0CAIC;AAfD,SAAgB,eAAe,CAAC,KAAgC;IAC5D,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACvC,CAAC;AAOD,SAAgB,eAAe,CAAC,KAAgC;IAC5D,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACvC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ackplus/nest-auth",
3
- "version": "1.1.67",
3
+ "version": "1.1.69-beta.2",
4
4
  "description": "Powerful CRUD operations for NestJS with TypeORM - automatic REST endpoints, advanced filtering, relations, pagination, and more",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",
@@ -39,7 +39,7 @@
39
39
  "qrcode": "^1.5.0",
40
40
  "qs": "^6.11.2",
41
41
  "speakeasy": "^2.0.0",
42
- "@ackplus/nest-auth-contracts": "1.1.67"
42
+ "@ackplus/nest-auth-contracts": "1.1.69-beta.2"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@nestjs/common": "^10 || ^11",
@@ -1,2 +0,0 @@
1
- export * from './auth-exception.filter';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/filters/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./auth-exception.filter"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/auth/filters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC"}