@holeauth/adapter-drizzle 0.0.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,602 @@
1
+ import * as drizzle_orm from 'drizzle-orm';
2
+ import * as drizzle_orm_mysql_core from 'drizzle-orm/mysql-core';
3
+ import { MySqlTableWithColumns } from 'drizzle-orm/mysql-core';
4
+ import { UserAdapter, SessionAdapter, AccountAdapter, VerificationTokenAdapter, AuditLogAdapter, TransactionAdapter } from '@holeauth/core/adapters';
5
+
6
+ type MysqlUsersTable = MySqlTableWithColumns<any> & {
7
+ id: any;
8
+ };
9
+ interface CreateHoleauthTablesOptions<U extends MysqlUsersTable> {
10
+ usersTable: U;
11
+ prefix?: string;
12
+ }
13
+ declare function createHoleauthTables<U extends MysqlUsersTable>(opts: CreateHoleauthTablesOptions<U>): {
14
+ tables: {
15
+ users: U;
16
+ sessions: MySqlTableWithColumns<{
17
+ name: string;
18
+ schema: undefined;
19
+ columns: {
20
+ id: drizzle_orm_mysql_core.MySqlColumn<{
21
+ name: "id";
22
+ tableName: string;
23
+ dataType: "string";
24
+ columnType: "MySqlVarChar";
25
+ data: string;
26
+ driverParam: string | number;
27
+ notNull: true;
28
+ hasDefault: false;
29
+ isPrimaryKey: true;
30
+ isAutoincrement: false;
31
+ hasRuntimeDefault: false;
32
+ enumValues: [string, ...string[]];
33
+ baseColumn: never;
34
+ identity: undefined;
35
+ generated: undefined;
36
+ }, object>;
37
+ userId: drizzle_orm_mysql_core.MySqlColumn<{
38
+ name: "user_id";
39
+ tableName: string;
40
+ dataType: "string";
41
+ columnType: "MySqlVarChar";
42
+ data: string;
43
+ driverParam: string | number;
44
+ notNull: true;
45
+ hasDefault: false;
46
+ isPrimaryKey: false;
47
+ isAutoincrement: false;
48
+ hasRuntimeDefault: false;
49
+ enumValues: [string, ...string[]];
50
+ baseColumn: never;
51
+ identity: undefined;
52
+ generated: undefined;
53
+ }, object>;
54
+ familyId: drizzle_orm_mysql_core.MySqlColumn<{
55
+ name: "family_id";
56
+ tableName: string;
57
+ dataType: "string";
58
+ columnType: "MySqlVarChar";
59
+ data: string;
60
+ driverParam: string | number;
61
+ notNull: true;
62
+ hasDefault: false;
63
+ isPrimaryKey: false;
64
+ isAutoincrement: false;
65
+ hasRuntimeDefault: false;
66
+ enumValues: [string, ...string[]];
67
+ baseColumn: never;
68
+ identity: undefined;
69
+ generated: undefined;
70
+ }, object>;
71
+ refreshTokenHash: drizzle_orm_mysql_core.MySqlColumn<{
72
+ name: "refresh_token_hash";
73
+ tableName: string;
74
+ dataType: "string";
75
+ columnType: "MySqlVarChar";
76
+ data: string;
77
+ driverParam: string | number;
78
+ notNull: true;
79
+ hasDefault: false;
80
+ isPrimaryKey: false;
81
+ isAutoincrement: false;
82
+ hasRuntimeDefault: false;
83
+ enumValues: [string, ...string[]];
84
+ baseColumn: never;
85
+ identity: undefined;
86
+ generated: undefined;
87
+ }, object>;
88
+ expiresAt: drizzle_orm_mysql_core.MySqlColumn<{
89
+ name: "expires_at";
90
+ tableName: string;
91
+ dataType: "date";
92
+ columnType: "MySqlTimestamp";
93
+ data: Date;
94
+ driverParam: string | number;
95
+ notNull: true;
96
+ hasDefault: false;
97
+ isPrimaryKey: false;
98
+ isAutoincrement: false;
99
+ hasRuntimeDefault: false;
100
+ enumValues: undefined;
101
+ baseColumn: never;
102
+ identity: undefined;
103
+ generated: undefined;
104
+ }, object>;
105
+ createdAt: drizzle_orm_mysql_core.MySqlColumn<{
106
+ name: "created_at";
107
+ tableName: string;
108
+ dataType: "date";
109
+ columnType: "MySqlTimestamp";
110
+ data: Date;
111
+ driverParam: string | number;
112
+ notNull: true;
113
+ hasDefault: true;
114
+ isPrimaryKey: false;
115
+ isAutoincrement: false;
116
+ hasRuntimeDefault: false;
117
+ enumValues: undefined;
118
+ baseColumn: never;
119
+ identity: undefined;
120
+ generated: undefined;
121
+ }, object>;
122
+ revokedAt: drizzle_orm_mysql_core.MySqlColumn<{
123
+ name: "revoked_at";
124
+ tableName: string;
125
+ dataType: "date";
126
+ columnType: "MySqlTimestamp";
127
+ data: Date;
128
+ driverParam: string | number;
129
+ notNull: false;
130
+ hasDefault: false;
131
+ isPrimaryKey: false;
132
+ isAutoincrement: false;
133
+ hasRuntimeDefault: false;
134
+ enumValues: undefined;
135
+ baseColumn: never;
136
+ identity: undefined;
137
+ generated: undefined;
138
+ }, object>;
139
+ userAgent: drizzle_orm_mysql_core.MySqlColumn<{
140
+ name: "user_agent";
141
+ tableName: string;
142
+ dataType: "string";
143
+ columnType: "MySqlText";
144
+ data: string;
145
+ driverParam: string;
146
+ notNull: false;
147
+ hasDefault: false;
148
+ isPrimaryKey: false;
149
+ isAutoincrement: false;
150
+ hasRuntimeDefault: false;
151
+ enumValues: [string, ...string[]];
152
+ baseColumn: never;
153
+ identity: undefined;
154
+ generated: undefined;
155
+ }, object>;
156
+ ip: drizzle_orm_mysql_core.MySqlColumn<{
157
+ name: "ip";
158
+ tableName: string;
159
+ dataType: "string";
160
+ columnType: "MySqlVarChar";
161
+ data: string;
162
+ driverParam: string | number;
163
+ notNull: false;
164
+ hasDefault: false;
165
+ isPrimaryKey: false;
166
+ isAutoincrement: false;
167
+ hasRuntimeDefault: false;
168
+ enumValues: [string, ...string[]];
169
+ baseColumn: never;
170
+ identity: undefined;
171
+ generated: undefined;
172
+ }, object>;
173
+ };
174
+ dialect: "mysql";
175
+ }>;
176
+ accounts: MySqlTableWithColumns<{
177
+ name: string;
178
+ schema: undefined;
179
+ columns: {
180
+ id: drizzle_orm_mysql_core.MySqlColumn<{
181
+ name: "id";
182
+ tableName: string;
183
+ dataType: "string";
184
+ columnType: "MySqlVarChar";
185
+ data: string;
186
+ driverParam: string | number;
187
+ notNull: true;
188
+ hasDefault: false;
189
+ isPrimaryKey: true;
190
+ isAutoincrement: false;
191
+ hasRuntimeDefault: false;
192
+ enumValues: [string, ...string[]];
193
+ baseColumn: never;
194
+ identity: undefined;
195
+ generated: undefined;
196
+ }, object>;
197
+ userId: drizzle_orm_mysql_core.MySqlColumn<{
198
+ name: "user_id";
199
+ tableName: string;
200
+ dataType: "string";
201
+ columnType: "MySqlVarChar";
202
+ data: string;
203
+ driverParam: string | number;
204
+ notNull: true;
205
+ hasDefault: false;
206
+ isPrimaryKey: false;
207
+ isAutoincrement: false;
208
+ hasRuntimeDefault: false;
209
+ enumValues: [string, ...string[]];
210
+ baseColumn: never;
211
+ identity: undefined;
212
+ generated: undefined;
213
+ }, object>;
214
+ provider: drizzle_orm_mysql_core.MySqlColumn<{
215
+ name: "provider";
216
+ tableName: string;
217
+ dataType: "string";
218
+ columnType: "MySqlVarChar";
219
+ data: string;
220
+ driverParam: string | number;
221
+ notNull: true;
222
+ hasDefault: false;
223
+ isPrimaryKey: false;
224
+ isAutoincrement: false;
225
+ hasRuntimeDefault: false;
226
+ enumValues: [string, ...string[]];
227
+ baseColumn: never;
228
+ identity: undefined;
229
+ generated: undefined;
230
+ }, object>;
231
+ providerAccountId: drizzle_orm_mysql_core.MySqlColumn<{
232
+ name: "provider_account_id";
233
+ tableName: string;
234
+ dataType: "string";
235
+ columnType: "MySqlVarChar";
236
+ data: string;
237
+ driverParam: string | number;
238
+ notNull: true;
239
+ hasDefault: false;
240
+ isPrimaryKey: false;
241
+ isAutoincrement: false;
242
+ hasRuntimeDefault: false;
243
+ enumValues: [string, ...string[]];
244
+ baseColumn: never;
245
+ identity: undefined;
246
+ generated: undefined;
247
+ }, object>;
248
+ email: drizzle_orm_mysql_core.MySqlColumn<{
249
+ name: "email";
250
+ tableName: string;
251
+ dataType: "string";
252
+ columnType: "MySqlVarChar";
253
+ data: string;
254
+ driverParam: string | number;
255
+ notNull: false;
256
+ hasDefault: false;
257
+ isPrimaryKey: false;
258
+ isAutoincrement: false;
259
+ hasRuntimeDefault: false;
260
+ enumValues: [string, ...string[]];
261
+ baseColumn: never;
262
+ identity: undefined;
263
+ generated: undefined;
264
+ }, object>;
265
+ accessToken: drizzle_orm_mysql_core.MySqlColumn<{
266
+ name: "access_token";
267
+ tableName: string;
268
+ dataType: "string";
269
+ columnType: "MySqlText";
270
+ data: string;
271
+ driverParam: string;
272
+ notNull: false;
273
+ hasDefault: false;
274
+ isPrimaryKey: false;
275
+ isAutoincrement: false;
276
+ hasRuntimeDefault: false;
277
+ enumValues: [string, ...string[]];
278
+ baseColumn: never;
279
+ identity: undefined;
280
+ generated: undefined;
281
+ }, object>;
282
+ refreshToken: drizzle_orm_mysql_core.MySqlColumn<{
283
+ name: "refresh_token";
284
+ tableName: string;
285
+ dataType: "string";
286
+ columnType: "MySqlText";
287
+ data: string;
288
+ driverParam: string;
289
+ notNull: false;
290
+ hasDefault: false;
291
+ isPrimaryKey: false;
292
+ isAutoincrement: false;
293
+ hasRuntimeDefault: false;
294
+ enumValues: [string, ...string[]];
295
+ baseColumn: never;
296
+ identity: undefined;
297
+ generated: undefined;
298
+ }, object>;
299
+ expiresAt: drizzle_orm_mysql_core.MySqlColumn<{
300
+ name: "expires_at";
301
+ tableName: string;
302
+ dataType: "date";
303
+ columnType: "MySqlTimestamp";
304
+ data: Date;
305
+ driverParam: string | number;
306
+ notNull: false;
307
+ hasDefault: false;
308
+ isPrimaryKey: false;
309
+ isAutoincrement: false;
310
+ hasRuntimeDefault: false;
311
+ enumValues: undefined;
312
+ baseColumn: never;
313
+ identity: undefined;
314
+ generated: undefined;
315
+ }, object>;
316
+ tokenType: drizzle_orm_mysql_core.MySqlColumn<{
317
+ name: "token_type";
318
+ tableName: string;
319
+ dataType: "string";
320
+ columnType: "MySqlVarChar";
321
+ data: string;
322
+ driverParam: string | number;
323
+ notNull: false;
324
+ hasDefault: false;
325
+ isPrimaryKey: false;
326
+ isAutoincrement: false;
327
+ hasRuntimeDefault: false;
328
+ enumValues: [string, ...string[]];
329
+ baseColumn: never;
330
+ identity: undefined;
331
+ generated: undefined;
332
+ }, object>;
333
+ scope: drizzle_orm_mysql_core.MySqlColumn<{
334
+ name: "scope";
335
+ tableName: string;
336
+ dataType: "string";
337
+ columnType: "MySqlText";
338
+ data: string;
339
+ driverParam: string;
340
+ notNull: false;
341
+ hasDefault: false;
342
+ isPrimaryKey: false;
343
+ isAutoincrement: false;
344
+ hasRuntimeDefault: false;
345
+ enumValues: [string, ...string[]];
346
+ baseColumn: never;
347
+ identity: undefined;
348
+ generated: undefined;
349
+ }, object>;
350
+ idToken: drizzle_orm_mysql_core.MySqlColumn<{
351
+ name: "id_token";
352
+ tableName: string;
353
+ dataType: "string";
354
+ columnType: "MySqlText";
355
+ data: string;
356
+ driverParam: string;
357
+ notNull: false;
358
+ hasDefault: false;
359
+ isPrimaryKey: false;
360
+ isAutoincrement: false;
361
+ hasRuntimeDefault: false;
362
+ enumValues: [string, ...string[]];
363
+ baseColumn: never;
364
+ identity: undefined;
365
+ generated: undefined;
366
+ }, object>;
367
+ };
368
+ dialect: "mysql";
369
+ }>;
370
+ verificationTokens: MySqlTableWithColumns<{
371
+ name: string;
372
+ schema: undefined;
373
+ columns: {
374
+ identifier: drizzle_orm_mysql_core.MySqlColumn<{
375
+ name: "identifier";
376
+ tableName: string;
377
+ dataType: "string";
378
+ columnType: "MySqlVarChar";
379
+ data: string;
380
+ driverParam: string | number;
381
+ notNull: true;
382
+ hasDefault: false;
383
+ isPrimaryKey: false;
384
+ isAutoincrement: false;
385
+ hasRuntimeDefault: false;
386
+ enumValues: [string, ...string[]];
387
+ baseColumn: never;
388
+ identity: undefined;
389
+ generated: undefined;
390
+ }, object>;
391
+ token: drizzle_orm_mysql_core.MySqlColumn<{
392
+ name: "token";
393
+ tableName: string;
394
+ dataType: "string";
395
+ columnType: "MySqlVarChar";
396
+ data: string;
397
+ driverParam: string | number;
398
+ notNull: true;
399
+ hasDefault: false;
400
+ isPrimaryKey: false;
401
+ isAutoincrement: false;
402
+ hasRuntimeDefault: false;
403
+ enumValues: [string, ...string[]];
404
+ baseColumn: never;
405
+ identity: undefined;
406
+ generated: undefined;
407
+ }, object>;
408
+ expiresAt: drizzle_orm_mysql_core.MySqlColumn<{
409
+ name: "expires_at";
410
+ tableName: string;
411
+ dataType: "date";
412
+ columnType: "MySqlTimestamp";
413
+ data: Date;
414
+ driverParam: string | number;
415
+ notNull: true;
416
+ hasDefault: false;
417
+ isPrimaryKey: false;
418
+ isAutoincrement: false;
419
+ hasRuntimeDefault: false;
420
+ enumValues: undefined;
421
+ baseColumn: never;
422
+ identity: undefined;
423
+ generated: undefined;
424
+ }, object>;
425
+ };
426
+ dialect: "mysql";
427
+ }>;
428
+ auditLog: MySqlTableWithColumns<{
429
+ name: string;
430
+ schema: undefined;
431
+ columns: {
432
+ id: drizzle_orm_mysql_core.MySqlColumn<{
433
+ name: "id";
434
+ tableName: string;
435
+ dataType: "string";
436
+ columnType: "MySqlVarChar";
437
+ data: string;
438
+ driverParam: string | number;
439
+ notNull: true;
440
+ hasDefault: false;
441
+ isPrimaryKey: true;
442
+ isAutoincrement: false;
443
+ hasRuntimeDefault: false;
444
+ enumValues: [string, ...string[]];
445
+ baseColumn: never;
446
+ identity: undefined;
447
+ generated: undefined;
448
+ }, object>;
449
+ type: drizzle_orm_mysql_core.MySqlColumn<{
450
+ name: "type";
451
+ tableName: string;
452
+ dataType: "string";
453
+ columnType: "MySqlVarChar";
454
+ data: string;
455
+ driverParam: string | number;
456
+ notNull: true;
457
+ hasDefault: false;
458
+ isPrimaryKey: false;
459
+ isAutoincrement: false;
460
+ hasRuntimeDefault: false;
461
+ enumValues: [string, ...string[]];
462
+ baseColumn: never;
463
+ identity: undefined;
464
+ generated: undefined;
465
+ }, object>;
466
+ userId: drizzle_orm_mysql_core.MySqlColumn<{
467
+ name: "user_id";
468
+ tableName: string;
469
+ dataType: "string";
470
+ columnType: "MySqlVarChar";
471
+ data: string;
472
+ driverParam: string | number;
473
+ notNull: false;
474
+ hasDefault: false;
475
+ isPrimaryKey: false;
476
+ isAutoincrement: false;
477
+ hasRuntimeDefault: false;
478
+ enumValues: [string, ...string[]];
479
+ baseColumn: never;
480
+ identity: undefined;
481
+ generated: undefined;
482
+ }, object>;
483
+ sessionId: drizzle_orm_mysql_core.MySqlColumn<{
484
+ name: "session_id";
485
+ tableName: string;
486
+ dataType: "string";
487
+ columnType: "MySqlVarChar";
488
+ data: string;
489
+ driverParam: string | number;
490
+ notNull: false;
491
+ hasDefault: false;
492
+ isPrimaryKey: false;
493
+ isAutoincrement: false;
494
+ hasRuntimeDefault: false;
495
+ enumValues: [string, ...string[]];
496
+ baseColumn: never;
497
+ identity: undefined;
498
+ generated: undefined;
499
+ }, object>;
500
+ at: drizzle_orm_mysql_core.MySqlColumn<{
501
+ name: "at";
502
+ tableName: string;
503
+ dataType: "date";
504
+ columnType: "MySqlTimestamp";
505
+ data: Date;
506
+ driverParam: string | number;
507
+ notNull: true;
508
+ hasDefault: true;
509
+ isPrimaryKey: false;
510
+ isAutoincrement: false;
511
+ hasRuntimeDefault: false;
512
+ enumValues: undefined;
513
+ baseColumn: never;
514
+ identity: undefined;
515
+ generated: undefined;
516
+ }, object>;
517
+ ip: drizzle_orm_mysql_core.MySqlColumn<{
518
+ name: "ip";
519
+ tableName: string;
520
+ dataType: "string";
521
+ columnType: "MySqlVarChar";
522
+ data: string;
523
+ driverParam: string | number;
524
+ notNull: false;
525
+ hasDefault: false;
526
+ isPrimaryKey: false;
527
+ isAutoincrement: false;
528
+ hasRuntimeDefault: false;
529
+ enumValues: [string, ...string[]];
530
+ baseColumn: never;
531
+ identity: undefined;
532
+ generated: undefined;
533
+ }, object>;
534
+ userAgent: drizzle_orm_mysql_core.MySqlColumn<{
535
+ name: "user_agent";
536
+ tableName: string;
537
+ dataType: "string";
538
+ columnType: "MySqlText";
539
+ data: string;
540
+ driverParam: string;
541
+ notNull: false;
542
+ hasDefault: false;
543
+ isPrimaryKey: false;
544
+ isAutoincrement: false;
545
+ hasRuntimeDefault: false;
546
+ enumValues: [string, ...string[]];
547
+ baseColumn: never;
548
+ identity: undefined;
549
+ generated: undefined;
550
+ }, object>;
551
+ data: drizzle_orm_mysql_core.MySqlColumn<{
552
+ name: "data";
553
+ tableName: string;
554
+ dataType: "json";
555
+ columnType: "MySqlJson";
556
+ data: unknown;
557
+ driverParam: string;
558
+ notNull: false;
559
+ hasDefault: false;
560
+ isPrimaryKey: false;
561
+ isAutoincrement: false;
562
+ hasRuntimeDefault: false;
563
+ enumValues: undefined;
564
+ baseColumn: never;
565
+ identity: undefined;
566
+ generated: undefined;
567
+ }, object>;
568
+ };
569
+ dialect: "mysql";
570
+ }>;
571
+ };
572
+ relations: {
573
+ sessionsRelations: drizzle_orm.Relations<string, {
574
+ user: drizzle_orm.One<U["_"]["name"], true>;
575
+ }>;
576
+ accountsRelations: drizzle_orm.Relations<string, {
577
+ user: drizzle_orm.One<U["_"]["name"], true>;
578
+ }>;
579
+ auditLogRelations: drizzle_orm.Relations<string, {
580
+ user: drizzle_orm.One<U["_"]["name"], false>;
581
+ }>;
582
+ };
583
+ };
584
+ type HoleauthTables<U extends MysqlUsersTable> = ReturnType<typeof createHoleauthTables<U>>['tables'];
585
+ type MysqlDb = any;
586
+ interface CreateHoleauthAdaptersOptions<U extends MysqlUsersTable> {
587
+ db: MysqlDb;
588
+ tables: HoleauthTables<U>;
589
+ userEmailColumn?: string;
590
+ generateId?: () => string;
591
+ }
592
+ interface HoleauthAdapterBundle {
593
+ user: UserAdapter;
594
+ session: SessionAdapter;
595
+ account: AccountAdapter;
596
+ verificationToken: VerificationTokenAdapter;
597
+ auditLog: AuditLogAdapter;
598
+ transaction: TransactionAdapter;
599
+ }
600
+ declare function createHoleauthAdapters<U extends MysqlUsersTable>(opts: CreateHoleauthAdaptersOptions<U>): HoleauthAdapterBundle;
601
+
602
+ export { type CreateHoleauthAdaptersOptions, type CreateHoleauthTablesOptions, type HoleauthAdapterBundle, type MysqlDb, type MysqlUsersTable, createHoleauthAdapters, createHoleauthTables };