Commit a872caa

mo khan <mo@mokhan.ca>
2015-02-05 04:37:33
make message formats consistent.
1 parent 4e715a2
Changed files (3)
app/controllers/agents/files_controller.rb
@@ -11,8 +11,9 @@ module Agents
     def show
       @file = Disposition.find_by(fingerprint: params[:id])
       Publisher.publish("queries", {
-        fingerprint: params[:id],
-        payload: params[:payload]
+        agent_id: params[:id],
+        name: params[:name],
+        data: params[:data]
       })
     end
 
app/workers/cloud_queries.rb
@@ -7,14 +7,24 @@ class CloudQueries
   def work(json)
     logger.info "Query for: #{json.inspect}"
     attributes = JSON.parse(json)
-    #fingerprint = attributes["fingerprint"]
-    #disposition = Disposition.find_by(fingerprint: fingerprint)
 
-    #if disposition.present?
-      #logger.info("#{disposition.state} disposition for: #{fingerprint}")
-    #else
-      #logger.info("Unknown disposition for: #{fingerprint}")
-    #end
+    publish(JSON.generate({
+      agent_id: attributes["agent_id"],
+      name: "File #{attributes["name"]}",
+      data: attributes["data"]
+    }), to_queue: "worker.events")
+
+    fingerprint = attributes["fingerprint"]
+    disposition = Disposition.find_by(fingerprint: fingerprint)
+
+    if disposition.nil?
+      # publish command to fetch file from agent
+      #publish(JSON.generate({
+        #command: :request_analysis,
+        #agent_id: attributes["agent_id"],
+        #fingerprint: fingerprint,
+      #}), to_queue: "worker.commands")
+    end
 
     ack!
   end
lib/fake_agent.rb
@@ -25,9 +25,11 @@ class FakeAgent
       url = "#{endpoint}/agents/#{id}/files/#{fingerprint}"
       puts url
       Typhoeus.get(url, body: {
-        payload: {
-          event: event,
-          full_path: file
+        agent_id: id,
+        name: event,
+        data: {
+          fingerprint: fingerprint,
+          full_path: file,
         }
       })
     end