Ground-Zerro / Phobos Public
Code Issues Pull requests Actions Releases View on GitHub ↗
819 B typescript
import { sql, relations } from 'drizzle-orm';
import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core';

import { client } from '../../schema';

export const installLink = sqliteTable('install_links_table', {
  id: int()
    .primaryKey()
    .references(() => client.id, {
      onDelete: 'cascade',
      onUpdate: 'cascade',
    }),
  token: text().notNull().unique(),
  expiresAt: text('expires_at').notNull(),
  createdAt: text('created_at')
    .notNull()
    .default(sql`(CURRENT_TIMESTAMP)`),
  updatedAt: text('updated_at')
    .notNull()
    .default(sql`(CURRENT_TIMESTAMP)`)
    .$onUpdate(() => sql`(CURRENT_TIMESTAMP)`),
});

export const installLinksRelations = relations(installLink, ({ one }) => ({
  client: one(client, {
    fields: [installLink.id],
    references: [client.id],
  }),
}));