# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# See https://github.com/eolymp/contracts/tree/main/cmd/protoc-gen-python-esdk for more details.
"""Generated protocol buffer code."""

from google.protobuf import symbol_database as _symbol_database

_sym_db = _symbol_database.Default()


class UniverseClient:
    def __init__(self, transport):
        self.transport = transport

    def CreateSpace(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/CreateSpace",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.CreateSpaceOutput"),
            **kwargs,
        )

    def UpdateSpace(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/UpdateSpace",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.UpdateSpaceOutput"),
            **kwargs,
        )

    def DeleteSpace(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/DeleteSpace",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.DeleteSpaceOutput"),
            **kwargs,
        )

    def LookupSpace(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/LookupSpace",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.LookupSpaceOutput"),
            **kwargs,
        )

    def DescribeSpace(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/DescribeSpace",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.DescribeSpaceOutput"),
            **kwargs,
        )

    def ListSpaces(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/ListSpaces",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.ListSpacesOutput"),
            **kwargs,
        )

    def AddMember(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/AddMember",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.AddMemberOutput"),
            **kwargs,
        )

    def UpdateMember(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/UpdateMember",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.UpdateMemberOutput"),
            **kwargs,
        )

    def RemoveMember(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/RemoveMember",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.RemoveMemberOutput"),
            **kwargs,
        )

    def DescribeMember(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/DescribeMember",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.DescribeMemberOutput"),
            **kwargs,
        )

    def IntrospectMember(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/IntrospectMember",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.IntrospectMemberOutput"),
            **kwargs,
        )

    def ListMembers(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.universe.Universe/ListMembers",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.universe.ListMembersOutput"),
            **kwargs,
        )

