Skip to content

Commit

Permalink
Merge pull request #191 from /issues/113
Browse files Browse the repository at this point in the history
add rules to refresh data on info page based on event
  • Loading branch information
nohaapav committed Dec 11, 2017
2 parents 58a8eb7 + 2b92fac commit fe29f89
Showing 1 changed file with 66 additions and 8 deletions.
74 changes: 66 additions & 8 deletions src/clj/swarmpit/event/rule.clj
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,17 @@
(some? service-id)
(contains? supported-actions (:Action event)))))

(def service-container-event
(defn- service-info-data
[event]
(let [service-id (get-in event [:Actor :Attributes :com.docker.swarm.service.id])
service (api/service service-id)
tasks (api/service-tasks service-id)
networks (api/service-networks service-id)]
{:service service
:tasks tasks
:networks networks}))

(def service-list-container-event
(reify Rule
(match? [_ event]
(service-container-event? event))
Expand All @@ -25,7 +35,29 @@
(subscribed-data [_ event]
(api/services-memo))))

(def task-container-event
(def service-info-by-name-container-event
(reify Rule
(match? [_ event]
(service-container-event? event))
(subscription [_ event]
(let [service-name (get-in event [:Actor :Attributes :com.docker.swarm.service.name])]
{:handler :service-info
:params {:id service-name}}))
(subscribed-data [_ event]
(service-info-data event))))

(def service-info-by-id-container-event
(reify Rule
(match? [_ event]
(service-container-event? event))
(subscription [_ event]
(let [service-id (get-in event [:Actor :Attributes :com.docker.swarm.service.id])]
{:handler :service-info
:params {:id service-id}}))
(subscribed-data [_ event]
(service-info-data event))))

(def task-list-container-event
(reify Rule
(match? [_ event]
(service-container-event? event))
Expand All @@ -35,7 +67,7 @@
(subscribed-data [_ event]
(api/tasks-memo))))

(def service-event
(def service-list-event
(reify Rule
(match? [_ event]
(= "service" (:Type event)))
Expand All @@ -45,7 +77,29 @@
(subscribed-data [_ event]
(api/services))))

(def node-event
(def service-info-by-name-event
(reify Rule
(match? [_ event]
(= "service" (:Type event)))
(subscription [_ event]
(let [service-name (get-in event [:Actor :Attributes :com.docker.swarm.service.name])]
{:handler :service-info
:params {:id service-name}}))
(subscribed-data [_ event]
(service-info-data event))))

(def service-info-by-id-event
(reify Rule
(match? [_ event]
(= "service" (:Type event)))
(subscription [_ event]
(let [service-id (get-in event [:Actor :Attributes :com.docker.swarm.service.id])]
{:handler :service-info
:params {:id service-id}}))
(subscribed-data [_ event]
(service-info-data event))))

(def node-list-event
(reify Rule
(match? [_ event]
(= "node" (:Type event)))
Expand All @@ -55,7 +109,11 @@
(subscribed-data [_ event]
(api/nodes))))

(def list [service-container-event
task-container-event
service-event
node-event])
(def list [service-list-container-event
service-list-event
service-info-by-name-container-event
service-info-by-id-container-event
service-info-by-name-event
service-info-by-id-event
task-list-container-event
node-list-event])

0 comments on commit fe29f89

Please sign in to comment.