Module: Legion::Extensions::MicrosoftTeams::Runners::Files

Extended by:
Definitions
Includes:
Helpers::Lex, Helpers::Client
Defined in:
lib/legion/extensions/microsoft_teams/runners/files.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Helpers::Client

#bot_connection, #graph_connection, #oauth_connection, #user_path

Class Method Details

.trigger_wordsObject



13
14
15
# File 'lib/legion/extensions/microsoft_teams/runners/files.rb', line 13

def self.trigger_words
  %w[file files drive onedrive sharepoint document documents]
end

Instance Method Details

#get_drive_item(item_id:, user_id: 'me') ⇒ Object



40
41
42
43
44
# File 'lib/legion/extensions/microsoft_teams/runners/files.rb', line 40

def get_drive_item(item_id:, user_id: 'me', **)
  log.debug "get_drive_item(item_id: #{item_id}), user_id: #{user_id}"
  response = graph_connection(**).get("#{user_path(user_id)}/drive/items/#{item_id}")
  { result: response.body }
end

#get_drive_item_content(item_id:, user_id: 'me') ⇒ Object



55
56
57
58
59
# File 'lib/legion/extensions/microsoft_teams/runners/files.rb', line 55

def get_drive_item_content(item_id:, user_id: 'me', **)
  log.debug "get_drive_item_content(item_id: #{item_id}, user_id: #{user_id})"
  response = graph_connection(**).get("#{user_path(user_id)}/drive/items/#{item_id}/content")
  { result: response.body }
end

#list_drive_items(user_id: 'me') ⇒ Object



25
26
27
28
29
# File 'lib/legion/extensions/microsoft_teams/runners/files.rb', line 25

def list_drive_items(user_id: 'me', **)
  log.debug "list_drive_items(user_id: #{user_id})"
  response = graph_connection(**).get("#{user_path(user_id)}/drive/root/children")
  { result: response.body }
end

#list_team_drive_items(team_id:) ⇒ Object



70
71
72
73
74
# File 'lib/legion/extensions/microsoft_teams/runners/files.rb', line 70

def list_team_drive_items(team_id:, **)
  log.debug "list_team_drive_items(team_id: #{team_id})"
  response = graph_connection(**).get("teams/#{team_id}/drive/root/children")
  { result: response.body }
end