@@ -712,21 +712,28 @@ def _create_role(self, command):
712712 response = requests .post (
713713 url ,
714714 auth = HTTPBasicAuth (self .admin_account , self .admin_password ),
715- json = {'role_name' : role_name }
715+ json = {'role_name' : role_name , 'description' : desc_str }
716716 )
717717 res_json = response .json ()
718718 if response .status_code == 200 :
719719 self ._print_table_simple (res_json ['data' ])
720720 else :
721721 print (f"Fail to create role { role_name } , code: { res_json ['code' ]} , message: { res_json ['message' ]} " )
722722
723- pass
724-
725723 def _drop_role (self , command ):
726724 role_name_tree : Tree = command ['role_name' ]
727725 role_name : str = role_name_tree .children [0 ].strip ("'\" " )
728726 print (f"drop role name: { role_name } " )
729- pass
727+ url = f'http://{ self .host } :{ self .port } /api/v1/admin/roles/{ role_name } '
728+ response = requests .delete (
729+ url ,
730+ auth = HTTPBasicAuth (self .admin_account , self .admin_password ),
731+ )
732+ res_json = response .json ()
733+ if response .status_code == 200 :
734+ self ._print_table_simple (res_json ['data' ])
735+ else :
736+ print (f"Fail to drop role { role_name } , code: { res_json ['code' ]} , message: { res_json ['message' ]} " )
730737
731738 def _alter_role (self , command ):
732739 role_name_tree : Tree = command ['role_name' ]
@@ -735,17 +742,46 @@ def _alter_role(self, command):
735742 desc_str : str = desc_tree .children [0 ].strip ("'\" " )
736743
737744 print (f"alter role name: { role_name } , description: { desc_str } " )
738- pass
745+ url = f'http://{ self .host } :{ self .port } /api/v1/admin/roles/{ role_name } '
746+ response = requests .put (
747+ url ,
748+ auth = HTTPBasicAuth (self .admin_account , self .admin_password ),
749+ json = {'description' : desc_str }
750+ )
751+ res_json = response .json ()
752+ if response .status_code == 200 :
753+ self ._print_table_simple (res_json ['data' ])
754+ else :
755+ print (
756+ f"Fail to update role { role_name } with description: { desc_str } , code: { res_json ['code' ]} , message: { res_json ['message' ]} " )
739757
740758 def _list_roles (self , command ):
741759 print ("Listing all roles" )
742- pass
760+ url = f'http://{ self .host } :{ self .port } /api/v1/admin/roles'
761+ response = requests .get (
762+ url ,
763+ auth = HTTPBasicAuth (self .admin_account , self .admin_password )
764+ )
765+ res_json = response .json ()
766+ if response .status_code == 200 :
767+ self ._print_table_simple (res_json ['data' ])
768+ else :
769+ print (f"Fail to list roles, code: { res_json ['code' ]} , message: { res_json ['message' ]} " )
743770
744771 def _show_role (self , command ):
745772 role_name_tree : Tree = command ['role_name' ]
746773 role_name : str = role_name_tree .children [0 ].strip ("'\" " )
747774 print (f"show role: { role_name } " )
748- pass
775+ url = f'http://{ self .host } :{ self .port } /api/v1/admin/roles/{ role_name } /permissions'
776+ response = requests .get (
777+ url ,
778+ auth = HTTPBasicAuth (self .admin_account , self .admin_password )
779+ )
780+ res_json = response .json ()
781+ if response .status_code == 200 :
782+ self ._print_table_simple (res_json ['data' ])
783+ else :
784+ print (f"Fail to list roles, code: { res_json ['code' ]} , message: { res_json ['message' ]} " )
749785
750786 def _grant_permission (self , command ):
751787 role_name_tree : Tree = command ['role_name' ]
0 commit comments