Class: KeycloakAdmin::RealmClient

Inherits:
Client
  • Object
show all
Defined in:
lib/keycloak-admin/client/realm_client.rb

Instance Method Summary collapse

Methods inherited from Client

#create_payload, #created_id, #current_token, #execute_http, #headers, #server_url

Constructor Details

#initialize(configuration, realm_name = nil) ⇒ RealmClient

Returns a new instance of RealmClient.



4
5
6
7
# File 'lib/keycloak-admin/client/realm_client.rb', line 4

def initialize(configuration, realm_name=nil)
  super(configuration)
  @realm_name = realm_name
end

Instance Method Details

#attack_detectionsObject



91
92
93
# File 'lib/keycloak-admin/client/realm_client.rb', line 91

def attack_detections
  AttackDetectionClient.new(@configuration, self)
end

#authz_permissions(client_id, type, resource_id = nil) ⇒ Object



123
124
125
# File 'lib/keycloak-admin/client/realm_client.rb', line 123

def authz_permissions(client_id, type, resource_id = nil)
  ClientAuthzPermissionClient.new(@configuration, self, client_id, type, resource_id)
end

#authz_policies(client_id, type) ⇒ Object



127
128
129
# File 'lib/keycloak-admin/client/realm_client.rb', line 127

def authz_policies(client_id, type)
  ClientAuthzPolicyClient.new(@configuration, self, client_id, type)
end

#authz_resources(client_id) ⇒ Object



119
120
121
# File 'lib/keycloak-admin/client/realm_client.rb', line 119

def authz_resources(client_id)
  ClientAuthzResourceClient.new(@configuration, self, client_id)
end

#authz_scopes(client_id, resource_id = nil) ⇒ Object



115
116
117
# File 'lib/keycloak-admin/client/realm_client.rb', line 115

def authz_scopes(client_id, resource_id = nil)
  ClientAuthzScopeClient.new(@configuration, self, client_id, resource_id)
end

#client_rolesObject



83
84
85
# File 'lib/keycloak-admin/client/realm_client.rb', line 83

def client_roles
  ClientRoleClient.new(@configuration, self)
end

#client_scope_protocol_mappers(client_scope_id) ⇒ Object



111
112
113
# File 'lib/keycloak-admin/client/realm_client.rb', line 111

def client_scope_protocol_mappers(client_scope_id)
  ClientScopeProtocolMapperClient.new(@configuration, self, client_scope_id)
end

#client_scopesObject



107
108
109
# File 'lib/keycloak-admin/client/realm_client.rb', line 107

def client_scopes
  ClientScopeClient.new(@configuration, self)
end

#clientsObject



67
68
69
# File 'lib/keycloak-admin/client/realm_client.rb', line 67

def clients
  ClientClient.new(@configuration, self)
end

#configurable_tokenObject



63
64
65
# File 'lib/keycloak-admin/client/realm_client.rb', line 63

def configurable_token
  ConfigurableTokenClient.new(@configuration, self)
end

#deleteObject



16
17
18
19
20
21
# File 'lib/keycloak-admin/client/realm_client.rb', line 16

def delete
  execute_http do
    resource(realm_admin_url).delete(headers)
  end
  true
end

#group(group_id) ⇒ Object



75
76
77
# File 'lib/keycloak-admin/client/realm_client.rb', line 75

def group(group_id)
  GroupResource.new(@configuration, self, group_id)
end

#groupsObject



71
72
73
# File 'lib/keycloak-admin/client/realm_client.rb', line 71

def groups
  GroupClient.new(@configuration, self)
end

#identity_providersObject



95
96
97
# File 'lib/keycloak-admin/client/realm_client.rb', line 95

def identity_providers
  IdentityProviderClient.new(@configuration, self)
end

#listObject



9
10
11
12
13
14
# File 'lib/keycloak-admin/client/realm_client.rb', line 9

def list
  response = execute_http do
    resource(realm_list_url).get(headers)
  end
  JSON.parse(response).map { |realm_as_hash| RealmRepresentation.from_hash(realm_as_hash) }
end

#name_defined?Boolean

Returns:

  • (Boolean)


131
132
133
# File 'lib/keycloak-admin/client/realm_client.rb', line 131

def name_defined?
  !@realm_name.nil?
end

#organizationsObject



99
100
101
# File 'lib/keycloak-admin/client/realm_client.rb', line 99

def organizations
  OrganizationClient.new(@configuration, self)
end

#realm_admin_urlObject



47
48
49
50
51
52
53
# File 'lib/keycloak-admin/client/realm_client.rb', line 47

def realm_admin_url
  if @realm_name
    "#{server_url}/admin/realms/#{encode_segment(@realm_name)}"
  else
    "#{server_url}/admin/realms"
  end
end

#realm_list_urlObject



55
56
57
# File 'lib/keycloak-admin/client/realm_client.rb', line 55

def realm_list_url
  "#{server_url}/admin/realms"
end

#realm_urlObject



39
40
41
42
43
44
45
# File 'lib/keycloak-admin/client/realm_client.rb', line 39

def realm_url
  if @realm_name
    "#{server_url}/realms/#{encode_segment(@realm_name)}"
  else
    "#{server_url}/realms"
  end
end

#rolesObject



79
80
81
# File 'lib/keycloak-admin/client/realm_client.rb', line 79

def roles
  RoleClient.new(@configuration, self)
end

#save(realm_representation) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/keycloak-admin/client/realm_client.rb', line 23

def save(realm_representation)
  execute_http do
    resource(realm_list_url).post(
      create_payload(realm_representation), headers
    )
  end
end

#tokenObject



59
60
61
# File 'lib/keycloak-admin/client/realm_client.rb', line 59

def token
  TokenClient.new(@configuration, self)
end

#update(realm_representation_body) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/keycloak-admin/client/realm_client.rb', line 31

def update(realm_representation_body)
  execute_http do
    resource(realm_admin_url).put(
      create_payload(realm_representation_body), headers
    )
  end
end

#user(user_id) ⇒ Object



103
104
105
# File 'lib/keycloak-admin/client/realm_client.rb', line 103

def user(user_id)
  UserResource.new(@configuration, self, user_id)
end

#usersObject



87
88
89
# File 'lib/keycloak-admin/client/realm_client.rb', line 87

def users
  UserClient.new(@configuration, self)
end