Module: Mural::Client::Users::MuralUsers

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

Instance Method Summary collapse

Instance Method Details

#invite_mural_users(mural_id, message: nil, invitations: [], send_email: false) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/mural/client/users/mural_users.rb', line 35

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

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

#mural_users(mural_id, next_page: nil) ⇒ Object



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

def mural_users(mural_id, next_page: nil)
  json = get(
    "/api/public/v1/murals/#{mural_id}/users",
    { next: next_page }
  )

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

  [users, json['next']]
end

#remove_mural_users(mural_id, emails: []) ⇒ Object



54
55
56
57
58
59
60
61
62
63
# File 'lib/mural/client/users/mural_users.rb', line 54

def remove_mural_users(mural_id, emails: [])
  json = post(
    "/api/public/v1/murals/#{mural_id}/users/remove",
    { emails: emails }
  )

  json['value'].map do |removed_user|
    Mural::RemovedMuralUser.decode(removed_user)
  end
end

#update_mural_user_permissions(mural_id, user_id, owner: nil, facilitator: nil) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/mural/client/users/mural_users.rb', line 22

def update_mural_user_permissions(
  mural_id,
  user_id,
  owner: nil,
  facilitator: nil
)
  patch(
    "/api/public/v1/murals/#{mural_id}/users/#{user_id}/permissions",
    { owner: owner, facilitator: facilitator }
  )
end