Add video schema

This commit is contained in:
Zoe Roux 2024-11-07 11:51:13 +01:00
parent e7ed36caff
commit 6f71b98209
No known key found for this signature in database
2 changed files with 25 additions and 1 deletions

View File

@ -1,11 +1,13 @@
import { drizzle } from "drizzle-orm/node-postgres";
import * as entries from "./schema/entries";
import * as shows from "./schema/shows";
import { drizzle } from "drizzle-orm/node-postgres";
import * as videos from "./schema/videos";
export const db = drizzle({
schema: {
...entries,
...shows,
...videos,
},
connection: {
user: process.env.POSTGRES_USER ?? "kyoo",

View File

@ -0,0 +1,22 @@
import { sql } from "drizzle-orm";
import { check, integer, text, timestamp, uuid } from "drizzle-orm/pg-core";
import { schema } from "./utils";
export const videos = schema.table(
"videos",
{
pk: integer().primaryKey().generatedAlwaysAsIdentity(),
id: uuid().notNull().unique().defaultRandom(),
path: text().notNull().unique(),
rendering: integer(),
part: integer(),
version: integer(),
createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
},
(t) => ({
ratingValid: check("renderingPos", sql`0 <= ${t.rendering}`),
partValid: check("partPos", sql`0 <= ${t.part}`),
versionValid: check("versionPos", sql`0 <= ${t.version}`),
}),
);