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
This commit is contained in:
Gioacchino Mazzurco 2017-06-20 15:33:28 +02:00
parent 0133be757a
commit b206015e70

View File

@ -22,6 +22,7 @@
#include <retroshare/rsidentity.h> #include <retroshare/rsidentity.h>
#include <retroshare/rspeers.h> #include <retroshare/rspeers.h>
#include <util/radix64.h>
#include <time.h> #include <time.h>
#include "Operators.h" #include "Operators.h"
@ -500,6 +501,11 @@ void IdentityHandler::handleGetIdentityDetails(Request& req, Response& resp)
RsIdentityDetails details; RsIdentityDetails details;
mRsIdentity->getIdDetails(RsGxsId(data.mMeta.mGroupId), 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"); StreamBase& usagesStream = resp.mDataStream.getStreamToMember("usages");
usagesStream.getStreamToMember(); usagesStream.getStreamToMember();