/*
  Сервис интеграции ПП Парус 8 с WEB API
  Модели данных: общие функции валидации, константы, модели
*/

//----------
// Константы
//----------

//Признак принудительного исполнения действия
NFORCE_NO = 0; //Не выполнять принудительно (нормальный уровень проверок исполения)
NFORCE_YES = 1; //Выполнить принудительно (пониженный уровень проверок исполнения)

//------------
// Тело модуля
//------------

//Валидация списка адресов E-Mail
const validateMailList = sMailList => {
    //Если есть что валидировать
    if (sMailList) {
        //Объявим разделитель списка адресов
        let sSpr = ",";
        //Регулярное выражение для контроля адреса E-Mail
        let sMailRegExp = /^(([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]+)/;
        //Развалим строку с разделителями на массив адресов
        let addrs = sMailList.toLowerCase().split(sSpr);
        //Обходим массив адресов
        for (i = 0; i < addrs.length; i++) {
            //Проверяем адрес на соответствие регулярному выражению
            if (!sMailRegExp.test(addrs[i])) return false;
        }
    }
    //Если мы здесь - валидация прошла успешно
    return true;
};

//-----------------
// Интерфейс модуля
//-----------------

exports.NFORCE_NO = NFORCE_NO;
exports.NFORCE_YES = NFORCE_YES;
exports.validateMailList = validateMailList;
