Module: Legion::Extensions::MicrosoftTeams::Runners::Transcripts

Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/microsoft_teams/runners/transcripts.rb

Constant Summary collapse

CONTENT_TYPES =
{
  vtt:  'text/vtt',
  docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
}.freeze

Instance Method Summary collapse

Methods included from Helpers::Client

#bot_connection, #graph_connection, #oauth_connection, #user_path

Instance Method Details

#get_transcript(meeting_id:, transcript_id:, user_id: 'me') ⇒ Object



22
23
24
25
26
27
# File 'lib/legion/extensions/microsoft_teams/runners/transcripts.rb', line 22

def get_transcript(meeting_id:, transcript_id:, user_id: 'me', **)
  response = graph_connection(**).get(
    "#{user_path(user_id)}/onlineMeetings/#{meeting_id}/transcripts/#{transcript_id}"
  )
  { result: response.body }
end

#get_transcript_content(meeting_id:, transcript_id:, user_id: 'me', format: :vtt) ⇒ Object



29
30
31
32
33
34
35
36
37
# File 'lib/legion/extensions/microsoft_teams/runners/transcripts.rb', line 29

def get_transcript_content(meeting_id:, transcript_id:, user_id: 'me', format: :vtt, **)
  accept = CONTENT_TYPES.fetch(format)
  response = graph_connection(**).get(
    "#{user_path(user_id)}/onlineMeetings/#{meeting_id}/transcripts/#{transcript_id}/content"
  ) do |req|
    req.headers['Accept'] = accept
  end
  { result: response.body }
end

#list_transcripts(meeting_id:, user_id: 'me') ⇒ Object



17
18
19
20
# File 'lib/legion/extensions/microsoft_teams/runners/transcripts.rb', line 17

def list_transcripts(meeting_id:, user_id: 'me', **)
  response = graph_connection(**).get("#{user_path(user_id)}/onlineMeetings/#{meeting_id}/transcripts")
  { result: response.body }
end