Skip to content

Commit

Permalink
add monitored event entity and contract
Browse files Browse the repository at this point in the history
  • Loading branch information
raghuramg committed Dec 28, 2023
1 parent f67daf7 commit ea42c72
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class EventLogContract < Dry::Validation::Contract
required(:event_time).value(:date_time)

required(:session_detail).hash(AcaEntities::EventLogs::SessionDetailContract.params)
optional(:monitored_event).hash(AcaEntities::EventLogs::MonitoredEventContract.params)

required(:trigger).maybe(:string)
optional(:tags).maybe(:array)
Expand Down
20 changes: 20 additions & 0 deletions lib/aca_entities/event_logs/contracts/monitored_event_contract.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# frozen_string_literal: true

require "dry/validation"

module AcaEntities
module EventLogs
# contract for MonitoredEvent
class MonitoredEventContract < Dry::Validation::Contract

params do
required(:market_kind).filled(:string)
required(:account_id).filled(:string)
required(:subject_hbx_id).filled(:string)
required(:event_category).filled(:symbol)
required(:event_time).value(:date_time)
optional(:login_session_id).maybe(:string)
end
end
end
end
2 changes: 2 additions & 0 deletions lib/aca_entities/event_logs/entities/event_log.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ def self.included(base)

attribute :session_detail,
AcaEntities::EventLogs::SessionDetail.optional.meta(omittable: false)
attribute :monitored_event,
AcaEntities::EventLogs::MonitoredEvent.optional.meta(omittable: true)

attribute :trigger, Types::String.optional.meta(omittable: false)
attribute :tags, Types::Array.optional.meta(omittable: true)
Expand Down
17 changes: 17 additions & 0 deletions lib/aca_entities/event_logs/entities/monitored_event.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# frozen_string_literal: true

module AcaEntities
module EventLogs
# Entity for Monitored Log
class MonitoredEvent < Dry::Struct
transform_keys(&:to_sym)

attribute :market_kind, Types::String.optional.meta(omittable: false)
attribute :account_id, Types::String.optional.meta(omittable: false)
attribute :subject_hbx_id, Types::String.optional.meta(omittable: false)
attribute :event_category, Types::Strict::Symbol.meta(omittable: false)
attribute :event_time, Types::DateTime.optional.meta(omittable: false)
attribute :login_session_id, Types::String.optional.meta(omittable: true)
end
end
end
2 changes: 2 additions & 0 deletions lib/aca_entities/libraries/core_library.rb
Original file line number Diff line number Diff line change
Expand Up @@ -197,11 +197,13 @@ module CoreLibrary
require 'aca_entities/benefit_sponsors/entities/benefit_sponsorships/shop_osse_eligibilities/shop_osse_eligibility'

require 'aca_entities/event_logs/contracts/session_detail_contract'
require 'aca_entities/event_logs/contracts/monitored_event_contract'
require 'aca_entities/event_logs/contracts/event_log_contract'
require 'aca_entities/event_logs/contracts/person_event_log_contract'
require 'aca_entities/event_logs/contracts/benefit_sponsorship_event_log_contract'

require 'aca_entities/event_logs/entities/session_detail'
require 'aca_entities/event_logs/entities/monitored_event'
require 'aca_entities/event_logs/entities/event_log'
require 'aca_entities/event_logs/entities/person_event_log'
require 'aca_entities/event_logs/entities/benefit_sponsorship_event_log'
Expand Down

0 comments on commit ea42c72

Please sign in to comment.