mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-10 03:53:26 -08:00
[Server] Move replay code exchange into the database interface (#7839)
createHashForReplay, cmdReplayGetCode, cmdReplaySubmitCode, cmdReplayDownloadByGameId and cmdGrantReplayAccess still issued their own SQL through Servatrice_DatabaseInterface. Add checkReplayAccess, getReplayName, getReplayHashSource, addReplayAccess, getLatestReplayForGame and grantReplayAccessByName to Server_DatabaseInterface, implement them with the same statements, bind order and response mapping, and let the commands ask the injected interface. Hashing and code parsing stay in the handler; the shared insert is reused by both grant paths.
This commit is contained in:
parent
b2e69d3443
commit
03adbd9787
4 changed files with 181 additions and 103 deletions
|
|
@ -162,6 +162,12 @@ public:
|
|||
ReplayAccessResult getReplayData(int replayId, int userId, QByteArray &data) override;
|
||||
ReplayWriteResult setReplayDoNotHide(int gameId, int userId, bool doNotHide) override;
|
||||
ReplayWriteResult deleteReplayAccess(int gameId, int userId) override;
|
||||
ReplayAccessResult checkReplayAccess(int gameId, int userId) override;
|
||||
ReplayAccessResult getReplayName(int gameId, QString &replayName) override;
|
||||
bool getReplayHashSource(int gameId, QByteArray &source) override;
|
||||
bool addReplayAccess(int gameId, int userId, const QString &replayName) override;
|
||||
ReplayAccessResult getLatestReplayForGame(int gameId, int &replayId, QByteArray &data) override;
|
||||
ReplayWriteResult grantReplayAccessByName(int gameId, const QString &userName) override;
|
||||
/** @brief Deletes all expired share bundles (cascades to their items). */
|
||||
void cleanupExpiredDeckShares();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue