aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/api.ts11
-rw-r--r--src/lib/schemas.ts1
2 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/api.ts b/src/lib/api.ts
index 6ff55b6..2a03ded 100644
--- a/src/lib/api.ts
+++ b/src/lib/api.ts
@@ -48,6 +48,7 @@ export async function createExpense(
id: randomId(),
groupId,
expenseDate: expenseFormValues.expenseDate,
+ categoryId: expenseFormValues.category,
amount: expenseFormValues.amount,
title: expenseFormValues.title,
paidById: expenseFormValues.paidBy,
@@ -124,6 +125,7 @@ export async function updateExpense(
expenseDate: expenseFormValues.expenseDate,
amount: expenseFormValues.amount,
title: expenseFormValues.title,
+ categoryId: expenseFormValues.category,
paidById: expenseFormValues.paidBy,
splitMode: expenseFormValues.splitMode,
paidFor: {
@@ -207,11 +209,16 @@ export async function getGroup(groupId: string) {
})
}
+export async function getCategories() {
+ const prisma = await getPrisma()
+ return prisma.category.findMany()
+}
+
export async function getGroupExpenses(groupId: string) {
const prisma = await getPrisma()
return prisma.expense.findMany({
where: { groupId },
- include: { paidFor: { include: { participant: true } }, paidBy: true },
+ include: { paidFor: { include: { participant: true } }, paidBy: true, category: true },
orderBy: { expenseDate: 'desc' },
})
}
@@ -220,6 +227,6 @@ export async function getExpense(groupId: string, expenseId: string) {
const prisma = await getPrisma()
return prisma.expense.findUnique({
where: { id: expenseId },
- include: { paidBy: true, paidFor: true },
+ include: { paidBy: true, paidFor: true, category: true },
})
}
diff --git a/src/lib/schemas.ts b/src/lib/schemas.ts
index 14b253c..be90481 100644
--- a/src/lib/schemas.ts
+++ b/src/lib/schemas.ts
@@ -45,6 +45,7 @@ export const expenseFormSchema = z
title: z
.string({ required_error: 'Please enter a title.' })
.min(2, 'Enter at least two characters.'),
+ category: z.coerce.number().default(0),
amount: z
.union(
[