Oi!
Estava testando o ambiente var APICURIO_SHARE_FOR_EVERYONE .
Eu posso ver e editar APIs de outros usuários, mas não está funcionando para ver " Colaboradores " ou " Mocks ".
Pesquisando a causa, descobri que o serviço "getMocks" não verifica a propriedade "isShareForEveryone ()" e retorna um erro 404 HTTP Satus, pois o usuário não tem permissões. O mesmo para a seção "colaboradores".
this.endpoint ("/ designs /: designId / mocks",
`` `
public getMocks (apiId: string, de ?: número, a ?: número): Promessa
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",
public getCollaborators (apiId: string): Promise
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
@Sobrepor
coleção pública
throws ServerError, NotFoundException {
int de = 0;
int para = 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);
}
}
@Sobrepor
coleção pública
logger.debug ("Recuperando todos os colaboradores para API: {}", designId);
metrics.apiCall ("/ designs / {designId} / colaboradores", "GET");
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);
}
}
`` `
Obrigado pelo relatório do bug.
@AguRyan Na versão mais recente, descobri que dentro da função hasWritePermission()
, isShareForEveryone()
está marcada:
Você tem alguma outra ideia sobre a causa desse problema?
Oi! Obrigado pelo seu comentário, procurando o bug, acabei de descobrir que estávamos usando uma versão antiga. 0.2.27.
Desculpe por isso.
Vou atualizar o aplicativo.
Você pode descartar o erro.
Obrigado.
Comentários muito úteis
Oi! Obrigado pelo seu comentário, procurando o bug, acabei de descobrir que estávamos usando uma versão antiga. 0.2.27.
Desculpe por isso.
Vou atualizar o aplicativo.
Você pode descartar o erro.
Obrigado.