@ambushsoftworks/nestjs-auth-graphql 0.6.5 → 0.7.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.
- package/README.md +590 -1291
- package/dist/auth.module.d.ts +7 -3
- package/dist/auth.module.d.ts.map +1 -1
- package/dist/auth.module.js +13 -0
- package/dist/auth.module.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/decorators/current-realm.decorator.d.ts +2 -0
- package/dist/decorators/current-realm.decorator.d.ts.map +1 -0
- package/dist/decorators/current-realm.decorator.js +10 -0
- package/dist/decorators/current-realm.decorator.js.map +1 -0
- package/dist/dto/jwt-payload.interface.d.ts +1 -0
- package/dist/dto/jwt-payload.interface.d.ts.map +1 -1
- package/dist/guards/csrf.guard.d.ts +0 -1
- package/dist/guards/csrf.guard.d.ts.map +1 -1
- package/dist/guards/csrf.guard.js +2 -8
- package/dist/guards/csrf.guard.js.map +1 -1
- package/dist/guards/permission.guard.d.ts +0 -1
- package/dist/guards/permission.guard.d.ts.map +1 -1
- package/dist/guards/permission.guard.js +2 -8
- package/dist/guards/permission.guard.js.map +1 -1
- package/dist/guards/tenant.guard.d.ts +0 -1
- package/dist/guards/tenant.guard.d.ts.map +1 -1
- package/dist/guards/tenant.guard.js +2 -9
- package/dist/guards/tenant.guard.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/jwt-payload-factory.interface.d.ts +1 -0
- package/dist/interfaces/jwt-payload-factory.interface.d.ts.map +1 -1
- package/dist/interfaces/realm-extractor.interface.d.ts +4 -0
- package/dist/interfaces/realm-extractor.interface.d.ts.map +1 -0
- package/dist/interfaces/realm-extractor.interface.js +3 -0
- package/dist/interfaces/realm-extractor.interface.js.map +1 -0
- package/dist/interfaces/user-repository.interface.d.ts +6 -5
- package/dist/interfaces/user-repository.interface.d.ts.map +1 -1
- package/dist/middleware/realm.middleware.d.ts +8 -0
- package/dist/middleware/realm.middleware.d.ts.map +1 -0
- package/dist/middleware/realm.middleware.js +41 -0
- package/dist/middleware/realm.middleware.js.map +1 -0
- package/dist/resolvers/base-auth.resolver.d.ts +12 -3
- package/dist/resolvers/base-auth.resolver.d.ts.map +1 -1
- package/dist/resolvers/base-auth.resolver.js +63 -74
- package/dist/resolvers/base-auth.resolver.js.map +1 -1
- package/dist/resolvers/oauth.controller.d.ts +1 -1
- package/dist/resolvers/oauth.controller.d.ts.map +1 -1
- package/dist/resolvers/oauth.controller.js +10 -6
- package/dist/resolvers/oauth.controller.js.map +1 -1
- package/dist/services/auth.service.d.ts +17 -13
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +70 -111
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/biometric-auth.service.d.ts +0 -1
- package/dist/services/biometric-auth.service.d.ts.map +1 -1
- package/dist/services/biometric-auth.service.js +0 -6
- package/dist/services/biometric-auth.service.js.map +1 -1
- package/dist/services/brute-force-protection.service.d.ts +4 -4
- package/dist/services/brute-force-protection.service.d.ts.map +1 -1
- package/dist/services/brute-force-protection.service.js +8 -8
- package/dist/services/brute-force-protection.service.js.map +1 -1
- package/dist/services/default-jwt-payload-factory.d.ts +1 -0
- package/dist/services/default-jwt-payload-factory.d.ts.map +1 -1
- package/dist/services/default-jwt-payload-factory.js +5 -1
- package/dist/services/default-jwt-payload-factory.js.map +1 -1
- package/dist/services/oauth-linking-token.service.d.ts.map +1 -1
- package/dist/services/oauth-linking-token.service.js +3 -8
- package/dist/services/oauth-linking-token.service.js.map +1 -1
- package/dist/services/verification.service.d.ts +9 -7
- package/dist/services/verification.service.d.ts.map +1 -1
- package/dist/services/verification.service.js +36 -131
- package/dist/services/verification.service.js.map +1 -1
- package/dist/strategies/api-key.strategy.d.ts +1 -1
- package/dist/strategies/api-key.strategy.d.ts.map +1 -1
- package/dist/strategies/api-key.strategy.js +3 -6
- package/dist/strategies/api-key.strategy.js.map +1 -1
- package/dist/strategies/jwt.strategy.d.ts +3 -1
- package/dist/strategies/jwt.strategy.d.ts.map +1 -1
- package/dist/strategies/jwt.strategy.js +10 -1
- package/dist/strategies/jwt.strategy.js.map +1 -1
- package/dist/utils/execution-context.d.ts +3 -0
- package/dist/utils/execution-context.d.ts.map +1 -0
- package/dist/utils/execution-context.js +12 -0
- package/dist/utils/execution-context.js.map +1 -0
- package/dist/utils/request-helpers.d.ts +2 -0
- package/dist/utils/request-helpers.d.ts.map +1 -0
- package/dist/utils/request-helpers.js +9 -0
- package/dist/utils/request-helpers.js.map +1 -0
- package/package.json +1 -1
|
@@ -28,121 +28,34 @@ let VerificationService = class VerificationService {
|
|
|
28
28
|
this.expiryMinutes = 15;
|
|
29
29
|
this.maxAttempts = 3;
|
|
30
30
|
}
|
|
31
|
-
async generateCode(identifier, type) {
|
|
32
|
-
const user =
|
|
33
|
-
? await this.userRepository.findByEmail(identifier.toLowerCase())
|
|
34
|
-
: await this.userRepository.findByPhoneNumber(identifier);
|
|
31
|
+
async generateCode(identifier, type, realm) {
|
|
32
|
+
const user = await this.resolveUser(identifier, type, realm);
|
|
35
33
|
if (!user) {
|
|
36
34
|
throw new common_1.BadRequestException('User not found');
|
|
37
35
|
}
|
|
38
|
-
|
|
39
|
-
const hashedCode = this.hashCode(code);
|
|
40
|
-
const expiresAt = new Date(Date.now() + this.expiryMinutes * 60 * 1000);
|
|
41
|
-
const repositoryType = type === 'sms'
|
|
42
|
-
? verification_type_enum_1.VerificationType.PHONE
|
|
43
|
-
: type === 'email'
|
|
44
|
-
? verification_type_enum_1.VerificationType.EMAIL
|
|
45
|
-
: verification_type_enum_1.VerificationType.PASSWORD_RESET;
|
|
46
|
-
await this.verificationRepository.storeVerificationCode(user.id, hashedCode, expiresAt, repositoryType);
|
|
47
|
-
this.securityLogger.log(auth_logger_interface_1.SecurityEvent.VERIFICATION_CODE_SENT, {
|
|
48
|
-
email: type === 'email' || type === 'password-reset' ? identifier : undefined,
|
|
49
|
-
phoneNumber: type === 'sms' ? identifier : undefined,
|
|
50
|
-
verificationType: type,
|
|
51
|
-
});
|
|
52
|
-
return code;
|
|
36
|
+
return this._generateAndStoreCode(user, type);
|
|
53
37
|
}
|
|
54
|
-
async validateCode(identifier, type, code) {
|
|
55
|
-
const user =
|
|
56
|
-
? await this.userRepository.findByEmail(identifier.toLowerCase())
|
|
57
|
-
: await this.userRepository.findByPhoneNumber(identifier);
|
|
38
|
+
async validateCode(identifier, type, code, realm) {
|
|
39
|
+
const user = await this.resolveUser(identifier, type, realm);
|
|
58
40
|
if (!user) {
|
|
59
41
|
throw new common_1.UnauthorizedException('User not found');
|
|
60
42
|
}
|
|
61
|
-
|
|
62
|
-
? verification_type_enum_1.VerificationType.PHONE
|
|
63
|
-
: type === 'email'
|
|
64
|
-
? verification_type_enum_1.VerificationType.EMAIL
|
|
65
|
-
: verification_type_enum_1.VerificationType.PASSWORD_RESET;
|
|
66
|
-
const entry = await this.verificationRepository.getVerificationCode(user.id, repositoryType);
|
|
67
|
-
if (!entry) {
|
|
68
|
-
throw new common_1.UnauthorizedException('Verification code not found or has expired');
|
|
69
|
-
}
|
|
70
|
-
if (new Date() > entry.expiresAt) {
|
|
71
|
-
await this.verificationRepository.clearVerificationCode(user.id, repositoryType);
|
|
72
|
-
this.securityLogger.log(auth_logger_interface_1.SecurityEvent.VERIFICATION_CODE_EXPIRED, {
|
|
73
|
-
email: type === 'email' || type === 'password-reset' ? identifier : undefined,
|
|
74
|
-
phoneNumber: type === 'sms' ? identifier : undefined,
|
|
75
|
-
verificationType: type,
|
|
76
|
-
});
|
|
77
|
-
throw new common_1.UnauthorizedException('Verification code has expired');
|
|
78
|
-
}
|
|
79
|
-
if (entry.attempts >= this.maxAttempts) {
|
|
80
|
-
await this.verificationRepository.clearVerificationCode(user.id, repositoryType);
|
|
81
|
-
throw new common_1.UnauthorizedException('Too many failed attempts. Please request a new code.');
|
|
82
|
-
}
|
|
83
|
-
const hashedSubmittedCode = this.hashCode(code);
|
|
84
|
-
const hashedSubmittedBuffer = Buffer.from(hashedSubmittedCode, 'hex');
|
|
85
|
-
const storedBuffer = Buffer.from(entry.code, 'hex');
|
|
86
|
-
let isValid = false;
|
|
87
|
-
try {
|
|
88
|
-
isValid = (0, crypto_1.timingSafeEqual)(hashedSubmittedBuffer, storedBuffer);
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
isValid = false;
|
|
92
|
-
}
|
|
93
|
-
if (!isValid) {
|
|
94
|
-
await this.verificationRepository.incrementVerificationAttempts(user.id, repositoryType);
|
|
95
|
-
const updatedEntry = await this.verificationRepository.getVerificationCode(user.id, repositoryType);
|
|
96
|
-
const attemptCount = updatedEntry?.attempts || entry.attempts + 1;
|
|
97
|
-
this.securityLogger.log(auth_logger_interface_1.SecurityEvent.VERIFICATION_CODE_FAILED, {
|
|
98
|
-
email: type === 'email' || type === 'password-reset' ? identifier : undefined,
|
|
99
|
-
phoneNumber: type === 'sms' ? identifier : undefined,
|
|
100
|
-
verificationType: type,
|
|
101
|
-
attemptCount,
|
|
102
|
-
});
|
|
103
|
-
const remainingAttempts = this.maxAttempts - attemptCount;
|
|
104
|
-
if (remainingAttempts > 0) {
|
|
105
|
-
throw new common_1.UnauthorizedException(`Invalid verification code. ${remainingAttempts} attempt(s) remaining.`);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
await this.verificationRepository.clearVerificationCode(user.id, repositoryType);
|
|
109
|
-
throw new common_1.UnauthorizedException('Invalid verification code. Maximum attempts exceeded. Please request a new code.');
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
await this.verificationRepository.clearVerificationCode(user.id, repositoryType);
|
|
113
|
-
this.securityLogger.log(auth_logger_interface_1.SecurityEvent.VERIFICATION_CODE_VALIDATED, {
|
|
114
|
-
email: type === 'email' || type === 'password-reset' ? identifier : undefined,
|
|
115
|
-
phoneNumber: type === 'sms' ? identifier : undefined,
|
|
116
|
-
verificationType: type,
|
|
117
|
-
});
|
|
118
|
-
return true;
|
|
43
|
+
return this._validateCodeInternal(user, type, code);
|
|
119
44
|
}
|
|
120
|
-
async invalidateCode(identifier, type) {
|
|
121
|
-
const user =
|
|
122
|
-
? await this.userRepository.findByEmail(identifier.toLowerCase())
|
|
123
|
-
: await this.userRepository.findByPhoneNumber(identifier);
|
|
45
|
+
async invalidateCode(identifier, type, realm) {
|
|
46
|
+
const user = await this.resolveUser(identifier, type, realm);
|
|
124
47
|
if (!user) {
|
|
125
48
|
return;
|
|
126
49
|
}
|
|
127
|
-
const repositoryType = type
|
|
128
|
-
? verification_type_enum_1.VerificationType.PHONE
|
|
129
|
-
: type === 'email'
|
|
130
|
-
? verification_type_enum_1.VerificationType.EMAIL
|
|
131
|
-
: verification_type_enum_1.VerificationType.PASSWORD_RESET;
|
|
50
|
+
const repositoryType = this.mapToRepositoryType(type);
|
|
132
51
|
await this.verificationRepository.clearVerificationCode(user.id, repositoryType);
|
|
133
52
|
}
|
|
134
|
-
async hasActiveCode(identifier, type) {
|
|
135
|
-
const user =
|
|
136
|
-
? await this.userRepository.findByEmail(identifier.toLowerCase())
|
|
137
|
-
: await this.userRepository.findByPhoneNumber(identifier);
|
|
53
|
+
async hasActiveCode(identifier, type, realm) {
|
|
54
|
+
const user = await this.resolveUser(identifier, type, realm);
|
|
138
55
|
if (!user) {
|
|
139
56
|
return false;
|
|
140
57
|
}
|
|
141
|
-
const repositoryType = type
|
|
142
|
-
? verification_type_enum_1.VerificationType.PHONE
|
|
143
|
-
: type === 'email'
|
|
144
|
-
? verification_type_enum_1.VerificationType.EMAIL
|
|
145
|
-
: verification_type_enum_1.VerificationType.PASSWORD_RESET;
|
|
58
|
+
const repositoryType = this.mapToRepositoryType(type);
|
|
146
59
|
const entry = await this.verificationRepository.getVerificationCode(user.id, repositoryType);
|
|
147
60
|
return !!entry && new Date() <= entry.expiresAt;
|
|
148
61
|
}
|
|
@@ -165,9 +78,7 @@ let VerificationService = class VerificationService {
|
|
|
165
78
|
if (!user) {
|
|
166
79
|
return false;
|
|
167
80
|
}
|
|
168
|
-
const repositoryType = type
|
|
169
|
-
? verification_type_enum_1.VerificationType.PHONE
|
|
170
|
-
: verification_type_enum_1.VerificationType.EMAIL;
|
|
81
|
+
const repositoryType = this.mapToRepositoryType(type);
|
|
171
82
|
const entry = await this.verificationRepository.getVerificationCode(user.id, repositoryType);
|
|
172
83
|
return !!entry && new Date() <= entry.expiresAt;
|
|
173
84
|
}
|
|
@@ -175,11 +86,7 @@ let VerificationService = class VerificationService {
|
|
|
175
86
|
const code = this.generateRandomCode();
|
|
176
87
|
const hashedCode = this.hashCode(code);
|
|
177
88
|
const expiresAt = new Date(Date.now() + this.expiryMinutes * 60 * 1000);
|
|
178
|
-
const repositoryType = type
|
|
179
|
-
? verification_type_enum_1.VerificationType.PHONE
|
|
180
|
-
: type === 'email'
|
|
181
|
-
? verification_type_enum_1.VerificationType.EMAIL
|
|
182
|
-
: verification_type_enum_1.VerificationType.PASSWORD_RESET;
|
|
89
|
+
const repositoryType = this.mapToRepositoryType(type);
|
|
183
90
|
await this.verificationRepository.storeVerificationCode(user.id, hashedCode, expiresAt, repositoryType);
|
|
184
91
|
this.securityLogger.log(auth_logger_interface_1.SecurityEvent.VERIFICATION_CODE_SENT, {
|
|
185
92
|
email: type === 'email' || type === 'password-reset' ? user.email : undefined,
|
|
@@ -189,11 +96,7 @@ let VerificationService = class VerificationService {
|
|
|
189
96
|
return code;
|
|
190
97
|
}
|
|
191
98
|
async _validateCodeInternal(user, type, code) {
|
|
192
|
-
const repositoryType = type
|
|
193
|
-
? verification_type_enum_1.VerificationType.PHONE
|
|
194
|
-
: type === 'email'
|
|
195
|
-
? verification_type_enum_1.VerificationType.EMAIL
|
|
196
|
-
: verification_type_enum_1.VerificationType.PASSWORD_RESET;
|
|
99
|
+
const repositoryType = this.mapToRepositoryType(type);
|
|
197
100
|
const entry = await this.verificationRepository.getVerificationCode(user.id, repositoryType);
|
|
198
101
|
if (!entry) {
|
|
199
102
|
throw new common_1.UnauthorizedException('Verification code not found or has expired');
|
|
@@ -258,22 +161,16 @@ let VerificationService = class VerificationService {
|
|
|
258
161
|
hmac.update(code);
|
|
259
162
|
return hmac.digest('hex');
|
|
260
163
|
}
|
|
261
|
-
async getCodeEntry(identifier, type) {
|
|
164
|
+
async getCodeEntry(identifier, type, realm) {
|
|
262
165
|
const nodeEnv = this.options.nodeEnv || 'production';
|
|
263
166
|
if (nodeEnv !== 'development') {
|
|
264
167
|
throw new common_1.BadRequestException('Only available in development');
|
|
265
168
|
}
|
|
266
|
-
const user =
|
|
267
|
-
? await this.userRepository.findByEmail(identifier.toLowerCase())
|
|
268
|
-
: await this.userRepository.findByPhoneNumber(identifier);
|
|
169
|
+
const user = await this.resolveUser(identifier, type, realm);
|
|
269
170
|
if (!user) {
|
|
270
171
|
return null;
|
|
271
172
|
}
|
|
272
|
-
const repositoryType = type
|
|
273
|
-
? verification_type_enum_1.VerificationType.PHONE
|
|
274
|
-
: type === 'email'
|
|
275
|
-
? verification_type_enum_1.VerificationType.EMAIL
|
|
276
|
-
: verification_type_enum_1.VerificationType.PASSWORD_RESET;
|
|
173
|
+
const repositoryType = this.mapToRepositoryType(type);
|
|
277
174
|
const entry = await this.verificationRepository.getVerificationCode(user.id, repositoryType);
|
|
278
175
|
if (!entry) {
|
|
279
176
|
return null;
|
|
@@ -287,8 +184,8 @@ let VerificationService = class VerificationService {
|
|
|
287
184
|
get verificationMode() {
|
|
288
185
|
return this.options.features?.verificationMode ?? 'code';
|
|
289
186
|
}
|
|
290
|
-
async generateToken(identifier, type) {
|
|
291
|
-
const user = await this.
|
|
187
|
+
async generateToken(identifier, type, realm) {
|
|
188
|
+
const user = await this.resolveUser(identifier, type, realm);
|
|
292
189
|
if (!user) {
|
|
293
190
|
throw new common_1.BadRequestException('User not found');
|
|
294
191
|
}
|
|
@@ -297,9 +194,7 @@ let VerificationService = class VerificationService {
|
|
|
297
194
|
const rawToken = (0, crypto_1.randomBytes)(tokenLength).toString('hex');
|
|
298
195
|
const tokenHash = this.hashToken(rawToken);
|
|
299
196
|
const expiresAt = new Date(Date.now() + expiryMinutes * 60 * 1000);
|
|
300
|
-
const repositoryType = type
|
|
301
|
-
? verification_type_enum_1.VerificationType.EMAIL
|
|
302
|
-
: verification_type_enum_1.VerificationType.PASSWORD_RESET;
|
|
197
|
+
const repositoryType = this.mapToRepositoryType(type);
|
|
303
198
|
await this.verificationRepository.storeVerificationCode(user.id, tokenHash, expiresAt, repositoryType);
|
|
304
199
|
this.securityLogger.log(auth_logger_interface_1.SecurityEvent.VERIFICATION_CODE_SENT, {
|
|
305
200
|
email: identifier,
|
|
@@ -307,14 +202,12 @@ let VerificationService = class VerificationService {
|
|
|
307
202
|
});
|
|
308
203
|
return rawToken;
|
|
309
204
|
}
|
|
310
|
-
async verifyToken(identifier, type, token) {
|
|
311
|
-
const user = await this.
|
|
205
|
+
async verifyToken(identifier, type, token, realm) {
|
|
206
|
+
const user = await this.resolveUser(identifier, type, realm);
|
|
312
207
|
if (!user) {
|
|
313
208
|
throw new common_1.UnauthorizedException('User not found');
|
|
314
209
|
}
|
|
315
|
-
const repositoryType = type
|
|
316
|
-
? verification_type_enum_1.VerificationType.EMAIL
|
|
317
|
-
: verification_type_enum_1.VerificationType.PASSWORD_RESET;
|
|
210
|
+
const repositoryType = this.mapToRepositoryType(type);
|
|
318
211
|
const entry = await this.verificationRepository.getVerificationCode(user.id, repositoryType);
|
|
319
212
|
if (!entry) {
|
|
320
213
|
throw new common_1.UnauthorizedException('Verification token not found or has expired');
|
|
@@ -367,6 +260,18 @@ let VerificationService = class VerificationService {
|
|
|
367
260
|
hashToken(token) {
|
|
368
261
|
return (0, crypto_1.createHash)('sha256').update(token).digest('hex');
|
|
369
262
|
}
|
|
263
|
+
async resolveUser(identifier, type, realm) {
|
|
264
|
+
return type === 'email' || type === 'password-reset'
|
|
265
|
+
? this.userRepository.findByEmail(identifier.toLowerCase(), realm)
|
|
266
|
+
: this.userRepository.findByPhoneNumber(identifier, realm);
|
|
267
|
+
}
|
|
268
|
+
mapToRepositoryType(type) {
|
|
269
|
+
switch (type) {
|
|
270
|
+
case 'sms': return verification_type_enum_1.VerificationType.PHONE;
|
|
271
|
+
case 'email': return verification_type_enum_1.VerificationType.EMAIL;
|
|
272
|
+
case 'password-reset': return verification_type_enum_1.VerificationType.PASSWORD_RESET;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
370
275
|
};
|
|
371
276
|
exports.VerificationService = VerificationService;
|
|
372
277
|
exports.VerificationService = VerificationService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.service.js","sourceRoot":"","sources":["../../src/services/verification.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAKwB;AACxB,mCAAyF;AACzF,4CAAmD;AAEnD,+EAAiF;AAIjF,4EAAmE;AAiC5D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAK9B,YAC+B,OAAkC,EAE/D,cAA2D,EAE3D,sBAAgE,EAEhE,cAAmC;QANE,YAAO,GAAP,OAAO,CAAmB;QAE9C,mBAAc,GAAd,cAAc,CAA4B;QAE1C,2BAAsB,GAAtB,sBAAsB,CAAyB;QAExD,mBAAc,GAAd,cAAc,CAAa;QAXpB,eAAU,GAAG,CAAC,CAAC;QACf,kBAAa,GAAG,EAAE,CAAC;QACnB,gBAAW,GAAG,CAAC,CAAC;IAU9B,CAAC;IAUJ,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,IAAwC;QAE7E,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB;YACxD,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACjE,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;QAGD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAGvC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAGvC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAGxE,MAAM,cAAc,GAAG,IAAI,KAAK,KAAK;YACnC,CAAC,CAAC,yCAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,yCAAgB,CAAC,KAAK;gBACxB,CAAC,CAAC,yCAAgB,CAAC,cAAc,CAAC;QAGpC,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,UAAU,EACV,SAAS,EACT,cAAc,CACf,CAAC;QAGF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,sBAAsB,EAAE;YAC5D,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC7E,WAAW,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACpD,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAeD,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,IAAwC,EACxC,IAAY;QAGZ,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB;YACxD,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACjE,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,KAAK,KAAK;YACnC,CAAC,CAAC,yCAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,yCAAgB,CAAC,KAAK;gBACxB,CAAC,CAAC,yCAAgB,CAAC,cAAc,CAAC;QAGpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CACjE,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;QAGF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAC7B,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YAGF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,yBAAyB,EAAE;gBAC/D,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAC7E,WAAW,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBACpD,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,MAAM,IAAI,8BAAqB,CAAC,+BAA+B,CAAC,CAAC;QACnE,CAAC;QAGD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YACF,MAAM,IAAI,8BAAqB,CAC7B,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAGD,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAIpD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,IAAA,wBAAe,EAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YAEb,MAAM,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAC7D,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YAGF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CACxE,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YACF,MAAM,YAAY,GAAG,YAAY,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;YAGlE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,wBAAwB,EAAE;gBAC9D,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAC7E,WAAW,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBACpD,gBAAgB,EAAE,IAAI;gBACtB,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;YAC1D,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,8BAAqB,CAC7B,8BAA8B,iBAAiB,wBAAwB,CACxE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;gBACF,MAAM,IAAI,8BAAqB,CAC7B,kFAAkF,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;QAGF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,2BAA2B,EAAE;YACjE,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC7E,WAAW,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACpD,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAQD,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,IAAwC;QAE/E,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB;YACxD,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACjE,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,KAAK,KAAK;YACnC,CAAC,CAAC,yCAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,yCAAgB,CAAC,KAAK;gBACxB,CAAC,CAAC,yCAAgB,CAAC,cAAc,CAAC;QAEpC,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;IACJ,CAAC;IAUD,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,IAAwC;QAE9E,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB;YACxD,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACjE,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,KAAK,KAAK;YACnC,CAAC,CAAC,yCAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,yCAAgB,CAAC,KAAK;gBACxB,CAAC,CAAC,yCAAgB,CAAC,cAAc,CAAC;QAEpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CACjE,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;QAGF,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC;IAClD,CAAC;IAUD,KAAK,CAAC,qBAAqB,CAAC,MAAc,EAAE,IAAqB;QAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAYD,KAAK,CAAC,qBAAqB,CACzB,MAAc,EACd,IAAqB,EACrB,IAAY;QAGZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAUD,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,IAAqB;QAEhE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,KAAK,KAAK;YACnC,CAAC,CAAC,yCAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,yCAAgB,CAAC,KAAK,CAAC;QAE3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CACjE,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;QAGF,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC;IAClD,CAAC;IAUO,KAAK,CAAC,qBAAqB,CAAC,IAAe,EAAE,IAAwC;QAE3F,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAGvC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAGvC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAGxE,MAAM,cAAc,GAAG,IAAI,KAAK,KAAK;YACnC,CAAC,CAAC,yCAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,yCAAgB,CAAC,KAAK;gBACxB,CAAC,CAAC,yCAAgB,CAAC,cAAc,CAAC;QAGpC,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,UAAU,EACV,SAAS,EACT,cAAc,CACf,CAAC;QAGF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,sBAAsB,EAAE;YAC5D,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC7E,WAAW,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAE,IAAY,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACnE,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAYO,KAAK,CAAC,qBAAqB,CACjC,IAAe,EACf,IAAwC,EACxC,IAAY;QAGZ,MAAM,cAAc,GAAG,IAAI,KAAK,KAAK;YACnC,CAAC,CAAC,yCAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,yCAAgB,CAAC,KAAK;gBACxB,CAAC,CAAC,yCAAgB,CAAC,cAAc,CAAC;QAGpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CACjE,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;QAGF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAC7B,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YAGF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,yBAAyB,EAAE;gBAC/D,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC7E,WAAW,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAE,IAAY,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBACnE,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,MAAM,IAAI,8BAAqB,CAAC,+BAA+B,CAAC,CAAC;QACnE,CAAC;QAGD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YACF,MAAM,IAAI,8BAAqB,CAC7B,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAGD,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAIpD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,IAAA,wBAAe,EAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YAEb,MAAM,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAC7D,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YAGF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CACxE,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YACF,MAAM,YAAY,GAAG,YAAY,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;YAGlE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,wBAAwB,EAAE;gBAC9D,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC7E,WAAW,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAE,IAAY,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBACnE,gBAAgB,EAAE,IAAI;gBACtB,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;YAC1D,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,8BAAqB,CAC7B,8BAA8B,iBAAiB,wBAAwB,CACxE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;gBACF,MAAM,IAAI,8BAAqB,CAC7B,kFAAkF,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;QAGF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,2BAA2B,EAAE;YACjE,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC7E,WAAW,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAE,IAAY,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACnE,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAMO,kBAAkB;QAExB,MAAM,IAAI,GAAG,IAAA,kBAAS,EAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAQO,QAAQ,CAAC,IAAY;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7E,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAMD,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,IAAwC;QAExC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC;QACrD,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,MAAM,IAAI,4BAAmB,CAAC,+BAA+B,CAAC,CAAC;QACjE,CAAC;QAGD,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,gBAAgB;YACxD,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACjE,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,KAAK,KAAK;YACnC,CAAC,CAAC,yCAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,yCAAgB,CAAC,KAAK;gBACxB,CAAC,CAAC,yCAAgB,CAAC,cAAc,CAAC;QAEpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CACjE,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;IACJ,CAAC;IAUD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,IAAI,MAAM,CAAC;IAC3D,CAAC;IAYD,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,IAAgC;QAEhC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QAE7E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,IAAI,EAAE,CAAC;QACjE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,qBAAqB,IAAI,EAAE,CAAC;QAG7E,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAG1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAG3C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAGnE,MAAM,cAAc,GAAG,IAAI,KAAK,OAAO;YACrC,CAAC,CAAC,yCAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,yCAAgB,CAAC,cAAc,CAAC;QAGpC,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACrD,IAAI,CAAC,EAAE,EACP,SAAS,EACT,SAAS,EACT,cAAc,CACf,CAAC;QAGF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,sBAAsB,EAAE;YAC5D,KAAK,EAAE,UAAU;YACjB,gBAAgB,EAAE,GAAG,IAAI,QAAQ;SAClC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAcD,KAAK,CAAC,WAAW,CACf,UAAkB,EAClB,IAAgC,EAChC,KAAa;QAEb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QAE7E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,KAAK,OAAO;YACrC,CAAC,CAAC,yCAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,yCAAgB,CAAC,cAAc,CAAC;QAEpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CACjE,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC,6CAA6C,CAAC,CAAC;QACjF,CAAC;QAGD,IAAI,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAEjF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,yBAAyB,EAAE;gBAC/D,KAAK,EAAE,UAAU;gBACjB,gBAAgB,EAAE,GAAG,IAAI,QAAQ;aAClC,CAAC,CAAC;YAEH,MAAM,IAAI,8BAAqB,CAAC,gCAAgC,CAAC,CAAC;QACpE,CAAC;QAGD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEpD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,IAAA,wBAAe,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YAEb,MAAM,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAC7D,IAAI,CAAC,EAAE,EACP,cAAc,CACf,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,wBAAwB,EAAE;gBAC9D,KAAK,EAAE,UAAU;gBACjB,gBAAgB,EAAE,GAAG,IAAI,QAAQ;aAClC,CAAC,CAAC;YAEH,MAAM,IAAI,8BAAqB,CAAC,4BAA4B,CAAC,CAAC;QAChE,CAAC;QAGD,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAEjF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qCAAa,CAAC,2BAA2B,EAAE;YACjE,KAAK,EAAE,UAAU;YACjB,gBAAgB,EAAE,GAAG,IAAI,QAAQ;SAClC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAUD,oBAAoB,CAAC,KAAa,EAAE,IAAgC,EAAE,KAAa;QACjF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,+DAA+D;gBAC/D,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAKO,SAAS,CAAC,KAAa;QAC7B,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAvwBY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAOR,WAAA,IAAA,eAAM,EAAC,+BAAmB,CAAC,CAAA;IAC3B,WAAA,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAA;IAEzB,WAAA,IAAA,eAAM,EAAC,yBAAyB,CAAC,CAAA;IAEjC,WAAA,IAAA,eAAM,EAAC,aAAa,CAAC,CAAA;;GAXb,mBAAmB,CAuwB/B"}
|
|
1
|
+
{"version":3,"file":"verification.service.js","sourceRoot":"","sources":["../../src/services/verification.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export declare class ApiKeyStrategy extends ApiKeyStrategy_base {
|
|
|
5
5
|
private readonly apiKeyRepository?;
|
|
6
6
|
private readonly logger;
|
|
7
7
|
constructor(apiKeyRepository?: IApiKeyRepository | undefined);
|
|
8
|
-
validate(req: Record<string, any>): Promise<IApiKeyAccount>;
|
|
8
|
+
validate(req: Record<string, any>): Promise<IApiKeyAccount | null>;
|
|
9
9
|
}
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=api-key.strategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key.strategy.d.ts","sourceRoot":"","sources":["../../src/strategies/api-key.strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;;AAc/F,qBACa,cAAe,SAAQ,mBAAqC;IAMrE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IALpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAKvC,gBAAgB,CAAC,EAAE,iBAAiB,YAAA;
|
|
1
|
+
{"version":3,"file":"api-key.strategy.d.ts","sourceRoot":"","sources":["../../src/strategies/api-key.strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;;AAc/F,qBACa,cAAe,SAAQ,mBAAqC;IAMrE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IALpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAKvC,gBAAgB,CAAC,EAAE,iBAAiB,YAAA;IAyBjD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAwCzE"}
|
|
@@ -32,15 +32,12 @@ let ApiKeyStrategy = ApiKeyStrategy_1 = class ApiKeyStrategy extends (0, passpor
|
|
|
32
32
|
}
|
|
33
33
|
async validate(req) {
|
|
34
34
|
const authHeader = req.headers?.authorization ?? req.headers?.Authorization;
|
|
35
|
-
if (!authHeader) {
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
if (!authHeader.startsWith('Bearer ')) {
|
|
39
|
-
throw new common_1.UnauthorizedException('Invalid authorization format');
|
|
35
|
+
if (!authHeader || !authHeader.startsWith('Bearer ')) {
|
|
36
|
+
return null;
|
|
40
37
|
}
|
|
41
38
|
const token = authHeader.slice(7);
|
|
42
39
|
if (!token) {
|
|
43
|
-
|
|
40
|
+
return null;
|
|
44
41
|
}
|
|
45
42
|
if (!this.apiKeyRepository) {
|
|
46
43
|
throw new common_1.UnauthorizedException('API key authentication not configured');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key.strategy.js","sourceRoot":"","sources":["../../src/strategies/api-key.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA6F;AAC7F,+CAAoD;AACpD,qDAA2C;AAC3C,mCAAoC;AAEpC,4CAAkD;AAc3C,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,IAAA,2BAAgB,EAAC,0BAAQ,EAAE,SAAS,CAAC;IAGvE,YAGE,gBAAqD;QAErD,KAAK,EAAE,CAAC;QAFS,qBAAgB,GAAhB,gBAAgB,CAAoB;QALtC,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;QASxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4DAA4D;gBAC5D,mDAAmD;gBACnD,0EAA0E,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;
|
|
1
|
+
{"version":3,"file":"api-key.strategy.js","sourceRoot":"","sources":["../../src/strategies/api-key.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA6F;AAC7F,+CAAoD;AACpD,qDAA2C;AAC3C,mCAAoC;AAEpC,4CAAkD;AAc3C,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,IAAA,2BAAgB,EAAC,0BAAQ,EAAE,SAAS,CAAC;IAGvE,YAGE,gBAAqD;QAErD,KAAK,EAAE,CAAC;QAFS,qBAAgB,GAAhB,gBAAgB,CAAoB;QALtC,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;QASxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4DAA4D;gBAC5D,mDAAmD;gBACnD,0EAA0E,CAC3E,CAAC;QACJ,CAAC;IACH,CAAC;IAcD,KAAK,CAAC,QAAQ,CAAC,GAAwB;QAErC,MAAM,UAAU,GACd,GAAG,CAAC,OAAO,EAAE,aAAa,IAAI,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC;QAI3D,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAMD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,8BAAqB,CAAC,uCAAuC,CAAC,CAAC;QAC3E,CAAC;QAGD,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAGjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,8BAAqB,CAAC,iBAAiB,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,8BAAqB,CAAC,qBAAqB,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAvEY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,8BAAkB,CAAC,CAAA;;GALlB,cAAc,CAuE1B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Strategy } from 'passport-jwt';
|
|
2
|
+
import type { Request } from 'express';
|
|
2
3
|
import { AuthService } from '../services/auth.service';
|
|
3
4
|
import { JwtPayload } from '../dto/jwt-payload.interface';
|
|
4
5
|
import { IAuthUser } from '../interfaces/auth-user.interface';
|
|
@@ -10,8 +11,9 @@ export declare class JwtStrategy extends JwtStrategy_base {
|
|
|
10
11
|
private authService;
|
|
11
12
|
private readonly jwtValidation;
|
|
12
13
|
private readonly jwtPayloadFactory;
|
|
14
|
+
private readonly realmsEnabled;
|
|
13
15
|
constructor(options: AuthModuleOptions, authService: AuthService, jwtPayloadFactory?: IJwtPayloadFactory);
|
|
14
|
-
validate(payload: JwtPayload): Promise<IAuthUser | JwtPayloadUser>;
|
|
16
|
+
validate(req: Request, payload: JwtPayload): Promise<IAuthUser | JwtPayloadUser>;
|
|
15
17
|
}
|
|
16
18
|
export {};
|
|
17
19
|
//# sourceMappingURL=jwt.strategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.strategy.d.ts","sourceRoot":"","sources":["../../src/strategies/jwt.strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"jwt.strategy.d.ts","sourceRoot":"","sources":["../../src/strategies/jwt.strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAGjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;;AAelE,qBACa,WAAY,SAAQ,gBAA0B;IAOvD,OAAO,CAAC,WAAW;IANrB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;gBAGT,OAAO,EAAE,iBAAiB,EAC/C,WAAW,EAAE,WAAW,EAGhC,iBAAiB,CAAC,EAAE,kBAAkB;IA8BlC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;CAiCvF"}
|
|
@@ -42,12 +42,21 @@ let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(pas
|
|
|
42
42
|
jwtFromRequest: jwtExtractor,
|
|
43
43
|
ignoreExpiration: false,
|
|
44
44
|
secretOrKey: options.jwtSecret,
|
|
45
|
+
passReqToCallback: true,
|
|
45
46
|
});
|
|
46
47
|
this.authService = authService;
|
|
47
48
|
this.jwtValidation = options.jwtValidation || 'full';
|
|
48
49
|
this.jwtPayloadFactory = jwtPayloadFactory || new default_jwt_payload_factory_1.DefaultJwtPayloadFactory();
|
|
50
|
+
this.realmsEnabled = !!options.realmExtractorInstance;
|
|
49
51
|
}
|
|
50
|
-
async validate(payload) {
|
|
52
|
+
async validate(req, payload) {
|
|
53
|
+
if (this.realmsEnabled) {
|
|
54
|
+
const requestRealm = req._realm;
|
|
55
|
+
const tokenRealm = payload.realm;
|
|
56
|
+
if (!tokenRealm || tokenRealm !== requestRealm) {
|
|
57
|
+
throw new common_1.UnauthorizedException('Invalid token');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
51
60
|
const userId = this.jwtPayloadFactory.extractUserId(payload);
|
|
52
61
|
if (this.jwtValidation === 'payload-only') {
|
|
53
62
|
return { id: userId, email: payload.email };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../src/strategies/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqF;AACrF,+CAAoD;AACpD,+CAAoD;AAEpD,2DAAuD;AAIvD,yFAAmF;AACnF,4CAAwE;AAQxE,SAAS,UAAU,CAAC,UAAkB;IACpC,OAAO,CAAC,GAAY,EAAiB,EAAE;QACrC,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAW,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAGM,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../src/strategies/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqF;AACrF,+CAAoD;AACpD,+CAAoD;AAEpD,2DAAuD;AAIvD,yFAAmF;AACnF,4CAAwE;AAQxE,SAAS,UAAU,CAAC,UAAkB;IACpC,OAAO,CAAC,GAAY,EAAiB,EAAE;QACrC,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAW,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAGM,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,CAAC;IAKzD,YAC+B,OAA0B,EAC/C,WAAwB,EAGhC,iBAAsC;QAEtC,MAAM,eAAe,GAAG,yBAAU,CAAC,2BAA2B,EAAE,CAAC;QAIjE,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAC;QAChE,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,IAAI,cAAc,CAAC;QAGzE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,aAAa;YAC9C,CAAC,CAAC,UAAU,cAAc,EAAE;YAC5B,CAAC,CAAC,cAAc,CAAC;QAEnB,MAAM,YAAY,GAAG,iBAAiB;YACpC,CAAC,CAAC,yBAAU,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;YACtE,CAAC,CAAC,eAAe,CAAC;QAEpB,KAAK,CAAC;YACJ,cAAc,EAAE,YAAY;YAC5B,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,OAAO,CAAC,SAAS;YAC9B,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QA1BK,gBAAW,GAAX,WAAW,CAAa;QA4BhC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,IAAI,sDAAwB,EAAE,CAAC;QAC7E,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,OAAmB;QAE9C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,YAAY,GAAI,GAA2B,CAAC,MAAM,CAAC;YACzD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;gBAC/C,MAAM,IAAI,8BAAqB,CAAC,eAAe,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAKD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE7D,IAAI,IAAI,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;YAI1C,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9C,CAAC;QAKD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,8BAAqB,CAAC,eAAe,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAzEY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAOR,WAAA,IAAA,eAAM,EAAC,+BAAmB,CAAC,CAAA;IAE3B,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,+BAAmB,CAAC,CAAA;6CAFP,0BAAW;GAPvB,WAAW,CAyEvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../src/utils/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAMpF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRequestFromContext = getRequestFromContext;
|
|
4
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
5
|
+
function getRequestFromContext(context) {
|
|
6
|
+
const contextType = context.getType();
|
|
7
|
+
if (contextType === 'graphql') {
|
|
8
|
+
return graphql_1.GqlExecutionContext.create(context).getContext().req;
|
|
9
|
+
}
|
|
10
|
+
return context.switchToHttp().getRequest();
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=execution-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-context.js","sourceRoot":"","sources":["../../src/utils/execution-context.ts"],"names":[],"mappings":";;AAOA,sDAMC;AAZD,6CAAsD;AAMtD,SAAgB,qBAAqB,CAAC,OAAyB;IAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAU,CAAC;IAC9C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC;IAC9D,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/request-helpers.ts"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CAGrF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractIpAddress = extractIpAddress;
|
|
4
|
+
function extractIpAddress(request) {
|
|
5
|
+
if (!request)
|
|
6
|
+
return 'unknown';
|
|
7
|
+
return request.clientIp || request.ip || 'unknown';
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=request-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-helpers.js","sourceRoot":"","sources":["../../src/utils/request-helpers.ts"],"names":[],"mappings":";;AAOA,4CAGC;AAHD,SAAgB,gBAAgB,CAAC,OAA4C;IAC3E,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAQ,OAAO,CAAC,QAAmB,IAAK,OAAO,CAAC,EAAa,IAAI,SAAS,CAAC;AAC7E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ambushsoftworks/nestjs-auth-graphql",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "Production-grade authentication package for NestJS with GraphQL, supporting JWT, OAuth, email/SMS verification, and biometric auth",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|