forked from CITKParus/P8-ExchangeService
Схемы валидации очереди обмена и сообщения очереди обмена
This commit is contained in:
parent
875b11a01e
commit
37e9d7c7c0
254
models/obj_queue.js
Normal file
254
models/obj_queue.js
Normal file
@ -0,0 +1,254 @@
|
|||||||
|
/*
|
||||||
|
Сервис интеграции ПП Парус 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)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//Состояние обработки сообщения очереди обмена
|
||||||
|
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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
38
models/obj_queues.js
Normal file
38
models/obj_queues.js
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
Сервис интеграции ПП Парус 8 с WEB API
|
||||||
|
Модели данных: Описатель списка сообщений очереди обмена
|
||||||
|
*/
|
||||||
|
|
||||||
|
//----------------------
|
||||||
|
// Подключение библиотек
|
||||||
|
//----------------------
|
||||||
|
|
||||||
|
const Schema = require("validate"); //Схемы валидации
|
||||||
|
const { Queue } = require("./obj_queue"); //Схема валидации сообщения очереди обмена
|
||||||
|
|
||||||
|
//------------
|
||||||
|
// Тело модуля
|
||||||
|
//------------
|
||||||
|
|
||||||
|
//Описатель схемы валидации списка сервисов
|
||||||
|
const defQueues = (bRequired, sName) => {
|
||||||
|
return {
|
||||||
|
type: Array,
|
||||||
|
required: bRequired,
|
||||||
|
each: Queue,
|
||||||
|
message: {
|
||||||
|
type: "Список сообщений очереди обмена (" + sName + ") имеет некорректный тип данных (ожидалось - Array)",
|
||||||
|
required: "Не указан список сообщений очереди обмена (" + sName + ")"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
//------------------
|
||||||
|
// Интерфейс модуля
|
||||||
|
//------------------
|
||||||
|
|
||||||
|
//Описатель схемы валидации списка сервисов
|
||||||
|
exports.defQueues = defQueues;
|
||||||
|
|
||||||
|
//Схема валидации списка сервисов
|
||||||
|
exports.Queues = new Schema({ queues: defQueues(true, "queues") });
|
Loading…
x
Reference in New Issue
Block a user