import type { UpdateBookingDetailsResponse } from '~~/shared/booking' import { requireAuth } from '../../../utils/auth' import { clearBookingTransactionDocument } from '../../../utils/booking-repository' import { getRequiredRouteParam, httpError } from '../../../utils/http' import { deleteTransactionDocument } from '../../../utils/transaction-documents' export default defineEventHandler(async (event): Promise => { const auth = await requireAuth(event) const bookingId = getRequiredRouteParam(event, 'id', 'Booking ID') const result = await clearBookingTransactionDocument({ bookingId, personInChargeId: auth.user.role === 'super_admin' ? undefined : auth.user.id }) if (!result) { httpError(404, 'Booking not found') } await deleteTransactionDocument(result.previousStorageName) return { booking: result.booking } })