// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 // protoc v7.35.1 // source: sync_live.proto package gen import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" unsafe "unsafe" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type BackendKind int32 const ( BackendKind_BACKEND_KIND_UNSPECIFIED BackendKind = 0 BackendKind_BACKEND_KIND_CLOUDFLARE BackendKind = 1 // Cloudflare Realtime(主 SFU) BackendKind_BACKEND_KIND_SRS BackendKind = 2 // SRS(次级 / 本地对照) ) // Enum value maps for BackendKind. var ( BackendKind_name = map[int32]string{ 0: "BACKEND_KIND_UNSPECIFIED", 1: "BACKEND_KIND_CLOUDFLARE", 2: "BACKEND_KIND_SRS", } BackendKind_value = map[string]int32{ "BACKEND_KIND_UNSPECIFIED": 0, "BACKEND_KIND_CLOUDFLARE": 1, "BACKEND_KIND_SRS": 2, } ) func (x BackendKind) Enum() *BackendKind { p := new(BackendKind) *p = x return p } func (x BackendKind) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (BackendKind) Descriptor() protoreflect.EnumDescriptor { return file_sync_live_proto_enumTypes[0].Descriptor() } func (BackendKind) Type() protoreflect.EnumType { return &file_sync_live_proto_enumTypes[0] } func (x BackendKind) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use BackendKind.Descriptor instead. func (BackendKind) EnumDescriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{0} } type IceServer struct { state protoimpl.MessageState `protogen:"open.v1"` Urls []string `protobuf:"bytes,1,rep,name=urls,proto3" json:"urls,omitempty"` Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` Credential string `protobuf:"bytes,3,opt,name=credential,proto3" json:"credential,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *IceServer) Reset() { *x = IceServer{} mi := &file_sync_live_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *IceServer) String() string { return protoimpl.X.MessageStringOf(x) } func (*IceServer) ProtoMessage() {} func (x *IceServer) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IceServer.ProtoReflect.Descriptor instead. func (*IceServer) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{0} } func (x *IceServer) GetUrls() []string { if x != nil { return x.Urls } return nil } func (x *IceServer) GetUsername() string { if x != nil { return x.Username } return "" } func (x *IceServer) GetCredential() string { if x != nil { return x.Credential } return "" } type GetConfigRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetConfigRequest) Reset() { *x = GetConfigRequest{} mi := &file_sync_live_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetConfigRequest) ProtoMessage() {} func (x *GetConfigRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetConfigRequest.ProtoReflect.Descriptor instead. func (*GetConfigRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{1} } type BackendInfo struct { state protoimpl.MessageState `protogen:"open.v1"` Kind BackendKind `protobuf:"varint,1,opt,name=kind,proto3,enum=synclive.v1.BackendKind" json:"kind,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Configured bool `protobuf:"varint,3,opt,name=configured,proto3" json:"configured,omitempty"` Primary bool `protobuf:"varint,4,opt,name=primary,proto3" json:"primary,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BackendInfo) Reset() { *x = BackendInfo{} mi := &file_sync_live_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *BackendInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*BackendInfo) ProtoMessage() {} func (x *BackendInfo) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BackendInfo.ProtoReflect.Descriptor instead. func (*BackendInfo) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{2} } func (x *BackendInfo) GetKind() BackendKind { if x != nil { return x.Kind } return BackendKind_BACKEND_KIND_UNSPECIFIED } func (x *BackendInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *BackendInfo) GetConfigured() bool { if x != nil { return x.Configured } return false } func (x *BackendInfo) GetPrimary() bool { if x != nil { return x.Primary } return false } type GetConfigResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Backends []*BackendInfo `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"` Candidate string `protobuf:"bytes,2,opt,name=candidate,proto3" json:"candidate,omitempty"` TokenRequired bool `protobuf:"varint,3,opt,name=token_required,json=tokenRequired,proto3" json:"token_required,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetConfigResponse) Reset() { *x = GetConfigResponse{} mi := &file_sync_live_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetConfigResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetConfigResponse) ProtoMessage() {} func (x *GetConfigResponse) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetConfigResponse.ProtoReflect.Descriptor instead. func (*GetConfigResponse) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{3} } func (x *GetConfigResponse) GetBackends() []*BackendInfo { if x != nil { return x.Backends } return nil } func (x *GetConfigResponse) GetCandidate() string { if x != nil { return x.Candidate } return "" } func (x *GetConfigResponse) GetTokenRequired() bool { if x != nil { return x.TokenRequired } return false } type StreamTarget struct { state protoimpl.MessageState `protogen:"open.v1"` Backend BackendKind `protobuf:"varint,1,opt,name=backend,proto3,enum=synclive.v1.BackendKind" json:"backend,omitempty"` SessionId string `protobuf:"bytes,2,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` Stream string `protobuf:"bytes,3,opt,name=stream,proto3" json:"stream,omitempty"` PublishToken string `protobuf:"bytes,4,opt,name=publish_token,json=publishToken,proto3" json:"publish_token,omitempty"` Url string `protobuf:"bytes,5,opt,name=url,proto3" json:"url,omitempty"` PublishedAt int64 `protobuf:"varint,6,opt,name=published_at,json=publishedAt,proto3" json:"published_at,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StreamTarget) Reset() { *x = StreamTarget{} mi := &file_sync_live_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StreamTarget) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamTarget) ProtoMessage() {} func (x *StreamTarget) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamTarget.ProtoReflect.Descriptor instead. func (*StreamTarget) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{4} } func (x *StreamTarget) GetBackend() BackendKind { if x != nil { return x.Backend } return BackendKind_BACKEND_KIND_UNSPECIFIED } func (x *StreamTarget) GetSessionId() string { if x != nil { return x.SessionId } return "" } func (x *StreamTarget) GetStream() string { if x != nil { return x.Stream } return "" } func (x *StreamTarget) GetPublishToken() string { if x != nil { return x.PublishToken } return "" } func (x *StreamTarget) GetUrl() string { if x != nil { return x.Url } return "" } func (x *StreamTarget) GetPublishedAt() int64 { if x != nil { return x.PublishedAt } return 0 } type Room struct { state protoimpl.MessageState `protogen:"open.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Targets []*StreamTarget `protobuf:"bytes,2,rep,name=targets,proto3" json:"targets,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Room) Reset() { *x = Room{} mi := &file_sync_live_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Room) String() string { return protoimpl.X.MessageStringOf(x) } func (*Room) ProtoMessage() {} func (x *Room) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Room.ProtoReflect.Descriptor instead. func (*Room) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{5} } func (x *Room) GetName() string { if x != nil { return x.Name } return "" } func (x *Room) GetTargets() []*StreamTarget { if x != nil { return x.Targets } return nil } type ListRoomsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListRoomsRequest) Reset() { *x = ListRoomsRequest{} mi := &file_sync_live_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListRoomsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRoomsRequest) ProtoMessage() {} func (x *ListRoomsRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListRoomsRequest.ProtoReflect.Descriptor instead. func (*ListRoomsRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{6} } type ListRoomsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Rooms []*Room `protobuf:"bytes,1,rep,name=rooms,proto3" json:"rooms,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListRoomsResponse) Reset() { *x = ListRoomsResponse{} mi := &file_sync_live_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListRoomsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRoomsResponse) ProtoMessage() {} func (x *ListRoomsResponse) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListRoomsResponse.ProtoReflect.Descriptor instead. func (*ListRoomsResponse) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{7} } func (x *ListRoomsResponse) GetRooms() []*Room { if x != nil { return x.Rooms } return nil } type PublishRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Room string `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` Backend BackendKind `protobuf:"varint,2,opt,name=backend,proto3,enum=synclive.v1.BackendKind" json:"backend,omitempty"` Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PublishRequest) Reset() { *x = PublishRequest{} mi := &file_sync_live_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PublishRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PublishRequest) ProtoMessage() {} func (x *PublishRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PublishRequest.ProtoReflect.Descriptor instead. func (*PublishRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{8} } func (x *PublishRequest) GetRoom() string { if x != nil { return x.Room } return "" } func (x *PublishRequest) GetBackend() BackendKind { if x != nil { return x.Backend } return BackendKind_BACKEND_KIND_UNSPECIFIED } func (x *PublishRequest) GetIdentity() string { if x != nil { return x.Identity } return "" } type PublishResponse struct { state protoimpl.MessageState `protogen:"open.v1"` SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` Stream string `protobuf:"bytes,2,opt,name=stream,proto3" json:"stream,omitempty"` PublishToken string `protobuf:"bytes,3,opt,name=publish_token,json=publishToken,proto3" json:"publish_token,omitempty"` IceServers []*IceServer `protobuf:"bytes,4,rep,name=ice_servers,json=iceServers,proto3" json:"ice_servers,omitempty"` Target *StreamTarget `protobuf:"bytes,5,opt,name=target,proto3" json:"target,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PublishResponse) Reset() { *x = PublishResponse{} mi := &file_sync_live_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PublishResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PublishResponse) ProtoMessage() {} func (x *PublishResponse) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PublishResponse.ProtoReflect.Descriptor instead. func (*PublishResponse) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{9} } func (x *PublishResponse) GetSessionId() string { if x != nil { return x.SessionId } return "" } func (x *PublishResponse) GetStream() string { if x != nil { return x.Stream } return "" } func (x *PublishResponse) GetPublishToken() string { if x != nil { return x.PublishToken } return "" } func (x *PublishResponse) GetIceServers() []*IceServer { if x != nil { return x.IceServers } return nil } func (x *PublishResponse) GetTarget() *StreamTarget { if x != nil { return x.Target } return nil } type SubscribeRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Room string `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` Backend BackendKind `protobuf:"varint,2,opt,name=backend,proto3,enum=synclive.v1.BackendKind" json:"backend,omitempty"` Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SubscribeRequest) Reset() { *x = SubscribeRequest{} mi := &file_sync_live_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SubscribeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubscribeRequest) ProtoMessage() {} func (x *SubscribeRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead. func (*SubscribeRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{10} } func (x *SubscribeRequest) GetRoom() string { if x != nil { return x.Room } return "" } func (x *SubscribeRequest) GetBackend() BackendKind { if x != nil { return x.Backend } return BackendKind_BACKEND_KIND_UNSPECIFIED } func (x *SubscribeRequest) GetIdentity() string { if x != nil { return x.Identity } return "" } type SubscribeResponse struct { state protoimpl.MessageState `protogen:"open.v1"` SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` Stream string `protobuf:"bytes,2,opt,name=stream,proto3" json:"stream,omitempty"` PublisherSessionId string `protobuf:"bytes,3,opt,name=publisher_session_id,json=publisherSessionId,proto3" json:"publisher_session_id,omitempty"` IceServers []*IceServer `protobuf:"bytes,4,rep,name=ice_servers,json=iceServers,proto3" json:"ice_servers,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SubscribeResponse) Reset() { *x = SubscribeResponse{} mi := &file_sync_live_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SubscribeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubscribeResponse) ProtoMessage() {} func (x *SubscribeResponse) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubscribeResponse.ProtoReflect.Descriptor instead. func (*SubscribeResponse) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{11} } func (x *SubscribeResponse) GetSessionId() string { if x != nil { return x.SessionId } return "" } func (x *SubscribeResponse) GetStream() string { if x != nil { return x.Stream } return "" } func (x *SubscribeResponse) GetPublisherSessionId() string { if x != nil { return x.PublisherSessionId } return "" } func (x *SubscribeResponse) GetIceServers() []*IceServer { if x != nil { return x.IceServers } return nil } type StopStreamRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Room string `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` Backend BackendKind `protobuf:"varint,2,opt,name=backend,proto3,enum=synclive.v1.BackendKind" json:"backend,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StopStreamRequest) Reset() { *x = StopStreamRequest{} mi := &file_sync_live_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StopStreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StopStreamRequest) ProtoMessage() {} func (x *StopStreamRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StopStreamRequest.ProtoReflect.Descriptor instead. func (*StopStreamRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{12} } func (x *StopStreamRequest) GetRoom() string { if x != nil { return x.Room } return "" } func (x *StopStreamRequest) GetBackend() BackendKind { if x != nil { return x.Backend } return BackendKind_BACKEND_KIND_UNSPECIFIED } type StopStreamResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StopStreamResponse) Reset() { *x = StopStreamResponse{} mi := &file_sync_live_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StopStreamResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StopStreamResponse) ProtoMessage() {} func (x *StopStreamResponse) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StopStreamResponse.ProtoReflect.Descriptor instead. func (*StopStreamResponse) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{13} } func (x *StopStreamResponse) GetOk() bool { if x != nil { return x.Ok } return false } type WatchRoomRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Room string `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *WatchRoomRequest) Reset() { *x = WatchRoomRequest{} mi := &file_sync_live_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *WatchRoomRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WatchRoomRequest) ProtoMessage() {} func (x *WatchRoomRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WatchRoomRequest.ProtoReflect.Descriptor instead. func (*WatchRoomRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{14} } func (x *WatchRoomRequest) GetRoom() string { if x != nil { return x.Room } return "" } type RoomEvent struct { state protoimpl.MessageState `protogen:"open.v1"` Room string `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` Targets []*StreamTarget `protobuf:"bytes,2,rep,name=targets,proto3" json:"targets,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RoomEvent) Reset() { *x = RoomEvent{} mi := &file_sync_live_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RoomEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoomEvent) ProtoMessage() {} func (x *RoomEvent) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RoomEvent.ProtoReflect.Descriptor instead. func (*RoomEvent) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{15} } func (x *RoomEvent) GetRoom() string { if x != nil { return x.Room } return "" } func (x *RoomEvent) GetTargets() []*StreamTarget { if x != nil { return x.Targets } return nil } // ===== Auth & RBAC (Casbin) ===== type UserInfo struct { state protoimpl.MessageState `protogen:"open.v1"` Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` CreatedAt int64 `protobuf:"varint,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UserInfo) Reset() { *x = UserInfo{} mi := &file_sync_live_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UserInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserInfo) ProtoMessage() {} func (x *UserInfo) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. func (*UserInfo) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{16} } func (x *UserInfo) GetUsername() string { if x != nil { return x.Username } return "" } func (x *UserInfo) GetRole() string { if x != nil { return x.Role } return "" } func (x *UserInfo) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } type LoginRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LoginRequest) Reset() { *x = LoginRequest{} mi := &file_sync_live_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LoginRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginRequest) ProtoMessage() {} func (x *LoginRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoginRequest.ProtoReflect.Descriptor instead. func (*LoginRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{17} } func (x *LoginRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *LoginRequest) GetPassword() string { if x != nil { return x.Password } return "" } type LoginResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` User *UserInfo `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` ExpiresAt int64 `protobuf:"varint,3,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LoginResponse) Reset() { *x = LoginResponse{} mi := &file_sync_live_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LoginResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoginResponse) ProtoMessage() {} func (x *LoginResponse) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoginResponse.ProtoReflect.Descriptor instead. func (*LoginResponse) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{18} } func (x *LoginResponse) GetToken() string { if x != nil { return x.Token } return "" } func (x *LoginResponse) GetUser() *UserInfo { if x != nil { return x.User } return nil } func (x *LoginResponse) GetExpiresAt() int64 { if x != nil { return x.ExpiresAt } return 0 } type RegisterRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RegisterRequest) Reset() { *x = RegisterRequest{} mi := &file_sync_live_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RegisterRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegisterRequest) ProtoMessage() {} func (x *RegisterRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RegisterRequest.ProtoReflect.Descriptor instead. func (*RegisterRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{19} } func (x *RegisterRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *RegisterRequest) GetPassword() string { if x != nil { return x.Password } return "" } func (x *RegisterRequest) GetRole() string { if x != nil { return x.Role } return "" } type RegisterResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` User *UserInfo `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` ExpiresAt int64 `protobuf:"varint,3,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RegisterResponse) Reset() { *x = RegisterResponse{} mi := &file_sync_live_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RegisterResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RegisterResponse) ProtoMessage() {} func (x *RegisterResponse) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RegisterResponse.ProtoReflect.Descriptor instead. func (*RegisterResponse) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{20} } func (x *RegisterResponse) GetToken() string { if x != nil { return x.Token } return "" } func (x *RegisterResponse) GetUser() *UserInfo { if x != nil { return x.User } return nil } func (x *RegisterResponse) GetExpiresAt() int64 { if x != nil { return x.ExpiresAt } return 0 } type GetMeRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetMeRequest) Reset() { *x = GetMeRequest{} mi := &file_sync_live_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetMeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetMeRequest) ProtoMessage() {} func (x *GetMeRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetMeRequest.ProtoReflect.Descriptor instead. func (*GetMeRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{21} } type GetMeResponse struct { state protoimpl.MessageState `protogen:"open.v1"` User *UserInfo `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` ExpiresAt int64 `protobuf:"varint,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` IssuedAt int64 `protobuf:"varint,3,opt,name=issued_at,json=issuedAt,proto3" json:"issued_at,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetMeResponse) Reset() { *x = GetMeResponse{} mi := &file_sync_live_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetMeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetMeResponse) ProtoMessage() {} func (x *GetMeResponse) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetMeResponse.ProtoReflect.Descriptor instead. func (*GetMeResponse) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{22} } func (x *GetMeResponse) GetUser() *UserInfo { if x != nil { return x.User } return nil } func (x *GetMeResponse) GetExpiresAt() int64 { if x != nil { return x.ExpiresAt } return 0 } func (x *GetMeResponse) GetIssuedAt() int64 { if x != nil { return x.IssuedAt } return 0 } type ListUsersRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListUsersRequest) Reset() { *x = ListUsersRequest{} mi := &file_sync_live_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListUsersRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListUsersRequest) ProtoMessage() {} func (x *ListUsersRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListUsersRequest.ProtoReflect.Descriptor instead. func (*ListUsersRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{23} } type ListUsersResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Users []*UserInfo `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListUsersResponse) Reset() { *x = ListUsersResponse{} mi := &file_sync_live_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListUsersResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListUsersResponse) ProtoMessage() {} func (x *ListUsersResponse) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListUsersResponse.ProtoReflect.Descriptor instead. func (*ListUsersResponse) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{24} } func (x *ListUsersResponse) GetUsers() []*UserInfo { if x != nil { return x.Users } return nil } type UpdateUserRoleRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UpdateUserRoleRequest) Reset() { *x = UpdateUserRoleRequest{} mi := &file_sync_live_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UpdateUserRoleRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserRoleRequest) ProtoMessage() {} func (x *UpdateUserRoleRequest) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateUserRoleRequest.ProtoReflect.Descriptor instead. func (*UpdateUserRoleRequest) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{25} } func (x *UpdateUserRoleRequest) GetUsername() string { if x != nil { return x.Username } return "" } func (x *UpdateUserRoleRequest) GetRole() string { if x != nil { return x.Role } return "" } type UpdateUserRoleResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"` User *UserInfo `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UpdateUserRoleResponse) Reset() { *x = UpdateUserRoleResponse{} mi := &file_sync_live_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UpdateUserRoleResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserRoleResponse) ProtoMessage() {} func (x *UpdateUserRoleResponse) ProtoReflect() protoreflect.Message { mi := &file_sync_live_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdateUserRoleResponse.ProtoReflect.Descriptor instead. func (*UpdateUserRoleResponse) Descriptor() ([]byte, []int) { return file_sync_live_proto_rawDescGZIP(), []int{26} } func (x *UpdateUserRoleResponse) GetOk() bool { if x != nil { return x.Ok } return false } func (x *UpdateUserRoleResponse) GetUser() *UserInfo { if x != nil { return x.User } return nil } var File_sync_live_proto protoreflect.FileDescriptor const file_sync_live_proto_rawDesc = "" + "\n" + "\x0fsync_live.proto\x12\vsynclive.v1\"[\n" + "\tIceServer\x12\x12\n" + "\x04urls\x18\x01 \x03(\tR\x04urls\x12\x1a\n" + "\busername\x18\x02 \x01(\tR\busername\x12\x1e\n" + "\n" + "credential\x18\x03 \x01(\tR\n" + "credential\"\x12\n" + "\x10GetConfigRequest\"\x89\x01\n" + "\vBackendInfo\x12,\n" + "\x04kind\x18\x01 \x01(\x0e2\x18.synclive.v1.BackendKindR\x04kind\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1e\n" + "\n" + "configured\x18\x03 \x01(\bR\n" + "configured\x12\x18\n" + "\aprimary\x18\x04 \x01(\bR\aprimary\"\x8e\x01\n" + "\x11GetConfigResponse\x124\n" + "\bbackends\x18\x01 \x03(\v2\x18.synclive.v1.BackendInfoR\bbackends\x12\x1c\n" + "\tcandidate\x18\x02 \x01(\tR\tcandidate\x12%\n" + "\x0etoken_required\x18\x03 \x01(\bR\rtokenRequired\"\xd3\x01\n" + "\fStreamTarget\x122\n" + "\abackend\x18\x01 \x01(\x0e2\x18.synclive.v1.BackendKindR\abackend\x12\x1d\n" + "\n" + "session_id\x18\x02 \x01(\tR\tsessionId\x12\x16\n" + "\x06stream\x18\x03 \x01(\tR\x06stream\x12#\n" + "\rpublish_token\x18\x04 \x01(\tR\fpublishToken\x12\x10\n" + "\x03url\x18\x05 \x01(\tR\x03url\x12!\n" + "\fpublished_at\x18\x06 \x01(\x03R\vpublishedAt\"O\n" + "\x04Room\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x123\n" + "\atargets\x18\x02 \x03(\v2\x19.synclive.v1.StreamTargetR\atargets\"\x12\n" + "\x10ListRoomsRequest\"<\n" + "\x11ListRoomsResponse\x12'\n" + "\x05rooms\x18\x01 \x03(\v2\x11.synclive.v1.RoomR\x05rooms\"t\n" + "\x0ePublishRequest\x12\x12\n" + "\x04room\x18\x01 \x01(\tR\x04room\x122\n" + "\abackend\x18\x02 \x01(\x0e2\x18.synclive.v1.BackendKindR\abackend\x12\x1a\n" + "\bidentity\x18\x03 \x01(\tR\bidentity\"\xd9\x01\n" + "\x0fPublishResponse\x12\x1d\n" + "\n" + "session_id\x18\x01 \x01(\tR\tsessionId\x12\x16\n" + "\x06stream\x18\x02 \x01(\tR\x06stream\x12#\n" + "\rpublish_token\x18\x03 \x01(\tR\fpublishToken\x127\n" + "\vice_servers\x18\x04 \x03(\v2\x16.synclive.v1.IceServerR\n" + "iceServers\x121\n" + "\x06target\x18\x05 \x01(\v2\x19.synclive.v1.StreamTargetR\x06target\"v\n" + "\x10SubscribeRequest\x12\x12\n" + "\x04room\x18\x01 \x01(\tR\x04room\x122\n" + "\abackend\x18\x02 \x01(\x0e2\x18.synclive.v1.BackendKindR\abackend\x12\x1a\n" + "\bidentity\x18\x03 \x01(\tR\bidentity\"\xb5\x01\n" + "\x11SubscribeResponse\x12\x1d\n" + "\n" + "session_id\x18\x01 \x01(\tR\tsessionId\x12\x16\n" + "\x06stream\x18\x02 \x01(\tR\x06stream\x120\n" + "\x14publisher_session_id\x18\x03 \x01(\tR\x12publisherSessionId\x127\n" + "\vice_servers\x18\x04 \x03(\v2\x16.synclive.v1.IceServerR\n" + "iceServers\"[\n" + "\x11StopStreamRequest\x12\x12\n" + "\x04room\x18\x01 \x01(\tR\x04room\x122\n" + "\abackend\x18\x02 \x01(\x0e2\x18.synclive.v1.BackendKindR\abackend\"$\n" + "\x12StopStreamResponse\x12\x0e\n" + "\x02ok\x18\x01 \x01(\bR\x02ok\"&\n" + "\x10WatchRoomRequest\x12\x12\n" + "\x04room\x18\x01 \x01(\tR\x04room\"T\n" + "\tRoomEvent\x12\x12\n" + "\x04room\x18\x01 \x01(\tR\x04room\x123\n" + "\atargets\x18\x02 \x03(\v2\x19.synclive.v1.StreamTargetR\atargets\"Y\n" + "\bUserInfo\x12\x1a\n" + "\busername\x18\x01 \x01(\tR\busername\x12\x12\n" + "\x04role\x18\x02 \x01(\tR\x04role\x12\x1d\n" + "\n" + "created_at\x18\x03 \x01(\x03R\tcreatedAt\"F\n" + "\fLoginRequest\x12\x1a\n" + "\busername\x18\x01 \x01(\tR\busername\x12\x1a\n" + "\bpassword\x18\x02 \x01(\tR\bpassword\"o\n" + "\rLoginResponse\x12\x14\n" + "\x05token\x18\x01 \x01(\tR\x05token\x12)\n" + "\x04user\x18\x02 \x01(\v2\x15.synclive.v1.UserInfoR\x04user\x12\x1d\n" + "\n" + "expires_at\x18\x03 \x01(\x03R\texpiresAt\"]\n" + "\x0fRegisterRequest\x12\x1a\n" + "\busername\x18\x01 \x01(\tR\busername\x12\x1a\n" + "\bpassword\x18\x02 \x01(\tR\bpassword\x12\x12\n" + "\x04role\x18\x03 \x01(\tR\x04role\"r\n" + "\x10RegisterResponse\x12\x14\n" + "\x05token\x18\x01 \x01(\tR\x05token\x12)\n" + "\x04user\x18\x02 \x01(\v2\x15.synclive.v1.UserInfoR\x04user\x12\x1d\n" + "\n" + "expires_at\x18\x03 \x01(\x03R\texpiresAt\"\x0e\n" + "\fGetMeRequest\"v\n" + "\rGetMeResponse\x12)\n" + "\x04user\x18\x01 \x01(\v2\x15.synclive.v1.UserInfoR\x04user\x12\x1d\n" + "\n" + "expires_at\x18\x02 \x01(\x03R\texpiresAt\x12\x1b\n" + "\tissued_at\x18\x03 \x01(\x03R\bissuedAt\"\x12\n" + "\x10ListUsersRequest\"@\n" + "\x11ListUsersResponse\x12+\n" + "\x05users\x18\x01 \x03(\v2\x15.synclive.v1.UserInfoR\x05users\"G\n" + "\x15UpdateUserRoleRequest\x12\x1a\n" + "\busername\x18\x01 \x01(\tR\busername\x12\x12\n" + "\x04role\x18\x02 \x01(\tR\x04role\"S\n" + "\x16UpdateUserRoleResponse\x12\x0e\n" + "\x02ok\x18\x01 \x01(\bR\x02ok\x12)\n" + "\x04user\x18\x02 \x01(\v2\x15.synclive.v1.UserInfoR\x04user*^\n" + "\vBackendKind\x12\x1c\n" + "\x18BACKEND_KIND_UNSPECIFIED\x10\x00\x12\x1b\n" + "\x17BACKEND_KIND_CLOUDFLARE\x10\x01\x12\x14\n" + "\x10BACKEND_KIND_SRS\x10\x022\xb9\x06\n" + "\bSyncLive\x12J\n" + "\tGetConfig\x12\x1d.synclive.v1.GetConfigRequest\x1a\x1e.synclive.v1.GetConfigResponse\x12J\n" + "\tListRooms\x12\x1d.synclive.v1.ListRoomsRequest\x1a\x1e.synclive.v1.ListRoomsResponse\x12D\n" + "\aPublish\x12\x1b.synclive.v1.PublishRequest\x1a\x1c.synclive.v1.PublishResponse\x12J\n" + "\tSubscribe\x12\x1d.synclive.v1.SubscribeRequest\x1a\x1e.synclive.v1.SubscribeResponse\x12M\n" + "\n" + "StopStream\x12\x1e.synclive.v1.StopStreamRequest\x1a\x1f.synclive.v1.StopStreamResponse\x12D\n" + "\tWatchRoom\x12\x1d.synclive.v1.WatchRoomRequest\x1a\x16.synclive.v1.RoomEvent0\x01\x12>\n" + "\x05Login\x12\x19.synclive.v1.LoginRequest\x1a\x1a.synclive.v1.LoginResponse\x12G\n" + "\bRegister\x12\x1c.synclive.v1.RegisterRequest\x1a\x1d.synclive.v1.RegisterResponse\x12>\n" + "\x05GetMe\x12\x19.synclive.v1.GetMeRequest\x1a\x1a.synclive.v1.GetMeResponse\x12J\n" + "\tListUsers\x12\x1d.synclive.v1.ListUsersRequest\x1a\x1e.synclive.v1.ListUsersResponse\x12Y\n" + "\x0eUpdateUserRole\x12\".synclive.v1.UpdateUserRoleRequest\x1a#.synclive.v1.UpdateUserRoleResponseB\x0fZ\rsync-live/genb\x06proto3" var ( file_sync_live_proto_rawDescOnce sync.Once file_sync_live_proto_rawDescData []byte ) func file_sync_live_proto_rawDescGZIP() []byte { file_sync_live_proto_rawDescOnce.Do(func() { file_sync_live_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sync_live_proto_rawDesc), len(file_sync_live_proto_rawDesc))) }) return file_sync_live_proto_rawDescData } var file_sync_live_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_sync_live_proto_msgTypes = make([]protoimpl.MessageInfo, 27) var file_sync_live_proto_goTypes = []any{ (BackendKind)(0), // 0: synclive.v1.BackendKind (*IceServer)(nil), // 1: synclive.v1.IceServer (*GetConfigRequest)(nil), // 2: synclive.v1.GetConfigRequest (*BackendInfo)(nil), // 3: synclive.v1.BackendInfo (*GetConfigResponse)(nil), // 4: synclive.v1.GetConfigResponse (*StreamTarget)(nil), // 5: synclive.v1.StreamTarget (*Room)(nil), // 6: synclive.v1.Room (*ListRoomsRequest)(nil), // 7: synclive.v1.ListRoomsRequest (*ListRoomsResponse)(nil), // 8: synclive.v1.ListRoomsResponse (*PublishRequest)(nil), // 9: synclive.v1.PublishRequest (*PublishResponse)(nil), // 10: synclive.v1.PublishResponse (*SubscribeRequest)(nil), // 11: synclive.v1.SubscribeRequest (*SubscribeResponse)(nil), // 12: synclive.v1.SubscribeResponse (*StopStreamRequest)(nil), // 13: synclive.v1.StopStreamRequest (*StopStreamResponse)(nil), // 14: synclive.v1.StopStreamResponse (*WatchRoomRequest)(nil), // 15: synclive.v1.WatchRoomRequest (*RoomEvent)(nil), // 16: synclive.v1.RoomEvent (*UserInfo)(nil), // 17: synclive.v1.UserInfo (*LoginRequest)(nil), // 18: synclive.v1.LoginRequest (*LoginResponse)(nil), // 19: synclive.v1.LoginResponse (*RegisterRequest)(nil), // 20: synclive.v1.RegisterRequest (*RegisterResponse)(nil), // 21: synclive.v1.RegisterResponse (*GetMeRequest)(nil), // 22: synclive.v1.GetMeRequest (*GetMeResponse)(nil), // 23: synclive.v1.GetMeResponse (*ListUsersRequest)(nil), // 24: synclive.v1.ListUsersRequest (*ListUsersResponse)(nil), // 25: synclive.v1.ListUsersResponse (*UpdateUserRoleRequest)(nil), // 26: synclive.v1.UpdateUserRoleRequest (*UpdateUserRoleResponse)(nil), // 27: synclive.v1.UpdateUserRoleResponse } var file_sync_live_proto_depIdxs = []int32{ 0, // 0: synclive.v1.BackendInfo.kind:type_name -> synclive.v1.BackendKind 3, // 1: synclive.v1.GetConfigResponse.backends:type_name -> synclive.v1.BackendInfo 0, // 2: synclive.v1.StreamTarget.backend:type_name -> synclive.v1.BackendKind 5, // 3: synclive.v1.Room.targets:type_name -> synclive.v1.StreamTarget 6, // 4: synclive.v1.ListRoomsResponse.rooms:type_name -> synclive.v1.Room 0, // 5: synclive.v1.PublishRequest.backend:type_name -> synclive.v1.BackendKind 1, // 6: synclive.v1.PublishResponse.ice_servers:type_name -> synclive.v1.IceServer 5, // 7: synclive.v1.PublishResponse.target:type_name -> synclive.v1.StreamTarget 0, // 8: synclive.v1.SubscribeRequest.backend:type_name -> synclive.v1.BackendKind 1, // 9: synclive.v1.SubscribeResponse.ice_servers:type_name -> synclive.v1.IceServer 0, // 10: synclive.v1.StopStreamRequest.backend:type_name -> synclive.v1.BackendKind 5, // 11: synclive.v1.RoomEvent.targets:type_name -> synclive.v1.StreamTarget 17, // 12: synclive.v1.LoginResponse.user:type_name -> synclive.v1.UserInfo 17, // 13: synclive.v1.RegisterResponse.user:type_name -> synclive.v1.UserInfo 17, // 14: synclive.v1.GetMeResponse.user:type_name -> synclive.v1.UserInfo 17, // 15: synclive.v1.ListUsersResponse.users:type_name -> synclive.v1.UserInfo 17, // 16: synclive.v1.UpdateUserRoleResponse.user:type_name -> synclive.v1.UserInfo 2, // 17: synclive.v1.SyncLive.GetConfig:input_type -> synclive.v1.GetConfigRequest 7, // 18: synclive.v1.SyncLive.ListRooms:input_type -> synclive.v1.ListRoomsRequest 9, // 19: synclive.v1.SyncLive.Publish:input_type -> synclive.v1.PublishRequest 11, // 20: synclive.v1.SyncLive.Subscribe:input_type -> synclive.v1.SubscribeRequest 13, // 21: synclive.v1.SyncLive.StopStream:input_type -> synclive.v1.StopStreamRequest 15, // 22: synclive.v1.SyncLive.WatchRoom:input_type -> synclive.v1.WatchRoomRequest 18, // 23: synclive.v1.SyncLive.Login:input_type -> synclive.v1.LoginRequest 20, // 24: synclive.v1.SyncLive.Register:input_type -> synclive.v1.RegisterRequest 22, // 25: synclive.v1.SyncLive.GetMe:input_type -> synclive.v1.GetMeRequest 24, // 26: synclive.v1.SyncLive.ListUsers:input_type -> synclive.v1.ListUsersRequest 26, // 27: synclive.v1.SyncLive.UpdateUserRole:input_type -> synclive.v1.UpdateUserRoleRequest 4, // 28: synclive.v1.SyncLive.GetConfig:output_type -> synclive.v1.GetConfigResponse 8, // 29: synclive.v1.SyncLive.ListRooms:output_type -> synclive.v1.ListRoomsResponse 10, // 30: synclive.v1.SyncLive.Publish:output_type -> synclive.v1.PublishResponse 12, // 31: synclive.v1.SyncLive.Subscribe:output_type -> synclive.v1.SubscribeResponse 14, // 32: synclive.v1.SyncLive.StopStream:output_type -> synclive.v1.StopStreamResponse 16, // 33: synclive.v1.SyncLive.WatchRoom:output_type -> synclive.v1.RoomEvent 19, // 34: synclive.v1.SyncLive.Login:output_type -> synclive.v1.LoginResponse 21, // 35: synclive.v1.SyncLive.Register:output_type -> synclive.v1.RegisterResponse 23, // 36: synclive.v1.SyncLive.GetMe:output_type -> synclive.v1.GetMeResponse 25, // 37: synclive.v1.SyncLive.ListUsers:output_type -> synclive.v1.ListUsersResponse 27, // 38: synclive.v1.SyncLive.UpdateUserRole:output_type -> synclive.v1.UpdateUserRoleResponse 28, // [28:39] is the sub-list for method output_type 17, // [17:28] is the sub-list for method input_type 17, // [17:17] is the sub-list for extension type_name 17, // [17:17] is the sub-list for extension extendee 0, // [0:17] is the sub-list for field type_name } func init() { file_sync_live_proto_init() } func file_sync_live_proto_init() { if File_sync_live_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_sync_live_proto_rawDesc), len(file_sync_live_proto_rawDesc)), NumEnums: 1, NumMessages: 27, NumExtensions: 0, NumServices: 1, }, GoTypes: file_sync_live_proto_goTypes, DependencyIndexes: file_sync_live_proto_depIdxs, EnumInfos: file_sync_live_proto_enumTypes, MessageInfos: file_sync_live_proto_msgTypes, }.Build() File_sync_live_proto = out.File file_sync_live_proto_goTypes = nil file_sync_live_proto_depIdxs = nil }