Buckets:
| import { sqliteTable, text, integer, primaryKey } from "drizzle-orm/sqlite-core" | |
| import { AccountV2 } from "../account" | |
| import { Timestamps } from "../database/schema.sql" | |
| export const AccountTable = sqliteTable("account", { | |
| id: text().$type<AccountV2.ID>().primaryKey(), | |
| email: text().notNull(), | |
| url: text().notNull(), | |
| access_token: text().$type<AccountV2.AccessToken>().notNull(), | |
| refresh_token: text().$type<AccountV2.RefreshToken>().notNull(), | |
| token_expiry: integer(), | |
| ...Timestamps, | |
| }) | |
| export const AccountStateTable = sqliteTable("account_state", { | |
| id: integer().primaryKey(), | |
| active_account_id: text() | |
| .$type<AccountV2.ID>() | |
| .references(() => AccountTable.id, { onDelete: "set null" }), | |
| active_org_id: text().$type<AccountV2.OrgID>(), | |
| }) | |
| // LEGACY | |
| export const ControlAccountTable = sqliteTable( | |
| "control_account", | |
| { | |
| email: text().notNull(), | |
| url: text().notNull(), | |
| access_token: text().$type<AccountV2.AccessToken>().notNull(), | |
| refresh_token: text().$type<AccountV2.RefreshToken>().notNull(), | |
| token_expiry: integer(), | |
| active: integer({ mode: "boolean" }) | |
| .notNull() | |
| .$default(() => false), | |
| ...Timestamps, | |
| }, | |
| (table) => [primaryKey({ columns: [table.email, table.url] })], | |
| ) | |
Xet Storage Details
- Size:
- 1.26 kB
- Xet hash:
- 2dceeb679511d2f9048938930621a0075e2345e8b00a8f539d62ba283f97fbb8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.