mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-01 22:56:33 +02:00
Collapsable folders
This commit is contained in:
@@ -56,21 +56,27 @@ public interface DaoFolder {
|
||||
", COUNT(message.id) AS messages" +
|
||||
", SUM(CASE WHEN message.content = 1 THEN 1 ELSE 0 END) AS content" +
|
||||
", SUM(CASE WHEN message.ui_seen = 0 THEN 1 ELSE 0 END) AS unseen" +
|
||||
", (SELECT COUNT(child.id) FROM folder child WHERE child.parent = folder.id) AS childs" +
|
||||
" FROM folder" +
|
||||
" LEFT JOIN account ON account.id = folder.account" +
|
||||
" LEFT JOIN message ON message.folder = folder.id AND NOT message.ui_hide" +
|
||||
" WHERE CASE WHEN :account IS NULL" +
|
||||
" THEN folder.unified AND account.synchronize" +
|
||||
" ELSE (folder.account = :account AND account.synchronize) OR folder.account IS NULL" +
|
||||
" ELSE" +
|
||||
" (folder.account = :account" +
|
||||
" AND account.synchronize" +
|
||||
" AND CASE WHEN :parent IS NULL THEN folder.parent IS NULL ELSE folder.parent = :parent END)" +
|
||||
" OR (folder.account IS NULL AND :parent IS NULL)" +
|
||||
" END" +
|
||||
" GROUP BY folder.id")
|
||||
LiveData<List<TupleFolderEx>> liveFolders(Long account);
|
||||
LiveData<List<TupleFolderEx>> liveFolders(Long account, Long parent);
|
||||
|
||||
@Query("SELECT folder.*" +
|
||||
", account.name AS accountName, account.color AS accountColor, account.state AS accountState" +
|
||||
", COUNT(message.id) AS messages" +
|
||||
", SUM(CASE WHEN message.content = 1 THEN 1 ELSE 0 END) AS content" +
|
||||
", SUM(CASE WHEN message.ui_seen = 0 THEN 1 ELSE 0 END) AS unseen" +
|
||||
", (SELECT COUNT(child.id) FROM folder child WHERE child.parent = folder.id) AS childs" +
|
||||
" FROM folder" +
|
||||
" JOIN account ON account.id = folder.account" +
|
||||
" LEFT JOIN message ON message.folder = folder.id AND NOT message.ui_hide" +
|
||||
@@ -91,6 +97,7 @@ public interface DaoFolder {
|
||||
", COUNT(message.id) AS messages" +
|
||||
", SUM(CASE WHEN message.content = 1 THEN 1 ELSE 0 END) AS content" +
|
||||
", SUM(CASE WHEN message.ui_seen = 0 THEN 1 ELSE 0 END) AS unseen" +
|
||||
", (SELECT COUNT(child.id) FROM folder child WHERE child.parent = folder.id) AS childs" +
|
||||
" FROM folder" +
|
||||
" LEFT JOIN account ON account.id = folder.account" +
|
||||
" LEFT JOIN message ON message.folder = folder.id AND NOT message.ui_hide" +
|
||||
|
||||
Reference in New Issue
Block a user