switch to prisma

This commit is contained in:
Thomas Ruoff
2022-10-11 11:43:32 +02:00
parent 41342475ba
commit 1ef9b14e95
28 changed files with 764 additions and 780 deletions

View File

@@ -1,5 +1,5 @@
import { NextApiRequest, NextApiResponse } from 'next'
import { Bill } from '../../../../db/bill'
import { Prisma } from '@prisma/client';
import { createBill, patchBill } from '../../../../db/index'
import { log } from '../../../../helpers/log'
@@ -13,7 +13,7 @@ export default async function billHandler(
} = req
const bookingUUID = Array.isArray(uuids) ? uuids[0] : uuids
let bill: Bill
let bill: Prisma.BillUpdateInput
switch (method) {
case 'POST':

View File

@@ -1,6 +1,5 @@
import { NextApiRequest, NextApiResponse } from 'next'
import { Booking } from '../../../../db/booking'
import { BOOKING_STATUS } from '../../../../db/enums'
import { Prisma, BookingStatus } from '@prisma/client';
import { patchBooking } from '../../../../db/index'
import {
sendBookingConfirmed,
@@ -10,28 +9,27 @@ import {
import { log } from '../../../../helpers/log'
function changedStatus(
previous: Booking,
current: Partial<Booking>,
status: BOOKING_STATUS
previous: Prisma.BookingUpdateInput,
current: Prisma.BookingUpdateInput,
status: BookingStatus
): boolean {
return (
[BOOKING_STATUS.REQUESTED].includes(previous.status) &&
BookingStatus.REQUESTED === previous.status &&
current.status === status
)
}
function wasRejected(previous: Booking, current: Partial<Booking>): boolean {
return changedStatus(previous, current, BOOKING_STATUS.REJECTED)
function wasRejected(previous: Prisma.BookingUpdateInput, current: Prisma.BookingUpdateInput): boolean {
return changedStatus(previous, current, BookingStatus.REJECTED)
}
function wasConfirmed(previous: Booking, current: Partial<Booking>): boolean {
return changedStatus(previous, current, BOOKING_STATUS.CONFIRMED)
function wasConfirmed(previous: Prisma.BookingUpdateInput, current: Prisma.BookingUpdateInput): boolean {
return changedStatus(previous, current, BookingStatus.CONFIRMED)
}
function wasCanceled(previous: Booking, current: Partial<Booking>): boolean {
function wasCanceled(previous: Prisma.BookingUpdateInput, current: Prisma.BookingUpdateInput): boolean {
return (
[BOOKING_STATUS.REQUESTED, BOOKING_STATUS.CONFIRMED].includes(
previous.status
) && current.status === BOOKING_STATUS.CANCELED
[BookingStatus.REQUESTED, BookingStatus.CONFIRMED].find(s => s === previous.status)
&& current.status === BookingStatus.CANCELED
)
}
@@ -48,12 +46,12 @@ export default async function userHandler(
switch (method) {
case 'PATCH':
if (!Object.values(BOOKING_STATUS).includes(req.body.status)) {
if (!Object.values(BookingStatus).includes(req.body.status)) {
res
.status(400)
.end(
`The attribute status can only be: ${Object.values(
BOOKING_STATUS
BookingStatus
).join(', ')}`
)
break