@sanoma-ai/connector-better-auth 0.2.4 → 0.2.6

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,69 @@
1
+ import { bigint, boolean, index, integer, pgSchema, text, timestamp } from "drizzle-orm/pg-core";
2
+ // Better Auth's tables, as its Drizzle adapter reads them: the properties are its field names,
3
+ // the columns their snake_case (`casing`, as the runtime's `databaseOn` and `drizzle/*.config.ts`
4
+ // have it), plus the user's `github` (`TABLE_OPTIONS` in `instance.ts`). Each login has the set in
5
+ // a schema of its own (`visitors.ts`, `staff.ts`), from which drizzle-kit generates its
6
+ // migrations, so a change here is a new migration in both folders: `pnpm --filter
7
+ // @sanoma-ai/connector-better-auth generate`.
8
+ const when = () => timestamp({ withTimezone: true });
9
+ /** Better Auth's tables in the schema `name`, by its model names, as `drizzleAdapter` takes them; `schema` is the schema itself. */
10
+ export function loginTables(name) {
11
+ const schema = pgSchema(name);
12
+ const user = schema.table("user", {
13
+ id: text().primaryKey(),
14
+ name: text().notNull(),
15
+ email: text().notNull().unique(),
16
+ emailVerified: boolean().notNull().default(false),
17
+ image: text(),
18
+ createdAt: when().notNull().defaultNow(),
19
+ updatedAt: when().notNull().defaultNow(),
20
+ /** The GitHub login the account is said to be; the login's own to set, never a person's input. */
21
+ github: text(),
22
+ });
23
+ const session = schema.table("session", {
24
+ id: text().primaryKey(),
25
+ expiresAt: when().notNull(),
26
+ token: text().notNull().unique(),
27
+ createdAt: when().notNull().defaultNow(),
28
+ updatedAt: when().notNull().defaultNow(),
29
+ ipAddress: text(),
30
+ userAgent: text(),
31
+ userId: text()
32
+ .notNull()
33
+ .references(() => user.id, { onDelete: "cascade" }),
34
+ }, (t) => [index().on(t.userId)]);
35
+ const account = schema.table("account", {
36
+ id: text().primaryKey(),
37
+ accountId: text().notNull(),
38
+ providerId: text().notNull(),
39
+ userId: text()
40
+ .notNull()
41
+ .references(() => user.id, { onDelete: "cascade" }),
42
+ accessToken: text(),
43
+ refreshToken: text(),
44
+ idToken: text(),
45
+ accessTokenExpiresAt: when(),
46
+ refreshTokenExpiresAt: when(),
47
+ scope: text(),
48
+ password: text(),
49
+ createdAt: when().notNull().defaultNow(),
50
+ updatedAt: when().notNull().defaultNow(),
51
+ }, (t) => [index().on(t.userId)]);
52
+ const verification = schema.table("verification", {
53
+ id: text().primaryKey(),
54
+ identifier: text().notNull(),
55
+ value: text().notNull(),
56
+ expiresAt: when().notNull(),
57
+ createdAt: when().notNull().defaultNow(),
58
+ updatedAt: when().notNull().defaultNow(),
59
+ }, (t) => [index().on(t.identifier)]);
60
+ /** The rate limit's counts (`rateLimit.storage: "database"`), one row per key. */
61
+ const rateLimit = schema.table("rate_limit", {
62
+ id: text().primaryKey(),
63
+ key: text().notNull().unique(),
64
+ count: integer().notNull(),
65
+ lastRequest: bigint({ mode: "number" }).notNull(),
66
+ });
67
+ return { schema, user, session, account, verification, rateLimit };
68
+ }
69
+ //# sourceMappingURL=tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../src/db/tables.ts"],"names":[],"mappings":"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"}