feat: ditch triplit, move to postgresql + drizzle orm
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
import { defineRelations } from "drizzle-orm";
|
||||
import * as schema from "./schema";
|
||||
|
||||
export const relations = defineRelations(schema, (r) => ({
|
||||
users: {
|
||||
sessions: r.many.sessions(),
|
||||
accounts: r.many.accounts(),
|
||||
},
|
||||
sessions: {
|
||||
users: r.one.users({
|
||||
from: r.sessions.userId,
|
||||
to: r.users.id
|
||||
}),
|
||||
},
|
||||
accounts: {
|
||||
users: r.one.users({
|
||||
from: r.accounts.userId,
|
||||
to: r.users.id
|
||||
}),
|
||||
},
|
||||
agents: {
|
||||
topics: r.many.topics({
|
||||
from: r.agents.id,
|
||||
to: r.topics.agentId
|
||||
}),
|
||||
},
|
||||
topics: {
|
||||
messages: r.many.messages({
|
||||
from: r.topics.id,
|
||||
to: r.messages.topicId
|
||||
}),
|
||||
generations: r.many.generations({
|
||||
from: r.topics.id,
|
||||
to: r.generations.topicId
|
||||
}),
|
||||
agent: r.one.agents({
|
||||
from: r.topics.agentId,
|
||||
to: r.agents.id,
|
||||
optional: false,
|
||||
}),
|
||||
},
|
||||
messages: {
|
||||
topic: r.one.topics({
|
||||
from: r.messages.topicId,
|
||||
to: r.topics.id,
|
||||
optional: false,
|
||||
}),
|
||||
parts: r.many.messageParts({
|
||||
from: r.messages.id,
|
||||
to: r.messageParts.messageId
|
||||
}),
|
||||
attachments: r.many.attachments({
|
||||
from: r.messages.id,
|
||||
to: r.attachments.messageId
|
||||
}),
|
||||
generation: r.one.generations({
|
||||
from: r.messages.generationId,
|
||||
to: r.generations.id
|
||||
}),
|
||||
parent: r.one.messages({
|
||||
from: r.messages.parentMessageId,
|
||||
to: r.messages.id
|
||||
}),
|
||||
children: r.many.messages({
|
||||
from: r.messages.id,
|
||||
to: r.messages.parentMessageId
|
||||
}),
|
||||
},
|
||||
attachments: {
|
||||
file: r.one.files({
|
||||
from: r.attachments.fileId,
|
||||
to: r.files.id,
|
||||
optional: false,
|
||||
}),
|
||||
},
|
||||
messageParts: {
|
||||
toolCall: r.one.toolCalls({
|
||||
from: r.messageParts.toolCallId,
|
||||
to: r.toolCalls.id
|
||||
}),
|
||||
},
|
||||
models: {
|
||||
provider: r.one.providers({
|
||||
from: r.models.providerId,
|
||||
to: r.providers.id,
|
||||
optional: false,
|
||||
}),
|
||||
},
|
||||
providers: {
|
||||
models: r.many.models({
|
||||
from: r.providers.id,
|
||||
to: r.models.providerId
|
||||
}),
|
||||
},
|
||||
}))
|
||||
Reference in New Issue
Block a user