from ..models.presence import PresenceStatus, PresenceConfig class InstanceOperationsService: def __init__(self, client): self.client = client def connect(self, instance_id: str, instance_token: str): return self.client.get(f'instance/connect/{instance_id}', instance_token) def restart(self, instance_id: str, instance_token: str): return self.client.post(f'instance/restart/{instance_id}', instance_token=instance_token) def set_presence(self, instance_id: str, presence: PresenceStatus, instance_token: str): config = PresenceConfig(presence) return self.client.post( f'instance/setPresence/{instance_id}', data=config.__dict__, instance_token=instance_token ) def get_connection_state(self, instance_id: str, instance_token: str): return self.client.get(f'instance/connectionState/{instance_id}', instance_token) def logout(self, instance_id: str, instance_token: str): return self.client.delete(f'instance/logout/{instance_id}', instance_token) def delete(self, instance_id: str, instance_token: str): return self.client.delete(f'instance/delete/{instance_id}', instance_token)