mirror of
https://gitlab.com/comunic/comunicmessages
synced 2024-10-23 15:13:23 +00:00
56 lines
1.4 KiB
C++
56 lines
1.4 KiB
C++
#include <QJsonObject>
|
|
|
|
#include "usershelper.h"
|
|
#include "apihelper.h"
|
|
|
|
UsersHelper::UsersHelper(QObject *parent) : QObject(parent)
|
|
{
|
|
mAPIHelper = new APIHelper(this);
|
|
}
|
|
|
|
void UsersHelper::getList(QList<int> ids)
|
|
{
|
|
APIRequest *request = new APIRequest(this);
|
|
request->setURI("user/getInfosMultiple");
|
|
|
|
QString ids_str;
|
|
for(int id : ids)
|
|
ids_str += QString::number(id) + ",";
|
|
|
|
request->addString("usersID", ids_str);
|
|
mAPIHelper->execute(request);
|
|
|
|
//Make connection
|
|
connect(request, &APIRequest::finished, this, &UsersHelper::getUsersInformationFinished);
|
|
}
|
|
|
|
void UsersHelper::getUsersInformationFinished(int code, const QJsonDocument &document)
|
|
{
|
|
//Delete the request
|
|
qobject_cast<APIRequest *>(sender())->deleteLater();
|
|
|
|
//Check for error
|
|
if(code != 200){
|
|
emit onGotUsersInfo(false, QList<User>());
|
|
return;
|
|
}
|
|
|
|
//Parse the list of object
|
|
QList<User> list;
|
|
QJsonObject obj = document.object();
|
|
for(QString id : obj.keys())
|
|
list.append(ParseJSONToUser(obj.value(id).toObject()));
|
|
|
|
emit onGotUsersInfo(true, list);
|
|
}
|
|
|
|
User UsersHelper::ParseJSONToUser(const QJsonObject &obj)
|
|
{
|
|
User user;
|
|
user.setID(obj.value("userID").toInt());
|
|
user.setFirstName(obj.value("firstName").toString());
|
|
user.setLastName(obj.value("lastName").toString());
|
|
user.setAccountImage(obj.value("accountImage").toString());
|
|
return user;
|
|
}
|