{
"id": 1,
"name": "Boeing 738",
"makeModel": "B738-1950",
"totalSeats": 205,
"businessSeats": 21,
"economySeats": 162
}
GET /aircrafts - возвращает массив объектов
GET /aircrafts/{id} - возвращает один объект по его id
POST /aircrafts - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /aircrafts - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /aircrafts/{id} - удаляет объект по id, возвращает удалённый объект
{
"id": 2,
"country": { COUNTRIES }
"name": "Abu Dhabi",
"iatacode": "AUH"
}
GET /airports - возвращает массив объектов
GET /airports/{id} - возвращает один объект по его id
POST /airports - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /airports - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /airports/{id} - удаляет объект по id, возвращает удалённый объект
{
"id": 1,
"service": "Extra Blanket",
"price": 10.0
}
GET /amenities - возвращает массив объектов
GET /amenities/ - возвращает один объект по его id
{
"amenities": { AMENITIES },
"tickets": { TICKETS },
"price": 5.0
}
У AmenitiesTickets составной id, это по тз, составляется из amenities и tickets. Изменение и удаление только произойдёт успешно только с объектами на входе, у которых есть эти поля
GET /amenitiestickets - возвращает массив объектов
GET /amenitiestickets/{bookingReference} - возвращает один все дополнительные услуги по его номеру бронирования билета
POST /amenitiestickets - помещает в базу данных переданный объект, возвращает помещённый объект
PUT /amenitiestickets - редактирует объект, имеющийся в базе данных, возвращает изменённый объект или null при ошибке
DELETE /amenitiestickets - удаляет объект, возвращает удалённый объект
POST /amenitiestickets/report - отчёт по допуслугам, на вход может получать дату и flightNumber, возвращает чумовую структуру(см. ниже) по таблице в тз
{
"First Class": {},
"Economy": {
"Extra Blanket": 1,
"Premium Headphones Rental": 1
},
"Business": {}
}
{
"amenities": {
"id": 1,
"service": "Extra Blanket",
"price": 10.0
},
"cabinType": {
"id": 2,
"name": "Business"
}
},
GET /amenitiescabintypes - возвращает массив объектов
{
"id": 1,
"name": "Economy"
}
GET /cabintypes - возвращает массив объектов
GET /cabintypes/{id
POST /cabintypes - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /cabintypes - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /cabintypes/{id} - удаляет объект по id, возвращает удалённый объект
{
"id": 1,
"name": "Afghanistan"
}
GET /countries - возвращает массив объектов
GET /countries/{id} - возвращает один объект по его id
POST /countries - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /countries - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /countries/{id} - удаляет объект по id, возвращает удалённый объект
{
"id": 1,
"country": { COUNTRIES },
"title": "Abu dhabi",
"phone": "638-757-8582\r\n",
"contact": "MIchael Malki"
}
GET /offices - возвращает массив объектов
GET /offices/{id} - возвращает один объект по его id
POST /offices - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /offices - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /offices/{id} - удаляет объект по id, возвращает удалённый объект
{
"id": 2,
"title": "User"
}
GET /roles - возвращает массив объектов
GET /roles/{id} - возвращает один объект по его id
{
"id": 1,
"departureAirport": { AIRPORTS },
"arrivalAirport": { AIRPORTS },
"distance": 453,
"flightTime": 64
}
GET /routes - возвращает массив объектов
GET /routes/{id} - возвращает один объект по его id
POST /routes - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /routes - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /routes/{id} - удаляет объект по id, возвращает удалённый объект
{
"id": 1,
"date": "2017-10-04",
"time": "17:00:00",
"aircraft": { AIRCRAFTS },
"route": { ROUTES },
"flightNumber": "49",
"economyPrice": 620.0,
"confirmed": true
}
GET /schedules - возвращает массив объектов
GET /schedules/{id} - возвращает один объект по его id
POST /schedules - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /schedules - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /schedules/{id} - удаляет объект по id, возвращает удалённый объект
POST /schedules/update - меняет или добавляет расписание по шаблонну. при успешном выполнении возвращает изменённый/добавленный объект, при ощибке возвращает null
POST /schedules/search - строит паршруты. На вход получает объект (см. ниже), на выходе массив массивов, где каждый массив второго уровня - маршрут, содержащий от 1 до двух Schedules (см.ещё ниже)
POST /schedules/filter - ищет рейсы. на вход получает объект (см. ниже), на выходе массив Schedules по параметрам
Объект для "POST /schedules/search" и "GET /schedules/search"
{
"date": "2017-10-04", - дата вылета
"departureAirport": "DOH", - аэропорт вылета
"arrivalAirport": "BAH" - - aэропорт прибытия
}
Вывод "POST /schedules/search":
[ - общий массив
[ - маршрут 1
{ - объект Schedules
}
],
[ - маршрут 2
{ - объект Schedules 1
},
{ - объект Schedules 2
}
]
[ - маршрут 3
{ - объект Schedules 1
},
{ - объект Schedules 2
}
]
]
{
"id": 1,
"month": 4,
"year": 2017,
"departureAirport": { AIRPORTS },
"arrivalAirport": { AIRPORTS },
"age": 52,
"gender": (boolean, true - male, false - female)))))))))
"cabinType": "Economy" or "Business" or "FirstClass",
"q1": from 0 to 7,
"q2": 1,
"q3": 2,
"q4": 3
}
GET /surveys - возвращает массив объектов
GET /surveys/{id} - возвращает объект по id
POST /surveys/reports - возвращает краткий отчёт о количестве в категориях, получая на вход объект с полями "year" и "month"
POST /surveys/fullreports - возвращает полный отчёт, получая на вход объект с полями "year" и "month"
POST /surveys - помещает в базу данных массив переданных объектов (переданный объект не должен содержать id), возвращает пустой объект surveys
PUT /tickets - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id), возвращает изменённый объект или null при ошибке
DELETE /tickets/{id} - удаляет объект по id, возвращает удалённый объект
{
"id": 437,
"user": { USERS },
"schedule": { SCHEDULES },
"cabinType": { CABINTYPES },
"firstName": "Natividad",
"lastName": "Cadigan",
"email": null,
"phone": "551-342-5205",
"passportNumber": "450768649",
"country": { COUNTRIES },
"bookingReference": "NCADIG",
"confirmed": true
}
GET /tickets - возвращает массив объектов
GET /tickets/{bookingReference} - возвращает билет(ы) по номеру его бронирования
POST /tickets - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /tickets - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /tickets/{id} - удаляет объект по id, возвращает удалённый объект
{
"id": 1,
"user": { USERS },
"blockingReason": "He is very bad guy"
}
GET /usersblocking - возвращает массив объектов
GET /usersblocking/{id} - возвращает массив объектов по id его user
POST /usersblocking - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /usersblocking - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /usersblocking/{id} - удаляет объект по id, возвращает удалённый объект
{
"id": 1,
"role": { ROLES },
"email": "j.doe@amonic.com",
"firstName": "John",
"lastName": "Doe",
"password": "123",
"office": { OFFICES },
"birthdate": "1983-01-13",
"active": true
}
GET /users - возвращает массив объектов
GET /users/{id} - возвращает массив объектов по id его user
GET /users/offices/{id} - возвращает массив объектов по id офиса
POST /users/verify - верификация, потенциальные ответы:
ACCESS ACCEPT - доступ разрешён
INCORRECT PASSWORD - неверный парольЛЮБОЙ ДРУГОЙ ОТВЕТ - причина блокировки >
POST /users - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /users - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /users/{id} - удаляет объект по id, возвращает удалённый объект
{
"id": 1,
"user": { USERS },
"logInTime": "2023-10-01T14:35:00",
"logOutTime": null,
"crashReason": null,
"softwareCrash": null,
"systemCrash": null
},
GET /userslogs - возвращает массив объектов
GET /userslogs/{id} - возвращает объект(см.ниже) по id его user { "usersLogs": [ USERSLOGS ARRAY ], "timeSpend": "-0001-12-30T01:22:48.617" } POST /userslogs - помещает в базу данных переданный объект (переданный объект не должен содержать id), возвращает помещённый объект
PUT /userslogs - редактирует объект, имеющийся в базе данных (выбор редактируемого осуществляется по id)б возвращает изменённый объект или null при ошибке
DELETE /userslogs/{id} - удаляет объект по id, возвращает удалённый объект