making strides in the device and link domain setup

This commit is contained in:
user
2026-03-27 23:58:06 +02:00
parent 8c45efc92e
commit c7c303a934
17 changed files with 1202 additions and 198 deletions

View File

@@ -0,0 +1,26 @@
import { integer, pgTable, serial, text, timestamp, varchar } from "drizzle-orm/pg-core";
import { device } from "./device.schema";
import { relations } from "drizzle-orm";
export const link = pgTable("link", {
id: serial("id").primaryKey(),
token: text("token").notNull().unique(),
status: varchar("status", { length: 16 }).notNull().default("active"), // "active" | "inactive" | "expired" | "revoked"
linkedDeviceId: integer("linked_device_id").references(() => device.id, {
onDelete: "set null",
}),
expiresAt: timestamp("expires_at"),
lastAccessedAt: timestamp("last_accessed_at"),
createdAt: timestamp("created_at").notNull(),
updatedAt: timestamp("updated_at").notNull(),
});
export const linkRelations = relations(link, ({ one }) => ({
device: one(device, {
fields: [link.linkedDeviceId],
references: [device.id],
}),
}));