Current items can be deleted by passing the UUID to the deleteItemFromServer signal.
This commit is contained in:
@ -168,6 +168,14 @@ void GenericCore::onPostRequestFailure(const QString errorString) {
|
|||||||
emit displayStatusMessage(QString("Error: %1").arg(errorString));
|
emit displayStatusMessage(QString("Error: %1").arg(errorString));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GenericCore::onDeleteRequestSuccessful(const QByteArray responseData) {
|
||||||
|
qWarning() << "TODO: Process success response!!!";
|
||||||
|
}
|
||||||
|
|
||||||
|
void GenericCore::onDeleteRequestFailure(const QString errorString) {
|
||||||
|
qWarning() << "TODO: Process error response!!!";
|
||||||
|
}
|
||||||
|
|
||||||
void GenericCore::setupModels() {
|
void GenericCore::setupModels() {
|
||||||
m_mainModel = make_shared<TableModel>(m_modelUndoStack, this);
|
m_mainModel = make_shared<TableModel>(m_modelUndoStack, this);
|
||||||
m_sortFilterModel = make_shared<GeneralSortFilterModel>(m_mainModel);
|
m_sortFilterModel = make_shared<GeneralSortFilterModel>(m_mainModel);
|
||||||
@ -231,6 +239,8 @@ void GenericCore::setupServerConfiguration() {
|
|||||||
connect(this, &GenericCore::fetchItemsFromServer, m_serverCommunicator.get(),
|
connect(this, &GenericCore::fetchItemsFromServer, m_serverCommunicator.get(),
|
||||||
&ServerCommunicator::fetchItems);
|
&ServerCommunicator::fetchItems);
|
||||||
connect(this, &GenericCore::postItemToServer, this, &GenericCore::onSendItemTriggered);
|
connect(this, &GenericCore::postItemToServer, this, &GenericCore::onSendItemTriggered);
|
||||||
|
connect(this, &GenericCore::deleteItemFromServer, m_serverCommunicator.get(),
|
||||||
|
&ServerCommunicator::deleteItem);
|
||||||
|
|
||||||
/// response connections
|
/// response connections
|
||||||
connect(m_serverCommunicator.get(), &ServerCommunicator::itemsFetched, this,
|
connect(m_serverCommunicator.get(), &ServerCommunicator::itemsFetched, this,
|
||||||
@ -241,6 +251,10 @@ void GenericCore::setupServerConfiguration() {
|
|||||||
&GenericCore::onPostRequestSuccessful);
|
&GenericCore::onPostRequestSuccessful);
|
||||||
connect(m_serverCommunicator.get(), &ServerCommunicator::postRequestFailure, this,
|
connect(m_serverCommunicator.get(), &ServerCommunicator::postRequestFailure, this,
|
||||||
&GenericCore::onPostRequestFailure);
|
&GenericCore::onPostRequestFailure);
|
||||||
|
connect(m_serverCommunicator.get(), &ServerCommunicator::deleteRequestSuccessful, this,
|
||||||
|
&GenericCore::onDeleteRequestSuccessful);
|
||||||
|
connect(m_serverCommunicator.get(), &ServerCommunicator::deleteRequestFailure, this,
|
||||||
|
&GenericCore::onDeleteRequestFailure);
|
||||||
|
|
||||||
/// fetching/posting items on startup to test the communication with the server
|
/// fetching/posting items on startup to test the communication with the server
|
||||||
// m_serverCommunicator->fetchItems();
|
// m_serverCommunicator->fetchItems();
|
||||||
|
|||||||
@ -41,11 +41,14 @@ class GenericCore : public QObject {
|
|||||||
void onItemsFetchFailure(const QString errorString);
|
void onItemsFetchFailure(const QString errorString);
|
||||||
void onPostRequestSuccessful(const QByteArray responseData);
|
void onPostRequestSuccessful(const QByteArray responseData);
|
||||||
void onPostRequestFailure(const QString errorString);
|
void onPostRequestFailure(const QString errorString);
|
||||||
|
void onDeleteRequestSuccessful(const QByteArray responseData);
|
||||||
|
void onDeleteRequestFailure(const QString errorString);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void displayStatusMessage(QString message);
|
void displayStatusMessage(QString message);
|
||||||
void fetchItemsFromServer();
|
void fetchItemsFromServer();
|
||||||
void postItemToServer(const QByteArray& jsonData);
|
void postItemToServer(const QByteArray& jsonData);
|
||||||
|
void deleteItemFromServer(const QString& id);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QUndoStack* m_modelUndoStack;
|
QUndoStack* m_modelUndoStack;
|
||||||
|
|||||||
@ -202,7 +202,6 @@ QString TableModel::updateItemsFromJson(const QByteArray& jsonData) {
|
|||||||
QMap<int, QVariant> roles = valueList.first();
|
QMap<int, QVariant> roles = valueList.first();
|
||||||
setItemData(foundIndex, roles);
|
setItemData(foundIndex, roles);
|
||||||
/// return status what happened in this function (i. e. "Created x items, updated y items.")
|
/// return status what happened in this function (i. e. "Created x items, updated y items.")
|
||||||
// return data(foundIndex, ToStringRole).toString();
|
|
||||||
return QString("Item found at row %1.").arg(foundIndex.row());
|
return QString("Item found at row %1.").arg(foundIndex.row());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -77,3 +77,22 @@ void ServerCommunicator::postItems(const QByteArray& jsonData) {
|
|||||||
reply->deleteLater();
|
reply->deleteLater();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ServerCommunicator::deleteItem(const QString& id) {
|
||||||
|
const QString deleteRoute = QString("%1/%2").arg(ROUTE_ITEMS, id);
|
||||||
|
QNetworkReply* reply = m_restManager->deleteResource(m_serviceApi->createRequest(deleteRoute));
|
||||||
|
|
||||||
|
QObject::connect(reply, &QNetworkReply::finished, [=]() {
|
||||||
|
if (reply->error() == QNetworkReply::NoError) {
|
||||||
|
QByteArray responseData = reply->readAll();
|
||||||
|
const QString message = QString("DELETE successful! Response: %1").arg(responseData);
|
||||||
|
qInfo() << message;
|
||||||
|
emit deleteRequestSuccessful(responseData);
|
||||||
|
} else {
|
||||||
|
const QString message = QString("Error: %1").arg(reply->errorString());
|
||||||
|
qDebug() << message;
|
||||||
|
emit deleteRequestFailure(message);
|
||||||
|
}
|
||||||
|
reply->deleteLater();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
@ -19,7 +19,7 @@ class ServerCommunicator : public QObject {
|
|||||||
public slots:
|
public slots:
|
||||||
void fetchItems();
|
void fetchItems();
|
||||||
void postItems(const QByteArray& jsonData);
|
void postItems(const QByteArray& jsonData);
|
||||||
// NEXT void deleteItems(QList<QString> idList)
|
void deleteItem(const QString& id);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void urlChanged();
|
void urlChanged();
|
||||||
@ -28,6 +28,8 @@ class ServerCommunicator : public QObject {
|
|||||||
void itemsFetchFailure(const QString errorString);
|
void itemsFetchFailure(const QString errorString);
|
||||||
void postRequestSuccessful(const QByteArray responseData);
|
void postRequestSuccessful(const QByteArray responseData);
|
||||||
void postRequestFailure(const QString errorString);
|
void postRequestFailure(const QString errorString);
|
||||||
|
void deleteRequestSuccessful(const QByteArray responseData);
|
||||||
|
void deleteRequestFailure(const QString errorString);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QNetworkAccessManager m_netManager;
|
QNetworkAccessManager m_netManager;
|
||||||
|
|||||||
Reference in New Issue
Block a user