Module: Legion::Extensions::MicrosoftTeams::Runners::Channels

Extended by:
Definitions
Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/microsoft_teams/runners/channels.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/channels.rb', line 13

def self.trigger_words
  %w[channel channels post posts feed]
end

Instance Method Details

#create_channel(team_id:, display_name:, description: nil, membership_type: 'standard') ⇒ Object



66
67
68
69
70
71
# File 'lib/legion/extensions/microsoft_teams/runners/channels.rb', line 66

def create_channel(team_id:, display_name:, description: nil, membership_type: 'standard', **)
  payload = { displayName: display_name, membershipType: membership_type }
  payload[:description] = description if description
  response = graph_connection(**).post("teams/#{team_id}/channels", payload)
  { result: response.body }
end

#delete_channel(team_id:, channel_id:) ⇒ Object



103
104
105
106
# File 'lib/legion/extensions/microsoft_teams/runners/channels.rb', line 103

def delete_channel(team_id:, channel_id:, **)
  response = graph_connection(**).delete("teams/#{team_id}/channels/#{channel_id}")
  { result: response.body }
end

#get_channel(team_id:, channel_id:) ⇒ Object



50
51
52
53
# File 'lib/legion/extensions/microsoft_teams/runners/channels.rb', line 50

def get_channel(team_id:, channel_id:, **)
  response = graph_connection(**).get("teams/#{team_id}/channels/#{channel_id}")
  { result: response.body }
end

#list_channel_members(team_id:, channel_id:) ⇒ Object



119
120
121
122
# File 'lib/legion/extensions/microsoft_teams/runners/channels.rb', line 119

def list_channel_members(team_id:, channel_id:, **)
  response = graph_connection(**).get("teams/#{team_id}/channels/#{channel_id}/members")
  { result: response.body }
end

#list_channels(team_id:, filter: nil, select: nil) ⇒ Object



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

def list_channels(team_id:, filter: nil, select: nil, **)
  params = {}
  params['$filter'] = filter if filter
  params['$select'] = select if select
  response = graph_connection(**).get("teams/#{team_id}/channels", params)
  { result: response.body }
end

#update_channel(team_id:, channel_id:, display_name: nil, description: nil) ⇒ Object



84
85
86
87
88
89
90
# File 'lib/legion/extensions/microsoft_teams/runners/channels.rb', line 84

def update_channel(team_id:, channel_id:, display_name: nil, description: nil, **)
  payload = {}
  payload[:displayName] = display_name if display_name
  payload[:description] = description if description
  response = graph_connection(**).patch("teams/#{team_id}/channels/#{channel_id}", payload)
  { result: response.body }
end