¡Hola!
Estaba probando el entorno var APICURIO_SHARE_FOR_EVERYONE .
Puedo ver y editar API de otros usuarios, pero no funciona para ver " Colaboradores " o " Simulacros ".
Buscando la causa, encontré que el servicio "getMocks" no verifica la propiedad "isShareForEveryone ()" y devuelve un error HTTP 404 Satus, porque el usuario no tiene permisos. Lo mismo para la sección "colaboradores".
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",
public getCollaborators (apiId: string): Promesa
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
@Anular
colección pública
lanza ServerError, NotFoundException {
int de = 0;
int a = 20;
if (inicio! = nulo) {
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);
}
}
@Anular
colección pública
logger.debug ("Recuperando todos los colaboradores para API: {}", designId);
metrics.apiCall ("/ diseños / {designId} / colaboradores", "OBTENER");
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);
}
}
''
Gracias por reportar el error.
@AguRyan En la última versión, descubrí que dentro de la función hasWritePermission()
, isShareForEveryone()
está marcada:
¿Tiene alguna otra idea sobre cuál es la causa de este problema?
¡Hola! Gracias por tu comentario, buscando el error, descubrí que estábamos usando una versión antigua. 0.2.27.
Lo siento por eso.
Actualizaré la aplicación.
Puede descartar el error.
Gracias.
Comentario más útil
¡Hola! Gracias por tu comentario, buscando el error, descubrí que estábamos usando una versión antigua. 0.2.27.
Lo siento por eso.
Actualizaré la aplicación.
Puede descartar el error.
Gracias.