91 lines
2.1 KiB
TypeScript
91 lines
2.1 KiB
TypeScript
import { Request, Response } from "express";
|
|
|
|
import Booking from "../models/booking.model";
|
|
import BookingRepository from "../repositories/booking.repository";
|
|
|
|
export default class BookingController {
|
|
async create(req: Request, res: Response) {
|
|
if (!req.body.hotelId || !req.body.clientId) {
|
|
res.status(400).json({
|
|
message: "Content cannot be empty"
|
|
});
|
|
}
|
|
|
|
const bookingParams = {
|
|
hotelId: req.body.hotelId,
|
|
clientId: req.body.clientId,
|
|
};
|
|
|
|
try {
|
|
const booking = await BookingRepository.create(bookingParams);
|
|
res.status(201).json(booking);
|
|
} catch (err) {
|
|
res.status(500).json({
|
|
message: err || "Internal Server Error!"
|
|
});
|
|
}
|
|
}
|
|
|
|
async findAll(req: Request, res: Response) {
|
|
try {
|
|
const bookings = await BookingRepository.retrieveAll();
|
|
res.status(200).json(bookings);
|
|
} catch (err) {
|
|
res.status(500).json({
|
|
message: err || "Internal Server Error!",
|
|
});
|
|
}
|
|
}
|
|
|
|
async findOne(req: Request, res: Response) {
|
|
if (!req.body.id) {
|
|
res.status(400).json({
|
|
message: "id cannot be empty"
|
|
});
|
|
}
|
|
|
|
try {
|
|
const booking = await BookingRepository.retrieveById(req.body.id);
|
|
res.status(200).json(booking);
|
|
} catch (err) {
|
|
res.status(500).json({
|
|
message: err || "Internal Server Error!",
|
|
});
|
|
}
|
|
}
|
|
|
|
async update(req: Request, res: Response) {
|
|
res.status(405).json({
|
|
message: "Cannot update booking"
|
|
});
|
|
}
|
|
|
|
async delete(req: Request, res: Response) {
|
|
if (!req.body.id) {
|
|
res.status(400).json({
|
|
message: "id cannot be empty"
|
|
});
|
|
}
|
|
|
|
try {
|
|
await BookingRepository.delete(req.body.id);
|
|
res.status(204);
|
|
} catch (err) {
|
|
res.status(500).json({
|
|
message: err || "Internal Server Error!",
|
|
});
|
|
}
|
|
}
|
|
|
|
async deleteAll(req: Request, res: Response) {
|
|
try {
|
|
await BookingRepository.deleteAll();
|
|
res.status(204);
|
|
} catch (err) {
|
|
res.status(500).json({
|
|
message: err || "Internal Server Error!",
|
|
});
|
|
}
|
|
}
|
|
}
|