Схемы валидации очереди обмена и сообщения очереди обмена
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