# -*- coding: utf-8 -*-
# Generated by https://github.com/verloop/twirpy/protoc-gen-twirpy.  DO NOT EDIT!
# source: video/coordinator/server_v1_rpc/server_rpc.proto

from google.protobuf import symbol_database as _symbol_database

from twirp.base import Endpoint
from twirp.server import TwirpServer
from twirp.client import TwirpClient

_sym_db = _symbol_database.Default()

class ServerRPCServer(TwirpServer):

	def __init__(self, *args, service, server_path_prefix="/twirp"):
		super().__init__(service=service)
		self._prefix = F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC"
		self._endpoints = {
			"GetApp": Endpoint(
				service_name="ServerRPC",
				name="GetApp",
				function=getattr(service, "GetApp"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetAppRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetAppResponse"),
			),
			"UpdateApp": Endpoint(
				service_name="ServerRPC",
				name="UpdateApp",
				function=getattr(service, "UpdateApp"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.UpdateAppRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.UpdateAppResponse"),
			),
			"CreateCallType": Endpoint(
				service_name="ServerRPC",
				name="CreateCallType",
				function=getattr(service, "CreateCallType"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.CreateCallTypeRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.CreateCallTypeResponse"),
			),
			"GetCallType": Endpoint(
				service_name="ServerRPC",
				name="GetCallType",
				function=getattr(service, "GetCallType"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetCallTypeRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetCallTypeResponse"),
			),
			"QueryCallTypes": Endpoint(
				service_name="ServerRPC",
				name="QueryCallTypes",
				function=getattr(service, "QueryCallTypes"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.QueryCallTypesRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.QueryCallTypesResponse"),
			),
			"UpdateCallType": Endpoint(
				service_name="ServerRPC",
				name="UpdateCallType",
				function=getattr(service, "UpdateCallType"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.UpdateCallTypeRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.UpdateCallTypeResponse"),
			),
			"DeleteCallType": Endpoint(
				service_name="ServerRPC",
				name="DeleteCallType",
				function=getattr(service, "DeleteCallType"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeleteCallTypeRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeleteCallTypeResponse"),
			),
			"CreatePushProvider": Endpoint(
				service_name="ServerRPC",
				name="CreatePushProvider",
				function=getattr(service, "CreatePushProvider"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.CreatePushProviderRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.CreatePushProviderResponse"),
			),
			"GetPushProvider": Endpoint(
				service_name="ServerRPC",
				name="GetPushProvider",
				function=getattr(service, "GetPushProvider"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetPushProviderRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetPushProviderResponse"),
			),
			"QueryPushProviders": Endpoint(
				service_name="ServerRPC",
				name="QueryPushProviders",
				function=getattr(service, "QueryPushProviders"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.QueryPushProvidersRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.QueryPushProvidersResponse"),
			),
			"UpdatePushProvider": Endpoint(
				service_name="ServerRPC",
				name="UpdatePushProvider",
				function=getattr(service, "UpdatePushProvider"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.UpdatePushProviderRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.UpdatePushProviderResponse"),
			),
			"DeletePushProvider": Endpoint(
				service_name="ServerRPC",
				name="DeletePushProvider",
				function=getattr(service, "DeletePushProvider"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeletePushProviderRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeletePushProviderResponse"),
			),
			"StartBroadcast": Endpoint(
				service_name="ServerRPC",
				name="StartBroadcast",
				function=getattr(service, "StartBroadcast"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StartBroadcastRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StartBroadcastResponse"),
			),
			"StopBroadcast": Endpoint(
				service_name="ServerRPC",
				name="StopBroadcast",
				function=getattr(service, "StopBroadcast"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StopBroadcastRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StopBroadcastResponse"),
			),
			"StartRecording": Endpoint(
				service_name="ServerRPC",
				name="StartRecording",
				function=getattr(service, "StartRecording"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StartRecordingRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StartRecordingResponse"),
			),
			"StopRecording": Endpoint(
				service_name="ServerRPC",
				name="StopRecording",
				function=getattr(service, "StopRecording"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StopRecordingRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StopRecordingResponse"),
			),
			"GetRecordings": Endpoint(
				service_name="ServerRPC",
				name="GetRecordings",
				function=getattr(service, "GetRecordings"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetRecordingsRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetRecordingsResponse"),
			),
			"DeleteRecording": Endpoint(
				service_name="ServerRPC",
				name="DeleteRecording",
				function=getattr(service, "DeleteRecording"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeleteRecordingRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeleteRecordingResponse"),
			),
			"QueryCallTimelineEvents": Endpoint(
				service_name="ServerRPC",
				name="QueryCallTimelineEvents",
				function=getattr(service, "QueryCallTimelineEvents"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.QueryCallTimelineEventsRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.QueryCallTimelineEventsResponse"),
			),
			"CreateUser": Endpoint(
				service_name="ServerRPC",
				name="CreateUser",
				function=getattr(service, "CreateUser"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.CreateUserRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.CreateUserResponse"),
			),
			"DeleteUser": Endpoint(
				service_name="ServerRPC",
				name="DeleteUser",
				function=getattr(service, "DeleteUser"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeleteUserRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeleteUserResponse"),
			),
			"ExportUser": Endpoint(
				service_name="ServerRPC",
				name="ExportUser",
				function=getattr(service, "ExportUser"),
				input=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.ExportUserRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.ExportUserResponse"),
			),
		}

class ServerRPCClient(TwirpClient):

	def GetApp(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/GetApp",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetAppResponse"),
			**kwargs,
		)

	def UpdateApp(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/UpdateApp",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.UpdateAppResponse"),
			**kwargs,
		)

	def CreateCallType(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/CreateCallType",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.CreateCallTypeResponse"),
			**kwargs,
		)

	def GetCallType(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/GetCallType",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetCallTypeResponse"),
			**kwargs,
		)

	def QueryCallTypes(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/QueryCallTypes",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.QueryCallTypesResponse"),
			**kwargs,
		)

	def UpdateCallType(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/UpdateCallType",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.UpdateCallTypeResponse"),
			**kwargs,
		)

	def DeleteCallType(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/DeleteCallType",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeleteCallTypeResponse"),
			**kwargs,
		)

	def CreatePushProvider(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/CreatePushProvider",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.CreatePushProviderResponse"),
			**kwargs,
		)

	def GetPushProvider(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/GetPushProvider",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetPushProviderResponse"),
			**kwargs,
		)

	def QueryPushProviders(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/QueryPushProviders",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.QueryPushProvidersResponse"),
			**kwargs,
		)

	def UpdatePushProvider(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/UpdatePushProvider",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.UpdatePushProviderResponse"),
			**kwargs,
		)

	def DeletePushProvider(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/DeletePushProvider",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeletePushProviderResponse"),
			**kwargs,
		)

	def StartBroadcast(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/StartBroadcast",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StartBroadcastResponse"),
			**kwargs,
		)

	def StopBroadcast(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/StopBroadcast",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StopBroadcastResponse"),
			**kwargs,
		)

	def StartRecording(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/StartRecording",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StartRecordingResponse"),
			**kwargs,
		)

	def StopRecording(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/StopRecording",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.StopRecordingResponse"),
			**kwargs,
		)

	def GetRecordings(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/GetRecordings",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.GetRecordingsResponse"),
			**kwargs,
		)

	def DeleteRecording(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/DeleteRecording",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeleteRecordingResponse"),
			**kwargs,
		)

	def QueryCallTimelineEvents(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/QueryCallTimelineEvents",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.QueryCallTimelineEventsResponse"),
			**kwargs,
		)

	def CreateUser(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/CreateUser",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.CreateUserResponse"),
			**kwargs,
		)

	def DeleteUser(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/DeleteUser",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.DeleteUserResponse"),
			**kwargs,
		)

	def ExportUser(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.server_v1_rpc.ServerRPC/ExportUser",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.server_v1_rpc.ExportUserResponse"),
			**kwargs,
		)
