Сервер BOOCO Meteor (v 1.x) / Примеры правил бронирования
◼ Проверка на наличие конфликта с другим бронированием того же ресурса
Проверка наличия у пользователя бронирований других ресурсов
Проверка на бронирование ресурса другим пользователем
Проверка на частоту бронирования ресурса
Описание
Правило:
- позволяет проверить, есть ли у бронируемого ресурса другие бронирования, которые пересекаются по времени с новым бронированием;
- может применяться ко всем типам ресурсов.
Принцип работы
Система выполняет поиск всех бронирований ресурса, которые пересекаются по времени с новым бронированием.
Если система находит такие бронирования, то отображается сообщение о конфликте.
Пример использования
[
{
"$match": {
"$and": [
{ "removed": { "$ne": true } },
{ "$expr": { "$ne": [ "$_id", "$newEvent._id"] } },
{ "$expr": { "$eq": [ "$venueId", "$newEvent.venueId"] } },
{ "$expr": { "$lt": [ "$start", "$newEvent.end"] } },
{ "$expr": { "$gt": [ "$end", "$newEvent.start"] } }
]
}
},
{ "$limit": 1 },
{
"$addFields": {
"message": "Конфликт с другим бронированием"
}
}
]