mirror of
https://github.com/tomru/pfadi-bussle.git
synced 2026-03-03 14:37:13 +01:00
41 lines
922 B
TypeScript
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,
|
|
})
|
|
}
|