diff options
Diffstat (limited to 'app/controllers/api/agents')
| -rw-r--r-- | app/controllers/api/agents/events_controller.rb | 22 | ||||
| -rw-r--r-- | app/controllers/api/agents/files_controller.rb | 20 |
2 files changed, 42 insertions, 0 deletions
diff --git a/app/controllers/api/agents/events_controller.rb b/app/controllers/api/agents/events_controller.rb new file mode 100644 index 0000000..56b566f --- /dev/null +++ b/app/controllers/api/agents/events_controller.rb @@ -0,0 +1,22 @@ +module Api + module Agents + class EventsController < ApiController + def create + @agent = Agent.find(params[:agent_id]) + publish(EventMessage.new( + agent_id: @agent.id, + event_type: event_params[:type], + data: event_params[:data] + )) + + render nothing: true + end + + private + + def event_params + params[:event] + end + end + end +end diff --git a/app/controllers/api/agents/files_controller.rb b/app/controllers/api/agents/files_controller.rb new file mode 100644 index 0000000..c13eac9 --- /dev/null +++ b/app/controllers/api/agents/files_controller.rb @@ -0,0 +1,20 @@ +module Api + module Agents + class FilesController < ApiController + before_action do + request.format = :json + end + + def show + @agent = Agent.find(params[:agent_id]) + @fingerprint = params[:id] + @file = Disposition.find_by(fingerprint: params[:id]) + publish(EventMessage.new( + agent_id: @agent.id, + event_type: :scanned, + data: params[:data] + )) + end + end + end +end |
