diff --git a/core/utils.js b/core/utils.js index 0c2560c..604cc85 100644 --- a/core/utils.js +++ b/core/utils.js @@ -87,7 +87,7 @@ const makeErrorText = e => { return sErr; }; -//Считывание наименования модуля-обработчика сервера приложений (ожидаемый формат - <МОДУЛЬ>/<ФУНКЦИЯ>) +//Считывание наименования модуля-обработчика сервера приложений (ожидаемый формат - <МОДУЛЬ>.js/<ФУНКЦИЯ>) const getAppSrvModuleName = sAppSrv => { //Если есть что разбирать if (sAppSrv) { @@ -111,7 +111,7 @@ const getAppSrvModuleName = sAppSrv => { } }; -//Считывание наименования функции модуля-обработчика сервера приложений (ожидаемый формат - <МОДУЛЬ>/<ФУНКЦИЯ>) +//Считывание наименования функции модуля-обработчика сервера приложений (ожидаемый формат - <МОДУЛЬ>.js/<ФУНКЦИЯ>) const getAppSrvFunctionName = sAppSrv => { //Если есть что разбирать if (sAppSrv) { diff --git a/models/obj_service_function.js b/models/obj_service_function.js index 75db60b..06c5e15 100644 --- a/models/obj_service_function.js +++ b/models/obj_service_function.js @@ -43,6 +43,19 @@ const SRETRY_SCHEDULE_DAY = "DAY"; //Сутки (строковый код) const SRETRY_SCHEDULE_WEEK = "WEEK"; //Неделя (строковый код) const SRETRY_SCHEDULE_MONTH = "MONTH"; //Месяц (строковый код) +//------------- +// Тело модуля +//------------- + +//Функция проверки наименования обработчика со стороны сервера приложений +const validateAppSrvFn = val => { + if (val) { + let r = /^[a-z0-9_.-]+(.js)\/[a-z0-9_.-]+$/; + return r.test(val.toLowerCase()); + } + return true; +}; + //------------------ // Интерфейс модуля //------------------ @@ -224,22 +237,28 @@ exports.ServiceFunction = new Schema({ sAppSrvBefore: { type: String, required: false, + use: { validateAppSrvFn }, message: { type: "Обработчик сообщения 'до' на строне сервера приложений для функции сервиса (sAppSrvBefore) имеет некорректный тип данных (ожидалось - String)", required: - "Не указан обработчик сообщения 'до' на строне сервера приложений для функции сервиса (sAppSrvBefore)" + "Не указан обработчик сообщения 'до' на строне сервера приложений для функции сервиса (sAppSrvBefore)", + validateAppSrvFn: + "Обработчик сообщения 'до' на строне сервера приложений для функции сервиса (sAppSrvBefore) имеет некорректный формат, ожидалось: <МОДУЛЬ>.js/<ФУНКЦИЯ>" } }, //Обработчик сообщения "после" на строне сервера приложений для функции сервиса sAppSrvAfter: { type: String, required: false, + use: { validateAppSrvFn }, message: { type: "Обработчик сообщения 'после' на строне сервера приложений для функции сервиса (sAppSrvAfter) имеет некорректный тип данных (ожидалось - String)", required: - "Не указан обработчик сообщения 'после' на строне сервера приложений для функции сервиса (sAppSrvBefore)" + "Не указан обработчик сообщения 'после' на строне сервера приложений для функции сервиса (sAppSrvAfter)", + validateAppSrvFn: + "Обработчик сообщения 'после' на строне сервера приложений для функции сервиса (sAppSrvBefore) имеет некорректный формат, ожидалось: <МОДУЛЬ>.js/<ФУНКЦИЯ>" } } });