Class: Assistant::TechnicalSupport::CaseEventStream::EventBuilder::UploadSerializer

Inherits:
Base
  • Object
show all
Defined in:
app/services/assistant/technical_support/case_event_stream/event_builder/upload_serializer.rb

Constant Summary collapse

SOURCE_TYPE =
'Upload'

Constants inherited from Base

Base::RawEvent

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Assistant::TechnicalSupport::CaseEventStream::EventBuilder::Base

Instance Method Details

#call(upload) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/services/assistant/technical_support/case_event_stream/event_builder/upload_serializer.rb', line 6

def call(upload)
  record_source(SOURCE_TYPE)
  extracted = clean_text(raw_attribute(upload, :extracted_markdown))
  raw_name = raw_attachment_name(upload)
  name = redacted_attachment_name(raw_name)
  unavailable_source(SOURCE_TYPE, unavailable_message(upload, name:, raw_name:)) if extracted.blank?
  raw_event = event(
    upload,
    key_prefix: "upload-#{upload.id}",
    source_type: SOURCE_TYPE,
    occurred_at: value_for(upload, :created_at),
    kind: 'attachment',
    actor_role: 'system',
    status: extracted.present? ? 'extracted' : 'unavailable',
    text: upload_text(upload, extracted:, name:)
  )
  include_source(SOURCE_TYPE)
  raw_event
end