From 0b4dbfa3b066560feb325ad63a24fd60ce8c1c62 Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Sun, 25 Nov 2018 20:47:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D1=85=D0=B5=D0=BC=D0=B0=20=D0=B2=D0=B0?= =?UTF-8?q?=D0=BB=D0=B8=D0=B4=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=B8=20=D0=B6=D1=83=D1=80=D0=B0=D0=BD=D0=B0=D0=BB?= =?UTF-8?q?=D0=B0=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=D0=B5?= =?UTF-8?q?=D1=80=D0=B2=D0=B8=D1=81=D0=B0=20=D0=B8=20=D1=81=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=B0=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B5=D0=B9?= =?UTF-8?q?=20=D0=B6=D1=83=D1=80=D0=BD=D0=B0=D0=BB=D0=B0=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=D0=B5=D1=80=D0=B2=D0=B8=D1=81?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/obj_log.js | 153 +++++++++++++++++++++++++++++++++++++++++++++ models/obj_logs.js | 41 ++++++++++++ 2 files changed, 194 insertions(+) create mode 100644 models/obj_log.js create mode 100644 models/obj_logs.js diff --git a/models/obj_log.js b/models/obj_log.js new file mode 100644 index 0000000..aefdcba --- /dev/null +++ b/models/obj_log.js @@ -0,0 +1,153 @@ +/* + Сервис интеграции ПП Парус 8 с WEB API + Модели данных: описатель записи журнала работы сервиса обмена +*/ + +//---------------------- +// Подключение библиотек +//---------------------- + +const Schema = require("validate"); //Схемы валидации + +//---------- +// Константы +//---------- + +//Состояния записей журнала работы +const NLOG_STATE_INF = 0; //Информация +const NLOG_STATE_WRN = 1; //Предупреждение +const NLOG_STATE_ERR = 2; //Ошибка +const SLOG_STATE_INF = "INF"; //Информация (строковый код) +const SLOG_STATE_WRN = "WRN"; //Предупреждение (строковый код) +const SLOG_STATE_ERR = "ERR"; //Ошибка (строковый код) + +//------------------ +// Интерфейс модуля +//------------------ + +//Константы +exports.NLOG_STATE_INF = NLOG_STATE_INF; +exports.NLOG_STATE_WRN = NLOG_STATE_WRN; +exports.NLOG_STATE_ERR = NLOG_STATE_ERR; +exports.SLOG_STATE_INF = SLOG_STATE_INF; +exports.SLOG_STATE_WRN = SLOG_STATE_WRN; +exports.SLOG_STATE_ERR = SLOG_STATE_ERR; + +//Схема валидации записи журнала работы сервиса обмена +exports.Log = new Schema({ + //Идентификатор записи журнала работы сервиса обмена + nId: { + type: Number, + required: true, + message: { + type: + "Идентификатор записи журнала работы сервиса обмена (nId) имеет некорректный тип данных (ожидалось - Number)", + required: "Не указан идентификатор записи журнала работы сервиса обмена (nId)" + } + }, + //Дата записи журнала работы сервиса обмена + dLogDate: { + type: Date, + required: true, + message: { + type: + "Дата записи журнала работы сервиса обмена (dLogDate) имеет некорректный тип данных (ожидалось - Date)", + required: "Не указана дата записи журнала работы сервиса обмена (dLogDate)" + } + }, + //Дата записи журнала работы сервиса обмена (строковое представление) + sLogDate: { + type: String, + required: true, + message: { + type: + "Строковое представление даты записи журнала работы сервиса обмена (sLogDate) имеет некорректный тип данных (ожидалось - String)", + required: "Не указано строковое представление даты записи журнала работы сервиса обмена (sLogDate)" + } + }, + //Состояние записи журнала работы сервиса обмена + nLogState: { + type: Number, + enum: [NLOG_STATE_INF, NLOG_STATE_WRN, NLOG_STATE_ERR], + required: true, + message: { + type: + "Состояние записи журнала работы сервиса обмена (nLogState) имеет некорректный тип данных (ожидалось - Number)", + enum: "Значение состояния записи журнала работы сервиса обмена (nLogState) не поддерживается", + required: "Не указано состояние записи журнала работы сервиса обмена (nLogState)" + } + }, + //Состояние записи журнала работы сервиса обмена (строковый код) + sLogState: { + type: String, + enum: [SLOG_STATE_INF, SLOG_STATE_WRN, SLOG_STATE_ERR], + required: true, + message: { + type: + "Строковый код состояния записи журнала работы сервиса обмена (sLogState) имеет некорректный тип данных (ожидалось - String)", + enum: + "Значение строкового кода состояния записи журнала работы сервиса обмена (sLogState) не поддерживается", + required: "Не указан строковый код состояния записи журнала работы сервиса обмена (sLogState)" + } + }, + //Сообщение записи журнала работы сервиса обмена + sMsg: { + type: String, + required: false, + message: { + type: + "Сообщение записи журнала работы сервиса обмена (sMsg) имеет некорректный тип данных (ожидалось - String)", + required: "Не указано сообщение записи журнала работы сервиса обмена (sMsg)" + } + }, + //Идентификатор сервиса записи журнала работы сервиса обмена + nServiceId: { + type: Number, + required: false, + message: { + type: + "Идентификатор сервиса записи журнала работы сервиса обмена (nServiceId) имеет некорректный тип данных (ожидалось - Number)", + required: "Не указан идентификатор сервиса записи журнала работы сервиса обмена (nServiceId)" + } + }, + //Код сервиса записи журнала работы сервиса обмена + sServiceCode: { + type: String, + required: false, + message: { + type: + "Код сервиса записи журнала работы сервиса обмена (sServiceCode) имеет некорректный тип данных (ожидалось - String)", + required: "Не указан код сервиса записи журнала работы сервиса обмена (sServiceCode)" + } + }, + //Идентификатор функции сервиса записи журнала работы сервиса обмена + nServiceFnId: { + type: Number, + required: false, + message: { + type: + "Идентификатор функции сервиса записи журнала работы сервиса обмена (nServiceFnId) имеет некорректный тип данных (ожидалось - Number)", + required: "Не указан идентификатор функции сервиса записи журнала работы сервиса обмена (nServiceFnId)" + } + }, + //Код функции сервиса записи журнала работы сервиса обмена + sServiceFnCode: { + type: String, + required: false, + message: { + type: + "Код функции сервиса записи журнала работы сервиса обмена (sServiceFnCode) имеет некорректный тип данных (ожидалось - String)", + required: "Не указан код функции сервиса записи журнала работы сервиса обмена (sServiceFnCode)" + } + }, + //Идентификатор сообщения очереди обмена записи журнала работы сервиса обмена + nQueueId: { + type: Number, + required: false, + message: { + type: + "Идентификатор сообщения очереди обмена записи журнала работы сервиса обмена (nQueueId) имеет некорректный тип данных (ожидалось - Number)", + required: "Не указан идентификатор сообщения очереди обмена записи журнала работы сервиса обмена (nQueueId)" + } + } +}); diff --git a/models/obj_logs.js b/models/obj_logs.js new file mode 100644 index 0000000..364a9bf --- /dev/null +++ b/models/obj_logs.js @@ -0,0 +1,41 @@ +/* + Сервис интеграции ПП Парус 8 с WEB API + Модели данных: описатель списка записей журнала работы сервиса обмена +*/ + +//---------------------- +// Подключение библиотек +//---------------------- + +const Schema = require("validate"); //Схемы валидации +const { Log } = require("./obj_log"); //Схема валидации записи журнала работы сервиса обмена + +//------------ +// Тело модуля +//------------ + +//Описатель схемы валидации списка сервисов +const defLogs = (bRequired, sName) => { + return { + type: Array, + required: bRequired, + each: Log, + message: { + type: + "Список записей журнала работы сервиса обмена (" + + sName + + ") имеет некорректный тип данных (ожидалось - Array)", + required: "Не указан список записей журнала работы сервиса обмена (" + sName + ")" + } + }; +}; + +//------------------ +// Интерфейс модуля +//------------------ + +//Описатель схемы валидации списка сервисов +exports.defLogs = defLogs; + +//Схема валидации списка сервисов +exports.Logs = new Schema({ logs: defLogs(true, "logs") });