/*
  Сервис интеграции ПП Парус 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") });
