Доступно с 1.20.00

Наша система имеет некоторые надстройки, реализации сверх стандарта OpenAPI (Swagger) вследствии модульности системы.

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

Файловая структура OpenAPI для ядра и модулей описана здесь

При запуске misc/api/generate_docs.pl, берутся за основу файлы user.yaml и admin.yaml (для USER и ADMIN API сооветственно)

И проводится поиск за параметрами $ref, которые ведут к частям OpenAPI тех или иных субмодулей ядра и модулей системы.
За ними постепенно вставляется содержимое, которое потом генерируется в bundle_user.yaml и bundle_admin.yaml.

Примеры

paths:
  $ref: "./user/user/paths.yaml"
  $ref: "../../Abills/modules/Internet/Api/swagger/user/paths.yaml"
  $ref: "../../Abills/modules/Iptv/Api/swagger/user/paths.yaml"
  $ref: "../../Abills/modules/Msgs/Api/swagger/user/paths.yaml"
  $ref: "../../Abills/modules/Abon/Api/swagger/user/paths.yaml"
  $ref: "../../Abills/modules/Paysys/Api/swagger/user/paths.yaml"
  $ref: "./user/config/paths.yaml"
  $ref: "./user/contacts/paths.yaml"
  $ref: "./user/holdup/paths.yaml"
  $ref: "./user/services/paths.yaml"
  $ref: "./user/bots/paths.yaml"
  $ref: "../../Abills/modules/Portal/Api/swagger/user/paths.yaml"


/user/portal/menu:
  $ref: "./paths/portal.yaml"
/user/portal/news:
  $ref: "./paths/news.yaml"
/user/portal/news/{id}:
  $ref: "./paths/newsId.yaml"