summaryrefslogtreecommitdiffstats
path: root/framework/src/sinkfabric.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-04-24 21:51:24 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-04-24 21:51:24 +0200
commitb3223155b178427354b44f05167d0afba0926cbd (patch)
tree25021116a0f465a6973e36b668945080f3b9fc4b /framework/src/sinkfabric.cpp
parent4ba8c5b72fd7a3db6e593853c4669750dc6dd2a2 (diff)
downloadkube-b3223155b178427354b44f05167d0afba0926cbd.tar.gz
kube-b3223155b178427354b44f05167d0afba0926cbd.zip
Another bunch of controllers gone
Diffstat (limited to 'framework/src/sinkfabric.cpp')
-rw-r--r--framework/src/sinkfabric.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/framework/src/sinkfabric.cpp b/framework/src/sinkfabric.cpp
index 68a75a86..5e209526 100644
--- a/framework/src/sinkfabric.cpp
+++ b/framework/src/sinkfabric.cpp
@@ -53,6 +53,15 @@ public:
53 Store::synchronize(SyncScope()).exec(); 53 Store::synchronize(SyncScope()).exec();
54 } 54 }
55 } 55 }
56 if (id == "sendOutbox"/*Kube::Messages::synchronize*/) {
57 Query query;
58 query.containsFilter<SinkResource::Capabilities>(ResourceCapabilities::Mail::transport);
59 auto job = Store::fetchAll<SinkResource>(query)
60 .each([=](const SinkResource::Ptr &resource) -> KAsync::Job<void> {
61 return Store::synchronize(SyncScope{}.resourceFilter(resource->identifier()));
62 });
63 job.exec();
64 }
56 if (id == "markAsRead"/*Kube::Messages::synchronize*/) { 65 if (id == "markAsRead"/*Kube::Messages::synchronize*/) {
57 if (auto mail = message["mail"].value<ApplicationDomain::Mail::Ptr>()) { 66 if (auto mail = message["mail"].value<ApplicationDomain::Mail::Ptr>()) {
58 mail->setUnread(false); 67 mail->setUnread(false);
@@ -77,6 +86,12 @@ public:
77 Store::modify(*mail).exec(); 86 Store::modify(*mail).exec();
78 } 87 }
79 } 88 }
89 if (id == "moveToDrafts"/*Kube::Messages::synchronize*/) {
90 if (auto mail = message["mail"].value<ApplicationDomain::Mail::Ptr>()) {
91 mail->setDraft(true);
92 Store::modify(*mail).exec();
93 }
94 }
80 if (id == "moveToFolder"/*Kube::Messages::synchronize*/) { 95 if (id == "moveToFolder"/*Kube::Messages::synchronize*/) {
81 if (auto mail = message["mail"].value<ApplicationDomain::Mail::Ptr>()) { 96 if (auto mail = message["mail"].value<ApplicationDomain::Mail::Ptr>()) {
82 auto folder = message["folder"].value<ApplicationDomain::Folder::Ptr>(); 97 auto folder = message["folder"].value<ApplicationDomain::Folder::Ptr>();