Требуется разработать небольшой веб сервис, который будет отвечать за расчет рабочего расписания сотрудников. Расписание работника компании Сервер на вход получает период дат и id работника в качестве get параметров: userId, startDate, endDate В ответ сервер должен отправить рабочее расписание работника в формате JSON. В расписание не должны попасть: праздничные дни отпускные дни сотрудника обеденный перерыв время до начала рабочего дня и после рабочего дня время корпоратива: 10.01.2018 15:00 - 11.01.2018 00:00. Пример ответа:
GET http://localhost/schedule?startDate=2018-01-01&?endDate=2018-01-14&userId=1
{
schedule: [{
day: '2018-01-09',
timeRanges: [{
start: '1000',
end: '1300'
},
{
start: '1400',
end: '1900'
}
]
},
{
day: '2018-01-10',
timeRanges: [{
start: '1000',
end: '1300'
},
{
start: '1400',
end: '1500'
}
]
},
]
}
Для исключения из рабочего расписания праздничных дней используйте любой открытый API источник (например, Google calendar API).
Работу с базой данных реализовывать не обязательно, однако, подумайте, как вы будете хранить информацию о графике работы и отпуске сотрудника. В качестве индивидуальных данных работника используйте следующие параметры (или любые подобные):
Работник №1 • Отпуск два раза в год (11.01 - 25.01) и (01.02 - 15.02). • График (10:00 - 13:00 [обед] 14:00 - 19:00).
Работник №2 • Отпуск один раз в год (01.02 - 01.03). • График (09:00 - 12:00 [обед] 13:00 - 18:00).
###Требования и пояснения к задаче • Код должен быть написан в ОО стиле, быть чистым и хорошо читаться. • Обязательно должна быть инструкция по запуску сервиса. • При выполнении задания можно использовать любое открытое ПО (фреймворки, компоненты). • Плюсом будет покрытие кода автоматическими тестами и выполнение дополнительного задания.
Дополнительное задание: Добавить endpoint, который по тем же входным параметрам вернет нерабочее расписание работника (в том же формате, что и рабочее расписание)