Метод getCatalog()
клиента wakanda javascript возвращает следующую ошибку, если массив данных не передан методу и один из описаний разрешения для модели отсутствуют для текущего пользователя (это, скорее всего, случай).wakanda.getCatalog() возвращает ошибку, если отсутствуют описания разрешений в одном из классов хранилища данных
Ошибка:
{
"__ERROR": [
{
"message": "No permission to describe the User datastore class",
"componentSignature": "dbmg",
"errCode": 1609
}
]
}
Что считается лучшей практики использования метода getCatalog()
? Лучше ли передавать класс данных, необходимый для метода getCatalog()
, при каждом вызове, сделанном на сервер?
Пример углового сервисной компании:
@Injectable()
export class CompanyService {
constructor(private wakandaService: WakandaService,
private exceptionService: ExceptionService) {
}
getCompanyList(): any {
return this.wakandaService.getCatalog(['Company'])
.then(data => {
return data.UserProfile.getProfile();
})
.then(data => {
return data;
})
.catch(error => this.exceptionService.error(error));
}
}
ОБНОВЛЕНИЕ:
DataModel
Разрешения
Роль & Пользовательским классам данных необходимы разрешения «Admin». Класс данных UserProfile требует прав «Пользователь» и расширен из класса данных пользователя.
Ошибка
После входа в систему пользователя и вызвать getCatalog(['UserProfile'])
ошибка «Необходимое Роль DATACLASS нет в каталоге» возвращается. -> Это правильно? Почему в REST API работает то же самое?
http://localhost:8081/rest/ $ catalog/UserProfile работает нормально.
При входе в систему Пользователь и вызов getCatalog(['UserProfile', 'Role'])
Ошибка «Разрешение на описание класса хранилища данных ролей» возвращается. -> OK
Привет, Фред, я сделал обновление на своем посту, пытаясь быть немного более полезным. Надеюсь, вы понимаете, что я пытаюсь объяснить. – Stefan