/** @since v6.3 */ @GET @Path("type/{type}/owner/{owningObjectId}") public Response getAvatars( final @PathParam("type") String avatarType, final @PathParam("owningObjectId") String owningObjectId) { final Avatar.Type avatarsType = Avatar.Type.getByName(avatarType); final TypeAvatarService avatarsForType = universalAvatars.getAvatars(avatarsType); if (null == avatarsForType) { return Response.status(Response.Status.NOT_FOUND).entity("avatarType").build(); } final AvatarImageResolver uriResolver = universalAvatars.getImages(avatarsType); if (null == uriResolver) { return Response.status(Response.Status.NOT_FOUND).entity("avatarType").build(); } final SystemAndCustomAvatars allAvatars = avatarsForType.getAvatars(authContext.getUser(), owningObjectId); Map<String, List<AvatarBean>> result = sytemAndCustomAvatarsToBeanMap(uriResolver, allAvatars); return Response.ok(result).build(); }
/** * Deletes avatar * * @param avatarType Project id or project key * @param id database id for avatar * @return temporary avatar cropping instructions * @since v5.0 */ @DELETE @Path("type/{type}/owner/{owningObjectId}/avatar/{id}") public Response deleteAvatar( final @PathParam("type") String avatarType, final @PathParam("owningObjectId") String owningObjectId, @PathParam("id") final Long id) { final Avatar.Type avatarsType = Avatar.Type.getByName(avatarType); final TypeAvatarService avatarsForType = universalAvatars.getAvatars(avatarsType); if (null == avatarsForType) { return Response.status(Response.Status.NOT_FOUND).build(); } if (!avatarsForType.canUserCreateAvatar(authContext.getUser(), owningObjectId)) { return Response.status(Response.Status.FORBIDDEN).build(); } final Response avatarFromTemporaryResponse = avatarResourceHelper.deleteAvatar(id); return avatarFromTemporaryResponse; }