update mongoose to 5.8.3 (lots of types changes)

This commit is contained in:
Thomas Ruoff
2024-09-10 22:44:25 +02:00
parent 3ecbd16a2c
commit 32818b7492
22 changed files with 136 additions and 251 deletions

View File

@@ -1,6 +1,6 @@
import * as mongoose from 'mongoose'
import BookingModel, { Booking, BookingDocument } from './booking'
import BillModel, { Bill } from './bill'
import BookingModel, { IBooking } from './booking'
import BillModel, { IBill } from './bill'
import { getBookedDays as calendarGetBookedDays } from '../lib/googlecalendar'
import { BOOKING_STATUS } from './enums'
import { uniqueFilter } from '../helpers/array'
@@ -9,7 +9,7 @@ export const MONGO_URI = process.env.MONGO_URI
mongoose.set('strictQuery', false);
mongoose.connect(process.env.MONGO_URI, {
mongoose.connect(MONGO_URI, {
serverSelectionTimeoutMS: 3000,
})
@@ -23,7 +23,7 @@ export async function getBookedDays(
return [...bookedInDatabase, ...bookedInCalendar].filter(uniqueFilter).sort()
}
export async function getBookingByUUID(uuid: string): Promise<BookingDocument> {
export async function getBookingByUUID(uuid: string): Promise<mongoose.HydratedDocument<IBooking>> {
return BookingModel.findOne({ uuid })
}
@@ -31,7 +31,7 @@ export async function getBookings({
status = [BOOKING_STATUS.CONFIRMED, BOOKING_STATUS.REQUESTED],
startDateGreaterThan = '2000-01-01T00:00:00Z',
}: { status?: BOOKING_STATUS[]; startDateGreaterThan?: string } = {}): Promise<
BookingDocument[]
IBooking[]
> {
return await BookingModel.find({
status: { $in: status },
@@ -53,7 +53,7 @@ export async function createBooking({
street,
zip,
city,
}: Booking): Promise<Booking> {
}: IBooking): Promise<mongoose.FlattenMaps<IBooking & { _id: mongoose.Types.ObjectId }>> {
const booking = new BookingModel({
startDate,
endDate,
@@ -69,25 +69,25 @@ export async function createBooking({
})
await booking.save()
return booking.toJSON<Booking>()
return booking.toJSON()
}
export async function patchBooking(
bookingUUID: string,
bookingData: Booking
): Promise<{ current: Booking; previous: Booking }> {
bookingData: IBooking
): Promise<{ current: IBooking; previous: IBooking }> {
const booking = await getBookingByUUID(bookingUUID)
const oldBooking = booking.toJSON<Booking>()
const oldBooking = booking.toJSON()
booking.set(bookingData)
await booking.save()
return { current: booking.toJSON<Booking>(), previous: oldBooking }
return { current: booking.toJSON(), previous: oldBooking }
}
export async function createBill(
bookingUUID: string,
billData: Bill
): Promise<Bill> {
billData: IBill
): Promise<IBill> {
const booking = await getBookingByUUID(bookingUUID)
const bill = new BillModel()
@@ -95,16 +95,16 @@ export async function createBill(
await bill.save()
booking.bill = bill._id
booking.bill = bill
await booking.save()
return bill.toJSON<Bill>()
return bill.toJSON()
}
export async function patchBill(
bookingUUID: string,
billData: Bill
): Promise<Bill> {
billData: IBill
): Promise<IBill> {
const booking = await getBookingByUUID(bookingUUID)
const bill =
(booking.bill && (await BillModel.findById(booking.bill))) ||
@@ -113,12 +113,12 @@ export async function patchBill(
bill.set(billData)
await bill.save()
if (booking.bill !== bill._id) {
booking.bill = bill._id
if (booking.bill !== bill) {
booking.bill = bill
await booking.save()
}
return bill.toJSON<Bill>()
return bill.toJSON()
}
export async function getMilageMax(): Promise<number> {