Сервер BOOCO Meteor (v 1.x) / Примеры правил бронирования

Настройка правил бронирования

Примеры правил бронирования

Проверка на наличие конфликта с другим бронированием того же ресурса

Проверка наличия у пользователя бронирований других ресурсов

Проверка на бронирование ресурса другим пользователем

Проверка на частоту бронирования ресурса

Ограничение на создание нескольких бронирований подряд

Ограничение на количество бронирований в день

Загрузка файла resource-rules-default.json на сервер BOOCO

Описание

Правило не позволяет бронировать один и тот же ресурс слишком часто. По умолчанию: если со времени последнего бронирования ресурса прошло менее 10 минут (600000 мс), то забронировать этот ресурс нельзя.

При необходимости значение, используемое по умолчанию, можно изменить.

При бронировании ресурса система выполнит поиск предыдущего бронирования этого ресурса и проверит, соблюдается ли заданное ограничение. Если ограничение не соблюдается, то отобразится сообщение о конфликте с указанием оставшегося времени.

Принцип работы

Пример использования

[
  {
    "$addFields": {
      "diff": {"$round": {"$divide": [{ "$subtract": [{ "$add": [600000, {
"$toDate": "$createdAt" }] }, "$$NOW"] }, 60000]} }
    }
  },
{
   "$match": {
     "$and": [
       { "$expr": { "$eq": [ "$venueId", "$newEvent.venueId"] } },
       { "$expr": { "$eq": ["$organizer", "$newEvent.organizer"] } },
       { "diff": { "$gte": 0 } }
   ]
  }
},
{
  "$addFields": {
    "message": { "$concat": ["Вы не можете бронировать это место еще ",
{"$toString": "$diff" }, " мин."] }
   }
}
]