forked from CITKParus/P8-ExchangeService
Завершенная схема валидации подключаемого модуля взаимодействия с БД
This commit is contained in:
parent
9525bb8609
commit
d062a0d32e
@ -1,60 +0,0 @@
|
||||
/*
|
||||
Сервис интеграции ПП Парус 8 с WEB API
|
||||
Модели данных: Описатель интерфейса подключаемого модуля взаимодействия с БД
|
||||
*/
|
||||
|
||||
//----------------------
|
||||
// Подключение библиотек
|
||||
//----------------------
|
||||
|
||||
const Schema = require("validate"); //Схемы валидации
|
||||
|
||||
//------------------
|
||||
// Интерфейс модуля
|
||||
//------------------
|
||||
|
||||
/*
|
||||
"getServiceFunctions",
|
||||
"log",
|
||||
"getQueueOutgoing",
|
||||
"putQueueIncoming",
|
||||
"setQueueState"
|
||||
|
||||
*/
|
||||
|
||||
const validateFunctionType = val => {
|
||||
let sFn = {}.toString.call(val);
|
||||
console.log(sFn);
|
||||
return sFn === "[object Function]" || sFn === "[object AsyncFunction]";
|
||||
};
|
||||
|
||||
//Схема валидации подключаемого модуля взаимодействия с БД
|
||||
exports.dbConnectorModule = new Schema({
|
||||
//Функция подключения к БД
|
||||
connect: {
|
||||
use: { validateFunctionType },
|
||||
required: true,
|
||||
message: {
|
||||
validateFunctionType: "Функция подключения к БД (connect) имеет неверный формат",
|
||||
required: "Не реализована функция подключения к БД (connect)"
|
||||
}
|
||||
},
|
||||
//Функция отключения от БД
|
||||
disconnect: {
|
||||
type: Function,
|
||||
required: true,
|
||||
message: {
|
||||
type: "Функция отключения от БД (disconnect) имеет неверный формат",
|
||||
required: "Не реализована функция отключения от БД (disconnect)"
|
||||
}
|
||||
},
|
||||
//Функция получения данных о сервисах
|
||||
getServices: {
|
||||
type: Function,
|
||||
required: true,
|
||||
message: {
|
||||
type: "Функция получения данных сервисов (getServices) имеет неверный формат",
|
||||
required: "Не реализована функция получения данных сервисов (getServices)"
|
||||
}
|
||||
}
|
||||
});
|
102
models/intf_db_connector_module.js
Normal file
102
models/intf_db_connector_module.js
Normal file
@ -0,0 +1,102 @@
|
||||
/*
|
||||
Сервис интеграции ПП Парус 8 с WEB API
|
||||
Модели данных: Описатель интерфейса подключаемого модуля взаимодействия с БД
|
||||
*/
|
||||
|
||||
//----------------------
|
||||
// Подключение библиотек
|
||||
//----------------------
|
||||
|
||||
const Schema = require("validate"); //Схемы валидации
|
||||
|
||||
//------------
|
||||
// Тело модуля
|
||||
//------------
|
||||
|
||||
const validateFunctionType = val => {
|
||||
let sFn = {}.toString.call(val);
|
||||
return sFn === "[object Function]" || sFn === "[object AsyncFunction]";
|
||||
};
|
||||
|
||||
//------------------
|
||||
// Интерфейс модуля
|
||||
//------------------
|
||||
|
||||
//Схема валидации подключаемого модуля взаимодействия с БД
|
||||
exports.dbConnectorModule = new Schema({
|
||||
//Подключение к БД
|
||||
connect: {
|
||||
use: { validateFunctionType },
|
||||
required: true,
|
||||
message: {
|
||||
validateFunctionType: "Функция подключения к БД (connect) имеет неверный формат",
|
||||
required: "Не реализована функция подключения к БД (connect)"
|
||||
}
|
||||
},
|
||||
//Отключение от БД
|
||||
disconnect: {
|
||||
use: { validateFunctionType },
|
||||
required: true,
|
||||
message: {
|
||||
validateFunctionType: "Функция отключения от БД (disconnect) имеет неверный формат",
|
||||
required: "Не реализована функция отключения от БД (disconnect)"
|
||||
}
|
||||
},
|
||||
//Получение списка сервисов
|
||||
getServices: {
|
||||
use: { validateFunctionType },
|
||||
required: true,
|
||||
message: {
|
||||
validateFunctionType: "Функция получения списка сервисов (getServices) имеет неверный формат",
|
||||
required: "Не реализована функция получения списка сервисов (getServices)"
|
||||
}
|
||||
},
|
||||
//Получения списка функций сервиса
|
||||
getServiceFunctions: {
|
||||
use: { validateFunctionType },
|
||||
required: true,
|
||||
message: {
|
||||
validateFunctionType:
|
||||
"Функция получения списка функций сервиса (getServiceFunctions) имеет неверный формат",
|
||||
required: "Не реализована функция получения списка функций сервиса (getServiceFunctions)"
|
||||
}
|
||||
},
|
||||
//Протоколирование работы сервиса
|
||||
log: {
|
||||
use: { validateFunctionType },
|
||||
required: true,
|
||||
message: {
|
||||
validateFunctionType: "Функция протоколирования работы сервиса (log) имеет неверный формат",
|
||||
required: "Не реализована функция протоколирования работы сервиса (log)"
|
||||
}
|
||||
},
|
||||
//Считывание записей исходящих сообщений очереди
|
||||
getQueueOutgoing: {
|
||||
use: { validateFunctionType },
|
||||
required: true,
|
||||
message: {
|
||||
validateFunctionType:
|
||||
"Функция считывания записей исходящих сообщений очереди (getQueueOutgoing) имеет неверный формат",
|
||||
required: "Не реализована функция считывания записей исходящих сообщений очереди (getQueueOutgoing)"
|
||||
}
|
||||
},
|
||||
//Добавление входящего сообщения очереди
|
||||
putQueueIncoming: {
|
||||
use: { validateFunctionType },
|
||||
required: true,
|
||||
message: {
|
||||
validateFunctionType:
|
||||
"Функция добавления входящего сообщения очереди (putQueueIncoming) имеет неверный формат",
|
||||
required: "Не реализована функция добавления входящего сообщения очереди (putQueueIncoming)"
|
||||
}
|
||||
},
|
||||
//Уствновка состояния записи очереди
|
||||
setQueueState: {
|
||||
use: { validateFunctionType },
|
||||
required: true,
|
||||
message: {
|
||||
validateFunctionType: "Функция уствновки состояния записи очереди (setQueueState) имеет неверный формат",
|
||||
required: "Не реализована функция уствновки состояния записи очереди (setQueueState)"
|
||||
}
|
||||
}
|
||||
});
|
11
test.js
11
test.js
@ -6,7 +6,7 @@
|
||||
require("module-alias/register");
|
||||
const srvModel = require("./models/obj_service"); //Модель данных сервиса
|
||||
const dbConnectorModel = require("./models/prms_db_connector"); //Модель данных сервиса
|
||||
const dbConnectorInterfaceModel = require("./models/interface_db_connector_module"); //Интерфейс модуля взаимодействия с БД
|
||||
const dbConnectorInterfaceModel = require("./models/intf_db_connector_module"); //Интерфейс модуля взаимодействия с БД
|
||||
const utl = require("./core/utils"); //Вспомогательные функции
|
||||
const db = require("./core/db_connector"); //Взаимодействие с БД
|
||||
const cfg = require("./config"); //Настройки сервера приложений
|
||||
@ -20,8 +20,13 @@ let a = utl.validateObject(
|
||||
);
|
||||
console.log(a);
|
||||
|
||||
let b = utl.validateObject(pDB, dbConnectorInterfaceModel.dbConnectorModule);
|
||||
console.log(b);
|
||||
let b = utl.validateObject(
|
||||
pDB,
|
||||
dbConnectorInterfaceModel.dbConnectorModule,
|
||||
"Пользовательский модуль подключения к БД"
|
||||
);
|
||||
if (b) console.log(b);
|
||||
else console.log("Нет ошибок в модуле");
|
||||
/*
|
||||
const errors = srvModel.schema.validate({ nId: 123, sCode: "", nSrvType: "", sSrvType: "" });
|
||||
console.log(errors);
|
||||
|
Loading…
x
Reference in New Issue
Block a user