From ed55c696cd083bfaa5429082a9c5edd4ebde0cd8 Mon Sep 17 00:00:00 2001 From: Sebastien Castiel Date: Tue, 5 Dec 2023 17:39:05 -0500 Subject: First version --- prisma/schema.prisma | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 prisma/schema.prisma (limited to 'prisma/schema.prisma') diff --git a/prisma/schema.prisma b/prisma/schema.prisma new file mode 100644 index 0000000..73c3ad1 --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,48 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "postgresql" + url = env("POSTGRES_PRISMA_URL") // uses connection pooling + directUrl = env("POSTGRES_URL_NON_POOLING") // uses a direct connection +} + +model Group { + id String @id + name String + participants Participant[] + expenses Expense[] +} + +model Participant { + id String @id + name String + group Group @relation(fields: [groupId], references: [id]) + groupId String + expensesPaidBy Expense[] + expensesPaidFor ExpensePaidFor[] +} + +model Expense { + id String @id + group Group @relation(fields: [groupId], references: [id]) + title String + amount Int + paidBy Participant @relation(fields: [paidById], references: [id]) + paidById String + paidFor ExpensePaidFor[] + groupId String +} + +model ExpensePaidFor { + expense Expense @relation(fields: [expenseId], references: [id]) + participant Participant @relation(fields: [participantId], references: [id]) + expenseId String + participantId String + + @@id([expenseId, participantId]) +} -- cgit v1.3