Привет!
Я пробовал среду var APICURIO_SHARE_FOR_EVERYONE .
Я могу видеть и редактировать API других пользователей, но не могу видеть « Соавторы » или « Моки ».
Исследуя причину, я обнаружил, что служба getMocks не проверяет свойство isShareForEveryone () и не возвращает ошибку 404 HTTP Error Satus, поскольку у пользователя нет разрешений. То же и с разделом «соавторы».
this.endpoint ("/ designs /: designId / mocks",
`` ''
public getMocks (apiId: string, from ?: number, to ?: number): Promise
let getMocksUrl: string = this.endpoint("/designs/:designId/mocks", {
designId: apiId
}, {
start: from,
end: to
});
let options: any = this.options({ "Accept": "application/json" });
console.info("[ApisService] Fetching API mocks: %s", getMocksUrl);
return this.httpGet<ApiMock[]>(getMocksUrl, options);
}
> this.endpoint("/designs/:designId/collaborators",
общедоступные getCollaborators (apiId: строка): Обещание
let getCollaboratorsUrl: string = this.endpoint("/designs/:designId/collaborators", {
designId: apiId
});
let options: any = this.options({ "Accept": "application/json" });
console.info("[ApisService] Fetching collaborator list: %s", getCollaboratorsUrl);
return this.httpGet<ApiCollaborator[]>(getCollaboratorsUrl, options);
}
**https://github.com/Apicurio/apicurio-studio/blob/master/back-end/hub-api/src/main/java/io/apicurio/hub/api/rest/impl/DesignsResource.java**
> !this.storage.hasWritePermission
@Override
публичная коллекция
выбрасывает ServerError, NotFoundException {
int from = 0;
int to = 20;
if (start! = null) {
from = start.intValue ();
}
if (end! = null) {
to = end.intValue ();
}
try {
String user = this.security.getCurrentUser().getLogin();
if (!this.storage.hasWritePermission(user, designId)) {
throw new NotFoundException();
}
return this.storage.listApiDesignMocks(designId, from, to);
} catch (StorageException e) {
throw new ServerError(e);
}
}
@Override
публичная коллекция
logger.debug («Получение всех соавторов для API: {}», designId);
metrics.apiCall ("/ дизайны / {designId} / соавторы", "ПОЛУЧИТЬ");
try {
String user = this.security.getCurrentUser().getLogin();
if (!this.storage.hasWritePermission(user, designId)) {
throw new NotFoundException();
}
return this.storage.listPermissions(designId);
} catch (StorageException e) {
throw new ServerError(e);
}
}
`` ''
Спасибо за отчет об ошибке.
@AguRyan В последнем выпуске, я считаю, что внутри hasWritePermission()
функции isShareForEveryone()
проверяется:
Есть ли у вас какие-либо другие представления о том, в чем причина этой проблемы?
Привет! Спасибо за комментарий, ищу ошибку, я только что узнал, что мы использовали старую версию. 0.2.27.
Прости за это.
Я обновлю приложение.
Вы можете отклонить ошибку.
Спасибо.
Самый полезный комментарий
Привет! Спасибо за комментарий, ищу ошибку, я только что узнал, что мы использовали старую версию. 0.2.27.
Прости за это.
Я обновлю приложение.
Вы можете отклонить ошибку.
Спасибо.