/* Сервис интеграции ПП Парус 8 с WEB API Модели данных: описатель сообщения очереди обмена */ //---------------------- // Подключение библиотек //---------------------- const Schema = require("validate"); //Схемы валидации //---------- // Константы //---------- //Состояния исполнения сообщений очереди обмена const NQUEUE_EXEC_STATE_INQUEUE = 0; //Поставлено в очередь const NQUEUE_EXEC_STATE_APP = 1; //Обрабатывается сервером приложений const NQUEUE_EXEC_STATE_APP_OK = 2; //Успешно обработано сервером приложений const NQUEUE_EXEC_STATE_APP_ERR = 3; //Ошибка обработки сервером приложений const NQUEUE_EXEC_STATE_DB = 4; //Обрабатывается СУБД const NQUEUE_EXEC_STATE_DB_OK = 5; //Успешно обработано СУБД const NQUEUE_EXEC_STATE_DB_ERR = 6; //Ошибка обработки СУБД const NQUEUE_EXEC_STATE_OK = 7; //Обработано успешно const NQUEUE_EXEC_STATE_ERR = 8; //Обработано с ошибками const SQUEUE_EXEC_STATE_INQUEUE = "INQUEUE"; //Поставлено в очередь (строковый код) const SQUEUE_EXEC_STATE_APP = "APP"; //Обрабатывается сервером приложений (строковый код) const SQUEUE_EXEC_STATE_APP_OK = "APP_OK"; //Успешно обработано сервером приложений (строковый код) const SQUEUE_EXEC_STATE_APP_ERR = "APP_ERR"; //Ошибка обработки сервером приложений (строковый код) const SQUEUE_EXEC_STATE_DB = "DB"; //Обрабатывается СУБД (строковый код) const SQUEUE_EXEC_STATE_DB_OK = "DB_OK"; //Успешно обработано СУБД (строковый код) const SQUEUE_EXEC_STATE_DB_ERR = "DB_ERR"; //Ошибка обработки СУБД (строковый код) const SQUEUE_EXEC_STATE_OK = "OK"; //Обработано успешно (строковый код) const SQUEUE_EXEC_STATE_ERR = "ERR"; //Обработано с ошибками (строковый код) //------------------ // Интерфейс модуля //------------------ //Константы exports.NQUEUE_EXEC_STATE_INQUEUE = NQUEUE_EXEC_STATE_INQUEUE; exports.NQUEUE_EXEC_STATE_APP = NQUEUE_EXEC_STATE_APP; exports.NQUEUE_EXEC_STATE_APP_OK = NQUEUE_EXEC_STATE_APP_OK; exports.NQUEUE_EXEC_STATE_APP_ERR = NQUEUE_EXEC_STATE_APP_ERR; exports.NQUEUE_EXEC_STATE_DB = NQUEUE_EXEC_STATE_DB; exports.NQUEUE_EXEC_STATE_DB_OK = NQUEUE_EXEC_STATE_DB_OK; exports.NQUEUE_EXEC_STATE_DB_ERR = NQUEUE_EXEC_STATE_DB_ERR; exports.NQUEUE_EXEC_STATE_OK = NQUEUE_EXEC_STATE_OK; exports.NQUEUE_EXEC_STATE_ERR = NQUEUE_EXEC_STATE_ERR; exports.SQUEUE_EXEC_STATE_INQUEUE = SQUEUE_EXEC_STATE_INQUEUE; exports.SQUEUE_EXEC_STATE_APP = SQUEUE_EXEC_STATE_APP; exports.SQUEUE_EXEC_STATE_APP_OK = SQUEUE_EXEC_STATE_APP_OK; exports.SQUEUE_EXEC_STATE_APP_ERR = SQUEUE_EXEC_STATE_APP_ERR; exports.SQUEUE_EXEC_STATE_DB = SQUEUE_EXEC_STATE_DB; exports.SQUEUE_EXEC_STATE_DB_OK = SQUEUE_EXEC_STATE_DB_OK; exports.SQUEUE_EXEC_STATE_DB_ERR = SQUEUE_EXEC_STATE_DB_ERR; exports.SQUEUE_EXEC_STATE_OK = SQUEUE_EXEC_STATE_OK; exports.SQUEUE_EXEC_STATE_ERR = SQUEUE_EXEC_STATE_ERR; //Схема валидации сообщения очереди обмена exports.Queue = new Schema({ //Идентификатор сообщения очереди обмена nId: { type: Number, required: true, message: { type: "Идентификатор сообщения очереди обмена (nId) имеет некорректный тип данных (ожидалось - Number)", required: "Не указан идентификатор сообщения очереди обмена (nId)" } }, //Дата постановки сообщения в очередь обмена dInDate: { type: Date, required: true, message: { type: "Дата постановки сообщения в очередь обмена (dInDate) имеет некорректный тип данных (ожидалось - Date)", required: "Не указана дата постановки сообщения в очередь обмена (dInDate)" } }, //Дата постановки сообщения в очередь обмена (строковое представление) sInDate: { type: String, required: true, message: { type: "Строковое представление даты постановки сообщения в очередь обмена (sInDate) имеет некорректный тип данных (ожидалось - String)", required: "Не указано строковое представление даты постановки сообщения в очередь обмена (sInDate)" } }, //Пользователь поставивший сообщение в очередь обмена sInAuth: { type: String, required: true, message: { type: "Пользователь, поставивший сообщение в очередь обмена (sInAuth) имеет некорректный тип данных (ожидалось - String)", required: "Не указан пользователь, поставивший сообщение в очередь обмена (sInAuth)" } }, //Идентификатор сервиса-обработчика сообщения очереди обмена nServiceId: { type: Number, required: true, message: { type: "Идентификатор сервиса-обработчика сообщения очереди обмена (nServiceId) имеет некорректный тип данных (ожидалось - Number)", required: "Не указан идентификатор сервиса-обработчика сообщения очереди обмена (nServiceId)" } }, //Код сервиса-обработчика сообщения очереди обмена sServiceCode: { type: String, required: true, message: { type: "Код сервиса-обработчика сообщения очереди обмена (sServiceCode) имеет некорректный тип данных (ожидалось - String)", required: "Не указан код сервиса-обработчика сообщения очереди обмена (sServiceCode)" } }, //Идентификатор функции сервиса-обработчика сообщения очереди обмена nServiceFnId: { type: Number, required: true, message: { type: "Идентификатор функции сервиса-обработчика сообщения очереди обмена (nServiceFnId) имеет некорректный тип данных (ожидалось - Number)", required: "Не указан идентификатор функции сервиса-обработчика сообщения очереди обмена (nServiceFnId)" } }, //Код функции сервиса-обработчика сообщения очереди обмена sServiceFnCode: { type: String, required: true, message: { type: "Код функции сервиса-обработчика сообщения очереди обмена (sServiceFnCode) имеет некорректный тип данных (ожидалось - String)", required: "Не указан код функции сервиса-обработчика сообщения очереди обмена (sServiceFnCode)" } }, //Дата обработки сообщения очереди обмена dExecDate: { type: Date, required: false, message: { type: "Дата обработки сообщения очереди обмена (dExecDate) имеет некорректный тип данных (ожидалось - Date)", required: "Не указана дата обработки сообщения очереди обмена (dExecDate)" } }, //Дата обработки сообщения очереди обмена (строковое представление) sExecDate: { type: String, required: false, message: { type: "Строковое представление даты обработки сообщения очереди обмена (sExecDate) имеет некорректный тип данных (ожидалось - String)", required: "Не указано строковое представление даты обработки сообщения очереди обмена (sExecDate)" } }, //Количество попыток обработки сообщения очереди обмена nExecCnt: { type: Number, required: true, message: { type: "Количество попыток обработки сообщения очереди обмена (nExecCnt) имеет некорректный тип данных (ожидалось - Number)", required: "Не указано количество попыток обработки сообщения очереди обмена (nExecCnt)" } }, //Предельное количество попыток обработки сообщения очереди обмена nRetryAttempts: { type: Number, required: true, message: { type: "Предельное количество попыток обработки сообщения очереди обмена (nRetryAttempts) имеет некорректный тип данных (ожидалось - Number)", required: "Не указано предельное количество попыток обработки сообщения очереди обмена (nRetryAttempts)" } }, //Состояние обработки сообщения очереди обмена nExecState: { type: Number, 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) имеет некорректный тип данных (ожидалось - Number)", enum: "Значение состояния обработки сообщения очереди обмена (nExecState) не поддерживается", required: "Не указано состояние обработки сообщения очереди обмена (nExecState)" } }, //Состояние обработки сообщения очереди обмена (строковый код) sExecState: { type: String, enum: [ SQUEUE_EXEC_STATE_INQUEUE, SQUEUE_EXEC_STATE_APP, SQUEUE_EXEC_STATE_APP_OK, SQUEUE_EXEC_STATE_APP_ERR, SQUEUE_EXEC_STATE_DB, SQUEUE_EXEC_STATE_DB_OK, SQUEUE_EXEC_STATE_DB_ERR, SQUEUE_EXEC_STATE_OK, SQUEUE_EXEC_STATE_ERR ], required: true, message: { type: "Строковый код состояния обработки сообщения очереди обмена (sExecState) имеет некорректный тип данных (ожидалось - String)", enum: "Значение строкового кода состояния обработки сообщения очереди обмена (sExecState) не поддерживается", required: "Не указан строковый код состояния обработки сообщения очереди обмена (sExecState)" } }, //Информация от обработчика сообщения очереди обмена sExecMsg: { type: String, required: false, message: { type: "Информация от обработчика сообщения очереди обмена (sExecMsg) имеет некорректный тип данных (ожидалось - String)", required: "Не указана информация от обработчика сообщения очереди обмена (sExecMsg)" } }, //Данные сообщения очереди обмена blMsg: { type: Buffer, required: false, message: { type: "Данные сообщения очереди обмена (blMsg) имеют некорректный тип данных (ожидалось - Buffer)", required: "Не указаны данные сообщения очереди обмена (blMsg)" } }, //Данные ответа сообщения очереди обмена blResp: { type: Buffer, required: false, message: { type: "Данные ответа сообщения очереди обмена (blResp) имеют некорректный тип данных (ожидалось - Buffer)", required: "Не указаны данные ответа сообщения очереди обмена (blResp)" } }, //Идентификатор связанного сообщения очереди обмена nQueueId: { type: Number, required: false, message: { type: "Идентификатор связанного сообщения очереди обмена (nQueueId) имеет некорректный тип данных (ожидалось - Number)", required: "Не указан идентификатор связанного сообщения очереди обмена (nQueueId)" } } });