Данная возможность позволяет внедрять собственный код при вызове стандартной RPC-функции. Например, нам требуется при создании нового пользователя записать информацию в лог.
Для начала нам нужно создать файл, который будет заниматься перехватом функции и реализует запись в лог.
Создаем файл ~/modules/injections/notification.js.
exports.userCreateWithLog = function(state, action, method, data) { // (1)
if(action == ‘sys_users’ && method == ‘Add’) { // (2)
var login = data.login; // (3)
console.log(‘Пользователь с логином ’ + login + ‘ создан.’);
}
}
Файл должен экспортировать функцию (1), в нашем случаи это — userCreateWithLog. Данная функция принимает несколько параметров (1):
- state: any — информация об авторизованном пользователе.
- action: string — имя RPC — объекта (сущности базы данных);
- method: string — имя метода RPC объекта.
- data: any — данные переданные RPC функции.
В функции создаем условие на проверку объекта и метода, который хотим обрабатывать (2).
Далее получаем (3) данные из объекта и выполняем с ним требуемую работу.