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");
|
require("module-alias/register");
|
||||||
const srvModel = require("./models/obj_service"); //Модель данных сервиса
|
const srvModel = require("./models/obj_service"); //Модель данных сервиса
|
||||||
const dbConnectorModel = require("./models/prms_db_connector"); //Модель данных сервиса
|
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 utl = require("./core/utils"); //Вспомогательные функции
|
||||||
const db = require("./core/db_connector"); //Взаимодействие с БД
|
const db = require("./core/db_connector"); //Взаимодействие с БД
|
||||||
const cfg = require("./config"); //Настройки сервера приложений
|
const cfg = require("./config"); //Настройки сервера приложений
|
||||||
@ -20,8 +20,13 @@ let a = utl.validateObject(
|
|||||||
);
|
);
|
||||||
console.log(a);
|
console.log(a);
|
||||||
|
|
||||||
let b = utl.validateObject(pDB, dbConnectorInterfaceModel.dbConnectorModule);
|
let b = utl.validateObject(
|
||||||
console.log(b);
|
pDB,
|
||||||
|
dbConnectorInterfaceModel.dbConnectorModule,
|
||||||
|
"Пользовательский модуль подключения к БД"
|
||||||
|
);
|
||||||
|
if (b) console.log(b);
|
||||||
|
else console.log("Нет ошибок в модуле");
|
||||||
/*
|
/*
|
||||||
const errors = srvModel.schema.validate({ nId: 123, sCode: "", nSrvType: "", sSrvType: "" });
|
const errors = srvModel.schema.validate({ nId: 123, sCode: "", nSrvType: "", sSrvType: "" });
|
||||||
console.log(errors);
|
console.log(errors);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user