Class: CommandTower::Serializers::Intervention::EnvelopeSerializer

Inherits:
ApplicationSerializer show all
Defined in:
app/serializers/command_tower/serializers/intervention/envelope_serializer.rb

Overview

Action-scoped intervention envelope for GET projections and mutation errors. blockers ordered; primary is first. No presentation-mode fields. Host/CT FE owns presentation modes (callout, intercept, sheet, blocking_region).

Class Method Summary collapse

Methods inherited from ApplicationSerializer

iso8601, map_serialize

Class Method Details

.serialize(action:, allowed:, blockers: []) ⇒ Object



10
11
12
13
14
15
16
# File 'app/serializers/command_tower/serializers/intervention/envelope_serializer.rb', line 10

def self.serialize(action:, allowed:, blockers: [])
  {
    action: action.to_s,
    allowed: allowed == true,
    blockers: map_serialize(blockers) { |blocker| BlockerSerializer.serialize(**blocker) }
  }
end

.serialize_many(envelopes) ⇒ Object



18
19
20
# File 'app/serializers/command_tower/serializers/intervention/envelope_serializer.rb', line 18

def self.serialize_many(envelopes)
  map_serialize(envelopes) { |envelope| serialize(**envelope) }
end