Move the offset logic one layer deeper for it to work with Command_DeckDownload AND Command_DeckSelect

This commit is contained in:
root 2020-09-28 17:49:57 -04:00
parent 7b01874459
commit 642ce68496
3 changed files with 9 additions and 5 deletions

View file

@ -868,6 +868,12 @@ DeckList *Servatrice_DatabaseInterface::getDeckFromDatabase(int deckId, int user
{
checkSql();
if ((server->getGlobalDecksID() != -1) && (deckId > globalDeckOffset))
{
deckId = deckId - globalDeckOffset;
userId = server->getGlobalDecksID();
}
QSqlQuery *query =
prepareQuery("select content from {prefix}_decklist_files where id = :id and id_user = :id_user");
query->bindValue(":id", deckId);

View file

@ -74,7 +74,6 @@
#include <string>
static const int protocolVersion = 14;
static const int globalDeckOffset = 10000000;
AbstractServerSocketInterface::AbstractServerSocketInterface(Servatrice *_server,
Servatrice_DatabaseInterface *_databaseInterface,
@ -576,10 +575,7 @@ Response::ResponseCode AbstractServerSocketInterface::cmdDeckDownload(const Comm
DeckList *deck;
try {
if ((servatrice->getGlobalDecksID() != -1) && (cmd.deck_id() > globalDeckOffset))
deck = sqlInterface->getDeckFromDatabase(cmd.deck_id() - globalDeckOffset, servatrice->getGlobalDecksID());
else
deck = sqlInterface->getDeckFromDatabase(cmd.deck_id(), userInfo->id());
deck = sqlInterface->getDeckFromDatabase(cmd.deck_id(), userInfo->id());
} catch (Response::ResponseCode &r) {
return r;
}

View file

@ -27,6 +27,8 @@
#include <QTcpSocket>
#include <QWebSocket>
static const int globalDeckOffset = 10000000;
class Servatrice;
class Servatrice_DatabaseInterface;
class DeckList;