mirror of
https://gitlab.com/comunic/comunicmessages
synced 2025-06-20 08:55:17 +00:00
Can send messages from conversations
This commit is contained in:
33
helpers/conversationhelper.cpp
Normal file
33
helpers/conversationhelper.cpp
Normal file
@ -0,0 +1,33 @@
|
||||
#include "apihelper.h"
|
||||
#include "conversationhelper.h"
|
||||
#include "../data/apirequest.h"
|
||||
|
||||
ConversationHelper::ConversationHelper(QObject *parent) : QObject(parent)
|
||||
{
|
||||
mAPIHelper = new APIHelper(this);
|
||||
}
|
||||
|
||||
void ConversationHelper::sendMessage(const NewConversationMessage &message)
|
||||
{
|
||||
APIRequest *request = new APIRequest;
|
||||
request->setURI("conversations/sendMessage");
|
||||
request->addInt("conversationID", message.iDConversation());
|
||||
request->addString("message", message.message());
|
||||
|
||||
connect(request, &APIRequest::finished, this, &ConversationHelper::sendMessageFinished);
|
||||
mAPIHelper->execute(request);
|
||||
}
|
||||
|
||||
void ConversationHelper::sendMessageFinished(int code)
|
||||
{
|
||||
//Delete sender
|
||||
qobject_cast<APIRequest *>(sender())->deleteLater();
|
||||
|
||||
if(code != 200){
|
||||
emit sendMessageCallback(false);
|
||||
return;
|
||||
}
|
||||
|
||||
//Success
|
||||
emit sendMessageCallback(true);
|
||||
}
|
61
helpers/conversationhelper.h
Normal file
61
helpers/conversationhelper.h
Normal file
@ -0,0 +1,61 @@
|
||||
/**
|
||||
* Conversation helper
|
||||
*
|
||||
* This class is an interface between the server
|
||||
* and the conversations widgets
|
||||
*
|
||||
* @author Pierre HUBERT
|
||||
*/
|
||||
#ifndef CONVERSATIONHELPER_H
|
||||
#define CONVERSATIONHELPER_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include "../data/newconversationmessage.h"
|
||||
#include "../data/apirequest.h"
|
||||
|
||||
class APIHelper;
|
||||
|
||||
class ConversationHelper : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ConversationHelper(QObject *parent = nullptr);
|
||||
|
||||
/**
|
||||
* Send a message to the server
|
||||
*
|
||||
* @param message Information about the message to send
|
||||
*/
|
||||
void sendMessage(const NewConversationMessage &message);
|
||||
|
||||
signals:
|
||||
|
||||
/**
|
||||
* This signal is emitted when we have got the result of a create message
|
||||
* attempt
|
||||
*
|
||||
* @param success TRUE if the operation is a success / FALSE
|
||||
*/
|
||||
void sendMessageCallback(bool success);
|
||||
|
||||
public slots:
|
||||
|
||||
|
||||
private slots:
|
||||
|
||||
/**
|
||||
* Send message callback
|
||||
*
|
||||
* @param code The code of the error
|
||||
* @param & Server response (useless in this case)
|
||||
*/
|
||||
void sendMessageFinished(int code);
|
||||
|
||||
private:
|
||||
|
||||
//Private fields
|
||||
APIHelper *mAPIHelper;
|
||||
};
|
||||
|
||||
#endif // CONVERSATIONHELPER_H
|
Reference in New Issue
Block a user