@authhero/drizzle 0.14.0 → 0.15.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.
|
@@ -153,9 +153,9 @@ CREATE TABLE `login_sessions` (
|
|
|
153
153
|
`authParams_act_as` text(256),
|
|
154
154
|
`authParams_ui_locales` text(32),
|
|
155
155
|
`authorization_url` text,
|
|
156
|
-
`created_at`
|
|
157
|
-
`updated_at`
|
|
158
|
-
`expires_at`
|
|
156
|
+
`created_at` integer NOT NULL,
|
|
157
|
+
`updated_at` integer NOT NULL,
|
|
158
|
+
`expires_at` integer NOT NULL,
|
|
159
159
|
`ip` text(39),
|
|
160
160
|
`useragent` text,
|
|
161
161
|
`auth0Client` text(255),
|
|
@@ -171,6 +171,7 @@ CREATE INDEX `login_sessions_id_index` ON `login_sessions` (`id`);--> statement-
|
|
|
171
171
|
CREATE INDEX `login_sessions_state_idx` ON `login_sessions` (`state`);--> statement-breakpoint
|
|
172
172
|
CREATE INDEX `login_sessions_state_updated_idx` ON `login_sessions` (`state`,`updated_at`);--> statement-breakpoint
|
|
173
173
|
CREATE INDEX `login_sessions_tenant_user_idx` ON `login_sessions` (`tenant_id`,`user_id`);--> statement-breakpoint
|
|
174
|
+
CREATE INDEX `idx_login_sessions_expires_at` ON `login_sessions` (`expires_at`);--> statement-breakpoint
|
|
174
175
|
CREATE TABLE `otps` (
|
|
175
176
|
`tenant_id` text(191) NOT NULL,
|
|
176
177
|
`id` text(255) PRIMARY KEY NOT NULL,
|
|
@@ -204,26 +205,29 @@ CREATE TABLE `refresh_tokens` (
|
|
|
204
205
|
`resource_servers` text NOT NULL,
|
|
205
206
|
`device` text NOT NULL,
|
|
206
207
|
`rotating` integer NOT NULL,
|
|
207
|
-
`created_at`
|
|
208
|
-
`expires_at`
|
|
209
|
-
`idle_expires_at`
|
|
210
|
-
`last_exchanged_at`
|
|
208
|
+
`created_at` integer NOT NULL,
|
|
209
|
+
`expires_at` integer,
|
|
210
|
+
`idle_expires_at` integer,
|
|
211
|
+
`last_exchanged_at` integer,
|
|
211
212
|
PRIMARY KEY(`tenant_id`, `id`),
|
|
212
213
|
FOREIGN KEY (`tenant_id`) REFERENCES `tenants`(`id`) ON UPDATE no action ON DELETE cascade
|
|
213
214
|
);
|
|
214
215
|
--> statement-breakpoint
|
|
216
|
+
CREATE INDEX `idx_refresh_tokens_user_id` ON `refresh_tokens` (`tenant_id`,`user_id`);--> statement-breakpoint
|
|
217
|
+
CREATE INDEX `idx_refresh_tokens_session_id` ON `refresh_tokens` (`session_id`);--> statement-breakpoint
|
|
218
|
+
CREATE INDEX `idx_refresh_tokens_expires_at` ON `refresh_tokens` (`expires_at`);--> statement-breakpoint
|
|
215
219
|
CREATE TABLE `sessions` (
|
|
216
220
|
`id` text(21) NOT NULL,
|
|
217
221
|
`tenant_id` text(191) NOT NULL,
|
|
218
222
|
`user_id` text(255),
|
|
219
|
-
`created_at`
|
|
220
|
-
`updated_at`
|
|
221
|
-
`expires_at`
|
|
222
|
-
`idle_expires_at`
|
|
223
|
-
`authenticated_at`
|
|
224
|
-
`last_interaction_at`
|
|
225
|
-
`used_at`
|
|
226
|
-
`revoked_at`
|
|
223
|
+
`created_at` integer NOT NULL,
|
|
224
|
+
`updated_at` integer NOT NULL,
|
|
225
|
+
`expires_at` integer,
|
|
226
|
+
`idle_expires_at` integer,
|
|
227
|
+
`authenticated_at` integer,
|
|
228
|
+
`last_interaction_at` integer,
|
|
229
|
+
`used_at` integer,
|
|
230
|
+
`revoked_at` integer,
|
|
227
231
|
`device` text NOT NULL,
|
|
228
232
|
`clients` text NOT NULL,
|
|
229
233
|
`login_session_id` text(21),
|
|
@@ -232,6 +236,8 @@ CREATE TABLE `sessions` (
|
|
|
232
236
|
);
|
|
233
237
|
--> statement-breakpoint
|
|
234
238
|
CREATE INDEX `IDX_sessions_login_session_id` ON `sessions` (`login_session_id`);--> statement-breakpoint
|
|
239
|
+
CREATE INDEX `idx_sessions_user_id` ON `sessions` (`tenant_id`,`user_id`);--> statement-breakpoint
|
|
240
|
+
CREATE INDEX `idx_sessions_expires_at` ON `sessions` (`expires_at`);--> statement-breakpoint
|
|
235
241
|
CREATE TABLE `tickets` (
|
|
236
242
|
`tenant_id` text(191) NOT NULL,
|
|
237
243
|
`id` text(255) PRIMARY KEY NOT NULL,
|
|
@@ -438,6 +444,7 @@ CREATE TABLE `resource_servers` (
|
|
|
438
444
|
`verification_key` text(4096),
|
|
439
445
|
`options` text(4096),
|
|
440
446
|
`is_system` integer DEFAULT 0 NOT NULL,
|
|
447
|
+
`metadata` text(4096),
|
|
441
448
|
`created_at` text(35) NOT NULL,
|
|
442
449
|
`updated_at` text(35) NOT NULL,
|
|
443
450
|
PRIMARY KEY(`tenant_id`, `id`)
|
|
@@ -460,6 +467,7 @@ CREATE TABLE `roles` (
|
|
|
460
467
|
`name` text(50) NOT NULL,
|
|
461
468
|
`description` text(255),
|
|
462
469
|
`is_system` integer DEFAULT 0 NOT NULL,
|
|
470
|
+
`metadata` text(4096),
|
|
463
471
|
`created_at` text(35) NOT NULL,
|
|
464
472
|
`updated_at` text(35) NOT NULL,
|
|
465
473
|
PRIMARY KEY(`tenant_id`, `id`)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "6",
|
|
3
3
|
"dialect": "sqlite",
|
|
4
|
-
"id": "
|
|
4
|
+
"id": "e23a8232-7310-495e-a88e-c153ca437174",
|
|
5
5
|
"prevId": "00000000-0000-0000-0000-000000000000",
|
|
6
6
|
"tables": {
|
|
7
7
|
"tenants": {
|
|
@@ -1074,21 +1074,21 @@
|
|
|
1074
1074
|
},
|
|
1075
1075
|
"created_at": {
|
|
1076
1076
|
"name": "created_at",
|
|
1077
|
-
"type": "
|
|
1077
|
+
"type": "integer",
|
|
1078
1078
|
"primaryKey": false,
|
|
1079
1079
|
"notNull": true,
|
|
1080
1080
|
"autoincrement": false
|
|
1081
1081
|
},
|
|
1082
1082
|
"updated_at": {
|
|
1083
1083
|
"name": "updated_at",
|
|
1084
|
-
"type": "
|
|
1084
|
+
"type": "integer",
|
|
1085
1085
|
"primaryKey": false,
|
|
1086
1086
|
"notNull": true,
|
|
1087
1087
|
"autoincrement": false
|
|
1088
1088
|
},
|
|
1089
1089
|
"expires_at": {
|
|
1090
1090
|
"name": "expires_at",
|
|
1091
|
-
"type": "
|
|
1091
|
+
"type": "integer",
|
|
1092
1092
|
"primaryKey": false,
|
|
1093
1093
|
"notNull": true,
|
|
1094
1094
|
"autoincrement": false
|
|
@@ -1174,6 +1174,13 @@
|
|
|
1174
1174
|
"user_id"
|
|
1175
1175
|
],
|
|
1176
1176
|
"isUnique": false
|
|
1177
|
+
},
|
|
1178
|
+
"idx_login_sessions_expires_at": {
|
|
1179
|
+
"name": "idx_login_sessions_expires_at",
|
|
1180
|
+
"columns": [
|
|
1181
|
+
"expires_at"
|
|
1182
|
+
],
|
|
1183
|
+
"isUnique": false
|
|
1177
1184
|
}
|
|
1178
1185
|
},
|
|
1179
1186
|
"foreignKeys": {
|
|
@@ -1429,34 +1436,57 @@
|
|
|
1429
1436
|
},
|
|
1430
1437
|
"created_at": {
|
|
1431
1438
|
"name": "created_at",
|
|
1432
|
-
"type": "
|
|
1439
|
+
"type": "integer",
|
|
1433
1440
|
"primaryKey": false,
|
|
1434
1441
|
"notNull": true,
|
|
1435
1442
|
"autoincrement": false
|
|
1436
1443
|
},
|
|
1437
1444
|
"expires_at": {
|
|
1438
1445
|
"name": "expires_at",
|
|
1439
|
-
"type": "
|
|
1446
|
+
"type": "integer",
|
|
1440
1447
|
"primaryKey": false,
|
|
1441
1448
|
"notNull": false,
|
|
1442
1449
|
"autoincrement": false
|
|
1443
1450
|
},
|
|
1444
1451
|
"idle_expires_at": {
|
|
1445
1452
|
"name": "idle_expires_at",
|
|
1446
|
-
"type": "
|
|
1453
|
+
"type": "integer",
|
|
1447
1454
|
"primaryKey": false,
|
|
1448
1455
|
"notNull": false,
|
|
1449
1456
|
"autoincrement": false
|
|
1450
1457
|
},
|
|
1451
1458
|
"last_exchanged_at": {
|
|
1452
1459
|
"name": "last_exchanged_at",
|
|
1453
|
-
"type": "
|
|
1460
|
+
"type": "integer",
|
|
1454
1461
|
"primaryKey": false,
|
|
1455
1462
|
"notNull": false,
|
|
1456
1463
|
"autoincrement": false
|
|
1457
1464
|
}
|
|
1458
1465
|
},
|
|
1459
|
-
"indexes": {
|
|
1466
|
+
"indexes": {
|
|
1467
|
+
"idx_refresh_tokens_user_id": {
|
|
1468
|
+
"name": "idx_refresh_tokens_user_id",
|
|
1469
|
+
"columns": [
|
|
1470
|
+
"tenant_id",
|
|
1471
|
+
"user_id"
|
|
1472
|
+
],
|
|
1473
|
+
"isUnique": false
|
|
1474
|
+
},
|
|
1475
|
+
"idx_refresh_tokens_session_id": {
|
|
1476
|
+
"name": "idx_refresh_tokens_session_id",
|
|
1477
|
+
"columns": [
|
|
1478
|
+
"session_id"
|
|
1479
|
+
],
|
|
1480
|
+
"isUnique": false
|
|
1481
|
+
},
|
|
1482
|
+
"idx_refresh_tokens_expires_at": {
|
|
1483
|
+
"name": "idx_refresh_tokens_expires_at",
|
|
1484
|
+
"columns": [
|
|
1485
|
+
"expires_at"
|
|
1486
|
+
],
|
|
1487
|
+
"isUnique": false
|
|
1488
|
+
}
|
|
1489
|
+
},
|
|
1460
1490
|
"foreignKeys": {
|
|
1461
1491
|
"refresh_tokens_tenant_id_tenants_id_fk": {
|
|
1462
1492
|
"name": "refresh_tokens_tenant_id_tenants_id_fk",
|
|
@@ -1510,56 +1540,56 @@
|
|
|
1510
1540
|
},
|
|
1511
1541
|
"created_at": {
|
|
1512
1542
|
"name": "created_at",
|
|
1513
|
-
"type": "
|
|
1543
|
+
"type": "integer",
|
|
1514
1544
|
"primaryKey": false,
|
|
1515
1545
|
"notNull": true,
|
|
1516
1546
|
"autoincrement": false
|
|
1517
1547
|
},
|
|
1518
1548
|
"updated_at": {
|
|
1519
1549
|
"name": "updated_at",
|
|
1520
|
-
"type": "
|
|
1550
|
+
"type": "integer",
|
|
1521
1551
|
"primaryKey": false,
|
|
1522
1552
|
"notNull": true,
|
|
1523
1553
|
"autoincrement": false
|
|
1524
1554
|
},
|
|
1525
1555
|
"expires_at": {
|
|
1526
1556
|
"name": "expires_at",
|
|
1527
|
-
"type": "
|
|
1557
|
+
"type": "integer",
|
|
1528
1558
|
"primaryKey": false,
|
|
1529
1559
|
"notNull": false,
|
|
1530
1560
|
"autoincrement": false
|
|
1531
1561
|
},
|
|
1532
1562
|
"idle_expires_at": {
|
|
1533
1563
|
"name": "idle_expires_at",
|
|
1534
|
-
"type": "
|
|
1564
|
+
"type": "integer",
|
|
1535
1565
|
"primaryKey": false,
|
|
1536
1566
|
"notNull": false,
|
|
1537
1567
|
"autoincrement": false
|
|
1538
1568
|
},
|
|
1539
1569
|
"authenticated_at": {
|
|
1540
1570
|
"name": "authenticated_at",
|
|
1541
|
-
"type": "
|
|
1571
|
+
"type": "integer",
|
|
1542
1572
|
"primaryKey": false,
|
|
1543
1573
|
"notNull": false,
|
|
1544
1574
|
"autoincrement": false
|
|
1545
1575
|
},
|
|
1546
1576
|
"last_interaction_at": {
|
|
1547
1577
|
"name": "last_interaction_at",
|
|
1548
|
-
"type": "
|
|
1578
|
+
"type": "integer",
|
|
1549
1579
|
"primaryKey": false,
|
|
1550
1580
|
"notNull": false,
|
|
1551
1581
|
"autoincrement": false
|
|
1552
1582
|
},
|
|
1553
1583
|
"used_at": {
|
|
1554
1584
|
"name": "used_at",
|
|
1555
|
-
"type": "
|
|
1585
|
+
"type": "integer",
|
|
1556
1586
|
"primaryKey": false,
|
|
1557
1587
|
"notNull": false,
|
|
1558
1588
|
"autoincrement": false
|
|
1559
1589
|
},
|
|
1560
1590
|
"revoked_at": {
|
|
1561
1591
|
"name": "revoked_at",
|
|
1562
|
-
"type": "
|
|
1592
|
+
"type": "integer",
|
|
1563
1593
|
"primaryKey": false,
|
|
1564
1594
|
"notNull": false,
|
|
1565
1595
|
"autoincrement": false
|
|
@@ -1593,6 +1623,21 @@
|
|
|
1593
1623
|
"login_session_id"
|
|
1594
1624
|
],
|
|
1595
1625
|
"isUnique": false
|
|
1626
|
+
},
|
|
1627
|
+
"idx_sessions_user_id": {
|
|
1628
|
+
"name": "idx_sessions_user_id",
|
|
1629
|
+
"columns": [
|
|
1630
|
+
"tenant_id",
|
|
1631
|
+
"user_id"
|
|
1632
|
+
],
|
|
1633
|
+
"isUnique": false
|
|
1634
|
+
},
|
|
1635
|
+
"idx_sessions_expires_at": {
|
|
1636
|
+
"name": "idx_sessions_expires_at",
|
|
1637
|
+
"columns": [
|
|
1638
|
+
"expires_at"
|
|
1639
|
+
],
|
|
1640
|
+
"isUnique": false
|
|
1596
1641
|
}
|
|
1597
1642
|
},
|
|
1598
1643
|
"foreignKeys": {
|
|
@@ -3035,6 +3080,13 @@
|
|
|
3035
3080
|
"autoincrement": false,
|
|
3036
3081
|
"default": 0
|
|
3037
3082
|
},
|
|
3083
|
+
"metadata": {
|
|
3084
|
+
"name": "metadata",
|
|
3085
|
+
"type": "text(4096)",
|
|
3086
|
+
"primaryKey": false,
|
|
3087
|
+
"notNull": false,
|
|
3088
|
+
"autoincrement": false
|
|
3089
|
+
},
|
|
3038
3090
|
"created_at": {
|
|
3039
3091
|
"name": "created_at",
|
|
3040
3092
|
"type": "text(35)",
|
|
@@ -3176,6 +3228,13 @@
|
|
|
3176
3228
|
"autoincrement": false,
|
|
3177
3229
|
"default": 0
|
|
3178
3230
|
},
|
|
3231
|
+
"metadata": {
|
|
3232
|
+
"name": "metadata",
|
|
3233
|
+
"type": "text(4096)",
|
|
3234
|
+
"primaryKey": false,
|
|
3235
|
+
"notNull": false,
|
|
3236
|
+
"autoincrement": false
|
|
3237
|
+
},
|
|
3179
3238
|
"created_at": {
|
|
3180
3239
|
"name": "created_at",
|
|
3181
3240
|
"type": "text(35)",
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"type": "git",
|
|
12
12
|
"url": "https://github.com/markusahlstrand/authhero"
|
|
13
13
|
},
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.15.0",
|
|
15
15
|
"files": [
|
|
16
16
|
"dist",
|
|
17
17
|
"src/schema",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"drizzle-orm": "^0.44.2",
|
|
44
|
-
"@authhero/adapter-interfaces": "0.
|
|
44
|
+
"@authhero/adapter-interfaces": "0.122.0"
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
47
|
"build": "tsc && vite build",
|
|
@@ -15,14 +15,14 @@ export const sessions = sqliteTable(
|
|
|
15
15
|
.notNull()
|
|
16
16
|
.references(() => tenants.id, { onDelete: "cascade" }),
|
|
17
17
|
user_id: text("user_id", { length: 255 }),
|
|
18
|
-
created_at:
|
|
19
|
-
updated_at:
|
|
20
|
-
expires_at:
|
|
21
|
-
idle_expires_at:
|
|
22
|
-
authenticated_at:
|
|
23
|
-
last_interaction_at:
|
|
24
|
-
used_at:
|
|
25
|
-
revoked_at:
|
|
18
|
+
created_at: integer("created_at").notNull(),
|
|
19
|
+
updated_at: integer("updated_at").notNull(),
|
|
20
|
+
expires_at: integer("expires_at"),
|
|
21
|
+
idle_expires_at: integer("idle_expires_at"),
|
|
22
|
+
authenticated_at: integer("authenticated_at"),
|
|
23
|
+
last_interaction_at: integer("last_interaction_at"),
|
|
24
|
+
used_at: integer("used_at"),
|
|
25
|
+
revoked_at: integer("revoked_at"),
|
|
26
26
|
device: text("device").notNull(),
|
|
27
27
|
clients: text("clients").notNull(),
|
|
28
28
|
login_session_id: text("login_session_id", { length: 21 }),
|
|
@@ -30,6 +30,8 @@ export const sessions = sqliteTable(
|
|
|
30
30
|
(table) => [
|
|
31
31
|
primaryKey({ columns: [table.tenant_id, table.id], name: "sessions_pk" }),
|
|
32
32
|
index("IDX_sessions_login_session_id").on(table.login_session_id),
|
|
33
|
+
index("idx_sessions_user_id").on(table.tenant_id, table.user_id),
|
|
34
|
+
index("idx_sessions_expires_at").on(table.expires_at),
|
|
33
35
|
],
|
|
34
36
|
);
|
|
35
37
|
|
|
@@ -46,16 +48,19 @@ export const refreshTokens = sqliteTable(
|
|
|
46
48
|
resource_servers: text("resource_servers").notNull(),
|
|
47
49
|
device: text("device").notNull(),
|
|
48
50
|
rotating: integer("rotating", { mode: "boolean" }).notNull(),
|
|
49
|
-
created_at:
|
|
50
|
-
expires_at:
|
|
51
|
-
idle_expires_at:
|
|
52
|
-
last_exchanged_at:
|
|
51
|
+
created_at: integer("created_at").notNull(),
|
|
52
|
+
expires_at: integer("expires_at"),
|
|
53
|
+
idle_expires_at: integer("idle_expires_at"),
|
|
54
|
+
last_exchanged_at: integer("last_exchanged_at"),
|
|
53
55
|
},
|
|
54
56
|
(table) => [
|
|
55
57
|
primaryKey({
|
|
56
58
|
columns: [table.tenant_id, table.id],
|
|
57
59
|
name: "refresh_tokens_pk",
|
|
58
60
|
}),
|
|
61
|
+
index("idx_refresh_tokens_user_id").on(table.tenant_id, table.user_id),
|
|
62
|
+
index("idx_refresh_tokens_session_id").on(table.session_id),
|
|
63
|
+
index("idx_refresh_tokens_expires_at").on(table.expires_at),
|
|
59
64
|
],
|
|
60
65
|
);
|
|
61
66
|
|
|
@@ -91,9 +96,9 @@ export const loginSessions = sqliteTable(
|
|
|
91
96
|
authParams_act_as: text("authParams_act_as", { length: 256 }),
|
|
92
97
|
authParams_ui_locales: text("authParams_ui_locales", { length: 32 }),
|
|
93
98
|
authorization_url: text("authorization_url"),
|
|
94
|
-
created_at:
|
|
95
|
-
updated_at:
|
|
96
|
-
expires_at:
|
|
99
|
+
created_at: integer("created_at").notNull(),
|
|
100
|
+
updated_at: integer("updated_at").notNull(),
|
|
101
|
+
expires_at: integer("expires_at").notNull(),
|
|
97
102
|
ip: text("ip", { length: 39 }),
|
|
98
103
|
useragent: text("useragent"),
|
|
99
104
|
auth0Client: text("auth0Client", { length: 255 }),
|
|
@@ -111,6 +116,7 @@ export const loginSessions = sqliteTable(
|
|
|
111
116
|
index("login_sessions_state_idx").on(table.state),
|
|
112
117
|
index("login_sessions_state_updated_idx").on(table.state, table.updated_at),
|
|
113
118
|
index("login_sessions_tenant_user_idx").on(table.tenant_id, table.user_id),
|
|
119
|
+
index("idx_login_sessions_expires_at").on(table.expires_at),
|
|
114
120
|
],
|
|
115
121
|
);
|
|
116
122
|
|