Optimize user model construction by 2.5x

This commit is contained in:
Nicolas Werner 2023-01-31 21:04:59 +01:00
parent 8c06460e91
commit ee5b33978a
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9
3 changed files with 20 additions and 10 deletions

View file

@ -3196,8 +3196,11 @@ Cache::getMembers(const std::string &room_id, std::size_t startIndex, std::size_
try {
MemberInfo tmp = nlohmann::json::parse(user_data).get<MemberInfo>();
members.emplace_back(RoomMember{QString::fromStdString(std::string(user_id)),
QString::fromStdString(tmp.name)});
members.emplace_back(RoomMember{
QString::fromStdString(std::string(user_id)),
QString::fromStdString(tmp.name),
QString::fromStdString(tmp.avatar_url),
});
} catch (const nlohmann::json::exception &e) {
nhlog::db()->warn("{}", e.what());
}
@ -3263,9 +3266,12 @@ Cache::getMembersFromInvite(const std::string &room_id, std::size_t startIndex,
try {
MemberInfo tmp = nlohmann::json::parse(user_data).get<MemberInfo>();
members.emplace_back(RoomMember{QString::fromStdString(std::string(user_id)),
QString::fromStdString(tmp.name),
tmp.is_direct});
members.emplace_back(RoomMember{
QString::fromStdString(std::string(user_id)),
QString::fromStdString(tmp.name),
QString::fromStdString(tmp.avatar_url),
tmp.is_direct,
});
} catch (const nlohmann::json::exception &e) {
nhlog::db()->warn("{}", e.what());
}