|
|
|
```
|
|
|
|
Soubor: username_msg.db
|
|
|
|
2 tabulky: messages, events
|
|
|
|
```
|
|
|
|
|
|
|
|
### Operace čtení, nemění stav db, vrací pouze určitou hodnotu z tabulky:
|
|
|
|
|
|
|
|
### Operace, které modifikují obsah tabulek, mění stav databáze:
|
|
|
|
* `bool deleteMsgFromDb(qint64 msgId)`
|
|
|
|
* odstraní zprávu z databáze. Vstupem je ID zprávy. Vrací true, když se akce provede úspěšně.
|
|
|
|
* `bool insertEventsIntoDb(qint64 msgId, const Messages::Event &event)`
|
|
|
|
* vloží nebo aktualizuje událost zprávy v databázi. Vstupem je struktura popisujicí událost. Vrací true, když se akce provede úspěšně.
|
|
|
|
* `bool insertOrUpdateMessageEnvelopeInDb(const MsgEnvelope &msgEnvelopeData)`
|
|
|
|
* vloží nebo aktualizuje obálku zprávy v databázi. Vstupem je struktura popisujicí obálku zprávy. Vrací true, když se akce provede úspěšně.
|
|
|
|
* `bool markMessageLocallyRead(qint64 msgId, bool read)`
|
|
|
|
* nastaví příznak lokálního přečtení zprávy. Vstupem je ID zprávy a příznak přečteno (true/false). Vrací true, když se akce provede úspěšně.
|
|
|
|
* `bool markMessagesLocallyRead(enum MessageType messageType, bool read)`
|
|
|
|
* nastaví příznak lokálního přečtení u všech zpráv. Vstupem je typ zpráv a příznak přečteno (true/false). Vrací true, když se akce provede úspěšně.
|
|
|
|
* `int searchAndAppendMsgs(MessageListModel *msgModel, const QString &userName, const QString &phrase, enum MessageType messageType)`
|
|
|
|
* nastaví model zpráv pro QML podle výsledku hledání v databázi. Vstupem je model zpráv, uživatelské jméno účtu (odkud se vyhledává), vyhledavací fráze a typ zpráv, kde se má prohledávat. Vrací počet nalezených výsledků.
|
|
|
|
* `bool setAttachmentDownloaded(qint64 msgId, bool downloaded)`
|
|
|
|
* aktualizuje informaci o stažení kompletní zprávy u konkrétní zprávy v databázi. Vstupem je ID zprávy a true, jestli je stažena kompletní zpráva, jinak false. Vrací true, když se akce provede úspěšně.
|
|
|
|
* `bool setAttachmentsDownloaded(bool downloaded)`
|
|
|
|
* aktualizuje informaci o stažení kompletní zprávy u všech zpráv v databázi. Vstupem je true, jestli jsou staženy kompletní zprávy, jinak false. Vrací true, když se akce provede úspěšně.
|
|
|
|
* `bool updateAuthotInfo(qint64 msgId, const QString &data)`
|
|
|
|
* aktualizuje informace o autorovi zprávy v databázi. Vstupem je ID zprávy a informace o autorovi. Vrací true, když se akce provede úspěšně.
|
|
|
|
* `bool updateMessageEnvelopeInDb(const MsgEnvelope &msgEnvelopeData)`
|
|
|
|
* aktualizuje obálku zprávy v databázi. Vstupem je struktura popisujicí obálku zprávy. Vrací true, když se akce provede úspěšně.
|
|
|
|
|
|
|
|
### Operace pro manipulaci s databází:
|
|
|
|
* `bool openDb(const QString &fileName, bool storeToDisk)`
|
|
|
|
* metoda otevře databázi. Vstupem je příznak, jestli se má databáze otevřít v paměti nebo na disku. Vrací true, když se akce provede úspěšně.
|
|
|
|
* `bool reopenDb(const QString &newFileName)`
|
|
|
|
* metoda přesune a znovu otevře databází na jiné místo určené cestou v parametru. Vstupem je nová cesta. Vrací true, když se akce provede úspěšně.
|
|
|
|
* `bool copyDb(const QString &newFileName)`
|
|
|
|
* metoda překopíruje databázi souborů na jiné místo určené cestou v parametru. Vstupem je nová cesta. Vrací true, když se akce provede úspěšně.
|
|
|
|
|
|
|
|
### Třídy, struktury, enums:
|
|
|
|
|
|
|
|
```
|
|
|
|
enum MessageType {
|
|
|
|
TYPE_RECEIVED = 1,
|
|
|
|
TYPE_SENT = 2
|
|
|
|
};
|
|
|
|
``` |
|
|
|
\ No newline at end of file |