Валидация формата наименования функции обработчика сообщения сервером приложений

This commit is contained in:
Mikhail Chechnev 2018-12-10 20:07:50 +03:00
parent 22cd610608
commit 0d183b0ddc
2 changed files with 23 additions and 4 deletions

View File

@ -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) {

View File

@ -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/<ФУНКЦИЯ>"
}
}
});