Преднастроенные сущности (fixtures)

Путь расположения

Путь в сборочном каталоге

/era_dc/priv/<SOLUTION>/*.json

Обзор

Определяют конкретные сущности и их параметры для автоматического создания в домене (только сущности, управляемые доменным центром – роли mdc).

Применяются к домену в момент его создания и возможно в момент перезагрузки домена ролью mdc.

Применение происходит во вторую очередь: к домену сначала применяются общие фикстуры и затем уже фикстуры солюшена. При этом к мастер-домену, применяются только фикстуры мастер-домена (солюшен мастер-домена также может быть задан, но это лишено смысла). Любой другой домен применяет общие фикстуры рабочего домена и фикстуры своего солюшена. Применение идет в порядке сортировки имен файлов.

Каждый файл может содержать множество объектов подлежащих созданию. Каждый каталог может содержать произвольное множество файлов-фикстур, применяемых в порядке лексикографической сортировки имен файлов.

Формат:
{
  "objects": [
    {
      "crud": str,
      "applycondition": "always" | "notexist",
      "data": object
    },
    ...
  ]
}
  • "crud" – тип создаваемого объекта в формате известном роли mdc (domain, user, featurecode, sipuser, vectorrule, addressbook, …​).

  • "applycondition" – условия создания сущностей при загрузке домена:

    • "always" – пересоздавать объект при каждой загрузке домена;

    • "notexist" – создавать объект только при условии, что он не существует в домене.

  • "data" – создаваемый объект (поля и значения)

Пример

Создает пользователя, если он отсутствует, с конкретными идентификационными данными, ролью. Не модифицирует пользователя, если его изменили вручную, но пересоздает его, если он будет удален.

Пример:
{
  "objects": [
    {
      "crud": "user",
      "applycondition": "notexists",
      "data":
        {
          "id": "8de96fb8-afc2-67e1-057a-60115bc80006",
          "name": "sample_user",
		  "pwd": "user123",
		  "login": "sample_user"
          "opts": {"roles": ["sample"]}
        }
    }
  ]
}