Сервер 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"] } }
]
}
},
{
"$addFields": {
"message": { "$concat": ["Забронировано другим пользователем: ",
"$organizerName"] }
}
}
]