gimntut / databoom-talking

Территория обсуждений потенциальных возможностей databoom

Home Page:https://github.com/gimntut/databoom-talking/issues

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

О синтаксисе файла обработчиков handlers.json

gimntut opened this issue · comments

Первый уровень - объекты databoom
Второй уровень - события объекта
Третий уровень - обработчики событий

Начальный синтаксис:

{
  "collections/table1[firstName, lastName, profession]": {
    "onRead": {
      "if": true
    }
  },
  "collections/table1[salary]": {
    "onRead": {
      "if": "$user in groups['groupName']"
    }
  },
  "collections/table1": {
    "onRead": {
      "if": true,
    }
}

Расширенный синтаксис:

{
  "collections/table1[firstName, lastName, profession]": {
    "onRead": {
      "if": true
    }
  },
  "collections/table1[salary]": {
    "onRead": {
      "if": "$user in groups['groupName']"
    }
  },
  "collections/table1": {
    "onRead": {
      "order": ["odata", "handler[js]", "handler[py]"],
      "if": "1=2",
      "webhook": "http://enterprise-server.ru/?param1=$old&param2=$new&param3=${user.name}",
      "handler[js]": "onRead from files/system/one.js",
      "handler[py]": "onRead from files/system/two.py",
      "handler[extension]": "onSuperRead from external/templates",
      "odata": ""
    },
    "users/*": {
      "onAuth": {
        "bool": true
      },
      "onLogout": {
        "handler[js]": "onLogout from files/system/user.js"
      }
    },
    "files/*": {},
    "extension/internal/myExtension/*": {},
    "extension/external/storage/*": {},
    "extension/external/templates/*": {}
  }
}