# -*- 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 CommunityClient:
    def __init__(self, transport):
        self.transport = transport

    def JoinSpace(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.community.Community/JoinSpace",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.community.JoinSpaceOutput"),
            **kwargs,
        )

    def LeaveSpace(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.community.Community/LeaveSpace",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.community.LeaveSpaceOutput"),
            **kwargs,
        )

    def RegisterMember(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.community.Community/RegisterMember",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.community.RegisterMemberOutput"),
            **kwargs,
        )

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

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

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

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

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

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

    def AddAttribute(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.community.Community/AddAttribute",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.community.AddAttributeOutput"),
            **kwargs,
        )

    def UpdateAttribute(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.community.Community/UpdateAttribute",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.community.UpdateAttributeOutput"),
            **kwargs,
        )

    def RemoveAttribute(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.community.Community/RemoveAttribute",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.community.RemoveAttributeOutput"),
            **kwargs,
        )

    def DescribeAttribute(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.community.Community/DescribeAttribute",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.community.DescribeAttributeOutput"),
            **kwargs,
        )

    def ListAttributes(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.community.Community/ListAttributes",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.community.ListAttributesOutput"),
            **kwargs,
        )

