@vynelix/nestjs-multi-auth 0.3.2 → 1.0.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.
Files changed (196) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +309 -18
  3. package/dist/auth/auth.controller.d.ts +3 -2
  4. package/dist/auth/auth.controller.js +32 -5
  5. package/dist/auth/auth.controller.js.map +1 -1
  6. package/dist/auth/auth.module.js +116 -68
  7. package/dist/auth/auth.module.js.map +1 -1
  8. package/dist/auth/auth.service.d.ts +52 -25
  9. package/dist/auth/auth.service.js +238 -327
  10. package/dist/auth/auth.service.js.map +1 -1
  11. package/dist/auth/core/auth-mapper.d.ts +1 -1
  12. package/dist/auth/core/database-otp.provider.d.ts +12 -0
  13. package/dist/auth/core/database-otp.provider.js +122 -0
  14. package/dist/auth/core/database-otp.provider.js.map +1 -0
  15. package/dist/auth/dto/requests/magic-link.dto.d.ts +1 -0
  16. package/dist/auth/dto/requests/magic-link.dto.js +6 -0
  17. package/dist/auth/dto/requests/magic-link.dto.js.map +1 -1
  18. package/dist/auth/dto/requests/mfa.dto.d.ts +5 -1
  19. package/dist/auth/dto/requests/mfa.dto.js +29 -8
  20. package/dist/auth/dto/requests/mfa.dto.js.map +1 -1
  21. package/dist/auth/enums/identifier-type.enum.d.ts +11 -0
  22. package/dist/auth/enums/identifier-type.enum.js +17 -0
  23. package/dist/auth/enums/identifier-type.enum.js.map +1 -0
  24. package/dist/auth/enums/mfa-type.enum.d.ts +5 -0
  25. package/dist/auth/enums/mfa-type.enum.js +10 -0
  26. package/dist/auth/enums/mfa-type.enum.js.map +1 -0
  27. package/dist/auth/enums/otp-purpose.enum.d.ts +8 -0
  28. package/dist/auth/enums/otp-purpose.enum.js +13 -0
  29. package/dist/auth/enums/otp-purpose.enum.js.map +1 -0
  30. package/dist/auth/enums/session-event.enum.d.ts +7 -0
  31. package/dist/auth/enums/session-event.enum.js +12 -0
  32. package/dist/auth/enums/session-event.enum.js.map +1 -0
  33. package/dist/auth/interfaces/auth-module-options.interface.d.ts +36 -1
  34. package/dist/auth/interfaces/auth-notification-provider.interface.d.ts +7 -1
  35. package/dist/auth/interfaces/auth-otp-provider.interface.d.ts +60 -0
  36. package/dist/auth/interfaces/auth-otp-provider.interface.js +7 -0
  37. package/dist/auth/interfaces/auth-otp-provider.interface.js.map +1 -0
  38. package/dist/auth/interfaces/models.interface.d.ts +91 -0
  39. package/dist/auth/interfaces/models.interface.js +3 -0
  40. package/dist/auth/interfaces/models.interface.js.map +1 -0
  41. package/dist/auth/interfaces/oauth-strategy.interface.d.ts +2 -2
  42. package/dist/auth/interfaces/repositories.interface.d.ts +70 -0
  43. package/dist/auth/interfaces/repositories.interface.js +3 -0
  44. package/dist/auth/interfaces/repositories.interface.js.map +1 -0
  45. package/dist/auth/interfaces/repository-tokens.d.ts +7 -0
  46. package/dist/auth/interfaces/repository-tokens.js +11 -0
  47. package/dist/auth/interfaces/repository-tokens.js.map +1 -0
  48. package/dist/auth/interfaces/signup-event-body.interface.d.ts +1 -1
  49. package/dist/auth/strategies/local-auth.strategy.d.ts +3 -5
  50. package/dist/auth/strategies/local-auth.strategy.js +64 -99
  51. package/dist/auth/strategies/local-auth.strategy.js.map +1 -1
  52. package/dist/auth/strategies/oauth/apple.strategy.d.ts +4 -6
  53. package/dist/auth/strategies/oauth/apple.strategy.js +57 -70
  54. package/dist/auth/strategies/oauth/apple.strategy.js.map +1 -1
  55. package/dist/auth/strategies/oauth/facebook.strategy.d.ts +4 -6
  56. package/dist/auth/strategies/oauth/facebook.strategy.js +58 -71
  57. package/dist/auth/strategies/oauth/facebook.strategy.js.map +1 -1
  58. package/dist/auth/strategies/oauth/google.strategy.d.ts +4 -6
  59. package/dist/auth/strategies/oauth/google.strategy.js +84 -155
  60. package/dist/auth/strategies/oauth/google.strategy.js.map +1 -1
  61. package/dist/auth/strategies/oauth/oauth.strategy.d.ts +2 -2
  62. package/dist/database/prisma/prisma-auth.adapter.d.ts +11 -0
  63. package/dist/database/prisma/prisma-auth.adapter.js +64 -0
  64. package/dist/database/prisma/prisma-auth.adapter.js.map +1 -0
  65. package/dist/database/prisma/repositories/auth-identifier.repository.d.ts +16 -0
  66. package/dist/database/prisma/repositories/auth-identifier.repository.js +41 -0
  67. package/dist/database/prisma/repositories/auth-identifier.repository.js.map +1 -0
  68. package/dist/database/prisma/repositories/auth.repository.d.ts +19 -0
  69. package/dist/database/prisma/repositories/auth.repository.js +49 -0
  70. package/dist/database/prisma/repositories/auth.repository.js.map +1 -0
  71. package/dist/database/prisma/repositories/index.d.ts +7 -0
  72. package/dist/database/prisma/repositories/index.js +24 -0
  73. package/dist/database/prisma/repositories/index.js.map +1 -0
  74. package/dist/database/prisma/repositories/mfa-method.repository.d.ts +11 -0
  75. package/dist/database/prisma/repositories/mfa-method.repository.js +33 -0
  76. package/dist/database/prisma/repositories/mfa-method.repository.js.map +1 -0
  77. package/dist/database/prisma/repositories/oauth-provider.repository.d.ts +14 -0
  78. package/dist/database/prisma/repositories/oauth-provider.repository.js +39 -0
  79. package/dist/database/prisma/repositories/oauth-provider.repository.js.map +1 -0
  80. package/dist/database/prisma/repositories/otp-token.repository.d.ts +13 -0
  81. package/dist/database/prisma/repositories/otp-token.repository.js +52 -0
  82. package/dist/database/prisma/repositories/otp-token.repository.js.map +1 -0
  83. package/dist/database/prisma/repositories/session-log.repository.d.ts +12 -0
  84. package/dist/database/prisma/repositories/session-log.repository.js +42 -0
  85. package/dist/database/prisma/repositories/session-log.repository.js.map +1 -0
  86. package/dist/database/prisma/repositories/session.repository.d.ts +16 -0
  87. package/dist/database/prisma/repositories/session.repository.js +41 -0
  88. package/dist/database/prisma/repositories/session.repository.js.map +1 -0
  89. package/dist/database/typeorm/entities/auth-identify.entity.d.ts +23 -0
  90. package/dist/database/typeorm/entities/auth-identify.entity.js +61 -0
  91. package/dist/database/typeorm/entities/auth-identify.entity.js.map +1 -0
  92. package/dist/database/typeorm/entities/auth.entity.d.ts +45 -0
  93. package/dist/database/typeorm/entities/auth.entity.js +129 -0
  94. package/dist/database/typeorm/entities/auth.entity.js.map +1 -0
  95. package/dist/database/typeorm/entities/base.entity.d.ts +7 -0
  96. package/dist/database/typeorm/entities/base.entity.js +44 -0
  97. package/dist/database/typeorm/entities/base.entity.js.map +1 -0
  98. package/dist/database/typeorm/entities/entities.d.ts +7 -0
  99. package/dist/database/typeorm/entities/entities.js +18 -0
  100. package/dist/database/typeorm/entities/entities.js.map +1 -0
  101. package/dist/database/typeorm/entities/mfa-method.entity.d.ts +10 -0
  102. package/dist/database/typeorm/entities/mfa-method.entity.js +47 -0
  103. package/dist/database/typeorm/entities/mfa-method.entity.js.map +1 -0
  104. package/dist/database/typeorm/entities/oauth-provider.entity.d.ts +38 -0
  105. package/dist/database/typeorm/entities/oauth-provider.entity.js +88 -0
  106. package/dist/database/typeorm/entities/oauth-provider.entity.js.map +1 -0
  107. package/dist/database/typeorm/entities/otp-token.entity.d.ts +15 -0
  108. package/dist/database/typeorm/entities/otp-token.entity.js +53 -0
  109. package/dist/database/typeorm/entities/otp-token.entity.js.map +1 -0
  110. package/dist/database/typeorm/entities/session.entity.d.ts +21 -0
  111. package/dist/database/typeorm/entities/session.entity.js +71 -0
  112. package/dist/database/typeorm/entities/session.entity.js.map +1 -0
  113. package/dist/database/typeorm/entities/session_log.entity.d.ts +25 -0
  114. package/dist/database/typeorm/entities/session_log.entity.js +78 -0
  115. package/dist/database/typeorm/entities/session_log.entity.js.map +1 -0
  116. package/dist/database/typeorm/migrations/auth-entities.d.ts +7 -0
  117. package/dist/database/typeorm/migrations/auth-entities.js +18 -0
  118. package/dist/database/typeorm/migrations/auth-entities.js.map +1 -0
  119. package/dist/database/typeorm/migrations/auth-schema.initializer.d.ts +9 -0
  120. package/dist/database/typeorm/migrations/auth-schema.initializer.js +36 -0
  121. package/dist/database/typeorm/migrations/auth-schema.initializer.js.map +1 -0
  122. package/dist/database/typeorm/migrations/auth.migration.v1.d.ts +12 -0
  123. package/dist/database/typeorm/migrations/auth.migration.v1.js +157 -0
  124. package/dist/database/typeorm/migrations/auth.migration.v1.js.map +1 -0
  125. package/dist/database/typeorm/migrations/auth.migration.v2.d.ts +8 -0
  126. package/dist/database/typeorm/migrations/auth.migration.v2.js +23 -0
  127. package/dist/database/typeorm/migrations/auth.migration.v2.js.map +1 -0
  128. package/dist/database/typeorm/migrations/auth.migrations.d.ts +2 -0
  129. package/dist/database/typeorm/migrations/auth.migrations.js +10 -0
  130. package/dist/database/typeorm/migrations/auth.migrations.js.map +1 -0
  131. package/dist/database/typeorm/migrations/migration.service.d.ts +9 -0
  132. package/dist/database/typeorm/migrations/migration.service.js +75 -0
  133. package/dist/database/typeorm/migrations/migration.service.js.map +1 -0
  134. package/dist/database/typeorm/repositories/auth-identifier.repository.d.ts +18 -0
  135. package/dist/database/typeorm/repositories/auth-identifier.repository.js +64 -0
  136. package/dist/database/typeorm/repositories/auth-identifier.repository.js.map +1 -0
  137. package/dist/database/typeorm/repositories/auth.repository.d.ts +21 -0
  138. package/dist/database/typeorm/repositories/auth.repository.js +71 -0
  139. package/dist/database/typeorm/repositories/auth.repository.js.map +1 -0
  140. package/dist/database/typeorm/repositories/index.d.ts +7 -0
  141. package/dist/database/typeorm/repositories/index.js +24 -0
  142. package/dist/database/typeorm/repositories/index.js.map +1 -0
  143. package/dist/database/typeorm/repositories/mfa-method.repository.d.ts +13 -0
  144. package/dist/database/typeorm/repositories/mfa-method.repository.js +46 -0
  145. package/dist/database/typeorm/repositories/mfa-method.repository.js.map +1 -0
  146. package/dist/database/typeorm/repositories/oauth-provider.repository.d.ts +16 -0
  147. package/dist/database/typeorm/repositories/oauth-provider.repository.js +52 -0
  148. package/dist/database/typeorm/repositories/oauth-provider.repository.js.map +1 -0
  149. package/dist/database/typeorm/repositories/otp-token.repository.d.ts +13 -0
  150. package/dist/database/typeorm/repositories/otp-token.repository.js +52 -0
  151. package/dist/database/typeorm/repositories/otp-token.repository.js.map +1 -0
  152. package/dist/database/typeorm/repositories/session-log.repository.d.ts +12 -0
  153. package/dist/database/typeorm/repositories/session-log.repository.js +47 -0
  154. package/dist/database/typeorm/repositories/session-log.repository.js.map +1 -0
  155. package/dist/database/typeorm/repositories/session.repository.d.ts +18 -0
  156. package/dist/database/typeorm/repositories/session.repository.js +84 -0
  157. package/dist/database/typeorm/repositories/session.repository.js.map +1 -0
  158. package/dist/database/typeorm/typeorm-auth.adapter.d.ts +2 -0
  159. package/dist/database/typeorm/typeorm-auth.adapter.js +50 -0
  160. package/dist/database/typeorm/typeorm-auth.adapter.js.map +1 -0
  161. package/dist/index.d.ts +11 -9
  162. package/dist/index.js +18 -10
  163. package/dist/index.js.map +1 -1
  164. package/dist/tsconfig.tsbuildinfo +1 -1
  165. package/fix-imports.js +46 -0
  166. package/fix-syntax.js +66 -0
  167. package/package.json +22 -20
  168. package/patch-local-specs.js +52 -0
  169. package/patch-oauth-specs.js +41 -0
  170. package/patch-specs.js +36 -0
  171. package/prompts/database_adapter.md +157 -0
  172. package/prompts/otp_provider.md +292 -0
  173. package/scratch/create-prisma-repos-final.js +139 -0
  174. package/scratch/create-prisma-repos.js +280 -0
  175. package/scratch/fix-events-spec.js +12 -0
  176. package/scratch/fix-imports.js +53 -0
  177. package/scratch/fix-prisma-interfaces.js +41 -0
  178. package/scratch/fix-prisma-interfaces2.js +36 -0
  179. package/scratch/fix-prisma-interfaces3.js +26 -0
  180. package/scratch/fix-prisma.js +28 -0
  181. package/scratch/fix-test-imports.js +51 -0
  182. package/scratch/fix-tests-advanced.js +68 -0
  183. package/scratch/fix-tests-advanced2.js +23 -0
  184. package/scratch/fix-tests-concrete.js +40 -0
  185. package/scratch/fix-tests-final.js +35 -0
  186. package/scratch/fix-tests-final2.js +28 -0
  187. package/scratch/fix-tests-final3.js +26 -0
  188. package/scratch/fix-tests-methods.js +40 -0
  189. package/scratch/fix-tests-proxy.js +67 -0
  190. package/scratch/fix-tests-types.js +24 -0
  191. package/scratch/rewrite-tests.js +110 -0
  192. package/tsc_errors.txt +60 -0
  193. package/tsc_errors2.txt +93 -0
  194. package/tmp-cv-test/package-lock.json +0 -250
  195. package/tmp-cv-test/package.json +0 -17
  196. package/tmp-cv-test/test.ts +0 -11
@@ -14,19 +14,16 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AppleAuthStrategy = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
- const typeorm_1 = require("typeorm");
18
- const typeorm_2 = require("@nestjs/typeorm");
19
- const auth_entity_1 = require("../../entities/auth.entity");
20
- const oauth_provider_entity_1 = require("../../entities/oauth-provider.entity");
21
- const auth_identify_entity_1 = require("../../entities/auth-identify.entity");
17
+ const identifier_type_enum_1 = require("../../enums/identifier-type.enum");
22
18
  const auth_type_enum_1 = require("../../enums/auth-type.enum");
23
19
  const auth_module_options_interface_1 = require("../../interfaces/auth-module-options.interface");
24
20
  const crypto_1 = require("crypto");
25
21
  const jwt = require("jsonwebtoken");
22
+ const repository_tokens_1 = require("../../interfaces/repository-tokens");
26
23
  let AppleAuthStrategy = class AppleAuthStrategy {
27
- constructor(dataSource, authRepo, oauthProviderRepo, options) {
28
- this.dataSource = dataSource;
24
+ constructor(authRepo, identifierRepo, oauthProviderRepo, options) {
29
25
  this.authRepo = authRepo;
26
+ this.identifierRepo = identifierRepo;
30
27
  this.oauthProviderRepo = oauthProviderRepo;
31
28
  this.options = options;
32
29
  this.applePublicKeys = [];
@@ -88,59 +85,51 @@ let AppleAuthStrategy = class AppleAuthStrategy {
88
85
  const payload = await this.verifyToken(dto.token);
89
86
  const appleId = payload.sub;
90
87
  const email = payload.email?.toLowerCase();
91
- return this.dataSource.transaction(async (manager) => {
92
- const authRepo = manager.getRepository(auth_entity_1.Auth);
93
- const oauthProviderRepo = manager.getRepository(oauth_provider_entity_1.OAuthProvider);
94
- const identifierRepo = manager.getRepository(auth_identify_entity_1.AuthIdentifier);
95
- // Check if this Apple account is already linked
96
- const existingProvider = await oauthProviderRepo.findOne({
97
- where: { provider: auth_type_enum_1.OAuthProviderType.APPLE, providerUserId: appleId },
98
- relations: ['auth'],
99
- });
100
- if (existingProvider) {
101
- throw new common_1.BadRequestException('This Apple account is already linked to a user');
102
- }
103
- // Check if email identifier is already taken
104
- if (email) {
105
- const existingIdentifier = await identifierRepo.findOne({
106
- where: { value: email, type: auth_identify_entity_1.IdentifierType.EMAIL },
107
- });
108
- if (existingIdentifier) {
109
- throw new common_1.BadRequestException('A user with this email already exists');
110
- }
88
+ const existingProvider = await this.oauthProviderRepo.findByProviderUserId(auth_type_enum_1.OAuthProviderType.APPLE, appleId);
89
+ if (existingProvider) {
90
+ throw new common_1.BadRequestException('This Apple account is already linked to a user');
91
+ }
92
+ if (email) {
93
+ const existingIdentifier = await this.identifierRepo.findByValue(email);
94
+ if (existingIdentifier) {
95
+ throw new common_1.BadRequestException('A user with this email already exists');
111
96
  }
112
- const identityUid = uid || (0, crypto_1.randomUUID)();
113
- const newAuth = authRepo.create({
114
- uid: identityUid,
115
- strategy: auth_type_enum_1.AuthStrategy.OAUTH,
116
- isActive: true,
97
+ }
98
+ const identityUid = uid || (0, crypto_1.randomUUID)();
99
+ const newAuth = await this.authRepo.create({
100
+ uid: identityUid,
101
+ strategy: auth_type_enum_1.AuthStrategy.OAUTH,
102
+ isActive: true,
103
+ isVerified: payload.email_verified === 'true' || payload.email_verified === true,
104
+ isPrimary: true,
105
+ createdAt: new Date(),
106
+ updatedAt: new Date(),
107
+ });
108
+ const identifiers = [];
109
+ if (email) {
110
+ identifiers.push(await this.identifierRepo.create({
111
+ auth: newAuth,
112
+ type: identifier_type_enum_1.IdentifierType.EMAIL,
113
+ value: email,
117
114
  isVerified: payload.email_verified === 'true' || payload.email_verified === true,
118
- isPrimary: true,
119
- });
120
- const identifiers = [];
121
- if (email) {
122
- identifiers.push(identifierRepo.create({
123
- type: auth_identify_entity_1.IdentifierType.EMAIL,
124
- value: email,
125
- isVerified: payload.email_verified === 'true' || payload.email_verified === true,
126
- source: auth_identify_entity_1.IdentifierSource.APPLE,
127
- verifiedBy: payload.email_verified ? 'PROVIDER' : undefined,
128
- }));
129
- }
130
- newAuth.identifiers = identifiers;
131
- const oauthProvider = oauthProviderRepo.create({
132
- provider: auth_type_enum_1.OAuthProviderType.APPLE,
133
- providerUserId: appleId,
134
- expiresAt: payload.exp ? new Date(payload.exp * 1000) : undefined,
135
- rawProfile: payload,
136
- emailVerified: payload.email_verified === 'true' || payload.email_verified === true,
137
- displayName: payload.name?.displayName,
138
- avatarUrl: payload.picture,
139
- });
140
- newAuth.oauthProviders = [...(newAuth.oauthProviders || []), oauthProvider];
141
- const savedAuth = await authRepo.save(newAuth);
142
- return { auth: savedAuth, identifier: savedAuth.identifiers?.[0] };
115
+ source: identifier_type_enum_1.IdentifierSource.APPLE,
116
+ verifiedBy: payload.email_verified ? 'PROVIDER' : undefined,
117
+ }));
118
+ }
119
+ newAuth.identifiers = identifiers;
120
+ const oauthProvider = await this.oauthProviderRepo.create({
121
+ auth: newAuth,
122
+ provider: auth_type_enum_1.OAuthProviderType.APPLE,
123
+ providerUserId: appleId,
124
+ expiresAt: payload.exp ? new Date(payload.exp * 1000) : undefined,
125
+ rawProfile: payload,
126
+ emailVerified: payload.email_verified === 'true' || payload.email_verified === true,
127
+ displayName: payload.name?.displayName,
128
+ avatarUrl: payload.picture,
143
129
  });
130
+ newAuth.oauthProviders = [oauthProvider];
131
+ const savedAuth = await this.authRepo.save(newAuth);
132
+ return { auth: savedAuth, identifier: savedAuth.identifiers?.[0] };
144
133
  }
145
134
  async login(dto) {
146
135
  if (!dto.token) {
@@ -148,29 +137,27 @@ let AppleAuthStrategy = class AppleAuthStrategy {
148
137
  }
149
138
  const payload = await this.verifyToken(dto.token);
150
139
  const appleId = payload.sub;
151
- const oauthProvider = await this.oauthProviderRepo.findOne({
152
- where: { provider: auth_type_enum_1.OAuthProviderType.APPLE, providerUserId: appleId },
153
- relations: ['auth', 'auth.identifiers'],
154
- });
155
- if (!oauthProvider || !oauthProvider.auth) {
140
+ const result = await this.oauthProviderRepo.findWithAuthByProviderUserId(auth_type_enum_1.OAuthProviderType.APPLE, appleId);
141
+ if (!result || !result.auth) {
156
142
  throw new common_1.BadRequestException('No account found linked to this Apple account');
157
143
  }
158
- const auth = oauthProvider.auth;
144
+ const oauthProvider = result.provider;
145
+ const auth = result.auth;
159
146
  auth.lastUsedAt = new Date();
160
147
  await this.authRepo.save(auth);
161
148
  const email = payload.email?.toLowerCase();
162
- const identifier = auth.identifiers?.find(id => id.value === email);
163
- return { auth, identifier };
149
+ const updatedAuth = await this.authRepo.findWithIdentifiers(auth.id);
150
+ const identifier = updatedAuth?.identifiers?.find(id => id.value === email);
151
+ return { auth: updatedAuth || auth, identifier: identifier || undefined };
164
152
  }
165
153
  };
166
154
  exports.AppleAuthStrategy = AppleAuthStrategy;
167
155
  exports.AppleAuthStrategy = AppleAuthStrategy = __decorate([
168
156
  (0, common_1.Injectable)(),
169
- __param(1, (0, typeorm_2.InjectRepository)(auth_entity_1.Auth)),
170
- __param(2, (0, typeorm_2.InjectRepository)(oauth_provider_entity_1.OAuthProvider)),
157
+ __param(0, (0, common_1.Inject)(repository_tokens_1.AUTH_REPOSITORY_TOKEN)),
158
+ __param(1, (0, common_1.Inject)(repository_tokens_1.AUTH_IDENTIFIER_REPOSITORY_TOKEN)),
159
+ __param(2, (0, common_1.Inject)(repository_tokens_1.OAUTH_PROVIDER_REPOSITORY_TOKEN)),
171
160
  __param(3, (0, common_1.Inject)(auth_module_options_interface_1.AUTH_MODULE_OPTIONS)),
172
- __metadata("design:paramtypes", [typeorm_1.DataSource,
173
- typeorm_1.Repository,
174
- typeorm_1.Repository, Object])
161
+ __metadata("design:paramtypes", [Object, Object, Object, Object])
175
162
  ], AppleAuthStrategy);
176
163
  //# sourceMappingURL=apple.strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apple.strategy.js","sourceRoot":"","sources":["../../../../src/auth/strategies/oauth/apple.strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apple.strategy.js","sourceRoot":"","sources":["../../../../src/auth/strategies/oauth/apple.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAyE;AAIzE,2EAAoF;AACpF,+DAA6E;AAC7E,kGAAwG;AAExG,mCAAqD;AACrD,oCAAoC;AACpC,0EAA8I;AAIvI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAI1B,YACmC,QAAgC,EACrB,cAAgD,EACjD,iBAAkD,EAC9D,OAAkC;QAHxB,aAAQ,GAAR,QAAQ,CAAgB;QACb,mBAAc,GAAd,cAAc,CAA0B;QACzC,sBAAiB,GAAjB,iBAAiB,CAAyB;QACtD,YAAO,GAAP,OAAO,CAAmB;QAP3D,oBAAe,GAAU,EAAE,CAAC;QAC5B,kBAAa,GAAG,CAAC,CAAC;IAOtB,CAAC;IAEG,KAAK,CAAC,kBAAkB;QAC5B,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,4BAAmB,CAAC,mCAAmC,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAa;QACnC,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACrD,MAAM,IAAI,4BAAmB,CAAC,4BAA4B,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEzD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,MAAM,IAAI,4BAAmB,CAAC,4BAA4B,CAAC,CAAC;YAChE,CAAC;YAED,iEAAiE;YACjE,MAAM,SAAS,GAAG,IAAA,wBAAe,EAAC;gBAC9B,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE;gBACzC,UAAU,EAAE,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;gBACpC,MAAM,EAAE,2BAA2B;aACtC,CAAQ,CAAC;YAEV,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC3B,MAAM,IAAI,4BAAmB,CAAC,6BAA6B,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,4BAAmB;gBAAE,MAAM,KAAK,CAAC;YACtD,MAAM,IAAI,4BAAmB,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAc,EAAE,GAAY;QAClD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,4BAAmB,CAAC,4BAA4B,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;QAE3C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,kCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE7G,IAAI,gBAAgB,EAAE,CAAC;YACnB,MAAM,IAAI,4BAAmB,CAAC,gDAAgD,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,kBAAkB,EAAE,CAAC;gBACrB,MAAM,IAAI,4BAAmB,CAAC,uCAAuC,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,IAAI,IAAA,mBAAU,GAAE,CAAC;QAExC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACvC,GAAG,EAAE,WAAW;YAChB,QAAQ,EAAE,6BAAY,CAAC,KAAK;YAC5B,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,OAAO,CAAC,cAAc,KAAK,MAAM,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI;YAChF,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAqB,EAAE,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACR,WAAW,CAAC,IAAI,CACZ,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC7B,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,qCAAc,CAAC,KAAK;gBAC1B,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,OAAO,CAAC,cAAc,KAAK,MAAM,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI;gBAChF,MAAM,EAAE,uCAAgB,CAAC,KAAK;gBAC9B,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aAC9D,CAAC,CACL,CAAC;QACN,CAAC;QAED,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QAElC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACtD,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,kCAAiB,CAAC,KAAK;YACjC,cAAc,EAAE,OAAO;YACvB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YACjE,UAAU,EAAE,OAAO;YACnB,aAAa,EAAE,OAAO,CAAC,cAAc,KAAK,MAAM,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI;YACnF,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW;YACtC,SAAS,EAAE,OAAO,CAAC,OAAO;SAC7B,CAAC,CAAC;QAEH,OAAO,CAAC,cAAc,GAAG,CAAC,aAAa,CAAC,CAAC;QAEzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAa;QACrB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,4BAAmB,CAAC,4BAA4B,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;QAE5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,kCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE3G,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,4BAAmB,CAAC,+CAA+C,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;QAE3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAE5E,OAAO,EAAE,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC;IAC9E,CAAC;CACJ,CAAA;AAhKY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;IAMJ,WAAA,IAAA,eAAM,EAAC,yCAAqB,CAAC,CAAA;IAC7B,WAAA,IAAA,eAAM,EAAC,oDAAgC,CAAC,CAAA;IACxC,WAAA,IAAA,eAAM,EAAC,mDAA+B,CAAC,CAAA;IACvC,WAAA,IAAA,eAAM,EAAC,mDAAmB,CAAC,CAAA;;GARvB,iBAAiB,CAgK7B"}
@@ -1,17 +1,15 @@
1
- import { DataSource, Repository } from 'typeorm';
2
1
  import { LoginDto } from '../../dto/requests/login.dto';
3
2
  import { SignupDto } from '../../dto/requests/signup.dto';
4
- import { Auth } from '../../entities/auth.entity';
5
- import { OAuthProvider } from '../../entities/oauth-provider.entity';
6
- import { AuthIdentifier } from '../../entities/auth-identify.entity';
3
+ import { Auth, AuthIdentifier } from '../../interfaces/models.interface';
7
4
  import { AuthModuleOptions } from '../../interfaces/auth-module-options.interface';
8
5
  import { IOAuthStrategy } from '../../interfaces/oauth-strategy.interface';
6
+ import { AuthRepository, AuthIdentifierRepository, OAuthProviderRepository } from '../../interfaces/repositories.interface';
9
7
  export declare class FacebookAuthStrategy implements IOAuthStrategy {
10
- private readonly dataSource;
11
8
  private authRepo;
9
+ private identifierRepo;
12
10
  private oauthProviderRepo;
13
11
  private options;
14
- constructor(dataSource: DataSource, authRepo: Repository<Auth>, oauthProviderRepo: Repository<OAuthProvider>, options: AuthModuleOptions);
12
+ constructor(authRepo: AuthRepository, identifierRepo: AuthIdentifierRepository, oauthProviderRepo: OAuthProviderRepository, options: AuthModuleOptions);
15
13
  private verifyToken;
16
14
  registerCredentials(dto: SignupDto, uid?: string): Promise<{
17
15
  auth: Auth;
@@ -14,18 +14,15 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.FacebookAuthStrategy = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
- const typeorm_1 = require("typeorm");
18
- const typeorm_2 = require("@nestjs/typeorm");
19
- const auth_entity_1 = require("../../entities/auth.entity");
20
- const oauth_provider_entity_1 = require("../../entities/oauth-provider.entity");
21
- const auth_identify_entity_1 = require("../../entities/auth-identify.entity");
17
+ const identifier_type_enum_1 = require("../../enums/identifier-type.enum");
22
18
  const auth_type_enum_1 = require("../../enums/auth-type.enum");
23
19
  const auth_module_options_interface_1 = require("../../interfaces/auth-module-options.interface");
24
20
  const crypto_1 = require("crypto");
21
+ const repository_tokens_1 = require("../../interfaces/repository-tokens");
25
22
  let FacebookAuthStrategy = class FacebookAuthStrategy {
26
- constructor(dataSource, authRepo, oauthProviderRepo, options) {
27
- this.dataSource = dataSource;
23
+ constructor(authRepo, identifierRepo, oauthProviderRepo, options) {
28
24
  this.authRepo = authRepo;
25
+ this.identifierRepo = identifierRepo;
29
26
  this.oauthProviderRepo = oauthProviderRepo;
30
27
  this.options = options;
31
28
  }
@@ -62,59 +59,51 @@ let FacebookAuthStrategy = class FacebookAuthStrategy {
62
59
  const payload = await this.verifyToken(dto.token);
63
60
  const facebookId = payload.id;
64
61
  const email = payload.email?.toLowerCase();
65
- return this.dataSource.transaction(async (manager) => {
66
- const authRepo = manager.getRepository(auth_entity_1.Auth);
67
- const oauthProviderRepo = manager.getRepository(oauth_provider_entity_1.OAuthProvider);
68
- const identifierRepo = manager.getRepository(auth_identify_entity_1.AuthIdentifier);
69
- // Check if this Facebook account is already linked
70
- const existingProvider = await oauthProviderRepo.findOne({
71
- where: { provider: auth_type_enum_1.OAuthProviderType.FACEBOOK, providerUserId: facebookId },
72
- relations: ['auth'],
73
- });
74
- if (existingProvider) {
75
- throw new common_1.BadRequestException('This Facebook account is already linked to a user');
76
- }
77
- // Check if email identifier is already taken
78
- if (email) {
79
- const existingIdentifier = await identifierRepo.findOne({
80
- where: { value: email, type: auth_identify_entity_1.IdentifierType.EMAIL },
81
- });
82
- if (existingIdentifier) {
83
- throw new common_1.BadRequestException('A user with this email already exists');
84
- }
85
- }
86
- const identityUid = uid || (0, crypto_1.randomUUID)();
87
- const newAuth = authRepo.create({
88
- uid: identityUid,
89
- strategy: auth_type_enum_1.AuthStrategy.OAUTH,
90
- isActive: true,
91
- isVerified: true, // Facebook verifies emails
92
- isPrimary: true,
93
- });
94
- const identifiers = [];
95
- if (email) {
96
- identifiers.push(identifierRepo.create({
97
- type: auth_identify_entity_1.IdentifierType.EMAIL,
98
- value: email,
99
- isVerified: true,
100
- source: auth_identify_entity_1.IdentifierSource.FACEBOOK,
101
- verifiedBy: 'PROVIDER',
102
- }));
62
+ const existingProvider = await this.oauthProviderRepo.findByProviderUserId(auth_type_enum_1.OAuthProviderType.FACEBOOK, facebookId);
63
+ if (existingProvider) {
64
+ throw new common_1.BadRequestException('This Facebook account is already linked to a user');
65
+ }
66
+ if (email) {
67
+ const existingIdentifier = await this.identifierRepo.findByValue(email);
68
+ if (existingIdentifier) {
69
+ throw new common_1.BadRequestException('A user with this email already exists');
103
70
  }
104
- newAuth.identifiers = identifiers;
105
- const oauthProvider = oauthProviderRepo.create({
106
- provider: auth_type_enum_1.OAuthProviderType.FACEBOOK,
107
- providerUserId: facebookId,
108
- expiresAt: payload.exp ? new Date(payload.exp * 1000) : undefined,
109
- rawProfile: payload,
110
- emailVerified: payload.email_verified === 'true' || payload.email_verified === true,
111
- displayName: payload.name,
112
- avatarUrl: payload.picture,
113
- });
114
- newAuth.oauthProviders = [...(newAuth.oauthProviders || []), oauthProvider];
115
- const savedAuth = await authRepo.save(newAuth);
116
- return { auth: savedAuth, identifier: savedAuth.identifiers?.[0] };
71
+ }
72
+ const identityUid = uid || (0, crypto_1.randomUUID)();
73
+ const newAuth = await this.authRepo.create({
74
+ uid: identityUid,
75
+ strategy: auth_type_enum_1.AuthStrategy.OAUTH,
76
+ isActive: true,
77
+ isVerified: true, // Facebook verifies emails
78
+ isPrimary: true,
79
+ createdAt: new Date(),
80
+ updatedAt: new Date(),
117
81
  });
82
+ const identifiers = [];
83
+ if (email) {
84
+ identifiers.push(await this.identifierRepo.create({
85
+ auth: newAuth,
86
+ type: identifier_type_enum_1.IdentifierType.EMAIL,
87
+ value: email,
88
+ isVerified: true,
89
+ source: identifier_type_enum_1.IdentifierSource.FACEBOOK,
90
+ verifiedBy: 'PROVIDER',
91
+ }));
92
+ }
93
+ newAuth.identifiers = identifiers;
94
+ const oauthProvider = await this.oauthProviderRepo.create({
95
+ auth: newAuth,
96
+ provider: auth_type_enum_1.OAuthProviderType.FACEBOOK,
97
+ providerUserId: facebookId,
98
+ expiresAt: payload.exp ? new Date(payload.exp * 1000) : undefined,
99
+ rawProfile: payload,
100
+ emailVerified: payload.email_verified === 'true' || payload.email_verified === true,
101
+ displayName: payload.name,
102
+ avatarUrl: payload.picture,
103
+ });
104
+ newAuth.oauthProviders = [oauthProvider];
105
+ const savedAuth = await this.authRepo.save(newAuth);
106
+ return { auth: savedAuth, identifier: savedAuth.identifiers?.[0] };
118
107
  }
119
108
  async login(dto) {
120
109
  if (!dto.token) {
@@ -122,29 +111,27 @@ let FacebookAuthStrategy = class FacebookAuthStrategy {
122
111
  }
123
112
  const payload = await this.verifyToken(dto.token);
124
113
  const facebookId = payload.id;
125
- const oauthProvider = await this.oauthProviderRepo.findOne({
126
- where: { provider: auth_type_enum_1.OAuthProviderType.FACEBOOK, providerUserId: facebookId },
127
- relations: ['auth', 'auth.identifiers'],
128
- });
129
- if (!oauthProvider || !oauthProvider.auth) {
114
+ const result = await this.oauthProviderRepo.findWithAuthByProviderUserId(auth_type_enum_1.OAuthProviderType.FACEBOOK, facebookId);
115
+ if (!result || !result.auth) {
130
116
  throw new common_1.BadRequestException('No account found linked to this Facebook account');
131
117
  }
132
- const auth = oauthProvider.auth;
118
+ const oauthProvider = result.provider;
119
+ const auth = result.auth;
133
120
  auth.lastUsedAt = new Date();
134
121
  await this.authRepo.save(auth);
135
122
  const email = payload.email?.toLowerCase();
136
- const identifier = auth.identifiers?.find(id => id.value === email);
137
- return { auth, identifier };
123
+ const updatedAuth = await this.authRepo.findWithIdentifiers(auth.id);
124
+ const identifier = updatedAuth?.identifiers?.find(id => id.value === email);
125
+ return { auth: updatedAuth || auth, identifier: identifier || undefined };
138
126
  }
139
127
  };
140
128
  exports.FacebookAuthStrategy = FacebookAuthStrategy;
141
129
  exports.FacebookAuthStrategy = FacebookAuthStrategy = __decorate([
142
130
  (0, common_1.Injectable)(),
143
- __param(1, (0, typeorm_2.InjectRepository)(auth_entity_1.Auth)),
144
- __param(2, (0, typeorm_2.InjectRepository)(oauth_provider_entity_1.OAuthProvider)),
131
+ __param(0, (0, common_1.Inject)(repository_tokens_1.AUTH_REPOSITORY_TOKEN)),
132
+ __param(1, (0, common_1.Inject)(repository_tokens_1.AUTH_IDENTIFIER_REPOSITORY_TOKEN)),
133
+ __param(2, (0, common_1.Inject)(repository_tokens_1.OAUTH_PROVIDER_REPOSITORY_TOKEN)),
145
134
  __param(3, (0, common_1.Inject)(auth_module_options_interface_1.AUTH_MODULE_OPTIONS)),
146
- __metadata("design:paramtypes", [typeorm_1.DataSource,
147
- typeorm_1.Repository,
148
- typeorm_1.Repository, Object])
135
+ __metadata("design:paramtypes", [Object, Object, Object, Object])
149
136
  ], FacebookAuthStrategy);
150
137
  //# sourceMappingURL=facebook.strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"facebook.strategy.js","sourceRoot":"","sources":["../../../../src/auth/strategies/oauth/facebook.strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facebook.strategy.js","sourceRoot":"","sources":["../../../../src/auth/strategies/oauth/facebook.strategy.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,16 @@
1
- import { DataSource, Repository } from 'typeorm';
2
- import { Auth } from '../../entities/auth.entity';
3
- import { OAuthProvider } from '../../entities/oauth-provider.entity';
4
- import { AuthIdentifier } from '../../entities/auth-identify.entity';
1
+ import { Auth, AuthIdentifier } from '../../interfaces/models.interface';
5
2
  import { AuthModuleOptions } from '../../interfaces/auth-module-options.interface';
6
3
  import { IOAuthStrategy } from '../../interfaces/oauth-strategy.interface';
7
4
  import { LoginDto } from '../../dto/requests/login.dto';
8
5
  import { SignupDto } from '../../dto/requests/signup.dto';
6
+ import { AuthRepository, AuthIdentifierRepository, OAuthProviderRepository } from '../../interfaces/repositories.interface';
9
7
  export declare class GoogleAuthStrategy implements IOAuthStrategy {
10
- private readonly dataSource;
11
8
  private authRepo;
9
+ private identifierRepo;
12
10
  private oauthProviderRepo;
13
11
  private options;
14
12
  private client;
15
- constructor(dataSource: DataSource, authRepo: Repository<Auth>, oauthProviderRepo: Repository<OAuthProvider>, options: AuthModuleOptions);
13
+ constructor(authRepo: AuthRepository, identifierRepo: AuthIdentifierRepository, oauthProviderRepo: OAuthProviderRepository, options: AuthModuleOptions);
16
14
  private verifyToken;
17
15
  registerCredentials(dto: SignupDto, uid?: string): Promise<{
18
16
  auth: Auth;