Files
pfadi-bussle/helpers/bill.ts
2022-10-11 11:43:32 +02:00

41 lines
922 B
TypeScript

import { Bill, Prisma } from '@prisma/client'
import fetch from './fetch'
export function getBillTotal({
tarif,
milage,
additionalCosts,
}: {
tarif: Prisma.Decimal
milage?: number
additionalCosts: Prisma.AdditionalCostsCreateInput[]
}): Prisma.Decimal {
const milageCosts = tarif.mul(milage)
const additionalCostsSum = additionalCosts
.reduce((acc, {value} ) => (value as Prisma.Decimal).plus(acc), new Prisma.Decimal(0))
return additionalCostsSum.add(milageCosts).toDecimalPlaces(2);
}
export async function createBill(
bookingUuid: string,
bill: Prisma.BillCreateInput
): Promise<Bill> {
return fetch(`/api/bookings/${bookingUuid}/bill`, {
method: 'POST',
body: bill,
})
}
export async function patchBill(
bookingUuid: string,
bill: Prisma.BillUpdateInput
): Promise<Bill> {
return fetch(`/api/bookings/${bookingUuid}/bill`, {
method: 'POST',
body: bill,
})
}