/*
- Javascript customRecord represents a row from the custom input
data.
- dbRecord represents the corresponding data from DataBase.
- dbRecord will be null if there is no corresponding record in
DataBase.
- return true if this rule should be applied to this custom
record.
*/
function applyRule(customRecord, dbRecord){
if (dbRecord.containsRole("ReportAdmin")){
return true;
}
return false;
}
Есть некая js консоль на тестируемом сервисе с описанием объектов и куском кода в котором необходимо менять условие в зависимости от требований. В текущем необходимо применять правило для определенной роли, и не применять во всех остальных случаях. НО условие описанное в if полностью игнорируется - и функция всегда возвраoает false. Из копаний в индусовском коде пока удалось узнать только то, что contaisRole это java метод. Как он здесь применяется пока загадка. В логах никаких ошибок нет.
javascript не может просто так игнорировать
function applyRule(customRecord, dbRecord) {
return !!dbRecord.containsRole('ReportAdmin')
}
Пробуйте вернуть значение, если возвращается всегда false, значит функция dbRecord.containsRole('ReportAdmin') возвращает отрицательное значение, иначе быть не может.
P.S!
Возможно, в вашем случае функция containsRole возвращает позицию найденной строки внутри исходной. Т.е. возвращает 0, например. В данном случае это будет результат положительный, отрицательным — -1. Соответственно, при успешно найденной строке функция будет возвращать false. Попробуйте так:
function applyRule(customRecord, dbRecord) {
return dbRecord.containsRole('ReportAdmin') > -1
}
А лучше, дебажьте функцию и смотрите что она возвращает в разных случаях.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости