From 9c84576258e05b05abee5eac36f8fc565c35bb8a Mon Sep 17 00:00:00 2001 From: mo khan Date: Sat, 7 Feb 2015 12:53:45 -0700 Subject: use single table inheritance for events table. --- app/controllers/agents/events_controller.rb | 2 +- app/controllers/agents/files_controller.rb | 8 +------- app/models/detection.rb | 2 ++ app/models/modified.rb | 2 ++ app/views/agents/events/_form.html.erb | 4 ++-- app/views/agents/events/index.html.erb | 4 ++-- db/migrate/20150207194524_rename_name_to_type.rb | 5 +++++ db/schema.rb | 4 ++-- lib/fake_agent.rb | 3 +-- 9 files changed, 18 insertions(+), 16 deletions(-) create mode 100644 app/models/detection.rb create mode 100644 app/models/modified.rb create mode 100644 db/migrate/20150207194524_rename_name_to_type.rb diff --git a/app/controllers/agents/events_controller.rb b/app/controllers/agents/events_controller.rb index 8b1d158..6827938 100644 --- a/app/controllers/agents/events_controller.rb +++ b/app/controllers/agents/events_controller.rb @@ -12,7 +12,7 @@ module Agents def create message = event_params.merge({agent_id: @agent.id}) - routing_key = "events.#{event_params[:name]}.#{@agent.id}" + routing_key = "events.#{event_params[:type]}.#{@agent.id}" Publisher.publish(routing_key, message) redirect_to agent_events_url, notice: 'Event was successfully created.' end diff --git a/app/controllers/agents/files_controller.rb b/app/controllers/agents/files_controller.rb index 3c2e47b..95421e0 100644 --- a/app/controllers/agents/files_controller.rb +++ b/app/controllers/agents/files_controller.rb @@ -11,15 +11,9 @@ module Agents def show @fingerprint = params[:id] @file = Disposition.find_by(fingerprint: params[:id]) - Publisher.publish("queries", { - agent_id: params[:id], - name: params[:name], - data: params[:data] - }) - message = { agent_id: params[:id], - name: params[:name], + type: 'lookup', data: params[:data] } Publisher.publish("events.scanned.#{@agent.id}", message) diff --git a/app/models/detection.rb b/app/models/detection.rb new file mode 100644 index 0000000..c42e7b4 --- /dev/null +++ b/app/models/detection.rb @@ -0,0 +1,2 @@ +class Detection < Event +end diff --git a/app/models/modified.rb b/app/models/modified.rb new file mode 100644 index 0000000..46e0f14 --- /dev/null +++ b/app/models/modified.rb @@ -0,0 +1,2 @@ +class Modified < Event +end diff --git a/app/views/agents/events/_form.html.erb b/app/views/agents/events/_form.html.erb index 2215f6c..aa0dafb 100644 --- a/app/views/agents/events/_form.html.erb +++ b/app/views/agents/events/_form.html.erb @@ -12,8 +12,8 @@ <% end %>
- <%= f.label :name %>
- <%= f.text_field :name %> + <%= f.label :type %>
+ <%= f.text_field :type %>
<%= f.label :data %>
diff --git a/app/views/agents/events/index.html.erb b/app/views/agents/events/index.html.erb index 223e74e..f609dbf 100644 --- a/app/views/agents/events/index.html.erb +++ b/app/views/agents/events/index.html.erb @@ -17,7 +17,7 @@ <% @events.each do |event| %> - <%= event.name %> + <%= event.type %>
diff --git a/db/migrate/20150207194524_rename_name_to_type.rb b/db/migrate/20150207194524_rename_name_to_type.rb new file mode 100644 index 0000000..319ba35 --- /dev/null +++ b/db/migrate/20150207194524_rename_name_to_type.rb @@ -0,0 +1,5 @@ +class RenameNameToType < ActiveRecord::Migration + def change + rename_column :events, :name, :type + end +end diff --git a/db/schema.rb b/db/schema.rb index 88839f9..d62cc41 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150207151759) do +ActiveRecord::Schema.define(version: 20150207194524) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -31,7 +31,7 @@ ActiveRecord::Schema.define(version: 20150207151759) do end create_table "events", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t| - t.string "name" + t.string "type" t.json "data" t.datetime "created_at", null: false t.datetime "updated_at", null: false diff --git a/lib/fake_agent.rb b/lib/fake_agent.rb index f6f2538..a3b4002 100644 --- a/lib/fake_agent.rb +++ b/lib/fake_agent.rb @@ -68,7 +68,7 @@ class FakeAgent body = { event: { agent_id: id, - name: event, + type: event, data: { fingerprint: fingerprint_for(file), path: file, @@ -97,7 +97,6 @@ class FakeAgent def disposition_for(file) fingerprint = fingerprint_for(file) body = { - name: 'lookup', data: { fingerprint: fingerprint, path: File.expand_path(file) -- cgit v1.2.3