Spaces:
Sleeping
Sleeping
from abc import ABC, abstractmethod | |
from typing import Dict, List, Optional | |
from omagent_core.engine.http.models.conductor_application import \ | |
ConductorApplication | |
from omagent_core.engine.http.models.conductor_user import ConductorUser | |
from omagent_core.engine.http.models.create_or_update_application_request import \ | |
CreateOrUpdateApplicationRequest | |
from omagent_core.engine.http.models.group import Group | |
from omagent_core.engine.http.models.subject_ref import SubjectRef | |
from omagent_core.engine.http.models.target_ref import TargetRef | |
from omagent_core.engine.http.models.upsert_group_request import \ | |
UpsertGroupRequest | |
from omagent_core.engine.http.models.upsert_user_request import \ | |
UpsertUserRequest | |
from omagent_core.engine.orkes.models.access_key import AccessKey | |
from omagent_core.engine.orkes.models.access_type import AccessType | |
from omagent_core.engine.orkes.models.created_access_key import \ | |
CreatedAccessKey | |
from omagent_core.engine.orkes.models.granted_permission import \ | |
GrantedPermission | |
from omagent_core.engine.orkes.models.metadata_tag import MetadataTag | |
class AuthorizationClient(ABC): | |
# Applications | |
def create_application( | |
self, create_or_update_application_request: CreateOrUpdateApplicationRequest | |
) -> ConductorApplication: | |
pass | |
def get_application(self, application_id: str) -> ConductorApplication: | |
pass | |
def list_applications(self) -> List[ConductorApplication]: | |
pass | |
def update_application( | |
self, | |
create_or_update_application_request: CreateOrUpdateApplicationRequest, | |
application_id: str, | |
) -> ConductorApplication: | |
pass | |
def delete_application(self, application_id: str): | |
pass | |
def add_role_to_application_user(self, application_id: str, role: str): | |
pass | |
def remove_role_from_application_user(self, application_id: str, role: str): | |
pass | |
def set_application_tags(self, tags: List[MetadataTag], application_id: str): | |
pass | |
def get_application_tags(self, application_id: str) -> List[MetadataTag]: | |
pass | |
def delete_application_tags(self, tags: List[MetadataTag], application_id: str): | |
pass | |
def create_access_key(self, application_id: str) -> CreatedAccessKey: | |
pass | |
def get_access_keys(self, application_id: str) -> List[AccessKey]: | |
pass | |
def toggle_access_key_status(self, application_id: str, key_id: str) -> AccessKey: | |
pass | |
def delete_access_key(self, application_id: str, key_id: str): | |
pass | |
# Users | |
def upsert_user( | |
self, upsert_user_request: UpsertUserRequest, user_id: str | |
) -> ConductorUser: | |
pass | |
def get_user(self, user_id: str) -> ConductorUser: | |
pass | |
def list_users(self, apps: Optional[bool] = False) -> List[ConductorUser]: | |
pass | |
def delete_user(self, user_id: str): | |
pass | |
# Groups | |
def upsert_group( | |
self, upsert_group_request: UpsertGroupRequest, group_id: str | |
) -> Group: | |
pass | |
def get_group(self, group_id: str) -> Group: | |
pass | |
def list_groups(self) -> List[Group]: | |
pass | |
def delete_group(self, group_id: str): | |
pass | |
def add_user_to_group(self, group_id: str, user_id: str): | |
pass | |
def get_users_in_group(self, group_id: str) -> List[ConductorUser]: | |
pass | |
def remove_user_from_group(self, group_id: str, user_id: str): | |
pass | |
# Permissions | |
def grant_permissions( | |
self, subject: SubjectRef, target: TargetRef, access: List[AccessType] | |
): | |
pass | |
def get_permissions(self, target: TargetRef) -> Dict[str, List[SubjectRef]]: | |
pass | |
def get_granted_permissions_for_group( | |
self, group_id: str | |
) -> List[GrantedPermission]: | |
pass | |
def get_granted_permissions_for_user(self, user_id: str) -> List[GrantedPermission]: | |
pass | |
def remove_permissions( | |
self, subject: SubjectRef, target: TargetRef, access: List[AccessType] | |
): | |
pass | |