Module: Mural::Client::Users::RoomUsers

Included in:
Mural::Client::Users
Defined in:
lib/mural/client/users/room_users.rb

Instance Method Summary collapse

Instance Method Details

#invite_room_users(room_id, message: nil, room_invitations: [], send_email: false) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/mural/client/users/room_users.rb', line 30

def invite_room_users(
  room_id,
  message: nil,
  room_invitations: [],
  send_email: false
)
  json = post(
    "/api/public/v1/rooms/#{room_id}/users/invite",
    {
      message: message,
      invitations: room_invitations.map(&:encode),
      sendEmail: send_email
    }
  )

  json['value'].map { |result| Mural::RoomInvitation.decode(result) }
end

#room_users(room_id, next_page: nil) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/mural/client/users/room_users.rb', line 8

def room_users(room_id, next_page: nil)
  json = get(
    "/api/public/v1/rooms/#{room_id}/users",
    { next: next_page }
  )

  users = json['value'].map do |json_user|
    ::Mural::RoomUser.decode(json_user)
  end

  [users, json['next']]
end

#update_room_user_permissions(room_id, room_users: []) ⇒ Object



22
23
24
25
26
27
# File 'lib/mural/client/users/room_users.rb', line 22

def update_room_user_permissions(room_id, room_users: [])
  patch(
    "/api/public/v1/rooms/#{room_id}/users/permissions",
    { members: room_users.map(&:encode) }
  )
end