# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# See https://github.com/eolymp/python-proto-http for more details.
"""Generated protocol buffer code."""

from google.protobuf import symbol_database as _symbol_database

_sym_db = _symbol_database.Default()


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

    def CreateObject(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/CreateObject",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.CreateObjectOutput"),
            **kwargs,
        )

    def DescribeObject(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DescribeObject",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DescribeObjectOutput"),
            **kwargs,
        )

    def DownloadObject(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DownloadObject",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DownloadObjectOutput"),
            **kwargs,
        )

    def CreateProblem(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/CreateProblem",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.CreateProblemOutput"),
            **kwargs,
        )

    def DescribeProblem(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DescribeProblem",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DescribeProblemOutput"),
            **kwargs,
        )

    def UpdateProblem(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateProblem",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateProblemOutput"),
            **kwargs,
        )

    def UpdateStatement(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateStatement",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateStatementOutput"),
            **kwargs,
        )

    def DeleteStatement(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DeleteStatement",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DeleteStatementOutput"),
            **kwargs,
        )

    def UpdateLimits(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateLimits",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateLimitsOutput"),
            **kwargs,
        )

    def UpdateVerifier(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateVerifier",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateVerifierOutput"),
            **kwargs,
        )

    def UpdateTests(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/UpdateTests",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.UpdateTestsOutput"),
            **kwargs,
        )

    def DeleteProblem(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/DeleteProblem",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.DeleteProblemOutput"),
            **kwargs,
        )

    def ListPermissions(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/ListPermissions",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.ListPermissionsOutput"),
            **kwargs,
        )

    def GrantPermission(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/GrantPermission",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.GrantPermissionOutput"),
            **kwargs,
        )

    def RevokePermission(self, request, **kwargs):
        return self.transport.request(
            url="eolymp.atlas.Atlas/RevokePermission",
            request=request,
            response_obj=_sym_db.GetSymbol("eolymp.atlas.RevokePermissionOutput"),
            **kwargs,
        )

