По утверждению пользователей если производить Batch-запросы с новым детейлом и с существующим детейлом и в CallBack BeforeUpdate вызывать исключение, то при существующем детейле приходит красиво упакованное исключение с необходимой детальностью, а при новом детейле исключение минимально подробно.
Ожидаемое поведение
Исключения должны приходить одинаковой подробности.
Шаги воспроизведения
До написания этого issue проводилась проверка, что с интеграционного теста проекта ODataService детейлы отправлялись заявленным способом, однако всё отрабатывалось корректно и сообщения об ошибке приходили как надо, поэтому проверку нужно проводить полностью как у пользователей.
return store.batchUpdate(changingRecords).then(() => {
let generation = this.get('model.lastGeneration.id');
if (this.get('model.typeLayer') === 'vector' && curGeneration !== generation) {
return this.checkStatus(generation).then((g) => {
if (g.get('state') === 'Success') {
Promise.resolve();
} else {
let message = 'Сохранение слоя не было выполнено по техническим причинам. ';
return reject({ message: message, caption: 'Внимание' });
}
});
} else return Promise.resolve();
}).catch((error) => {
console.error(error);
let message = '';
// тут нет возможности нормально определить ошибку
message = 'Сохранение слоя не было выполнено по техническим причинам. ';
return reject({ message: message, caption: 'Внимание' });
});
Утверждается, что если отправлять на сохранение модифицированный агрегатор и детейл модифицированный. то при проброске исключения в beforeUpdate на бакенде возвращается аккуратное исключение, где корректно можно разобрать внутренние поля. А если то же самое при модифицированном агрегаторе и созданном детейле, то ошибка возвращается не подробная.
Нужно проверить, что такое поведение имеет место быть. Если подтвердится, то требуется запланировать исправление ошибки.
Описание ошибки
По утверждению пользователей если производить Batch-запросы с новым детейлом и с существующим детейлом и в CallBack BeforeUpdate вызывать исключение, то при существующем детейле приходит красиво упакованное исключение с необходимой детальностью, а при новом детейле исключение минимально подробно.
Ожидаемое поведение
Исключения должны приходить одинаковой подробности.
Шаги воспроизведения
До написания этого issue проводилась проверка, что с интеграционного теста проекта ODataService детейлы отправлялись заявленным способом, однако всё отрабатывалось корректно и сообщения об ошибке приходили как надо, поэтому проверку нужно проводить полностью как у пользователей.
let changingRecords = A(); changingRecords.pushObject(model); model.eachRelationship((name, desc) => { if (desc.kind === 'hasMany' && desc.type !== '...-map-layer') { model.get(name).filter(a => { return a.get('hasDirtyAttributes') a.hasChangedBelongsTo(); }).forEach(record => { changingRecords.push(record); }); } });
return store.batchUpdate(changingRecords).then(() => { let generation = this.get('model.lastGeneration.id'); if (this.get('model.typeLayer') === 'vector' && curGeneration !== generation) { return this.checkStatus(generation).then((g) => { if (g.get('state') === 'Success') { Promise.resolve(); } else { let message = 'Сохранение слоя не было выполнено по техническим причинам. '; return reject({ message: message, caption: 'Внимание' }); } }); } else return Promise.resolve(); }).catch((error) => { console.error(error); let message = '';
Нужно проверить, что такое поведение имеет место быть. Если подтвердится, то требуется запланировать исправление ошибки.