@ -36,7 +36,8 @@ from .urls_patterns import URL_ADMIN_SERVER_INFO, URL_ADMIN_CLIENT_AUTHZ_RESOURC 
			
		
	
		
			
				
					    URL_ADMIN_USER_GROUPS ,  URL_ADMIN_CLIENTS ,  URL_ADMIN_FLOWS_EXECUTIONS ,  URL_ADMIN_GROUPS ,  URL_ADMIN_USER_CLIENT_ROLES ,  \ 
			
		
	
		
			
				
					    URL_ADMIN_REALM_IMPORT ,  URL_ADMIN_USERS_COUNT ,  URL_ADMIN_FLOWS ,  URL_ADMIN_GROUP ,  URL_ADMIN_CLIENT_AUTHZ_SETTINGS ,  \ 
			
		
	
		
			
				
					    URL_ADMIN_GROUP_MEMBERS ,  URL_ADMIN_USER_STORAGE ,  URL_ADMIN_GROUP_PERMISSIONS ,  URL_ADMIN_IDPS ,  \ 
			
		
	
		
			
				
					    URL_ADMIN_USER_CLIENT_ROLES_AVAILABLE ,  URL_ADMIN_USERS  
			
		
	
		
			
				
					    URL_ADMIN_USER_CLIENT_ROLES_AVAILABLE ,  URL_ADMIN_USERS ,  URL_ADMIN_CLIENT_SCOPES ,  \ 
			
		
	
		
			
				
					    URL_ADMIN_CLIENT_SCOPES_ADD_MAPPER ,  URL_ADMIN_CLIENT_SCOPE  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					class  KeycloakAdmin :  
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -869,3 +870,43 @@ class KeycloakAdmin: 
			
		
	
		
			
				
					        data_raw  =  self . connection . raw_post ( URL_ADMIN_USER_STORAGE . format ( * * params_path ) ,  
			
		
	
		
			
				
					                                            data = json . dumps ( data ) ,  * * params_query )  
			
		
	
		
			
				
					        return  raise_error_from_response ( data_raw ,  KeycloakGetError )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    def  get_client_scopes ( self ) :  
			
		
	
		
			
				
					        """  
			
		
	
		
			
				
					        Get  representation  of  the  client  scopes  for  the  realm  where  we  are  connected  to  
			
		
	
		
			
				
					        https : / / www . keycloak . org / docs - api / 4.5 / rest - api / index . html #_getclientscopes  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        : return :  Keycloak  server  response  Array  of  ( ClientScopeRepresentation )  
			
		
	
		
			
				
					        """  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        params_path  =  { " realm-name " :  self . realm_name }  
			
		
	
		
			
				
					        data_raw  =  self . connection . raw_get ( URL_ADMIN_CLIENT_SCOPES . format ( * * params_path ) )  
			
		
	
		
			
				
					        return  raise_error_from_response ( data_raw ,  KeycloakGetError )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    def  get_client_scope ( self ,  client_scope_id ) :  
			
		
	
		
			
				
					        """  
			
		
	
		
			
				
					        Get  representation  of  the  client  scopes  for  the  realm  where  we  are  connected  to  
			
		
	
		
			
				
					        https : / / www . keycloak . org / docs - api / 4.5 / rest - api / index . html #_getclientscopes  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        : return :  Keycloak  server  response  ( ClientScopeRepresentation )  
			
		
	
		
			
				
					        """  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        params_path  =  { " realm-name " :  self . realm_name ,  " scope-id " :  client_scope_id }  
			
		
	
		
			
				
					        data_raw  =  self . connection . raw_get ( URL_ADMIN_CLIENT_SCOPE . format ( * * params_path ) )  
			
		
	
		
			
				
					        return  raise_error_from_response ( data_raw ,  KeycloakGetError )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    def  add_mapper_to_client_scope ( self ,  client_scope_id ,  payload ) :  
			
		
	
		
			
				
					        """  
			
		
	
		
			
				
					        Add  a  mapper  to  a  client  scope  
			
		
	
		
			
				
					        https : / / www . keycloak . org / docs - api / 4.5 / rest - api / index . html #_create_mapper  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        : param  payload :  ProtocolMapperRepresentation  
			
		
	
		
			
				
					        : return :  Keycloak  server  Response  
			
		
	
		
			
				
					        """  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        params_path  =  { " realm-name " :  self . realm_name ,  " scope-id " :  client_scope_id }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        data_raw  =  self . connection . raw_post ( URL_ADMIN_CLIENT_SCOPES_ADD_MAPPER . format ( * * params_path ) ,  data = json . dumps ( payload ) )  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        return  raise_error_from_response ( data_raw ,  KeycloakGetError ,  expected_code = 201 )