From b206015e7005a8368cde25724b50da520697c818 Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Tue, 20 Jun 2017 15:33:28 +0200 Subject: [PATCH] libresapi: expose identity avatar in JSON API The avatar is sent as a base64 string The solution is not optimal but is the best we can do inside a JSON and it's acceptable for the moment --- libresapi/src/api/IdentityHandler.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libresapi/src/api/IdentityHandler.cpp b/libresapi/src/api/IdentityHandler.cpp index 13332487a..6b7e1d05d 100644 --- a/libresapi/src/api/IdentityHandler.cpp +++ b/libresapi/src/api/IdentityHandler.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include "Operators.h" @@ -500,6 +501,11 @@ void IdentityHandler::handleGetIdentityDetails(Request& req, Response& resp) RsIdentityDetails details; mRsIdentity->getIdDetails(RsGxsId(data.mMeta.mGroupId), details); + + std::string base64Avatar; + Radix64::encode(details.mAvatar.mData, details.mAvatar.mSize, base64Avatar); + resp.mDataStream << makeKeyValue("avatar", base64Avatar); + StreamBase& usagesStream = resp.mDataStream.getStreamToMember("usages"); usagesStream.getStreamToMember();