# -*- coding: utf-8 -*- # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT! # source: chatto/api/v1/rooms.proto from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping from typing import Protocol from connectrpc.client import ConnectClient, ConnectClientSync from connectrpc.code import Code from connectrpc.compression import Compression from connectrpc.errors import ConnectError from connectrpc.interceptor import Interceptor, InterceptorSync from connectrpc.method import IdempotencyLevel, MethodInfo from connectrpc.request import Headers, RequestContext from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync import chatto.api.v1.member_directory_pb2 as chatto_dot_api_dot_v1_dot_member__directory__pb2 import chatto.api.v1.read_state_pb2 as chatto_dot_api_dot_v1_dot_read__state__pb2 import chatto.api.v1.room_timeline_pb2 as chatto_dot_api_dot_v1_dot_room__timeline__pb2 import chatto.api.v1.rooms_pb2 as chatto_dot_api_dot_v1_dot_rooms__pb2 class RoomService(Protocol): async def create_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def update_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def archive_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def unarchive_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def join_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def join_room_group(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def start_d_m(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def leave_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def list_members(self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def get_member(self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def batch_get_members(self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def add_member(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def remove_member(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def list_bans(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def list_room_attachments(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def update_typing_indicator(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def get_room_events(self, request: chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def get_room_events_around(self, request: chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def mark_room_as_read(self, request: chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def ban_member(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") async def unban_member(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") class RoomServiceASGIApplication(ConnectASGIApplication[RoomService]): def __init__(self, service: RoomService | AsyncGenerator[RoomService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None: super().__init__( service=service, endpoints=lambda svc: { "/chatto.api.v1.RoomService/CreateRoom": Endpoint.unary( method=MethodInfo( name="CreateRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.create_room, ), "/chatto.api.v1.RoomService/UpdateRoom": Endpoint.unary( method=MethodInfo( name="UpdateRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.update_room, ), "/chatto.api.v1.RoomService/ArchiveRoom": Endpoint.unary( method=MethodInfo( name="ArchiveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.archive_room, ), "/chatto.api.v1.RoomService/UnarchiveRoom": Endpoint.unary( method=MethodInfo( name="UnarchiveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.unarchive_room, ), "/chatto.api.v1.RoomService/JoinRoom": Endpoint.unary( method=MethodInfo( name="JoinRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.join_room, ), "/chatto.api.v1.RoomService/JoinRoomGroup": Endpoint.unary( method=MethodInfo( name="JoinRoomGroup", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.join_room_group, ), "/chatto.api.v1.RoomService/StartDM": Endpoint.unary( method=MethodInfo( name="StartDM", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.start_d_m, ), "/chatto.api.v1.RoomService/LeaveRoom": Endpoint.unary( method=MethodInfo( name="LeaveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.leave_room, ), "/chatto.api.v1.RoomService/ListMembers": Endpoint.unary( method=MethodInfo( name="ListMembers", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.list_members, ), "/chatto.api.v1.RoomService/GetMember": Endpoint.unary( method=MethodInfo( name="GetMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.get_member, ), "/chatto.api.v1.RoomService/BatchGetMembers": Endpoint.unary( method=MethodInfo( name="BatchGetMembers", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.batch_get_members, ), "/chatto.api.v1.RoomService/AddMember": Endpoint.unary( method=MethodInfo( name="AddMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.add_member, ), "/chatto.api.v1.RoomService/RemoveMember": Endpoint.unary( method=MethodInfo( name="RemoveMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.remove_member, ), "/chatto.api.v1.RoomService/ListBans": Endpoint.unary( method=MethodInfo( name="ListBans", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.list_bans, ), "/chatto.api.v1.RoomService/ListRoomAttachments": Endpoint.unary( method=MethodInfo( name="ListRoomAttachments", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.list_room_attachments, ), "/chatto.api.v1.RoomService/UpdateTypingIndicator": Endpoint.unary( method=MethodInfo( name="UpdateTypingIndicator", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.update_typing_indicator, ), "/chatto.api.v1.RoomService/GetRoomEvents": Endpoint.unary( method=MethodInfo( name="GetRoomEvents", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsRequest, output=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.get_room_events, ), "/chatto.api.v1.RoomService/GetRoomEventsAround": Endpoint.unary( method=MethodInfo( name="GetRoomEventsAround", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundRequest, output=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.get_room_events_around, ), "/chatto.api.v1.RoomService/MarkRoomAsRead": Endpoint.unary( method=MethodInfo( name="MarkRoomAsRead", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadRequest, output=chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.mark_room_as_read, ), "/chatto.api.v1.RoomService/BanMember": Endpoint.unary( method=MethodInfo( name="BanMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.ban_member, ), "/chatto.api.v1.RoomService/UnbanMember": Endpoint.unary( method=MethodInfo( name="UnbanMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=svc.unban_member, ), }, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions, ) @property def path(self) -> str: """Returns the URL path to mount the application to when serving multiple applications.""" return "/chatto.api.v1.RoomService" class RoomServiceClient(ConnectClient): async def create_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomResponse: return await self.execute_unary( request=request, method=MethodInfo( name="CreateRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def update_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomResponse: return await self.execute_unary( request=request, method=MethodInfo( name="UpdateRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def archive_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomResponse: return await self.execute_unary( request=request, method=MethodInfo( name="ArchiveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def unarchive_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomResponse: return await self.execute_unary( request=request, method=MethodInfo( name="UnarchiveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def join_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomResponse: return await self.execute_unary( request=request, method=MethodInfo( name="JoinRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def join_room_group( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupResponse: return await self.execute_unary( request=request, method=MethodInfo( name="JoinRoomGroup", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def start_d_m( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMResponse: return await self.execute_unary( request=request, method=MethodInfo( name="StartDM", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def leave_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomResponse: return await self.execute_unary( request=request, method=MethodInfo( name="LeaveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def list_members( self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersResponse: return await self.execute_unary( request=request, method=MethodInfo( name="ListMembers", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def get_member( self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberResponse: return await self.execute_unary( request=request, method=MethodInfo( name="GetMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def batch_get_members( self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersResponse: return await self.execute_unary( request=request, method=MethodInfo( name="BatchGetMembers", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def add_member( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberResponse: return await self.execute_unary( request=request, method=MethodInfo( name="AddMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def remove_member( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberResponse: return await self.execute_unary( request=request, method=MethodInfo( name="RemoveMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def list_bans( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansResponse: return await self.execute_unary( request=request, method=MethodInfo( name="ListBans", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def list_room_attachments( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsResponse: return await self.execute_unary( request=request, method=MethodInfo( name="ListRoomAttachments", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def update_typing_indicator( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorResponse: return await self.execute_unary( request=request, method=MethodInfo( name="UpdateTypingIndicator", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def get_room_events( self, request: chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsResponse: return await self.execute_unary( request=request, method=MethodInfo( name="GetRoomEvents", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsRequest, output=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def get_room_events_around( self, request: chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundResponse: return await self.execute_unary( request=request, method=MethodInfo( name="GetRoomEventsAround", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundRequest, output=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def mark_room_as_read( self, request: chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadResponse: return await self.execute_unary( request=request, method=MethodInfo( name="MarkRoomAsRead", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadRequest, output=chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def ban_member( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberResponse: return await self.execute_unary( request=request, method=MethodInfo( name="BanMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) async def unban_member( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberResponse: return await self.execute_unary( request=request, method=MethodInfo( name="UnbanMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) class RoomServiceSync(Protocol): def create_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def update_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def archive_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def unarchive_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def join_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def join_room_group(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def start_d_m(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def leave_room(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def list_members(self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def get_member(self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def batch_get_members(self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def add_member(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def remove_member(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def list_bans(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def list_room_attachments(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def update_typing_indicator(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def get_room_events(self, request: chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def get_room_events_around(self, request: chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def mark_room_as_read(self, request: chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def ban_member(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") def unban_member(self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberRequest, ctx: RequestContext) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberResponse: raise ConnectError(Code.UNIMPLEMENTED, "Not implemented") class RoomServiceWSGIApplication(ConnectWSGIApplication): def __init__(self, service: RoomServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None: super().__init__( endpoints={ "/chatto.api.v1.RoomService/CreateRoom": EndpointSync.unary( method=MethodInfo( name="CreateRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.create_room, ), "/chatto.api.v1.RoomService/UpdateRoom": EndpointSync.unary( method=MethodInfo( name="UpdateRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.update_room, ), "/chatto.api.v1.RoomService/ArchiveRoom": EndpointSync.unary( method=MethodInfo( name="ArchiveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.archive_room, ), "/chatto.api.v1.RoomService/UnarchiveRoom": EndpointSync.unary( method=MethodInfo( name="UnarchiveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.unarchive_room, ), "/chatto.api.v1.RoomService/JoinRoom": EndpointSync.unary( method=MethodInfo( name="JoinRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.join_room, ), "/chatto.api.v1.RoomService/JoinRoomGroup": EndpointSync.unary( method=MethodInfo( name="JoinRoomGroup", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.join_room_group, ), "/chatto.api.v1.RoomService/StartDM": EndpointSync.unary( method=MethodInfo( name="StartDM", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.start_d_m, ), "/chatto.api.v1.RoomService/LeaveRoom": EndpointSync.unary( method=MethodInfo( name="LeaveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.leave_room, ), "/chatto.api.v1.RoomService/ListMembers": EndpointSync.unary( method=MethodInfo( name="ListMembers", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.list_members, ), "/chatto.api.v1.RoomService/GetMember": EndpointSync.unary( method=MethodInfo( name="GetMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.get_member, ), "/chatto.api.v1.RoomService/BatchGetMembers": EndpointSync.unary( method=MethodInfo( name="BatchGetMembers", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.batch_get_members, ), "/chatto.api.v1.RoomService/AddMember": EndpointSync.unary( method=MethodInfo( name="AddMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.add_member, ), "/chatto.api.v1.RoomService/RemoveMember": EndpointSync.unary( method=MethodInfo( name="RemoveMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.remove_member, ), "/chatto.api.v1.RoomService/ListBans": EndpointSync.unary( method=MethodInfo( name="ListBans", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.list_bans, ), "/chatto.api.v1.RoomService/ListRoomAttachments": EndpointSync.unary( method=MethodInfo( name="ListRoomAttachments", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.list_room_attachments, ), "/chatto.api.v1.RoomService/UpdateTypingIndicator": EndpointSync.unary( method=MethodInfo( name="UpdateTypingIndicator", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.update_typing_indicator, ), "/chatto.api.v1.RoomService/GetRoomEvents": EndpointSync.unary( method=MethodInfo( name="GetRoomEvents", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsRequest, output=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.get_room_events, ), "/chatto.api.v1.RoomService/GetRoomEventsAround": EndpointSync.unary( method=MethodInfo( name="GetRoomEventsAround", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundRequest, output=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.get_room_events_around, ), "/chatto.api.v1.RoomService/MarkRoomAsRead": EndpointSync.unary( method=MethodInfo( name="MarkRoomAsRead", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadRequest, output=chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.mark_room_as_read, ), "/chatto.api.v1.RoomService/BanMember": EndpointSync.unary( method=MethodInfo( name="BanMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.ban_member, ), "/chatto.api.v1.RoomService/UnbanMember": EndpointSync.unary( method=MethodInfo( name="UnbanMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), function=service.unban_member, ), }, interceptors=interceptors, read_max_bytes=read_max_bytes, compressions=compressions, ) @property def path(self) -> str: """Returns the URL path to mount the application to when serving multiple applications.""" return "/chatto.api.v1.RoomService" class RoomServiceClientSync(ConnectClientSync): def create_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomResponse: return self.execute_unary( request=request, method=MethodInfo( name="CreateRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.CreateRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def update_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomResponse: return self.execute_unary( request=request, method=MethodInfo( name="UpdateRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def archive_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomResponse: return self.execute_unary( request=request, method=MethodInfo( name="ArchiveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ArchiveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def unarchive_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomResponse: return self.execute_unary( request=request, method=MethodInfo( name="UnarchiveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UnarchiveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def join_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomResponse: return self.execute_unary( request=request, method=MethodInfo( name="JoinRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def join_room_group( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupResponse: return self.execute_unary( request=request, method=MethodInfo( name="JoinRoomGroup", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.JoinRoomGroupResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def start_d_m( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMResponse: return self.execute_unary( request=request, method=MethodInfo( name="StartDM", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.StartDMResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def leave_room( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomResponse: return self.execute_unary( request=request, method=MethodInfo( name="LeaveRoom", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.LeaveRoomResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def list_members( self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersResponse: return self.execute_unary( request=request, method=MethodInfo( name="ListMembers", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.ListRoomMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def get_member( self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberResponse: return self.execute_unary( request=request, method=MethodInfo( name="GetMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.GetRoomMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def batch_get_members( self, request: chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersResponse: return self.execute_unary( request=request, method=MethodInfo( name="BatchGetMembers", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersRequest, output=chatto_dot_api_dot_v1_dot_member__directory__pb2.BatchGetRoomMembersResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def add_member( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberResponse: return self.execute_unary( request=request, method=MethodInfo( name="AddMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.AddMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def remove_member( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberResponse: return self.execute_unary( request=request, method=MethodInfo( name="RemoveMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.RemoveMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def list_bans( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansResponse: return self.execute_unary( request=request, method=MethodInfo( name="ListBans", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ListBansResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def list_room_attachments( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsResponse: return self.execute_unary( request=request, method=MethodInfo( name="ListRoomAttachments", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.ListRoomAttachmentsResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def update_typing_indicator( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorResponse: return self.execute_unary( request=request, method=MethodInfo( name="UpdateTypingIndicator", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UpdateTypingIndicatorResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def get_room_events( self, request: chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsResponse: return self.execute_unary( request=request, method=MethodInfo( name="GetRoomEvents", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsRequest, output=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def get_room_events_around( self, request: chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundResponse: return self.execute_unary( request=request, method=MethodInfo( name="GetRoomEventsAround", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundRequest, output=chatto_dot_api_dot_v1_dot_room__timeline__pb2.GetRoomEventsAroundResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def mark_room_as_read( self, request: chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadResponse: return self.execute_unary( request=request, method=MethodInfo( name="MarkRoomAsRead", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadRequest, output=chatto_dot_api_dot_v1_dot_read__state__pb2.MarkRoomAsReadResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def ban_member( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberResponse: return self.execute_unary( request=request, method=MethodInfo( name="BanMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.BanMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, ) def unban_member( self, request: chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberRequest, *, headers: Headers | Mapping[str, str] | None = None, timeout_ms: int | None = None, ) -> chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberResponse: return self.execute_unary( request=request, method=MethodInfo( name="UnbanMember", service_name="chatto.api.v1.RoomService", input=chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberRequest, output=chatto_dot_api_dot_v1_dot_rooms__pb2.UnbanMemberResponse, idempotency_level=IdempotencyLevel.UNKNOWN, ), headers=headers, timeout_ms=timeout_ms, )