From 93dd51a13e1f287f0e8a9bf0bd18b77e09328028 Mon Sep 17 00:00:00 2001 From: Armin Felder <armin.felder@osalliance.com> Date: Mon, 19 Nov 2018 17:22:17 +0100 Subject: [PATCH] isad --- persistancelayer.cpp | 6 +++--- rocketchatserver.cpp | 19 ++++++++++++------- rocketchatserver.h | 2 ++ services/rocketchatchannelservice.cpp | 2 ++ 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/persistancelayer.cpp b/persistancelayer.cpp index c110672..f68c61c 100755 --- a/persistancelayer.cpp +++ b/persistancelayer.cpp @@ -766,12 +766,12 @@ void PersistanceLayer::setSetting( const QString &pProperty, const QString &pVal } -void PersistanceLayer::addChannel( const QString &pId, const QString &pName, const QString &pType, bool pJoined, bool pReadOnly, const QString &pMuted, bool pArchived, bool pBlocked, const QString &pUsername, const QString &pMchatPartnerId ) +void PersistanceLayer::addChannel( const QString &pId, const QString &pName, const QString &pType, bool pJoined, bool pReadOnly, const QString &pMuted, bool pArchived, bool pBlocked, const QString &pUsername, const QString &pChatPartnerId ) { transaction(); QSqlQuery setChannel; setChannel.prepare( QStringLiteral( "REPLACE INTO rooms " - "(id,name,type,joined,read_only,muted,archived,blocked,username) VALUES(:id,:name,:type,:joined,:read_only,:muted,:archived,:blocked,:username,:chat_partner_id)" ) ); + "(id,name,type,joined,read_only,muted,archived,blocked,username,chat_partner_id) VALUES(:id,:name,:type,:joined,:read_only,:muted,:archived,:blocked,:username,:chat_partner_id)" ) ); setChannel.bindValue( QStringLiteral( ":id" ), pId ); setChannel.bindValue( QStringLiteral( ":name" ), pName ); setChannel.bindValue( QStringLiteral( ":joined" ), pJoined ); @@ -781,7 +781,7 @@ void PersistanceLayer::addChannel( const QString &pId, const QString &pName, con setChannel.bindValue( QStringLiteral( ":archived" ), pArchived ); setChannel.bindValue( QStringLiteral( ":blocked" ), pBlocked ); setChannel.bindValue( QStringLiteral( ":username" ), pUsername ); - setChannel.bindValue( QStringLiteral( ":chat_partner_id" ), pUsername ); + setChannel.bindValue( QStringLiteral( ":chat_partner_id" ), pChatPartnerId ); if ( !setChannel.exec() ) { diff --git a/rocketchatserver.cpp b/rocketchatserver.cpp index 01face4..3192470 100755 --- a/rocketchatserver.cpp +++ b/rocketchatserver.cpp @@ -96,7 +96,7 @@ void RocketChatServerData::init() emit offlineMode(); } - mUserId = mStorage->getUserId(); + setUserId( mStorage->getUserId() ); mUsername = mStorage->getUserName(); // mEmojisMap.reserve(3000); @@ -449,7 +449,6 @@ void RocketChatServerData::setUserId( const QString &userId ) QMetaObject::invokeMethod( userModel, "addUser", Q_ARG( User, user ) ); } - mOwnUser = user; mUserId = userId; connect( user.data(), &RocketChatUser::statusChanged, this, [ = ]() { @@ -574,11 +573,21 @@ void RocketChatServerData::offlineLogin() QString userName = mStorage->getUserName(); if ( !userId.isEmpty() && !userName.isEmpty() ) { - this->mUserId = userId; + setUserId( userId ); emit loggedIn( QStringLiteral( "default" ) ); } } +QSharedPointer<RocketChatUser> RocketChatServerData::getOwnUser() const +{ + return mOwnUser; +} + +void RocketChatServerData::setOwnUser( const QSharedPointer<RocketChatUser> &ownUser ) +{ + mOwnUser = ownUser; +} + QString RocketChatServerData::getBaseUrl() const { QString protocol = "https://"; @@ -656,7 +665,6 @@ void RocketChatServerData::loginWithHash( const QString &pUsername, const QStrin self->mRestApi->setToken( self->mResumeToken ); self->mRestApi->setUserId( userId ); self->mStorage->commit(); - self->mUserId = result[QStringLiteral( "id" )].toString(); self->mDdpApi->setToken( self->mResumeToken ); self->mDdpApi->unsetResponseBinding( request->getFrame() ); self->onDDPAuthenticated(); @@ -716,7 +724,6 @@ void RocketChatServerData::loginWithToken( const QString &pUsername, const QStri self->mStorage->setUserId( userId ); self->mRestApi->setToken( self->mResumeToken ); self->mRestApi->setUserId( userId ); - self->mUserId = result[QStringLiteral( "id" )].toString(); self->mDdpApi->setToken( self-> mResumeToken ); self->mDdpApi->unsetResponseBinding( request->getFrame() ); @@ -796,7 +803,6 @@ void RocketChatServerData::loginWtihSamlToken( const QString &pToken ) mStorage->setUserId( userId ); mRestApi->setToken( mResumeToken ); mRestApi->setUserId( userId ); - this->mUserId = result[QStringLiteral( "id" )].toString(); mDdpApi->setToken( mResumeToken ); mDdpApi->unsetResponseBinding( request->getFrame() ); @@ -867,7 +873,6 @@ void RocketChatServerData::loginWithOpenIDToken( const QString &pToken, const QS self->setUserId( userId ); self->mRestApi->setToken( mResumeToken ); self->mRestApi->setUserId( userId ); - self->mUserId = result[QStringLiteral( "id" )].toString(); self->mDdpApi->setToken( mResumeToken ); self->mDdpApi->unsetResponseBinding( request->getFrame() ); diff --git a/rocketchatserver.h b/rocketchatserver.h index 2398074..e1b8d59 100755 --- a/rocketchatserver.h +++ b/rocketchatserver.h @@ -357,6 +357,8 @@ class RocketChatServerData : public MessageListener public: bool handlesMessage( QJsonObject object ); QString getBaseUrl() const; + QSharedPointer<RocketChatUser> getOwnUser() const; + void setOwnUser( const QSharedPointer<RocketChatUser> &ownUser ); }; #endif // ROCKETCHATSERVER_H diff --git a/services/rocketchatchannelservice.cpp b/services/rocketchatchannelservice.cpp index 59824c1..b908cfc 100755 --- a/services/rocketchatchannelservice.cpp +++ b/services/rocketchatchannelservice.cpp @@ -279,7 +279,9 @@ void RocketChatChannelService::loadJoinedChannelsFromDb() channelPointer->setChatPartner( user ); } else { auto newUser = QSharedPointer<RocketChatUser>( new RocketChatUser( channelPointer->getChatPartnerId() ) ); + newUser->setUserName( roomHash["username"].toString() ); channelPointer->setChatPartner( newUser ); + QMetaObject::invokeMethod( users, "addUser", Q_ARG( User, newUser ) ); } } -- GitLab