room reservation model, controller, seeder and migration files added

This commit is contained in:
Kiss Dávid
2026-08-19 19:59:18 +02:00
parent b281724a1a
commit 0b88fe87e5
49 changed files with 4073 additions and 2472 deletions
@@ -1,4 +1,5 @@
import type { HttpContext } from '@adonisjs/core/http'
import { DateTime } from 'luxon'
import Room from '#models/room'
import Reservation from '#models/reservation'
import {
@@ -81,7 +82,11 @@ export default class RoomReservationsController {
async store({ request, response }: HttpContext) {
try {
const data = await request.validateUsing(createReservationValidator)
const reservation = await Reservation.create(data)
const reservation = await Reservation.create({
...data,
startsAt: DateTime.fromISO(data.startsAt),
endsAt: DateTime.fromISO(data.endsAt),
})
return reservation
} catch (error) {
logger.error('Reservation creation failed: %s', error)
@@ -99,7 +104,11 @@ export default class RoomReservationsController {
if (!reservation) {
return response.notFound({ message: 'Reservation not found' })
}
reservation.merge(data)
reservation.merge({
...data,
startsAt: data.startsAt ? DateTime.fromISO(data.startsAt) : undefined,
endsAt: data.endsAt ? DateTime.fromISO(data.endsAt) : undefined,
})
await reservation.save()
return reservation
} catch (error) {