def find_permission_by_role_id(self, role_id: int): validator.validate_id(role_id) role = self.role_repo.find(role_id) if not role: raise errors.record_not_found permissions: List[PermissionPolicy] = self.role_repo.find_permission(role) return permissions
def find_all_user_info_by_id(self, user_id: int): validator.validate_id(user_id) user, roles, permissions = self.user_repo.find_all_user_info_by_id(user_id) user.roles = roles if user: return user, permissions raise errors.record_not_found
def find_by_id(self, role_id: int): validator.validate_id(role_id) role: Role = self.role_repo.find(role_id) permissions = self.role_repo.find_permission(role) role.list_permissions = permissions if role: return role raise errors.record_not_found
def append_permission_to_role(self, role_id: int, permission: str): permission = permission.lower() validator.validate_id(role_id) validator.validate_name(permission) role = self.role_repo.find(role_id) if not role: raise errors.record_not_found self.role_repo.append_permission(role, permission) self.access_policy_repo.change_role(role, note='append permission') return role
def remove_permission_to_role(self, role_id: int, permission: str): print('remove_permission_to_role', role_id, permission) permission = permission.lower() validator.validate_id(role_id) role = self.role_repo.find(role_id) if not role: raise errors.record_not_found r = self.role_repo.remove_permission(role_id, permission) self.access_policy_repo.change_role(r, note='remove permission') return r
def remove_role_to_user(self, user_id: int, role_id: int): validator.validate_id(user_id) validator.validate_id(role_id) user = self.user_repo.find(user_id) if not user: raise errors.record_not_found role = self.role_repo.find(role_id) if not role: raise errors.record_not_found u = self.user_repo.remove_role(user, role) self.access_policy_repo.change_user(u, note='remove role') return u
def delete(self, role_id: int): validator.validate_id(role_id) role = self.role_repo.delete(role_id) self.access_policy_repo.change_role(role, note='delete role') return role
def delete(self, user_id: int): validator.validate_id(user_id) user = self.user_repo.delete(user_id) self.access_policy_repo.change_user(user, note='delete user') return user
def find_by_id(self, user_id: int): validator.validate_id(user_id) user = self.user_repo.find(user_id) if user: return user raise errors.record_not_found