/* Сервис интеграции ПП Парус 8 с WEB API Модели данных: описатель интерфейса подключаемого модуля взаимодействия с БД */ //---------------------- // Подключение библиотек //---------------------- const Schema = require("validate"); //Схемы валидации //------------ // Тело модуля //------------ const validateAsyncFunctionType = val => { let sFn = {}.toString.call(val); return sFn === "[object AsyncFunction]"; }; //------------------ // Интерфейс модуля //------------------ //Схема валидации подключаемого модуля взаимодействия с БД exports.dbConnectorModule = new Schema({ //Тип данных - строка БД DT_VARCHAR: { required: true, message: { required: path => `Не реализована константа для типа данных "Строка" БД (${path})` } }, //Тип данных - число БД DT_NUMBER: { required: true, message: { required: path => `Не реализована константа для типа данных "Число" БД (${path})` } }, //Тип данных - дата БД DT_DATE: { required: true, message: { required: path => `Не реализована константа для типа данных "Дата" БД (${path})` } }, //Тип данных - текстовые данные БД DT_CLOB: { required: true, message: { required: path => `Не реализована константа для типа данных "Текстовые данные" БД (${path})` } }, //Тип данных - двоичные данные БД DT_BLOB: { required: true, message: { required: path => `Не реализована константа для типа данных "Двоичные данные" БД (${path})` } }, //Тип данных - курсор БД DT_CURSOR: { required: true, message: { required: path => `Не реализована константа для типа данных "Курсор" БД (${path})` } }, //Исполнение хранимого объекта БД executeStored: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция исполнения хранимого объекта БД (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция исполнения хранимого объекта БД (${path})` } }, //Подключение к БД connect: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция подключения к БД (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция подключения к БД (${path})` } }, //Отключение от БД disconnect: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция отключения от БД (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция отключения от БД (${path})` } }, //Получение списка сервисов getServices: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция получения списка сервисов (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция получения списка сервисов (${path})` } }, //Получения списка функций сервиса getServiceFunctions: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция получения списка функций сервиса (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция получения списка функций сервиса (${path})` } }, //Получение контекста сервиса getServiceContext: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция получения контекста сервиса (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция получения контекста сервиса (${path})` } }, //Установка контекста сервиса setServiceContext: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция установки контекста сервиса (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция установки контекста сервиса (${path})` } }, //Очистка контекста сервиса clearServiceContext: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция очистки контекста сервиса (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция очистки контекста сервиса (${path})` } }, //Проверка атуентифицированности сервиса isServiceAuth: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция проверки атуентифицированности сервиса (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция проверки атуентифицированности сервиса (${path})` } }, //Постановка в очередь задания на аутентификацию сервиса putServiceAuthInQueue: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция постановки в очередь задания на аутентификацию сервиса (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция постановки в очередь задания на аутентификацию сервиса (${path})` } }, //Получение информации о просроченных сообщениях обмена сервиса getServiceExpiredQueueInfo: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция получения информации о просроченных сообщениях обмена сервиса (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция получения информации о просроченных сообщениях обмена сервиса (${path})` } }, //Протоколирование работы сервиса log: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция протоколирования работы сервиса (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция протоколирования работы сервиса (${path})` } }, //Считывание записи очереди обмена getQueue: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция считывания записи очереди обмена (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция считывания записи очереди обмена (${path})` } }, //Добавление сообщения очереди putQueue: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция добавления сообщения очереди (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция добавления сообщения очереди (${path})` } }, //Считывание записей исходящих сообщений очереди getQueueOutgoing: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция считывания записей исходящих сообщений очереди (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция считывания записей исходящих сообщений очереди (${path})` } }, //Уставновка состояния записи очереди setQueueState: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция установки состояния записи очереди (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция установки состояния записи очереди (${path})` } }, //Считывание данных сообщения очереди getQueueMsg: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция считывания данных сообщения очереди (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция считывания данных сообщения очереди (${path})` } }, //Установка данных сообщения очереди setQueueMsg: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция установки данных сообщения очереди (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция установки данных сообщения очереди (${path})` } }, //Установка параметров сообщения очереди setQueueOptions: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция установки параметров сообщения очереди (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция установки параметров сообщения очереди (${path})` } }, //Считывание результата обработки сообщения очереди getQueueResp: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция считывания результата обработки сообщения очереди (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция считывания результата обработки сообщения очереди (${path})` } }, //Установка результата обработки сообщения очереди setQueueResp: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция установки результата обработки сообщения очереди (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция установки результата обработки сообщения очереди (${path})` } }, //Установка параметров результата обработки сообщения очереди setQueueOptionsResp: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция установки параметров результата обработки сообщения очереди (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция установки параметров результата обработки сообщения очереди (${path})` } }, //Исполнение обработчика со стороны БД для сообщения очереди execQueuePrc: { use: { validateAsyncFunctionType }, required: true, message: { validateAsyncFunctionType: path => `Функция исполнения обработчика со стороны БД для сообщения очереди (${path}) имеет неверный формат (ожидалось - AsyncFunction)`, required: path => `Не реализована функция исполнения обработчика со стороны БД для сообщения очереди (${path})` } } });