Files
aktiteil/src/lib/server/db/schema/akti.ts
T
schreifuchs 2702615b34
Commit / ci (push) Successful in 1m37s
Release / publish (push) Failing after 5m57s
feat: added comments
2025-12-10 19:16:18 +01:00

50 lines
1.2 KiB
TypeScript

import { relations, sql } from 'drizzle-orm';
import { integer, pgTable, real, text, uuid } from 'drizzle-orm/pg-core';
import { users } from './user';
export const aktis = pgTable('akti', {
id: uuid()
.default(sql`gen_random_uuid()`)
.primaryKey(),
title: text().notNull(),
summary: text().notNull(),
body: text().notNull(),
author: text('user_id')
.notNull()
.references(() => users.id),
version: integer('version').notNull().default(1)
});
export const ratings = pgTable('rating', {
id: uuid()
.default(sql`gen_random_uuid()`)
.primaryKey(),
aktiId: uuid()
.notNull()
.references(() => aktis.id, { onDelete: 'cascade' }),
userId: text()
.notNull()
.references(() => users.id, { onDelete: 'cascade' }),
rating: real().notNull(),
comment: text().notNull(),
aktiVersion: integer('akti_version').notNull()
});
export const aktisRelations = relations(aktis, ({ one }) => ({
author: one(users, {
fields: [aktis.author],
references: [users.id]
})
}));
export const ratingsRelations = relations(ratings, ({ one }) => ({
akti: one(aktis, {
fields: [ratings.aktiId],
references: [aktis.id]
}),
user: one(users, {
fields: [ratings.userId],
references: [users.id]
})
}));