aboutsummaryrefslogtreecommitdiffstats
path: root/prisma
diff options
context:
space:
mode:
Diffstat (limited to 'prisma')
-rw-r--r--prisma/migrations/20231215203936_add_shares_in_expenses/migration.sql2
-rw-r--r--prisma/migrations/20231215213409_add_split_mode/migration.sql5
-rw-r--r--prisma/schema.prisma9
3 files changed, 16 insertions, 0 deletions
diff --git a/prisma/migrations/20231215203936_add_shares_in_expenses/migration.sql b/prisma/migrations/20231215203936_add_shares_in_expenses/migration.sql
new file mode 100644
index 0000000..ecf7a04
--- /dev/null
+++ b/prisma/migrations/20231215203936_add_shares_in_expenses/migration.sql
@@ -0,0 +1,2 @@
+-- AlterTable
+ALTER TABLE "ExpensePaidFor" ADD COLUMN "shares" INTEGER NOT NULL DEFAULT 1;
diff --git a/prisma/migrations/20231215213409_add_split_mode/migration.sql b/prisma/migrations/20231215213409_add_split_mode/migration.sql
new file mode 100644
index 0000000..ac36cfc
--- /dev/null
+++ b/prisma/migrations/20231215213409_add_split_mode/migration.sql
@@ -0,0 +1,5 @@
+-- CreateEnum
+CREATE TYPE "SplitMode" AS ENUM ('EVENLY', 'BY_SHARES', 'BY_PERCENTAGE', 'BY_AMOUNT');
+
+-- AlterTable
+ALTER TABLE "Expense" ADD COLUMN "splitMode" "SplitMode" NOT NULL DEFAULT 'EVENLY';
diff --git a/prisma/schema.prisma b/prisma/schema.prisma
index edf68f2..fd65754 100644
--- a/prisma/schema.prisma
+++ b/prisma/schema.prisma
@@ -39,14 +39,23 @@ model Expense {
paidFor ExpensePaidFor[]
groupId String
isReimbursement Boolean @default(false)
+ splitMode SplitMode @default(EVENLY)
createdAt DateTime @default(now())
}
+enum SplitMode {
+ EVENLY
+ BY_SHARES
+ BY_PERCENTAGE
+ BY_AMOUNT
+}
+
model ExpensePaidFor {
expense Expense @relation(fields: [expenseId], references: [id], onDelete: Cascade)
participant Participant @relation(fields: [participantId], references: [id], onDelete: Cascade)
expenseId String
participantId String
+ shares Int @default(1)
@@id([expenseId, participantId])
}