과제 제출..

문종후·2023년 4월 6일
0

<flightController.js>
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;
// TODO:
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;
// TODO: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);

},

// Advanced
// [PUT] /flight/:uuid 요청을 수행합니다.
// 요청 된 uuid 값과 동일한 uuid 값을 가진 항공편 데이터를 요쳥 된 Body 데이터로 수정합니다.
update: (req, res) => {
const { uuid } = req.params;
const bodyData = req.body;
// TODO:
}
};

<bookController.js>

// 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:
}
};

종합퀴즈재해에빠져버렷다. 사실 bing에게 낚여버렷다는건 안비밀..
내일 만들 아고라스테이츠 서버와 연동하기위해 리액트로 리팩토링중이다.. 리액트는 참 쉬우면서 재밌다.

profile
개발자가되고싶은사람

0개의 댓글