aaspai-authx 0.0.1

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.
@@ -0,0 +1,1420 @@
1
+ export { i as express } from './index-KOTz0ZcH.js';
2
+ export { nest } from './nest/index.js';
3
+ import { Request, Response, NextFunction } from 'express';
4
+ import * as aaspai_types from 'aaspai-types';
5
+ import { AuthXUser, AuthXSession } from 'aaspai-types';
6
+ import * as bson from 'bson';
7
+ import * as mongoose from 'mongoose';
8
+ import { Document } from 'mongoose';
9
+ import * as _nestjs_passport from '@nestjs/passport';
10
+ import * as _nestjs_common from '@nestjs/common';
11
+ import { ExecutionContext } from '@nestjs/common';
12
+ import { Strategy } from 'passport';
13
+ import { NextRequest, NextResponse } from 'next/server';
14
+ import * as react_jsx_runtime from 'react/jsx-runtime';
15
+ import { ReactNode } from 'react';
16
+ import 'mongodb';
17
+
18
+ /**
19
+ * Express middleware to require authentication
20
+ * Extracts and verifies JWT token, builds AuthXSession, and attaches to req.user
21
+ */
22
+ declare function requireAuth(): (req: Request, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
23
+ /**
24
+ * Express middleware to require one or more roles
25
+ * @param roles - Array of role names (user must have at least one)
26
+ * @deprecated Use requireRole from middlewares instead. This is kept for backward compatibility.
27
+ */
28
+ declare function authorize(roles?: string[]): (req: Request, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
29
+
30
+ interface AuthenticatedRequest extends Request {
31
+ user?: AuthXUser;
32
+ }
33
+ declare function requirePermission$1(permissionKey: string): (req: AuthenticatedRequest, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
34
+
35
+ /**
36
+ * Express middleware to require a specific permission
37
+ * @param permission - Permission string (e.g., 'projects.create')
38
+ */
39
+ declare function requirePermission(permission: string): (req: Request, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
40
+
41
+ /**
42
+ * Express middleware to require one or more roles
43
+ * @param roles - Array of role names (user must have at least one)
44
+ */
45
+ declare function requireRole(...roles: string[]): (req: Request, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
46
+
47
+ interface IClient extends Document {
48
+ clientId: string;
49
+ redirectUris: string[];
50
+ publicClient: boolean;
51
+ secret?: string;
52
+ createdAt: Date;
53
+ updatedAt: Date;
54
+ }
55
+
56
+ declare class AuthAdminService {
57
+ private token?;
58
+ getAdminToken(): Promise<string>;
59
+ createClient(clientId: string, redirectUris?: string[], publicClient?: boolean): Promise<mongoose.Document<unknown, {}, IClient, {}, {}> & IClient & Required<{
60
+ _id: unknown;
61
+ }> & {
62
+ __v: number;
63
+ }>;
64
+ updateClient(id: string, patch: any): Promise<void>;
65
+ listUsersInRealm(_realm: string, filter?: {
66
+ email?: string;
67
+ username?: string;
68
+ }): Promise<(mongoose.Document<unknown, {}, {
69
+ email: string;
70
+ roles: string[];
71
+ projectId: string;
72
+ id: string;
73
+ firstName: string;
74
+ lastName: string;
75
+ emailVerified: boolean;
76
+ lastEmailSent: mongoose.Types.DocumentArray<{
77
+ prototype?: {
78
+ [Symbol.toPrimitive]?: {} | null | undefined;
79
+ toString?: {} | null | undefined;
80
+ toLocaleString?: {} | null | undefined;
81
+ toJSON?: {} | null | undefined;
82
+ toDateString?: {} | null | undefined;
83
+ toTimeString?: {} | null | undefined;
84
+ toLocaleDateString?: {} | null | undefined;
85
+ toLocaleTimeString?: {} | null | undefined;
86
+ getTime?: {} | null | undefined;
87
+ getFullYear?: {} | null | undefined;
88
+ getUTCFullYear?: {} | null | undefined;
89
+ getMonth?: {} | null | undefined;
90
+ getUTCMonth?: {} | null | undefined;
91
+ getDate?: {} | null | undefined;
92
+ getUTCDate?: {} | null | undefined;
93
+ getDay?: {} | null | undefined;
94
+ getUTCDay?: {} | null | undefined;
95
+ getHours?: {} | null | undefined;
96
+ getUTCHours?: {} | null | undefined;
97
+ getMinutes?: {} | null | undefined;
98
+ getUTCMinutes?: {} | null | undefined;
99
+ getSeconds?: {} | null | undefined;
100
+ getUTCSeconds?: {} | null | undefined;
101
+ getMilliseconds?: {} | null | undefined;
102
+ getUTCMilliseconds?: {} | null | undefined;
103
+ getTimezoneOffset?: {} | null | undefined;
104
+ setTime?: {} | null | undefined;
105
+ setMilliseconds?: {} | null | undefined;
106
+ setUTCMilliseconds?: {} | null | undefined;
107
+ setSeconds?: {} | null | undefined;
108
+ setUTCSeconds?: {} | null | undefined;
109
+ setMinutes?: {} | null | undefined;
110
+ setUTCMinutes?: {} | null | undefined;
111
+ setHours?: {} | null | undefined;
112
+ setUTCHours?: {} | null | undefined;
113
+ setDate?: {} | null | undefined;
114
+ setUTCDate?: {} | null | undefined;
115
+ setMonth?: {} | null | undefined;
116
+ setUTCMonth?: {} | null | undefined;
117
+ setFullYear?: {} | null | undefined;
118
+ setUTCFullYear?: {} | null | undefined;
119
+ toUTCString?: {} | null | undefined;
120
+ toISOString?: {} | null | undefined;
121
+ valueOf?: {} | null | undefined;
122
+ } | null | undefined;
123
+ parse?: {} | null | undefined;
124
+ UTC?: {} | null | undefined;
125
+ now?: {} | null | undefined;
126
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
127
+ prototype?: {
128
+ [Symbol.toPrimitive]?: {} | null | undefined;
129
+ toString?: {} | null | undefined;
130
+ toLocaleString?: {} | null | undefined;
131
+ toJSON?: {} | null | undefined;
132
+ toDateString?: {} | null | undefined;
133
+ toTimeString?: {} | null | undefined;
134
+ toLocaleDateString?: {} | null | undefined;
135
+ toLocaleTimeString?: {} | null | undefined;
136
+ getTime?: {} | null | undefined;
137
+ getFullYear?: {} | null | undefined;
138
+ getUTCFullYear?: {} | null | undefined;
139
+ getMonth?: {} | null | undefined;
140
+ getUTCMonth?: {} | null | undefined;
141
+ getDate?: {} | null | undefined;
142
+ getUTCDate?: {} | null | undefined;
143
+ getDay?: {} | null | undefined;
144
+ getUTCDay?: {} | null | undefined;
145
+ getHours?: {} | null | undefined;
146
+ getUTCHours?: {} | null | undefined;
147
+ getMinutes?: {} | null | undefined;
148
+ getUTCMinutes?: {} | null | undefined;
149
+ getSeconds?: {} | null | undefined;
150
+ getUTCSeconds?: {} | null | undefined;
151
+ getMilliseconds?: {} | null | undefined;
152
+ getUTCMilliseconds?: {} | null | undefined;
153
+ getTimezoneOffset?: {} | null | undefined;
154
+ setTime?: {} | null | undefined;
155
+ setMilliseconds?: {} | null | undefined;
156
+ setUTCMilliseconds?: {} | null | undefined;
157
+ setSeconds?: {} | null | undefined;
158
+ setUTCSeconds?: {} | null | undefined;
159
+ setMinutes?: {} | null | undefined;
160
+ setUTCMinutes?: {} | null | undefined;
161
+ setHours?: {} | null | undefined;
162
+ setUTCHours?: {} | null | undefined;
163
+ setDate?: {} | null | undefined;
164
+ setUTCDate?: {} | null | undefined;
165
+ setMonth?: {} | null | undefined;
166
+ setUTCMonth?: {} | null | undefined;
167
+ setFullYear?: {} | null | undefined;
168
+ setUTCFullYear?: {} | null | undefined;
169
+ toUTCString?: {} | null | undefined;
170
+ toISOString?: {} | null | undefined;
171
+ valueOf?: {} | null | undefined;
172
+ } | null | undefined;
173
+ parse?: {} | null | undefined;
174
+ UTC?: {} | null | undefined;
175
+ now?: {} | null | undefined;
176
+ }> & {
177
+ prototype?: {
178
+ [Symbol.toPrimitive]?: {} | null | undefined;
179
+ toString?: {} | null | undefined;
180
+ toLocaleString?: {} | null | undefined;
181
+ toJSON?: {} | null | undefined;
182
+ toDateString?: {} | null | undefined;
183
+ toTimeString?: {} | null | undefined;
184
+ toLocaleDateString?: {} | null | undefined;
185
+ toLocaleTimeString?: {} | null | undefined;
186
+ getTime?: {} | null | undefined;
187
+ getFullYear?: {} | null | undefined;
188
+ getUTCFullYear?: {} | null | undefined;
189
+ getMonth?: {} | null | undefined;
190
+ getUTCMonth?: {} | null | undefined;
191
+ getDate?: {} | null | undefined;
192
+ getUTCDate?: {} | null | undefined;
193
+ getDay?: {} | null | undefined;
194
+ getUTCDay?: {} | null | undefined;
195
+ getHours?: {} | null | undefined;
196
+ getUTCHours?: {} | null | undefined;
197
+ getMinutes?: {} | null | undefined;
198
+ getUTCMinutes?: {} | null | undefined;
199
+ getSeconds?: {} | null | undefined;
200
+ getUTCSeconds?: {} | null | undefined;
201
+ getMilliseconds?: {} | null | undefined;
202
+ getUTCMilliseconds?: {} | null | undefined;
203
+ getTimezoneOffset?: {} | null | undefined;
204
+ setTime?: {} | null | undefined;
205
+ setMilliseconds?: {} | null | undefined;
206
+ setUTCMilliseconds?: {} | null | undefined;
207
+ setSeconds?: {} | null | undefined;
208
+ setUTCSeconds?: {} | null | undefined;
209
+ setMinutes?: {} | null | undefined;
210
+ setUTCMinutes?: {} | null | undefined;
211
+ setHours?: {} | null | undefined;
212
+ setUTCHours?: {} | null | undefined;
213
+ setDate?: {} | null | undefined;
214
+ setUTCDate?: {} | null | undefined;
215
+ setMonth?: {} | null | undefined;
216
+ setUTCMonth?: {} | null | undefined;
217
+ setFullYear?: {} | null | undefined;
218
+ setUTCFullYear?: {} | null | undefined;
219
+ toUTCString?: {} | null | undefined;
220
+ toISOString?: {} | null | undefined;
221
+ valueOf?: {} | null | undefined;
222
+ } | null | undefined;
223
+ parse?: {} | null | undefined;
224
+ UTC?: {} | null | undefined;
225
+ now?: {} | null | undefined;
226
+ }>;
227
+ metadata: mongoose.Types.DocumentArray<{
228
+ key: string;
229
+ value: any;
230
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
231
+ key: string;
232
+ value: any;
233
+ }> & {
234
+ key: string;
235
+ value: any;
236
+ }>;
237
+ orgId?: string | null | undefined;
238
+ lastPasswordReset?: NativeDate | null | undefined;
239
+ passwordHash?: string | null | undefined;
240
+ } & mongoose.DefaultTimestampProps, {}, {
241
+ timestamps: true;
242
+ collection: string;
243
+ }> & {
244
+ email: string;
245
+ roles: string[];
246
+ projectId: string;
247
+ id: string;
248
+ firstName: string;
249
+ lastName: string;
250
+ emailVerified: boolean;
251
+ lastEmailSent: mongoose.Types.DocumentArray<{
252
+ prototype?: {
253
+ [Symbol.toPrimitive]?: {} | null | undefined;
254
+ toString?: {} | null | undefined;
255
+ toLocaleString?: {} | null | undefined;
256
+ toJSON?: {} | null | undefined;
257
+ toDateString?: {} | null | undefined;
258
+ toTimeString?: {} | null | undefined;
259
+ toLocaleDateString?: {} | null | undefined;
260
+ toLocaleTimeString?: {} | null | undefined;
261
+ getTime?: {} | null | undefined;
262
+ getFullYear?: {} | null | undefined;
263
+ getUTCFullYear?: {} | null | undefined;
264
+ getMonth?: {} | null | undefined;
265
+ getUTCMonth?: {} | null | undefined;
266
+ getDate?: {} | null | undefined;
267
+ getUTCDate?: {} | null | undefined;
268
+ getDay?: {} | null | undefined;
269
+ getUTCDay?: {} | null | undefined;
270
+ getHours?: {} | null | undefined;
271
+ getUTCHours?: {} | null | undefined;
272
+ getMinutes?: {} | null | undefined;
273
+ getUTCMinutes?: {} | null | undefined;
274
+ getSeconds?: {} | null | undefined;
275
+ getUTCSeconds?: {} | null | undefined;
276
+ getMilliseconds?: {} | null | undefined;
277
+ getUTCMilliseconds?: {} | null | undefined;
278
+ getTimezoneOffset?: {} | null | undefined;
279
+ setTime?: {} | null | undefined;
280
+ setMilliseconds?: {} | null | undefined;
281
+ setUTCMilliseconds?: {} | null | undefined;
282
+ setSeconds?: {} | null | undefined;
283
+ setUTCSeconds?: {} | null | undefined;
284
+ setMinutes?: {} | null | undefined;
285
+ setUTCMinutes?: {} | null | undefined;
286
+ setHours?: {} | null | undefined;
287
+ setUTCHours?: {} | null | undefined;
288
+ setDate?: {} | null | undefined;
289
+ setUTCDate?: {} | null | undefined;
290
+ setMonth?: {} | null | undefined;
291
+ setUTCMonth?: {} | null | undefined;
292
+ setFullYear?: {} | null | undefined;
293
+ setUTCFullYear?: {} | null | undefined;
294
+ toUTCString?: {} | null | undefined;
295
+ toISOString?: {} | null | undefined;
296
+ valueOf?: {} | null | undefined;
297
+ } | null | undefined;
298
+ parse?: {} | null | undefined;
299
+ UTC?: {} | null | undefined;
300
+ now?: {} | null | undefined;
301
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
302
+ prototype?: {
303
+ [Symbol.toPrimitive]?: {} | null | undefined;
304
+ toString?: {} | null | undefined;
305
+ toLocaleString?: {} | null | undefined;
306
+ toJSON?: {} | null | undefined;
307
+ toDateString?: {} | null | undefined;
308
+ toTimeString?: {} | null | undefined;
309
+ toLocaleDateString?: {} | null | undefined;
310
+ toLocaleTimeString?: {} | null | undefined;
311
+ getTime?: {} | null | undefined;
312
+ getFullYear?: {} | null | undefined;
313
+ getUTCFullYear?: {} | null | undefined;
314
+ getMonth?: {} | null | undefined;
315
+ getUTCMonth?: {} | null | undefined;
316
+ getDate?: {} | null | undefined;
317
+ getUTCDate?: {} | null | undefined;
318
+ getDay?: {} | null | undefined;
319
+ getUTCDay?: {} | null | undefined;
320
+ getHours?: {} | null | undefined;
321
+ getUTCHours?: {} | null | undefined;
322
+ getMinutes?: {} | null | undefined;
323
+ getUTCMinutes?: {} | null | undefined;
324
+ getSeconds?: {} | null | undefined;
325
+ getUTCSeconds?: {} | null | undefined;
326
+ getMilliseconds?: {} | null | undefined;
327
+ getUTCMilliseconds?: {} | null | undefined;
328
+ getTimezoneOffset?: {} | null | undefined;
329
+ setTime?: {} | null | undefined;
330
+ setMilliseconds?: {} | null | undefined;
331
+ setUTCMilliseconds?: {} | null | undefined;
332
+ setSeconds?: {} | null | undefined;
333
+ setUTCSeconds?: {} | null | undefined;
334
+ setMinutes?: {} | null | undefined;
335
+ setUTCMinutes?: {} | null | undefined;
336
+ setHours?: {} | null | undefined;
337
+ setUTCHours?: {} | null | undefined;
338
+ setDate?: {} | null | undefined;
339
+ setUTCDate?: {} | null | undefined;
340
+ setMonth?: {} | null | undefined;
341
+ setUTCMonth?: {} | null | undefined;
342
+ setFullYear?: {} | null | undefined;
343
+ setUTCFullYear?: {} | null | undefined;
344
+ toUTCString?: {} | null | undefined;
345
+ toISOString?: {} | null | undefined;
346
+ valueOf?: {} | null | undefined;
347
+ } | null | undefined;
348
+ parse?: {} | null | undefined;
349
+ UTC?: {} | null | undefined;
350
+ now?: {} | null | undefined;
351
+ }> & {
352
+ prototype?: {
353
+ [Symbol.toPrimitive]?: {} | null | undefined;
354
+ toString?: {} | null | undefined;
355
+ toLocaleString?: {} | null | undefined;
356
+ toJSON?: {} | null | undefined;
357
+ toDateString?: {} | null | undefined;
358
+ toTimeString?: {} | null | undefined;
359
+ toLocaleDateString?: {} | null | undefined;
360
+ toLocaleTimeString?: {} | null | undefined;
361
+ getTime?: {} | null | undefined;
362
+ getFullYear?: {} | null | undefined;
363
+ getUTCFullYear?: {} | null | undefined;
364
+ getMonth?: {} | null | undefined;
365
+ getUTCMonth?: {} | null | undefined;
366
+ getDate?: {} | null | undefined;
367
+ getUTCDate?: {} | null | undefined;
368
+ getDay?: {} | null | undefined;
369
+ getUTCDay?: {} | null | undefined;
370
+ getHours?: {} | null | undefined;
371
+ getUTCHours?: {} | null | undefined;
372
+ getMinutes?: {} | null | undefined;
373
+ getUTCMinutes?: {} | null | undefined;
374
+ getSeconds?: {} | null | undefined;
375
+ getUTCSeconds?: {} | null | undefined;
376
+ getMilliseconds?: {} | null | undefined;
377
+ getUTCMilliseconds?: {} | null | undefined;
378
+ getTimezoneOffset?: {} | null | undefined;
379
+ setTime?: {} | null | undefined;
380
+ setMilliseconds?: {} | null | undefined;
381
+ setUTCMilliseconds?: {} | null | undefined;
382
+ setSeconds?: {} | null | undefined;
383
+ setUTCSeconds?: {} | null | undefined;
384
+ setMinutes?: {} | null | undefined;
385
+ setUTCMinutes?: {} | null | undefined;
386
+ setHours?: {} | null | undefined;
387
+ setUTCHours?: {} | null | undefined;
388
+ setDate?: {} | null | undefined;
389
+ setUTCDate?: {} | null | undefined;
390
+ setMonth?: {} | null | undefined;
391
+ setUTCMonth?: {} | null | undefined;
392
+ setFullYear?: {} | null | undefined;
393
+ setUTCFullYear?: {} | null | undefined;
394
+ toUTCString?: {} | null | undefined;
395
+ toISOString?: {} | null | undefined;
396
+ valueOf?: {} | null | undefined;
397
+ } | null | undefined;
398
+ parse?: {} | null | undefined;
399
+ UTC?: {} | null | undefined;
400
+ now?: {} | null | undefined;
401
+ }>;
402
+ metadata: mongoose.Types.DocumentArray<{
403
+ key: string;
404
+ value: any;
405
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
406
+ key: string;
407
+ value: any;
408
+ }> & {
409
+ key: string;
410
+ value: any;
411
+ }>;
412
+ orgId?: string | null | undefined;
413
+ lastPasswordReset?: NativeDate | null | undefined;
414
+ passwordHash?: string | null | undefined;
415
+ } & mongoose.DefaultTimestampProps & {
416
+ _id: mongoose.Types.ObjectId;
417
+ } & {
418
+ __v: number;
419
+ })[]>;
420
+ getUserById(userId: string): Promise<(mongoose.Document<unknown, {}, {
421
+ email: string;
422
+ roles: string[];
423
+ projectId: string;
424
+ id: string;
425
+ firstName: string;
426
+ lastName: string;
427
+ emailVerified: boolean;
428
+ lastEmailSent: mongoose.Types.DocumentArray<{
429
+ prototype?: {
430
+ [Symbol.toPrimitive]?: {} | null | undefined;
431
+ toString?: {} | null | undefined;
432
+ toLocaleString?: {} | null | undefined;
433
+ toJSON?: {} | null | undefined;
434
+ toDateString?: {} | null | undefined;
435
+ toTimeString?: {} | null | undefined;
436
+ toLocaleDateString?: {} | null | undefined;
437
+ toLocaleTimeString?: {} | null | undefined;
438
+ getTime?: {} | null | undefined;
439
+ getFullYear?: {} | null | undefined;
440
+ getUTCFullYear?: {} | null | undefined;
441
+ getMonth?: {} | null | undefined;
442
+ getUTCMonth?: {} | null | undefined;
443
+ getDate?: {} | null | undefined;
444
+ getUTCDate?: {} | null | undefined;
445
+ getDay?: {} | null | undefined;
446
+ getUTCDay?: {} | null | undefined;
447
+ getHours?: {} | null | undefined;
448
+ getUTCHours?: {} | null | undefined;
449
+ getMinutes?: {} | null | undefined;
450
+ getUTCMinutes?: {} | null | undefined;
451
+ getSeconds?: {} | null | undefined;
452
+ getUTCSeconds?: {} | null | undefined;
453
+ getMilliseconds?: {} | null | undefined;
454
+ getUTCMilliseconds?: {} | null | undefined;
455
+ getTimezoneOffset?: {} | null | undefined;
456
+ setTime?: {} | null | undefined;
457
+ setMilliseconds?: {} | null | undefined;
458
+ setUTCMilliseconds?: {} | null | undefined;
459
+ setSeconds?: {} | null | undefined;
460
+ setUTCSeconds?: {} | null | undefined;
461
+ setMinutes?: {} | null | undefined;
462
+ setUTCMinutes?: {} | null | undefined;
463
+ setHours?: {} | null | undefined;
464
+ setUTCHours?: {} | null | undefined;
465
+ setDate?: {} | null | undefined;
466
+ setUTCDate?: {} | null | undefined;
467
+ setMonth?: {} | null | undefined;
468
+ setUTCMonth?: {} | null | undefined;
469
+ setFullYear?: {} | null | undefined;
470
+ setUTCFullYear?: {} | null | undefined;
471
+ toUTCString?: {} | null | undefined;
472
+ toISOString?: {} | null | undefined;
473
+ valueOf?: {} | null | undefined;
474
+ } | null | undefined;
475
+ parse?: {} | null | undefined;
476
+ UTC?: {} | null | undefined;
477
+ now?: {} | null | undefined;
478
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
479
+ prototype?: {
480
+ [Symbol.toPrimitive]?: {} | null | undefined;
481
+ toString?: {} | null | undefined;
482
+ toLocaleString?: {} | null | undefined;
483
+ toJSON?: {} | null | undefined;
484
+ toDateString?: {} | null | undefined;
485
+ toTimeString?: {} | null | undefined;
486
+ toLocaleDateString?: {} | null | undefined;
487
+ toLocaleTimeString?: {} | null | undefined;
488
+ getTime?: {} | null | undefined;
489
+ getFullYear?: {} | null | undefined;
490
+ getUTCFullYear?: {} | null | undefined;
491
+ getMonth?: {} | null | undefined;
492
+ getUTCMonth?: {} | null | undefined;
493
+ getDate?: {} | null | undefined;
494
+ getUTCDate?: {} | null | undefined;
495
+ getDay?: {} | null | undefined;
496
+ getUTCDay?: {} | null | undefined;
497
+ getHours?: {} | null | undefined;
498
+ getUTCHours?: {} | null | undefined;
499
+ getMinutes?: {} | null | undefined;
500
+ getUTCMinutes?: {} | null | undefined;
501
+ getSeconds?: {} | null | undefined;
502
+ getUTCSeconds?: {} | null | undefined;
503
+ getMilliseconds?: {} | null | undefined;
504
+ getUTCMilliseconds?: {} | null | undefined;
505
+ getTimezoneOffset?: {} | null | undefined;
506
+ setTime?: {} | null | undefined;
507
+ setMilliseconds?: {} | null | undefined;
508
+ setUTCMilliseconds?: {} | null | undefined;
509
+ setSeconds?: {} | null | undefined;
510
+ setUTCSeconds?: {} | null | undefined;
511
+ setMinutes?: {} | null | undefined;
512
+ setUTCMinutes?: {} | null | undefined;
513
+ setHours?: {} | null | undefined;
514
+ setUTCHours?: {} | null | undefined;
515
+ setDate?: {} | null | undefined;
516
+ setUTCDate?: {} | null | undefined;
517
+ setMonth?: {} | null | undefined;
518
+ setUTCMonth?: {} | null | undefined;
519
+ setFullYear?: {} | null | undefined;
520
+ setUTCFullYear?: {} | null | undefined;
521
+ toUTCString?: {} | null | undefined;
522
+ toISOString?: {} | null | undefined;
523
+ valueOf?: {} | null | undefined;
524
+ } | null | undefined;
525
+ parse?: {} | null | undefined;
526
+ UTC?: {} | null | undefined;
527
+ now?: {} | null | undefined;
528
+ }> & {
529
+ prototype?: {
530
+ [Symbol.toPrimitive]?: {} | null | undefined;
531
+ toString?: {} | null | undefined;
532
+ toLocaleString?: {} | null | undefined;
533
+ toJSON?: {} | null | undefined;
534
+ toDateString?: {} | null | undefined;
535
+ toTimeString?: {} | null | undefined;
536
+ toLocaleDateString?: {} | null | undefined;
537
+ toLocaleTimeString?: {} | null | undefined;
538
+ getTime?: {} | null | undefined;
539
+ getFullYear?: {} | null | undefined;
540
+ getUTCFullYear?: {} | null | undefined;
541
+ getMonth?: {} | null | undefined;
542
+ getUTCMonth?: {} | null | undefined;
543
+ getDate?: {} | null | undefined;
544
+ getUTCDate?: {} | null | undefined;
545
+ getDay?: {} | null | undefined;
546
+ getUTCDay?: {} | null | undefined;
547
+ getHours?: {} | null | undefined;
548
+ getUTCHours?: {} | null | undefined;
549
+ getMinutes?: {} | null | undefined;
550
+ getUTCMinutes?: {} | null | undefined;
551
+ getSeconds?: {} | null | undefined;
552
+ getUTCSeconds?: {} | null | undefined;
553
+ getMilliseconds?: {} | null | undefined;
554
+ getUTCMilliseconds?: {} | null | undefined;
555
+ getTimezoneOffset?: {} | null | undefined;
556
+ setTime?: {} | null | undefined;
557
+ setMilliseconds?: {} | null | undefined;
558
+ setUTCMilliseconds?: {} | null | undefined;
559
+ setSeconds?: {} | null | undefined;
560
+ setUTCSeconds?: {} | null | undefined;
561
+ setMinutes?: {} | null | undefined;
562
+ setUTCMinutes?: {} | null | undefined;
563
+ setHours?: {} | null | undefined;
564
+ setUTCHours?: {} | null | undefined;
565
+ setDate?: {} | null | undefined;
566
+ setUTCDate?: {} | null | undefined;
567
+ setMonth?: {} | null | undefined;
568
+ setUTCMonth?: {} | null | undefined;
569
+ setFullYear?: {} | null | undefined;
570
+ setUTCFullYear?: {} | null | undefined;
571
+ toUTCString?: {} | null | undefined;
572
+ toISOString?: {} | null | undefined;
573
+ valueOf?: {} | null | undefined;
574
+ } | null | undefined;
575
+ parse?: {} | null | undefined;
576
+ UTC?: {} | null | undefined;
577
+ now?: {} | null | undefined;
578
+ }>;
579
+ metadata: mongoose.Types.DocumentArray<{
580
+ key: string;
581
+ value: any;
582
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
583
+ key: string;
584
+ value: any;
585
+ }> & {
586
+ key: string;
587
+ value: any;
588
+ }>;
589
+ orgId?: string | null | undefined;
590
+ lastPasswordReset?: NativeDate | null | undefined;
591
+ passwordHash?: string | null | undefined;
592
+ } & mongoose.DefaultTimestampProps, {}, {
593
+ timestamps: true;
594
+ collection: string;
595
+ }> & {
596
+ email: string;
597
+ roles: string[];
598
+ projectId: string;
599
+ id: string;
600
+ firstName: string;
601
+ lastName: string;
602
+ emailVerified: boolean;
603
+ lastEmailSent: mongoose.Types.DocumentArray<{
604
+ prototype?: {
605
+ [Symbol.toPrimitive]?: {} | null | undefined;
606
+ toString?: {} | null | undefined;
607
+ toLocaleString?: {} | null | undefined;
608
+ toJSON?: {} | null | undefined;
609
+ toDateString?: {} | null | undefined;
610
+ toTimeString?: {} | null | undefined;
611
+ toLocaleDateString?: {} | null | undefined;
612
+ toLocaleTimeString?: {} | null | undefined;
613
+ getTime?: {} | null | undefined;
614
+ getFullYear?: {} | null | undefined;
615
+ getUTCFullYear?: {} | null | undefined;
616
+ getMonth?: {} | null | undefined;
617
+ getUTCMonth?: {} | null | undefined;
618
+ getDate?: {} | null | undefined;
619
+ getUTCDate?: {} | null | undefined;
620
+ getDay?: {} | null | undefined;
621
+ getUTCDay?: {} | null | undefined;
622
+ getHours?: {} | null | undefined;
623
+ getUTCHours?: {} | null | undefined;
624
+ getMinutes?: {} | null | undefined;
625
+ getUTCMinutes?: {} | null | undefined;
626
+ getSeconds?: {} | null | undefined;
627
+ getUTCSeconds?: {} | null | undefined;
628
+ getMilliseconds?: {} | null | undefined;
629
+ getUTCMilliseconds?: {} | null | undefined;
630
+ getTimezoneOffset?: {} | null | undefined;
631
+ setTime?: {} | null | undefined;
632
+ setMilliseconds?: {} | null | undefined;
633
+ setUTCMilliseconds?: {} | null | undefined;
634
+ setSeconds?: {} | null | undefined;
635
+ setUTCSeconds?: {} | null | undefined;
636
+ setMinutes?: {} | null | undefined;
637
+ setUTCMinutes?: {} | null | undefined;
638
+ setHours?: {} | null | undefined;
639
+ setUTCHours?: {} | null | undefined;
640
+ setDate?: {} | null | undefined;
641
+ setUTCDate?: {} | null | undefined;
642
+ setMonth?: {} | null | undefined;
643
+ setUTCMonth?: {} | null | undefined;
644
+ setFullYear?: {} | null | undefined;
645
+ setUTCFullYear?: {} | null | undefined;
646
+ toUTCString?: {} | null | undefined;
647
+ toISOString?: {} | null | undefined;
648
+ valueOf?: {} | null | undefined;
649
+ } | null | undefined;
650
+ parse?: {} | null | undefined;
651
+ UTC?: {} | null | undefined;
652
+ now?: {} | null | undefined;
653
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
654
+ prototype?: {
655
+ [Symbol.toPrimitive]?: {} | null | undefined;
656
+ toString?: {} | null | undefined;
657
+ toLocaleString?: {} | null | undefined;
658
+ toJSON?: {} | null | undefined;
659
+ toDateString?: {} | null | undefined;
660
+ toTimeString?: {} | null | undefined;
661
+ toLocaleDateString?: {} | null | undefined;
662
+ toLocaleTimeString?: {} | null | undefined;
663
+ getTime?: {} | null | undefined;
664
+ getFullYear?: {} | null | undefined;
665
+ getUTCFullYear?: {} | null | undefined;
666
+ getMonth?: {} | null | undefined;
667
+ getUTCMonth?: {} | null | undefined;
668
+ getDate?: {} | null | undefined;
669
+ getUTCDate?: {} | null | undefined;
670
+ getDay?: {} | null | undefined;
671
+ getUTCDay?: {} | null | undefined;
672
+ getHours?: {} | null | undefined;
673
+ getUTCHours?: {} | null | undefined;
674
+ getMinutes?: {} | null | undefined;
675
+ getUTCMinutes?: {} | null | undefined;
676
+ getSeconds?: {} | null | undefined;
677
+ getUTCSeconds?: {} | null | undefined;
678
+ getMilliseconds?: {} | null | undefined;
679
+ getUTCMilliseconds?: {} | null | undefined;
680
+ getTimezoneOffset?: {} | null | undefined;
681
+ setTime?: {} | null | undefined;
682
+ setMilliseconds?: {} | null | undefined;
683
+ setUTCMilliseconds?: {} | null | undefined;
684
+ setSeconds?: {} | null | undefined;
685
+ setUTCSeconds?: {} | null | undefined;
686
+ setMinutes?: {} | null | undefined;
687
+ setUTCMinutes?: {} | null | undefined;
688
+ setHours?: {} | null | undefined;
689
+ setUTCHours?: {} | null | undefined;
690
+ setDate?: {} | null | undefined;
691
+ setUTCDate?: {} | null | undefined;
692
+ setMonth?: {} | null | undefined;
693
+ setUTCMonth?: {} | null | undefined;
694
+ setFullYear?: {} | null | undefined;
695
+ setUTCFullYear?: {} | null | undefined;
696
+ toUTCString?: {} | null | undefined;
697
+ toISOString?: {} | null | undefined;
698
+ valueOf?: {} | null | undefined;
699
+ } | null | undefined;
700
+ parse?: {} | null | undefined;
701
+ UTC?: {} | null | undefined;
702
+ now?: {} | null | undefined;
703
+ }> & {
704
+ prototype?: {
705
+ [Symbol.toPrimitive]?: {} | null | undefined;
706
+ toString?: {} | null | undefined;
707
+ toLocaleString?: {} | null | undefined;
708
+ toJSON?: {} | null | undefined;
709
+ toDateString?: {} | null | undefined;
710
+ toTimeString?: {} | null | undefined;
711
+ toLocaleDateString?: {} | null | undefined;
712
+ toLocaleTimeString?: {} | null | undefined;
713
+ getTime?: {} | null | undefined;
714
+ getFullYear?: {} | null | undefined;
715
+ getUTCFullYear?: {} | null | undefined;
716
+ getMonth?: {} | null | undefined;
717
+ getUTCMonth?: {} | null | undefined;
718
+ getDate?: {} | null | undefined;
719
+ getUTCDate?: {} | null | undefined;
720
+ getDay?: {} | null | undefined;
721
+ getUTCDay?: {} | null | undefined;
722
+ getHours?: {} | null | undefined;
723
+ getUTCHours?: {} | null | undefined;
724
+ getMinutes?: {} | null | undefined;
725
+ getUTCMinutes?: {} | null | undefined;
726
+ getSeconds?: {} | null | undefined;
727
+ getUTCSeconds?: {} | null | undefined;
728
+ getMilliseconds?: {} | null | undefined;
729
+ getUTCMilliseconds?: {} | null | undefined;
730
+ getTimezoneOffset?: {} | null | undefined;
731
+ setTime?: {} | null | undefined;
732
+ setMilliseconds?: {} | null | undefined;
733
+ setUTCMilliseconds?: {} | null | undefined;
734
+ setSeconds?: {} | null | undefined;
735
+ setUTCSeconds?: {} | null | undefined;
736
+ setMinutes?: {} | null | undefined;
737
+ setUTCMinutes?: {} | null | undefined;
738
+ setHours?: {} | null | undefined;
739
+ setUTCHours?: {} | null | undefined;
740
+ setDate?: {} | null | undefined;
741
+ setUTCDate?: {} | null | undefined;
742
+ setMonth?: {} | null | undefined;
743
+ setUTCMonth?: {} | null | undefined;
744
+ setFullYear?: {} | null | undefined;
745
+ setUTCFullYear?: {} | null | undefined;
746
+ toUTCString?: {} | null | undefined;
747
+ toISOString?: {} | null | undefined;
748
+ valueOf?: {} | null | undefined;
749
+ } | null | undefined;
750
+ parse?: {} | null | undefined;
751
+ UTC?: {} | null | undefined;
752
+ now?: {} | null | undefined;
753
+ }>;
754
+ metadata: mongoose.Types.DocumentArray<{
755
+ key: string;
756
+ value: any;
757
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
758
+ key: string;
759
+ value: any;
760
+ }> & {
761
+ key: string;
762
+ value: any;
763
+ }>;
764
+ orgId?: string | null | undefined;
765
+ lastPasswordReset?: NativeDate | null | undefined;
766
+ passwordHash?: string | null | undefined;
767
+ } & mongoose.DefaultTimestampProps & {
768
+ _id: mongoose.Types.ObjectId;
769
+ } & {
770
+ __v: number;
771
+ }) | null>;
772
+ isUserEmailVerified(userId: string): Promise<any>;
773
+ createUserInRealm(payload: {
774
+ username: string;
775
+ email: string;
776
+ firstName: string;
777
+ projectId: string;
778
+ lastName?: string;
779
+ credentials?: any[];
780
+ emailVerified?: boolean;
781
+ }): Promise<mongoose.Document<unknown, {}, {
782
+ email: string;
783
+ roles: string[];
784
+ projectId: string;
785
+ id: string;
786
+ firstName: string;
787
+ lastName: string;
788
+ emailVerified: boolean;
789
+ lastEmailSent: mongoose.Types.DocumentArray<{
790
+ prototype?: {
791
+ [Symbol.toPrimitive]?: {} | null | undefined;
792
+ toString?: {} | null | undefined;
793
+ toLocaleString?: {} | null | undefined;
794
+ toJSON?: {} | null | undefined;
795
+ toDateString?: {} | null | undefined;
796
+ toTimeString?: {} | null | undefined;
797
+ toLocaleDateString?: {} | null | undefined;
798
+ toLocaleTimeString?: {} | null | undefined;
799
+ getTime?: {} | null | undefined;
800
+ getFullYear?: {} | null | undefined;
801
+ getUTCFullYear?: {} | null | undefined;
802
+ getMonth?: {} | null | undefined;
803
+ getUTCMonth?: {} | null | undefined;
804
+ getDate?: {} | null | undefined;
805
+ getUTCDate?: {} | null | undefined;
806
+ getDay?: {} | null | undefined;
807
+ getUTCDay?: {} | null | undefined;
808
+ getHours?: {} | null | undefined;
809
+ getUTCHours?: {} | null | undefined;
810
+ getMinutes?: {} | null | undefined;
811
+ getUTCMinutes?: {} | null | undefined;
812
+ getSeconds?: {} | null | undefined;
813
+ getUTCSeconds?: {} | null | undefined;
814
+ getMilliseconds?: {} | null | undefined;
815
+ getUTCMilliseconds?: {} | null | undefined;
816
+ getTimezoneOffset?: {} | null | undefined;
817
+ setTime?: {} | null | undefined;
818
+ setMilliseconds?: {} | null | undefined;
819
+ setUTCMilliseconds?: {} | null | undefined;
820
+ setSeconds?: {} | null | undefined;
821
+ setUTCSeconds?: {} | null | undefined;
822
+ setMinutes?: {} | null | undefined;
823
+ setUTCMinutes?: {} | null | undefined;
824
+ setHours?: {} | null | undefined;
825
+ setUTCHours?: {} | null | undefined;
826
+ setDate?: {} | null | undefined;
827
+ setUTCDate?: {} | null | undefined;
828
+ setMonth?: {} | null | undefined;
829
+ setUTCMonth?: {} | null | undefined;
830
+ setFullYear?: {} | null | undefined;
831
+ setUTCFullYear?: {} | null | undefined;
832
+ toUTCString?: {} | null | undefined;
833
+ toISOString?: {} | null | undefined;
834
+ valueOf?: {} | null | undefined;
835
+ } | null | undefined;
836
+ parse?: {} | null | undefined;
837
+ UTC?: {} | null | undefined;
838
+ now?: {} | null | undefined;
839
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
840
+ prototype?: {
841
+ [Symbol.toPrimitive]?: {} | null | undefined;
842
+ toString?: {} | null | undefined;
843
+ toLocaleString?: {} | null | undefined;
844
+ toJSON?: {} | null | undefined;
845
+ toDateString?: {} | null | undefined;
846
+ toTimeString?: {} | null | undefined;
847
+ toLocaleDateString?: {} | null | undefined;
848
+ toLocaleTimeString?: {} | null | undefined;
849
+ getTime?: {} | null | undefined;
850
+ getFullYear?: {} | null | undefined;
851
+ getUTCFullYear?: {} | null | undefined;
852
+ getMonth?: {} | null | undefined;
853
+ getUTCMonth?: {} | null | undefined;
854
+ getDate?: {} | null | undefined;
855
+ getUTCDate?: {} | null | undefined;
856
+ getDay?: {} | null | undefined;
857
+ getUTCDay?: {} | null | undefined;
858
+ getHours?: {} | null | undefined;
859
+ getUTCHours?: {} | null | undefined;
860
+ getMinutes?: {} | null | undefined;
861
+ getUTCMinutes?: {} | null | undefined;
862
+ getSeconds?: {} | null | undefined;
863
+ getUTCSeconds?: {} | null | undefined;
864
+ getMilliseconds?: {} | null | undefined;
865
+ getUTCMilliseconds?: {} | null | undefined;
866
+ getTimezoneOffset?: {} | null | undefined;
867
+ setTime?: {} | null | undefined;
868
+ setMilliseconds?: {} | null | undefined;
869
+ setUTCMilliseconds?: {} | null | undefined;
870
+ setSeconds?: {} | null | undefined;
871
+ setUTCSeconds?: {} | null | undefined;
872
+ setMinutes?: {} | null | undefined;
873
+ setUTCMinutes?: {} | null | undefined;
874
+ setHours?: {} | null | undefined;
875
+ setUTCHours?: {} | null | undefined;
876
+ setDate?: {} | null | undefined;
877
+ setUTCDate?: {} | null | undefined;
878
+ setMonth?: {} | null | undefined;
879
+ setUTCMonth?: {} | null | undefined;
880
+ setFullYear?: {} | null | undefined;
881
+ setUTCFullYear?: {} | null | undefined;
882
+ toUTCString?: {} | null | undefined;
883
+ toISOString?: {} | null | undefined;
884
+ valueOf?: {} | null | undefined;
885
+ } | null | undefined;
886
+ parse?: {} | null | undefined;
887
+ UTC?: {} | null | undefined;
888
+ now?: {} | null | undefined;
889
+ }> & {
890
+ prototype?: {
891
+ [Symbol.toPrimitive]?: {} | null | undefined;
892
+ toString?: {} | null | undefined;
893
+ toLocaleString?: {} | null | undefined;
894
+ toJSON?: {} | null | undefined;
895
+ toDateString?: {} | null | undefined;
896
+ toTimeString?: {} | null | undefined;
897
+ toLocaleDateString?: {} | null | undefined;
898
+ toLocaleTimeString?: {} | null | undefined;
899
+ getTime?: {} | null | undefined;
900
+ getFullYear?: {} | null | undefined;
901
+ getUTCFullYear?: {} | null | undefined;
902
+ getMonth?: {} | null | undefined;
903
+ getUTCMonth?: {} | null | undefined;
904
+ getDate?: {} | null | undefined;
905
+ getUTCDate?: {} | null | undefined;
906
+ getDay?: {} | null | undefined;
907
+ getUTCDay?: {} | null | undefined;
908
+ getHours?: {} | null | undefined;
909
+ getUTCHours?: {} | null | undefined;
910
+ getMinutes?: {} | null | undefined;
911
+ getUTCMinutes?: {} | null | undefined;
912
+ getSeconds?: {} | null | undefined;
913
+ getUTCSeconds?: {} | null | undefined;
914
+ getMilliseconds?: {} | null | undefined;
915
+ getUTCMilliseconds?: {} | null | undefined;
916
+ getTimezoneOffset?: {} | null | undefined;
917
+ setTime?: {} | null | undefined;
918
+ setMilliseconds?: {} | null | undefined;
919
+ setUTCMilliseconds?: {} | null | undefined;
920
+ setSeconds?: {} | null | undefined;
921
+ setUTCSeconds?: {} | null | undefined;
922
+ setMinutes?: {} | null | undefined;
923
+ setUTCMinutes?: {} | null | undefined;
924
+ setHours?: {} | null | undefined;
925
+ setUTCHours?: {} | null | undefined;
926
+ setDate?: {} | null | undefined;
927
+ setUTCDate?: {} | null | undefined;
928
+ setMonth?: {} | null | undefined;
929
+ setUTCMonth?: {} | null | undefined;
930
+ setFullYear?: {} | null | undefined;
931
+ setUTCFullYear?: {} | null | undefined;
932
+ toUTCString?: {} | null | undefined;
933
+ toISOString?: {} | null | undefined;
934
+ valueOf?: {} | null | undefined;
935
+ } | null | undefined;
936
+ parse?: {} | null | undefined;
937
+ UTC?: {} | null | undefined;
938
+ now?: {} | null | undefined;
939
+ }>;
940
+ metadata: mongoose.Types.DocumentArray<{
941
+ key: string;
942
+ value: any;
943
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
944
+ key: string;
945
+ value: any;
946
+ }> & {
947
+ key: string;
948
+ value: any;
949
+ }>;
950
+ orgId?: string | null | undefined;
951
+ lastPasswordReset?: NativeDate | null | undefined;
952
+ passwordHash?: string | null | undefined;
953
+ } & mongoose.DefaultTimestampProps, {}, {
954
+ timestamps: true;
955
+ collection: string;
956
+ }> & {
957
+ email: string;
958
+ roles: string[];
959
+ projectId: string;
960
+ id: string;
961
+ firstName: string;
962
+ lastName: string;
963
+ emailVerified: boolean;
964
+ lastEmailSent: mongoose.Types.DocumentArray<{
965
+ prototype?: {
966
+ [Symbol.toPrimitive]?: {} | null | undefined;
967
+ toString?: {} | null | undefined;
968
+ toLocaleString?: {} | null | undefined;
969
+ toJSON?: {} | null | undefined;
970
+ toDateString?: {} | null | undefined;
971
+ toTimeString?: {} | null | undefined;
972
+ toLocaleDateString?: {} | null | undefined;
973
+ toLocaleTimeString?: {} | null | undefined;
974
+ getTime?: {} | null | undefined;
975
+ getFullYear?: {} | null | undefined;
976
+ getUTCFullYear?: {} | null | undefined;
977
+ getMonth?: {} | null | undefined;
978
+ getUTCMonth?: {} | null | undefined;
979
+ getDate?: {} | null | undefined;
980
+ getUTCDate?: {} | null | undefined;
981
+ getDay?: {} | null | undefined;
982
+ getUTCDay?: {} | null | undefined;
983
+ getHours?: {} | null | undefined;
984
+ getUTCHours?: {} | null | undefined;
985
+ getMinutes?: {} | null | undefined;
986
+ getUTCMinutes?: {} | null | undefined;
987
+ getSeconds?: {} | null | undefined;
988
+ getUTCSeconds?: {} | null | undefined;
989
+ getMilliseconds?: {} | null | undefined;
990
+ getUTCMilliseconds?: {} | null | undefined;
991
+ getTimezoneOffset?: {} | null | undefined;
992
+ setTime?: {} | null | undefined;
993
+ setMilliseconds?: {} | null | undefined;
994
+ setUTCMilliseconds?: {} | null | undefined;
995
+ setSeconds?: {} | null | undefined;
996
+ setUTCSeconds?: {} | null | undefined;
997
+ setMinutes?: {} | null | undefined;
998
+ setUTCMinutes?: {} | null | undefined;
999
+ setHours?: {} | null | undefined;
1000
+ setUTCHours?: {} | null | undefined;
1001
+ setDate?: {} | null | undefined;
1002
+ setUTCDate?: {} | null | undefined;
1003
+ setMonth?: {} | null | undefined;
1004
+ setUTCMonth?: {} | null | undefined;
1005
+ setFullYear?: {} | null | undefined;
1006
+ setUTCFullYear?: {} | null | undefined;
1007
+ toUTCString?: {} | null | undefined;
1008
+ toISOString?: {} | null | undefined;
1009
+ valueOf?: {} | null | undefined;
1010
+ } | null | undefined;
1011
+ parse?: {} | null | undefined;
1012
+ UTC?: {} | null | undefined;
1013
+ now?: {} | null | undefined;
1014
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
1015
+ prototype?: {
1016
+ [Symbol.toPrimitive]?: {} | null | undefined;
1017
+ toString?: {} | null | undefined;
1018
+ toLocaleString?: {} | null | undefined;
1019
+ toJSON?: {} | null | undefined;
1020
+ toDateString?: {} | null | undefined;
1021
+ toTimeString?: {} | null | undefined;
1022
+ toLocaleDateString?: {} | null | undefined;
1023
+ toLocaleTimeString?: {} | null | undefined;
1024
+ getTime?: {} | null | undefined;
1025
+ getFullYear?: {} | null | undefined;
1026
+ getUTCFullYear?: {} | null | undefined;
1027
+ getMonth?: {} | null | undefined;
1028
+ getUTCMonth?: {} | null | undefined;
1029
+ getDate?: {} | null | undefined;
1030
+ getUTCDate?: {} | null | undefined;
1031
+ getDay?: {} | null | undefined;
1032
+ getUTCDay?: {} | null | undefined;
1033
+ getHours?: {} | null | undefined;
1034
+ getUTCHours?: {} | null | undefined;
1035
+ getMinutes?: {} | null | undefined;
1036
+ getUTCMinutes?: {} | null | undefined;
1037
+ getSeconds?: {} | null | undefined;
1038
+ getUTCSeconds?: {} | null | undefined;
1039
+ getMilliseconds?: {} | null | undefined;
1040
+ getUTCMilliseconds?: {} | null | undefined;
1041
+ getTimezoneOffset?: {} | null | undefined;
1042
+ setTime?: {} | null | undefined;
1043
+ setMilliseconds?: {} | null | undefined;
1044
+ setUTCMilliseconds?: {} | null | undefined;
1045
+ setSeconds?: {} | null | undefined;
1046
+ setUTCSeconds?: {} | null | undefined;
1047
+ setMinutes?: {} | null | undefined;
1048
+ setUTCMinutes?: {} | null | undefined;
1049
+ setHours?: {} | null | undefined;
1050
+ setUTCHours?: {} | null | undefined;
1051
+ setDate?: {} | null | undefined;
1052
+ setUTCDate?: {} | null | undefined;
1053
+ setMonth?: {} | null | undefined;
1054
+ setUTCMonth?: {} | null | undefined;
1055
+ setFullYear?: {} | null | undefined;
1056
+ setUTCFullYear?: {} | null | undefined;
1057
+ toUTCString?: {} | null | undefined;
1058
+ toISOString?: {} | null | undefined;
1059
+ valueOf?: {} | null | undefined;
1060
+ } | null | undefined;
1061
+ parse?: {} | null | undefined;
1062
+ UTC?: {} | null | undefined;
1063
+ now?: {} | null | undefined;
1064
+ }> & {
1065
+ prototype?: {
1066
+ [Symbol.toPrimitive]?: {} | null | undefined;
1067
+ toString?: {} | null | undefined;
1068
+ toLocaleString?: {} | null | undefined;
1069
+ toJSON?: {} | null | undefined;
1070
+ toDateString?: {} | null | undefined;
1071
+ toTimeString?: {} | null | undefined;
1072
+ toLocaleDateString?: {} | null | undefined;
1073
+ toLocaleTimeString?: {} | null | undefined;
1074
+ getTime?: {} | null | undefined;
1075
+ getFullYear?: {} | null | undefined;
1076
+ getUTCFullYear?: {} | null | undefined;
1077
+ getMonth?: {} | null | undefined;
1078
+ getUTCMonth?: {} | null | undefined;
1079
+ getDate?: {} | null | undefined;
1080
+ getUTCDate?: {} | null | undefined;
1081
+ getDay?: {} | null | undefined;
1082
+ getUTCDay?: {} | null | undefined;
1083
+ getHours?: {} | null | undefined;
1084
+ getUTCHours?: {} | null | undefined;
1085
+ getMinutes?: {} | null | undefined;
1086
+ getUTCMinutes?: {} | null | undefined;
1087
+ getSeconds?: {} | null | undefined;
1088
+ getUTCSeconds?: {} | null | undefined;
1089
+ getMilliseconds?: {} | null | undefined;
1090
+ getUTCMilliseconds?: {} | null | undefined;
1091
+ getTimezoneOffset?: {} | null | undefined;
1092
+ setTime?: {} | null | undefined;
1093
+ setMilliseconds?: {} | null | undefined;
1094
+ setUTCMilliseconds?: {} | null | undefined;
1095
+ setSeconds?: {} | null | undefined;
1096
+ setUTCSeconds?: {} | null | undefined;
1097
+ setMinutes?: {} | null | undefined;
1098
+ setUTCMinutes?: {} | null | undefined;
1099
+ setHours?: {} | null | undefined;
1100
+ setUTCHours?: {} | null | undefined;
1101
+ setDate?: {} | null | undefined;
1102
+ setUTCDate?: {} | null | undefined;
1103
+ setMonth?: {} | null | undefined;
1104
+ setUTCMonth?: {} | null | undefined;
1105
+ setFullYear?: {} | null | undefined;
1106
+ setUTCFullYear?: {} | null | undefined;
1107
+ toUTCString?: {} | null | undefined;
1108
+ toISOString?: {} | null | undefined;
1109
+ valueOf?: {} | null | undefined;
1110
+ } | null | undefined;
1111
+ parse?: {} | null | undefined;
1112
+ UTC?: {} | null | undefined;
1113
+ now?: {} | null | undefined;
1114
+ }>;
1115
+ metadata: mongoose.Types.DocumentArray<{
1116
+ key: string;
1117
+ value: any;
1118
+ }, mongoose.Types.Subdocument<bson.ObjectId, any, {
1119
+ key: string;
1120
+ value: any;
1121
+ }> & {
1122
+ key: string;
1123
+ value: any;
1124
+ }>;
1125
+ orgId?: string | null | undefined;
1126
+ lastPasswordReset?: NativeDate | null | undefined;
1127
+ passwordHash?: string | null | undefined;
1128
+ } & mongoose.DefaultTimestampProps & {
1129
+ _id: mongoose.Types.ObjectId;
1130
+ } & {
1131
+ __v: number;
1132
+ }>;
1133
+ assignRealmRole(userId: string, roleName: string): Promise<void>;
1134
+ updateUserEmailVerified(userId: string, emailVerified: boolean): Promise<void>;
1135
+ updateUserPassword(userId: string, newPassword: string): Promise<void>;
1136
+ private ensureAdminToken;
1137
+ }
1138
+
1139
+ declare class EmailService {
1140
+ private transporter;
1141
+ private MAX_EMAILS;
1142
+ private WINDOW_MINUTES;
1143
+ private BLOCK_HOURS;
1144
+ constructor();
1145
+ sign(payload: any, ttlSec?: number): string;
1146
+ verify<T = any>(token: string): T;
1147
+ send(to: string, subject: string, html: string): Promise<void>;
1148
+ canSend(lastEmailSent: Date[]): {
1149
+ ok: boolean;
1150
+ reason: string;
1151
+ waitMs: number;
1152
+ } | {
1153
+ ok: boolean;
1154
+ reason?: undefined;
1155
+ waitMs?: undefined;
1156
+ };
1157
+ }
1158
+
1159
+ declare class ProjectsService {
1160
+ create(org_id: string, name: string, description?: string): Promise<{
1161
+ org_id: string;
1162
+ _id: string;
1163
+ name: string;
1164
+ secret: string;
1165
+ description?: string | null | undefined;
1166
+ } & mongoose.DefaultTimestampProps & Required<{
1167
+ _id: string;
1168
+ }> & {
1169
+ __v: number;
1170
+ }>;
1171
+ list(org_id: string): Promise<(mongoose.FlattenMaps<{
1172
+ org_id: string;
1173
+ _id: string;
1174
+ name: string;
1175
+ secret: string;
1176
+ description?: string | null | undefined;
1177
+ createdAt: NativeDate;
1178
+ updatedAt: NativeDate;
1179
+ }> & Required<{
1180
+ _id: string;
1181
+ }> & {
1182
+ __v: number;
1183
+ })[]>;
1184
+ get(org_id: string, id: string): Promise<(mongoose.FlattenMaps<{
1185
+ org_id: string;
1186
+ _id: string;
1187
+ name: string;
1188
+ secret: string;
1189
+ description?: string | null | undefined;
1190
+ createdAt: NativeDate;
1191
+ updatedAt: NativeDate;
1192
+ }> & Required<{
1193
+ _id: string;
1194
+ }> & {
1195
+ __v: number;
1196
+ }) | null>;
1197
+ update(org_id: string, id: string, patch: any): Promise<(mongoose.FlattenMaps<{
1198
+ org_id: string;
1199
+ _id: string;
1200
+ name: string;
1201
+ secret: string;
1202
+ description?: string | null | undefined;
1203
+ createdAt: NativeDate;
1204
+ updatedAt: NativeDate;
1205
+ }> & Required<{
1206
+ _id: string;
1207
+ }> & {
1208
+ __v: number;
1209
+ }) | null>;
1210
+ remove(org_id: string, id: string): Promise<{
1211
+ ok: boolean;
1212
+ }>;
1213
+ }
1214
+
1215
+ declare class UploadsService {
1216
+ private s3;
1217
+ constructor();
1218
+ uploadPublicImage(buffer: Buffer, mimetype: string, ext: string): Promise<string>;
1219
+ }
1220
+
1221
+ declare const PLATFORM_ROLES: {
1222
+ role: string;
1223
+ permissions: string[];
1224
+ }[];
1225
+ /**
1226
+ * Get all permissions for a given set of roles
1227
+ * @param roles - Array of role names
1228
+ * @returns Array of unique permission strings
1229
+ */
1230
+ declare function getPermissionsForRoles(roles: string[]): string[];
1231
+
1232
+ /**
1233
+ * Build a canonical AuthXSession from a JWT payload or user object
1234
+ * @param payload - JWT payload or user object from existing auth middleware
1235
+ * @returns AuthXSession with standardized shape
1236
+ */
1237
+ declare function buildSession(payload: any): AuthXSession;
1238
+
1239
+ /**
1240
+ * Check if a session has a specific role
1241
+ */
1242
+ declare function hasRole(session: AuthXSession | null | undefined, role: string): boolean;
1243
+ /**
1244
+ * Check if a session has any of the specified roles
1245
+ */
1246
+ declare function hasAnyRole(session: AuthXSession | null | undefined, roles: string[]): boolean;
1247
+ /**
1248
+ * Check if a session has all of the specified roles
1249
+ */
1250
+ declare function hasAllRoles(session: AuthXSession | null | undefined, roles: string[]): boolean;
1251
+ /**
1252
+ * Check if a session has a specific permission
1253
+ */
1254
+ declare function hasPermission(session: AuthXSession | null | undefined, permission: string): boolean;
1255
+ /**
1256
+ * Check if a session has any of the specified permissions
1257
+ */
1258
+ declare function hasAnyPermission(session: AuthXSession | null | undefined, permissions: string[]): boolean;
1259
+ /**
1260
+ * Check if a session has all of the specified permissions
1261
+ */
1262
+ declare function hasAllPermissions(session: AuthXSession | null | undefined, permissions: string[]): boolean;
1263
+
1264
+ declare const AuthXGuard_base: _nestjs_passport.Type<_nestjs_passport.IAuthGuard>;
1265
+ /**
1266
+ * AuthX Guard for NestJS
1267
+ * Extends Passport's AuthGuard to authenticate requests using AuthXStrategy,
1268
+ * then validates role/permission requirements
1269
+ */
1270
+ declare class AuthXGuard extends AuthXGuard_base {
1271
+ private readonly reflector;
1272
+ constructor();
1273
+ /**
1274
+ * Override handleRequest to convert Passport errors to NestJS exceptions
1275
+ * This prevents the "Right-hand side of 'instanceof' is not an object" error
1276
+ */
1277
+ handleRequest(err: any, user: any, info: any, context: any): any;
1278
+ canActivate(context: ExecutionContext): Promise<boolean>;
1279
+ }
1280
+
1281
+ /**
1282
+ * Decorator to specify required permissions for a route handler or controller
1283
+ * @param permissions - Array of permission strings (user must have at least one)
1284
+ */
1285
+ declare const Permissions: (...permissions: string[]) => _nestjs_common.CustomDecorator<string>;
1286
+
1287
+ /**
1288
+ * Decorator to specify required roles for a route handler or controller
1289
+ * @param roles - Array of role names (user must have at least one)
1290
+ */
1291
+ declare const Roles: (...roles: string[]) => _nestjs_common.CustomDecorator<string>;
1292
+
1293
+ /**
1294
+ * Decorator to inject the AuthXSession into a route handler parameter
1295
+ * Usage: @AuthXSessionDecorator() session: AuthXSession
1296
+ */
1297
+ declare const AuthXSessionDecorator: (...dataOrPipes: unknown[]) => ParameterDecorator;
1298
+
1299
+ /**
1300
+ * AuthX Passport Strategy
1301
+ * Custom Passport strategy that validates JWT tokens using JWKS
1302
+ * and builds AuthXSession
1303
+ */
1304
+ declare class AuthXStrategy extends Strategy {
1305
+ name: string;
1306
+ authenticate(req: Request): void;
1307
+ }
1308
+ /**
1309
+ * Factory function to create AuthXStrategy instance
1310
+ */
1311
+ declare function createAuthXStrategy(): AuthXStrategy;
1312
+
1313
+ /**
1314
+ * Get the current authenticated session in Next.js App Router
1315
+ * Reads the access_token cookie (or authorization header) and verifies the JWT
1316
+ * @returns Session object or null if not authenticated
1317
+ */
1318
+ declare function authx(): Promise<{
1319
+ session: AuthXSession | null;
1320
+ }>;
1321
+
1322
+ /**
1323
+ * Type for Next.js route handler
1324
+ */
1325
+ type NextRouteHandler = (req: NextRequest, context?: any) => Promise<NextResponse> | NextResponse;
1326
+ type AuthRouteHandler = (req: NextRequest, session: AuthXSession, context?: any) => Promise<NextResponse> | NextResponse;
1327
+ /**
1328
+ * Wrap a Next.js route handler with authentication and optional permission check
1329
+ * @param permission - Optional permission string to require
1330
+ * @param handler - The route handler function
1331
+ * @returns Wrapped handler that checks authentication/permissions
1332
+ */
1333
+ declare function withAuthRoute(permission: string, handler: AuthRouteHandler): NextRouteHandler;
1334
+ declare function withAuthRoute(handler: AuthRouteHandler): NextRouteHandler;
1335
+
1336
+ interface AuthXContextValue {
1337
+ session: AuthXSession | null;
1338
+ isLoading: boolean;
1339
+ error: Error | null;
1340
+ refetch: () => Promise<void>;
1341
+ }
1342
+ interface AuthXProviderProps {
1343
+ children: ReactNode;
1344
+ apiUrl?: string;
1345
+ }
1346
+ /**
1347
+ * AuthX Provider component
1348
+ * Provides authentication context to the application
1349
+ * Fetches session from /auth/me endpoint
1350
+ */
1351
+ declare function AuthXProvider({ children, apiUrl }: AuthXProviderProps): react_jsx_runtime.JSX.Element;
1352
+ /**
1353
+ * Hook to access AuthX context
1354
+ * @throws Error if used outside AuthXProvider
1355
+ */
1356
+ declare function useAuthXContext(): AuthXContextValue;
1357
+
1358
+ interface HasPermissionProps {
1359
+ permission: string;
1360
+ children: ReactNode;
1361
+ fallback?: ReactNode;
1362
+ }
1363
+ /**
1364
+ * Component that only renders children when user has the specified permission
1365
+ */
1366
+ declare function HasPermission({ permission, children, fallback, }: HasPermissionProps): react_jsx_runtime.JSX.Element | null;
1367
+
1368
+ interface HasRoleProps {
1369
+ role: string | string[];
1370
+ children: ReactNode;
1371
+ fallback?: ReactNode;
1372
+ }
1373
+ /**
1374
+ * Component that only renders children when user has the specified role(s)
1375
+ */
1376
+ declare function HasRole({ role, children, fallback }: HasRoleProps): react_jsx_runtime.JSX.Element | null;
1377
+
1378
+ interface SignedInProps {
1379
+ children: ReactNode;
1380
+ fallback?: ReactNode;
1381
+ }
1382
+ /**
1383
+ * Component that only renders children when user is signed in
1384
+ */
1385
+ declare function SignedIn({ children, fallback }: SignedInProps): react_jsx_runtime.JSX.Element | null;
1386
+
1387
+ interface SignedOutProps {
1388
+ children: ReactNode;
1389
+ fallback?: ReactNode;
1390
+ }
1391
+ /**
1392
+ * Component that only renders children when user is signed out
1393
+ */
1394
+ declare function SignedOut({ children, fallback }: SignedOutProps): react_jsx_runtime.JSX.Element | null;
1395
+
1396
+ /**
1397
+ * Hook to access the current authentication session
1398
+ * @returns Object with session, isLoading, error, and refetch function
1399
+ */
1400
+ declare function useAuthX(): {
1401
+ session: aaspai_types.AuthXSession | null;
1402
+ isLoading: boolean;
1403
+ error: Error | null;
1404
+ refetch: () => Promise<void>;
1405
+ isSignedIn: boolean;
1406
+ userId: string | null;
1407
+ email: string | null;
1408
+ roles: string[];
1409
+ permissions: string[];
1410
+ };
1411
+ /**
1412
+ * Hook to check if user has a specific role
1413
+ */
1414
+ declare function useHasRole(role: string): boolean;
1415
+ /**
1416
+ * Hook to check if user has a specific permission
1417
+ */
1418
+ declare function useHasPermission(permission: string): boolean;
1419
+
1420
+ export { AuthAdminService, AuthXGuard, AuthXProvider, AuthXSessionDecorator, AuthXStrategy, EmailService, HasPermission, HasRole, PLATFORM_ROLES, Permissions, ProjectsService, Roles, SignedIn, SignedOut, UploadsService, authorize, authx, buildSession, createAuthXStrategy, getPermissionsForRoles, hasAllPermissions, hasAllRoles, hasAnyPermission, hasAnyRole, hasPermission, hasRole, requireAuth, requirePermission, requirePermission$1 as requirePermissionLegacy, requireRole, useAuthX, useAuthXContext, useHasPermission, useHasRole, withAuthRoute };