const flights = require('../repository/flightList');
const fs = require('fs');
module.exports = {
// [GET] /flight
// 요청 된 파라미터 departure_times, arrival_times 값과 동일한 값을 가진 항공편 데이터 조회
// 요청 된 파라미터 departure, destination 값과 동일한 값을 가진 항공편 데이터를 조회
findAll: (req, res) => {
const { departure_times, arrival_times, destination, departure } = req.query;
if ((departure_times && arrival_times) || (destination && departure)) {
const filteredFlights = flights.filter((flight) => {
if (departure_times && arrival_times) {
return (
flight.departure_times === departure_times &&
flight.arrival_times === arrival_times
);
} else if (destination && departure) {
return (
flight.destination === destination &&
flight.departure === departure
);
}
});
return res.status(200).json(filteredFlights);
}
return res.json(flights);
},
// [GET] /flight/:uuid
// 요청 된 uuid 값과 동일한 uuid 값을 가진 항공편 데이터를 조회
findById: (req, res) => {
const { uuid } = req.params;
if (req.params !== undefined) {
const filteredFlights = flights.filter((flight) => {
return (
flight.uuid === uuid
);
});
return res.status(200).json(filteredFlights);
}
return res.json(flights);
},
};
// POST /book에서 사용할 uuid입니다.
const { v4: uuid } = require('uuid');
// 항공편 예약 데이터를 저장합니다.
let booking = [];
module.exports = {
// [GET] /book 요청을 수행합니다.
// 전체 예약 데이터를 조회합니다.
findAll: (req, res) => {
return res.status(200).json(booking);
},
// [GET] /book/:phone 요청을 수행합니다.
// 요청 된 phone과 동일한 phone 예약 데이터를 조회합니다.
findByPhone: (req, res) => {
const { phone } = req.params;
if (phone) {
const phoneBooking = booking.filter(book => {
return phone === book.phone
})
return res.status(200).json(phoneBooking);
}
return res.status(200).json(booking);
},
// [GET] /book/:phone/:flight_uuid 요청을 수행합니다.
// 요청 된 id, phone과 동일한 uuid, phone 예약 데이터를 조회합니다.
findByPhoneAndFlightId: (req, res) => {
const { phone, flight_uuid } = req.params;
// TODO:
if (phone) {
phoneBooking = booking.filter(book => {
return phone === book.phone
})
return res.status(200).json(phoneBooking);
}
if (flight_uuid) {
const uuidBooking = booking.filter(book => {
return flight_uuid === booking.flight_uuid
})
return res.status(200).json(uuidBooking);
}
return res.status(200).json(booking);
},
// [POST] /book 요청을 수행합니다.
// 요청 된 예약 데이터를 저장합니다.
create: (req, res) => {
// POST /book에서 사용할 booking_uuid입니다.
const booking_uuid = uuid();
// TODO:
booking.push(req.body);
return res.status(200).json(booking);
},
// Optional
// [DELETE] /book/:booking_uuid 요청을 수행합니다.
// 요청 된 id, phone 값과 동일한 예약 데이터를 삭제합니다.
deleteByBookingId: (req, res) => {
const { booking_uuid } = req.params;
// TODO:
}
};
페어분이 코로나에 걸리셔서(ㅠoㅠ) bookController는 혼자 진행했다!
서버는 정말 긴가민가 알겠으면서 모르겠다.
낼 하는 아고라스테이츠 서버 만들기는 어떻게 하지 감이 안온다;ㅁ; 힁
물론 내일이 되면 어떻게든 하긴 하것지....!!!!