Схемы валидации параметров функций модуля взаимодействия с БД

This commit is contained in:
Mikhail Chechnev 2018-11-25 20:48:52 +03:00
parent e8843025ef
commit 2698ab6fee

View File

@ -8,30 +8,173 @@
//----------------------
const Schema = require("validate"); //Схемы валидации
const { NLOG_STATE_INF, NLOG_STATE_WRN, NLOG_STATE_ERR } = require("../models/obj_log"); //Схемы валидации записи журнала работы сервиса обмена
const {
NQUEUE_EXEC_STATE_INQUEUE,
NQUEUE_EXEC_STATE_APP,
NQUEUE_EXEC_STATE_APP_OK,
NQUEUE_EXEC_STATE_APP_ERR,
NQUEUE_EXEC_STATE_DB,
NQUEUE_EXEC_STATE_DB_OK,
NQUEUE_EXEC_STATE_DB_ERR,
NQUEUE_EXEC_STATE_OK,
NQUEUE_EXEC_STATE_ERR
} = require("../models/obj_queue"); //Схемы валидации сообщения очереди обмена
//------------------
// Интерфейс модуля
//------------------
//Схема валидации параметров установки состояния позиции очереди
//Схема валидации параметров конструктора
exports.DBConnector = new Schema({
//Имя пользователя БД
sUser: {
type: String,
required: true,
message: {
type: "Имя пользователя БД (sUser) имеет некорректный тип данных (ожидалось - String)",
required: "Не указано имя пользователя БД (sUser)"
}
},
//Пароль пользователя БД
sPassword: {
type: String,
required: true,
message: {
type: "Пароль пользователя БД (sPassword) имеет некорректный тип данных (ожидалось - String)",
required: "Не указан пароль пользователя БД (sPassword)"
}
},
//Строка подключения к БД
sConnectString: {
type: String,
required: true,
message: {
type: "Строка подключения к БД (sConnectString) имеет некорректный тип данных (ожидалось - String)",
required: "Не указана строка подключения к БД (sConnectString)"
}
},
//Наименование сервера приложений в сессии БД
sSessionAppName: {
type: String,
required: true,
message: {
type:
"Наименование сервера приложений в сессии БД (sSessionAppName) имеет некорректный тип данных (ожидалось - String)",
required: "Не указано наименование сервера приложений в сессии БД (sSessionAppName)"
}
},
//Наименование пользовательского модуля для взаимодействия с БД
sConnectorModule: {
type: String,
required: true,
message: {
type:
"Наименование пользовательского модуля для взаимодействия с БД (sConnectorModule) имеет некорректный тип данных (ожидалось - String)",
required: "Не указано наименование пользовательского модуля для взаимодействия с БД (sConnectorModule)"
}
}
});
//Схема валидации параметров функции записи в журнал работы сервиса
exports.putLog = new Schema({
//Тип сообщения журнала работы сервиса
nLogState: {
type: Number,
enum: [NLOG_STATE_INF, NLOG_STATE_WRN, NLOG_STATE_ERR],
required: true,
message: {
type: "Тип сообщения журнала работы сервиса (nLogState) имеет некорректный тип данных (ожидалось - Number)",
enum: "Значение типа сообщения журнала работы сервиса (nLogState) не поддерживается",
required: "Не указан тип сообщения журнала работы сервиса (nLogState)"
}
},
//Сообщение журнала работы сервиса
sMsg: {
type: String,
required: false,
message: {
type: "Сообщение журнала работы сервиса (sMsg) имеет некорректный тип данных (ожидалось - String)",
required: "Не указано сообщение журнала работы сервиса (sMsg)"
}
},
//Идентификатор связанного сервиса
nServiceId: {
type: Number,
required: false,
message: {
type:
"Идентификатор связанного сервиса сообщения журнала работы сервиса (nServiceId) имеет некорректный тип данных (ожидалось - Number)",
required: "Не указан идентификатор связанного сервиса сообщения журнала работы сервиса (nServiceId)"
}
},
//Идентификатор связанной функции-обработчика сервиса
nServiceFnId: {
type: Number,
required: false,
message: {
type:
"Идентификатор связанной функции-обработчика сообщения журнала работы сервиса (nServiceFnId) имеет некорректный тип данных (ожидалось - Number)",
required:
"Не указан идентификатор связанной функции-обработчика сообщения журнала работы сервиса (nServiceFnId)"
}
},
//Идентификатор связанной позиции очереди обмена
nQueueId: {
type: Number,
required: false,
message: {
type:
"Идентификатор связанной позиции очереди обмена сообщения журнала работы сервиса (nQueueId) имеет некорректный тип данных (ожидалось - Number)",
required:
"Не указан идентификатор связанной позиции очереди обмена сообщения журнала работы сервиса (nQueueId)"
}
}
});
//Схема валидации параметров функции считывания исходящих сообщений
exports.getOutgoing = new Schema({
//Количество считываемых сообщений очереди
nPortionSize: {
type: Number,
required: true,
message: {
type:
"Количество считываемых сообщений очереди (nPortionSize) имеет некорректный тип данных (ожидалось - Number)",
required: "Не указано количество считываемых сообщений очереди (nPortionSize)"
}
}
});
//Схема валидации параметров функции установки состояния позиции очереди
exports.setQueueState = new Schema({
//Идентификатор позиции очереди
nQueueId: {
type: Number,
required: true,
message: {
type: "Идентификатор позиции очереди (nQueueId) должен быть числом",
type: "Идентификатор позиции очереди (nQueueId) имеет некорректный тип данных (ожидалось - Number)",
required: "Не указан идентификатор позиции очереди (nQueueId)"
}
},
//Код состояния
nExecState: {
type: Number,
enum: [1, 2], //!!!!!!!!!!!!!!!!!!!!!!
enum: [
NQUEUE_EXEC_STATE_INQUEUE,
NQUEUE_EXEC_STATE_APP,
NQUEUE_EXEC_STATE_APP_OK,
NQUEUE_EXEC_STATE_APP_ERR,
NQUEUE_EXEC_STATE_DB,
NQUEUE_EXEC_STATE_DB_OK,
NQUEUE_EXEC_STATE_DB_ERR,
NQUEUE_EXEC_STATE_OK,
NQUEUE_EXEC_STATE_ERR
],
required: true,
message: {
type: "Код состояния (nExecState) должен быть числовым",
enum: "Указанный код состояния (nExecState) не поддерживается",
type: "Код состояния (nExecState) имеет некорректный тип данных (ожидалось - Number)",
enum: "Значение кода состояния (nExecState) не поддерживается",
required: "Не указан код состояния (nExecState)"
}
},
@ -40,7 +183,8 @@ exports.setQueueState = new Schema({
type: String,
required: false,
message: {
type: "Сообщение обработчика (sExecMsg) должно быть строкой"
type: "Сообщение обработчика (sExecMsg) имеет некорректный тип данных (ожидалось - String)",
required: "Не указано сообщени обработчика (sExecMsg)"
}
}
});