Module: Legion::Extensions::MicrosoftTeams::Runners::Meetings
- Includes:
- Helpers::Lex, Helpers::Client
- Included in:
- Client
- Defined in:
- lib/legion/extensions/microsoft_teams/runners/meetings.rb
Instance Method Summary
collapse
-
#create_meeting(subject:, start_time:, end_time:, user_id: 'me') ⇒ Object
-
#delete_meeting(meeting_id:, user_id: 'me') ⇒ Object
-
#get_attendance_report(meeting_id:, report_id:, user_id: 'me') ⇒ Object
-
#get_meeting(meeting_id:, user_id: 'me') ⇒ Object
-
#get_meeting_by_join_url(join_url:, user_id: 'me') ⇒ Object
-
#list_attendance_reports(meeting_id:, user_id: 'me') ⇒ Object
-
#list_meetings(user_id: 'me') ⇒ Object
-
#update_meeting(meeting_id:, user_id: 'me', subject: nil, start_time: nil, end_time: nil) ⇒ Object
#bot_connection, #graph_connection, #oauth_connection, #user_path
Instance Method Details
#create_meeting(subject:, start_time:, end_time:, user_id: 'me') ⇒ Object
22
23
24
25
26
27
28
29
30
|
# File 'lib/legion/extensions/microsoft_teams/runners/meetings.rb', line 22
def create_meeting(subject:, start_time:, end_time:, user_id: 'me', **)
payload = {
subject: subject,
startDateTime: start_time,
endDateTime: end_time
}
response = graph_connection(**).post("#{user_path(user_id)}/onlineMeetings", payload)
{ result: response.body }
end
|
#delete_meeting(meeting_id:, user_id: 'me') ⇒ Object
41
42
43
44
|
# File 'lib/legion/extensions/microsoft_teams/runners/meetings.rb', line 41
def delete_meeting(meeting_id:, user_id: 'me', **)
response = graph_connection(**).delete("#{user_path(user_id)}/onlineMeetings/#{meeting_id}")
{ result: response.body }
end
|
#get_attendance_report(meeting_id:, report_id:, user_id: 'me') ⇒ Object
57
58
59
60
|
# File 'lib/legion/extensions/microsoft_teams/runners/meetings.rb', line 57
def get_attendance_report(meeting_id:, report_id:, user_id: 'me', **)
response = graph_connection(**).get("#{user_path(user_id)}/onlineMeetings/#{meeting_id}/attendanceReports/#{report_id}")
{ result: response.body }
end
|
#get_meeting(meeting_id:, user_id: 'me') ⇒ Object
17
18
19
20
|
# File 'lib/legion/extensions/microsoft_teams/runners/meetings.rb', line 17
def get_meeting(meeting_id:, user_id: 'me', **)
response = graph_connection(**).get("#{user_path(user_id)}/onlineMeetings/#{meeting_id}")
{ result: response.body }
end
|
#get_meeting_by_join_url(join_url:, user_id: 'me') ⇒ Object
46
47
48
49
50
|
# File 'lib/legion/extensions/microsoft_teams/runners/meetings.rb', line 46
def get_meeting_by_join_url(join_url:, user_id: 'me', **)
params = { '$filter' => "joinWebUrl eq '#{join_url.gsub("'", "''")}'" }
response = graph_connection(**).get("#{user_path(user_id)}/onlineMeetings", params)
{ result: response.body }
end
|
#list_attendance_reports(meeting_id:, user_id: 'me') ⇒ Object
52
53
54
55
|
# File 'lib/legion/extensions/microsoft_teams/runners/meetings.rb', line 52
def list_attendance_reports(meeting_id:, user_id: 'me', **)
response = graph_connection(**).get("#{user_path(user_id)}/onlineMeetings/#{meeting_id}/attendanceReports")
{ result: response.body }
end
|
#list_meetings(user_id: 'me') ⇒ Object
12
13
14
15
|
# File 'lib/legion/extensions/microsoft_teams/runners/meetings.rb', line 12
def list_meetings(user_id: 'me', **)
response = graph_connection(**).get("#{user_path(user_id)}/onlineMeetings")
{ result: response.body }
end
|
#update_meeting(meeting_id:, user_id: 'me', subject: nil, start_time: nil, end_time: nil) ⇒ Object
32
33
34
35
36
37
38
39
|
# File 'lib/legion/extensions/microsoft_teams/runners/meetings.rb', line 32
def update_meeting(meeting_id:, user_id: 'me', subject: nil, start_time: nil, end_time: nil, **)
payload = {}
payload[:subject] = subject if subject
payload[:startDateTime] = start_time if start_time
payload[:endDateTime] = end_time if end_time
response = graph_connection(**).patch("#{user_path(user_id)}/onlineMeetings/#{meeting_id}", payload)
{ result: response.body }
end
|