|
|
|
```
|
|
|
|
Soubor: files.db
|
|
|
|
1 tabulka: files
|
|
|
|
```
|
|
|
|
|
|
|
|
### Operace čtení, nemění stav db, vrací pouze určitou hodnotu z tabulky:
|
|
|
|
* `int getDbSizeInBytes(void)`
|
|
|
|
* vrací velikost databáze v bytech.
|
|
|
|
* `FileDb::FileData getFileContentFromDb(int fileId)`
|
|
|
|
* vrací strukturu, která obsahuje název souboru a jeho obsah v base64. Vstupem je id souboru v databázi.
|
|
|
|
* `QList<FileDb::FileData> getFilesFromDb(qint64 dmId)`
|
|
|
|
* vrací seznam strukturu, které obsahují název souboru a jeho obsah v base64. Vstupem je id zprávy.
|
|
|
|
* `void getFileListFromDb(FileListModel &model, qint64 dmId)`
|
|
|
|
* vrací vyplněný model příloh pro QML. Vstupem je model příloh z QML a id zprávy.
|
|
|
|
|
|
|
|
### Operace, které modifikují obsah tabulek, mění stav databáze:
|
|
|
|
* `QStringList cleanFilesInDb(int days)`
|
|
|
|
* odstraní všechny soubory z databáze, jsou-li starší než uvedený počet dní. Vstupem je počet dní pro smazání, výstupem je seznam id zpráv, u kterých byly přílohy odstraněny.
|
|
|
|
* `bool deleteFilesFromDb(qint64 dmId)`
|
|
|
|
* odstraní všechny přílohy zprávy z databáze. Vstupem je ID zprávy, u které se mají přílohy odtsranit. Vrací true, jestli byly soubory odstraněný z databáze.
|
|
|
|
* `bool insertUpdateFileIntoDb(const AttachmentData &fileData)`
|
|
|
|
* vloží nebo aktualizují přílohu zprávy do databáze. Vstupem je struktura obsahující informace o souboru a jeho obsah v base64.
|
|
|
|
* `bool vacuumFileDb(void)`
|
|
|
|
* pročistí databázi od dočasných záznámů a balastu. 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 souborů. 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 pro přesune a znovu otevře databází souborů. 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é cestuo v paramteru. Vstupem je nová cesta. Vrací true, když se akce provede úspěšně.
|
|
|
|
|
|
|
|
### Třídy, struktury, enums:
|
|
|
|
```
|
|
|
|
struct FileData {
|
|
|
|
public: QString filename;
|
|
|
|
QString content;
|
|
|
|
};
|
|
|
|
``` |
|
|
|
\ No newline at end of file |