Class: Sem::API::UsersWithPermissions

Inherits:
Base
  • Object
show all
Defined in:
lib/sem/api/users_with_permissions.rb

Constant Summary collapse

LEVELS =
{ "owner" => 3, "admin" => 2, "write" => 1, "read" => 0 }.freeze

Constants inherited from Base

Base::CREDENTIALS_PATH

Class Method Summary collapse

Methods inherited from Base

client

Class Method Details

.list_admins_for_org(org_name) ⇒ Object



11
12
13
# File 'lib/sem/api/users_with_permissions.rb', line 11

def list_admins_for_org(org_name)
  Sem::API::Orgs.list_admins(org_name).map { |user| user.merge(:permission => "admin") }
end

.list_for_org(org_name) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/sem/api/users_with_permissions.rb', line 15

def list_for_org(org_name)
  all_teams = client.teams.list_for_org(org_name)

  team_groups = teams_by_permission(all_teams)

  user_groups = users_for_team_groups(team_groups)

  user_groups.reduce({}) { |acc, teams| acc.merge(teams) }.values
end

.list_owners_for_org(org_name) ⇒ Object



7
8
9
# File 'lib/sem/api/users_with_permissions.rb', line 7

def list_owners_for_org(org_name)
  Sem::API::Orgs.list_owners(org_name).map { |user| user.merge(:permission => "owner") }
end