// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v6.33.1
// source: ring.proto

package gen

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	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)
)

// Represents an email message.
type EmailMessage struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ToName        string                 `protobuf:"bytes,1,opt,name=to_name,json=toName,proto3" json:"to_name,omitempty"`
	ToAddress     string                 `protobuf:"bytes,2,opt,name=to_address,json=toAddress,proto3" json:"to_address,omitempty"`
	Subject       string                 `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"`
	Body          string                 `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EmailMessage) Reset() {
	*x = EmailMessage{}
	mi := &file_ring_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EmailMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EmailMessage) ProtoMessage() {}

func (x *EmailMessage) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 EmailMessage.ProtoReflect.Descriptor instead.
func (*EmailMessage) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{0}
}

func (x *EmailMessage) GetToName() string {
	if x != nil {
		return x.ToName
	}
	return ""
}

func (x *EmailMessage) GetToAddress() string {
	if x != nil {
		return x.ToAddress
	}
	return ""
}

func (x *EmailMessage) GetSubject() string {
	if x != nil {
		return x.Subject
	}
	return ""
}

func (x *EmailMessage) GetBody() string {
	if x != nil {
		return x.Body
	}
	return ""
}

type SendEmailRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Email         *EmailMessage          `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendEmailRequest) Reset() {
	*x = SendEmailRequest{}
	mi := &file_ring_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SendEmailRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SendEmailRequest) ProtoMessage() {}

func (x *SendEmailRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 SendEmailRequest.ProtoReflect.Descriptor instead.
func (*SendEmailRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{1}
}

func (x *SendEmailRequest) GetEmail() *EmailMessage {
	if x != nil {
		return x.Email
	}
	return nil
}

// Represents a WebSocket packet.
type WebSocketPacket struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	Type          string                  `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Data          []byte                  `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	ErrorMessage  *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WebSocketPacket) Reset() {
	*x = WebSocketPacket{}
	mi := &file_ring_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WebSocketPacket) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WebSocketPacket) ProtoMessage() {}

func (x *WebSocketPacket) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 WebSocketPacket.ProtoReflect.Descriptor instead.
func (*WebSocketPacket) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{2}
}

func (x *WebSocketPacket) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *WebSocketPacket) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *WebSocketPacket) GetErrorMessage() *wrapperspb.StringValue {
	if x != nil {
		return x.ErrorMessage
	}
	return nil
}

type PushWebSocketPacketRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        string                 `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Packet        *WebSocketPacket       `protobuf:"bytes,2,opt,name=packet,proto3" json:"packet,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PushWebSocketPacketRequest) Reset() {
	*x = PushWebSocketPacketRequest{}
	mi := &file_ring_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PushWebSocketPacketRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PushWebSocketPacketRequest) ProtoMessage() {}

func (x *PushWebSocketPacketRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 PushWebSocketPacketRequest.ProtoReflect.Descriptor instead.
func (*PushWebSocketPacketRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{3}
}

func (x *PushWebSocketPacketRequest) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *PushWebSocketPacketRequest) GetPacket() *WebSocketPacket {
	if x != nil {
		return x.Packet
	}
	return nil
}

type PushWebSocketPacketToUsersRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserIds       []string               `protobuf:"bytes,1,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
	Packet        *WebSocketPacket       `protobuf:"bytes,2,opt,name=packet,proto3" json:"packet,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PushWebSocketPacketToUsersRequest) Reset() {
	*x = PushWebSocketPacketToUsersRequest{}
	mi := &file_ring_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PushWebSocketPacketToUsersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PushWebSocketPacketToUsersRequest) ProtoMessage() {}

func (x *PushWebSocketPacketToUsersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 PushWebSocketPacketToUsersRequest.ProtoReflect.Descriptor instead.
func (*PushWebSocketPacketToUsersRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{4}
}

func (x *PushWebSocketPacketToUsersRequest) GetUserIds() []string {
	if x != nil {
		return x.UserIds
	}
	return nil
}

func (x *PushWebSocketPacketToUsersRequest) GetPacket() *WebSocketPacket {
	if x != nil {
		return x.Packet
	}
	return nil
}

type PushWebSocketPacketToDeviceRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DeviceId      string                 `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	Packet        *WebSocketPacket       `protobuf:"bytes,2,opt,name=packet,proto3" json:"packet,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PushWebSocketPacketToDeviceRequest) Reset() {
	*x = PushWebSocketPacketToDeviceRequest{}
	mi := &file_ring_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PushWebSocketPacketToDeviceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PushWebSocketPacketToDeviceRequest) ProtoMessage() {}

func (x *PushWebSocketPacketToDeviceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 PushWebSocketPacketToDeviceRequest.ProtoReflect.Descriptor instead.
func (*PushWebSocketPacketToDeviceRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{5}
}

func (x *PushWebSocketPacketToDeviceRequest) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *PushWebSocketPacketToDeviceRequest) GetPacket() *WebSocketPacket {
	if x != nil {
		return x.Packet
	}
	return nil
}

type PushWebSocketPacketToDevicesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DeviceIds     []string               `protobuf:"bytes,1,rep,name=device_ids,json=deviceIds,proto3" json:"device_ids,omitempty"`
	Packet        *WebSocketPacket       `protobuf:"bytes,2,opt,name=packet,proto3" json:"packet,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PushWebSocketPacketToDevicesRequest) Reset() {
	*x = PushWebSocketPacketToDevicesRequest{}
	mi := &file_ring_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PushWebSocketPacketToDevicesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PushWebSocketPacketToDevicesRequest) ProtoMessage() {}

func (x *PushWebSocketPacketToDevicesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 PushWebSocketPacketToDevicesRequest.ProtoReflect.Descriptor instead.
func (*PushWebSocketPacketToDevicesRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{6}
}

func (x *PushWebSocketPacketToDevicesRequest) GetDeviceIds() []string {
	if x != nil {
		return x.DeviceIds
	}
	return nil
}

func (x *PushWebSocketPacketToDevicesRequest) GetPacket() *WebSocketPacket {
	if x != nil {
		return x.Packet
	}
	return nil
}

// Represents a push notification.
type PushNotification struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Topic         string                 `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
	Title         string                 `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	Subtitle      string                 `protobuf:"bytes,3,opt,name=subtitle,proto3" json:"subtitle,omitempty"`
	Body          string                 `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"`
	Meta          []byte                 `protobuf:"bytes,5,opt,name=meta,proto3,oneof" json:"meta,omitempty"`
	ActionUri     *string                `protobuf:"bytes,6,opt,name=action_uri,json=actionUri,proto3,oneof" json:"action_uri,omitempty"`
	IsSilent      bool                   `protobuf:"varint,7,opt,name=is_silent,json=isSilent,proto3" json:"is_silent,omitempty"`
	IsSavable     bool                   `protobuf:"varint,8,opt,name=is_savable,json=isSavable,proto3" json:"is_savable,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PushNotification) Reset() {
	*x = PushNotification{}
	mi := &file_ring_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PushNotification) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PushNotification) ProtoMessage() {}

func (x *PushNotification) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 PushNotification.ProtoReflect.Descriptor instead.
func (*PushNotification) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{7}
}

func (x *PushNotification) GetTopic() string {
	if x != nil {
		return x.Topic
	}
	return ""
}

func (x *PushNotification) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *PushNotification) GetSubtitle() string {
	if x != nil {
		return x.Subtitle
	}
	return ""
}

func (x *PushNotification) GetBody() string {
	if x != nil {
		return x.Body
	}
	return ""
}

func (x *PushNotification) GetMeta() []byte {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *PushNotification) GetActionUri() string {
	if x != nil && x.ActionUri != nil {
		return *x.ActionUri
	}
	return ""
}

func (x *PushNotification) GetIsSilent() bool {
	if x != nil {
		return x.IsSilent
	}
	return false
}

func (x *PushNotification) GetIsSavable() bool {
	if x != nil {
		return x.IsSavable
	}
	return false
}

type SendPushNotificationToUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        string                 `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Notification  *PushNotification      `protobuf:"bytes,2,opt,name=notification,proto3" json:"notification,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendPushNotificationToUserRequest) Reset() {
	*x = SendPushNotificationToUserRequest{}
	mi := &file_ring_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SendPushNotificationToUserRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SendPushNotificationToUserRequest) ProtoMessage() {}

func (x *SendPushNotificationToUserRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 SendPushNotificationToUserRequest.ProtoReflect.Descriptor instead.
func (*SendPushNotificationToUserRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{8}
}

func (x *SendPushNotificationToUserRequest) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *SendPushNotificationToUserRequest) GetNotification() *PushNotification {
	if x != nil {
		return x.Notification
	}
	return nil
}

type SendPushNotificationToUsersRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserIds       []string               `protobuf:"bytes,1,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
	Notification  *PushNotification      `protobuf:"bytes,2,opt,name=notification,proto3" json:"notification,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendPushNotificationToUsersRequest) Reset() {
	*x = SendPushNotificationToUsersRequest{}
	mi := &file_ring_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SendPushNotificationToUsersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SendPushNotificationToUsersRequest) ProtoMessage() {}

func (x *SendPushNotificationToUsersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 SendPushNotificationToUsersRequest.ProtoReflect.Descriptor instead.
func (*SendPushNotificationToUsersRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{9}
}

func (x *SendPushNotificationToUsersRequest) GetUserIds() []string {
	if x != nil {
		return x.UserIds
	}
	return nil
}

func (x *SendPushNotificationToUsersRequest) GetNotification() *PushNotification {
	if x != nil {
		return x.Notification
	}
	return nil
}

type UnsubscribePushNotificationsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DeviceId      string                 `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnsubscribePushNotificationsRequest) Reset() {
	*x = UnsubscribePushNotificationsRequest{}
	mi := &file_ring_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UnsubscribePushNotificationsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnsubscribePushNotificationsRequest) ProtoMessage() {}

func (x *UnsubscribePushNotificationsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 UnsubscribePushNotificationsRequest.ProtoReflect.Descriptor instead.
func (*UnsubscribePushNotificationsRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{10}
}

func (x *UnsubscribePushNotificationsRequest) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

type GetWebsocketConnectionStatusRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Id:
	//
	//	*GetWebsocketConnectionStatusRequest_DeviceId
	//	*GetWebsocketConnectionStatusRequest_UserId
	Id            isGetWebsocketConnectionStatusRequest_Id `protobuf_oneof:"id"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetWebsocketConnectionStatusRequest) Reset() {
	*x = GetWebsocketConnectionStatusRequest{}
	mi := &file_ring_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetWebsocketConnectionStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWebsocketConnectionStatusRequest) ProtoMessage() {}

func (x *GetWebsocketConnectionStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 GetWebsocketConnectionStatusRequest.ProtoReflect.Descriptor instead.
func (*GetWebsocketConnectionStatusRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{11}
}

func (x *GetWebsocketConnectionStatusRequest) GetId() isGetWebsocketConnectionStatusRequest_Id {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *GetWebsocketConnectionStatusRequest) GetDeviceId() string {
	if x != nil {
		if x, ok := x.Id.(*GetWebsocketConnectionStatusRequest_DeviceId); ok {
			return x.DeviceId
		}
	}
	return ""
}

func (x *GetWebsocketConnectionStatusRequest) GetUserId() string {
	if x != nil {
		if x, ok := x.Id.(*GetWebsocketConnectionStatusRequest_UserId); ok {
			return x.UserId
		}
	}
	return ""
}

type isGetWebsocketConnectionStatusRequest_Id interface {
	isGetWebsocketConnectionStatusRequest_Id()
}

type GetWebsocketConnectionStatusRequest_DeviceId struct {
	DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3,oneof"`
}

type GetWebsocketConnectionStatusRequest_UserId struct {
	UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3,oneof"`
}

func (*GetWebsocketConnectionStatusRequest_DeviceId) isGetWebsocketConnectionStatusRequest_Id() {}

func (*GetWebsocketConnectionStatusRequest_UserId) isGetWebsocketConnectionStatusRequest_Id() {}

type GetWebsocketConnectionStatusResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	IsConnected   bool                   `protobuf:"varint,1,opt,name=is_connected,json=isConnected,proto3" json:"is_connected,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetWebsocketConnectionStatusResponse) Reset() {
	*x = GetWebsocketConnectionStatusResponse{}
	mi := &file_ring_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetWebsocketConnectionStatusResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWebsocketConnectionStatusResponse) ProtoMessage() {}

func (x *GetWebsocketConnectionStatusResponse) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 GetWebsocketConnectionStatusResponse.ProtoReflect.Descriptor instead.
func (*GetWebsocketConnectionStatusResponse) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{12}
}

func (x *GetWebsocketConnectionStatusResponse) GetIsConnected() bool {
	if x != nil {
		return x.IsConnected
	}
	return false
}

type GetWebsocketConnectionStatusBatchRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UsersId       []string               `protobuf:"bytes,1,rep,name=users_id,json=usersId,proto3" json:"users_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetWebsocketConnectionStatusBatchRequest) Reset() {
	*x = GetWebsocketConnectionStatusBatchRequest{}
	mi := &file_ring_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetWebsocketConnectionStatusBatchRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWebsocketConnectionStatusBatchRequest) ProtoMessage() {}

func (x *GetWebsocketConnectionStatusBatchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 GetWebsocketConnectionStatusBatchRequest.ProtoReflect.Descriptor instead.
func (*GetWebsocketConnectionStatusBatchRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{13}
}

func (x *GetWebsocketConnectionStatusBatchRequest) GetUsersId() []string {
	if x != nil {
		return x.UsersId
	}
	return nil
}

type GetWebsocketConnectionStatusBatchResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	IsConnected   map[string]bool        `protobuf:"bytes,1,rep,name=is_connected,json=isConnected,proto3" json:"is_connected,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetWebsocketConnectionStatusBatchResponse) Reset() {
	*x = GetWebsocketConnectionStatusBatchResponse{}
	mi := &file_ring_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetWebsocketConnectionStatusBatchResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWebsocketConnectionStatusBatchResponse) ProtoMessage() {}

func (x *GetWebsocketConnectionStatusBatchResponse) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 GetWebsocketConnectionStatusBatchResponse.ProtoReflect.Descriptor instead.
func (*GetWebsocketConnectionStatusBatchResponse) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{14}
}

func (x *GetWebsocketConnectionStatusBatchResponse) GetIsConnected() map[string]bool {
	if x != nil {
		return x.IsConnected
	}
	return nil
}

type ReceiveWebSocketPacketRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Packet        *WebSocketPacket       `protobuf:"bytes,1,opt,name=packet,proto3" json:"packet,omitempty"`
	Account       *Account               `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"`
	DeviceId      string                 `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReceiveWebSocketPacketRequest) Reset() {
	*x = ReceiveWebSocketPacketRequest{}
	mi := &file_ring_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReceiveWebSocketPacketRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiveWebSocketPacketRequest) ProtoMessage() {}

func (x *ReceiveWebSocketPacketRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 ReceiveWebSocketPacketRequest.ProtoReflect.Descriptor instead.
func (*ReceiveWebSocketPacketRequest) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{15}
}

func (x *ReceiveWebSocketPacketRequest) GetPacket() *WebSocketPacket {
	if x != nil {
		return x.Packet
	}
	return nil
}

func (x *ReceiveWebSocketPacketRequest) GetAccount() *Account {
	if x != nil {
		return x.Account
	}
	return nil
}

func (x *ReceiveWebSocketPacketRequest) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

// WebSocket event messages for NATS publishing
type WebSocketConnectedEvent struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	AccountId     *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	DeviceId      string                  `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	IsOffline     bool                    `protobuf:"varint,3,opt,name=is_offline,json=isOffline,proto3" json:"is_offline,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WebSocketConnectedEvent) Reset() {
	*x = WebSocketConnectedEvent{}
	mi := &file_ring_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WebSocketConnectedEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WebSocketConnectedEvent) ProtoMessage() {}

func (x *WebSocketConnectedEvent) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 WebSocketConnectedEvent.ProtoReflect.Descriptor instead.
func (*WebSocketConnectedEvent) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{16}
}

func (x *WebSocketConnectedEvent) GetAccountId() *wrapperspb.StringValue {
	if x != nil {
		return x.AccountId
	}
	return nil
}

func (x *WebSocketConnectedEvent) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *WebSocketConnectedEvent) GetIsOffline() bool {
	if x != nil {
		return x.IsOffline
	}
	return false
}

type WebSocketDisconnectedEvent struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	AccountId     *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	DeviceId      string                  `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	IsOffline     bool                    `protobuf:"varint,3,opt,name=is_offline,json=isOffline,proto3" json:"is_offline,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WebSocketDisconnectedEvent) Reset() {
	*x = WebSocketDisconnectedEvent{}
	mi := &file_ring_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WebSocketDisconnectedEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WebSocketDisconnectedEvent) ProtoMessage() {}

func (x *WebSocketDisconnectedEvent) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 WebSocketDisconnectedEvent.ProtoReflect.Descriptor instead.
func (*WebSocketDisconnectedEvent) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{17}
}

func (x *WebSocketDisconnectedEvent) GetAccountId() *wrapperspb.StringValue {
	if x != nil {
		return x.AccountId
	}
	return nil
}

func (x *WebSocketDisconnectedEvent) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *WebSocketDisconnectedEvent) GetIsOffline() bool {
	if x != nil {
		return x.IsOffline
	}
	return false
}

type WebSocketPacketEvent struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	AccountId     *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	DeviceId      string                  `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	PacketBytes   []byte                  `protobuf:"bytes,3,opt,name=packet_bytes,json=packetBytes,proto3" json:"packet_bytes,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WebSocketPacketEvent) Reset() {
	*x = WebSocketPacketEvent{}
	mi := &file_ring_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WebSocketPacketEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WebSocketPacketEvent) ProtoMessage() {}

func (x *WebSocketPacketEvent) ProtoReflect() protoreflect.Message {
	mi := &file_ring_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 WebSocketPacketEvent.ProtoReflect.Descriptor instead.
func (*WebSocketPacketEvent) Descriptor() ([]byte, []int) {
	return file_ring_proto_rawDescGZIP(), []int{18}
}

func (x *WebSocketPacketEvent) GetAccountId() *wrapperspb.StringValue {
	if x != nil {
		return x.AccountId
	}
	return nil
}

func (x *WebSocketPacketEvent) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *WebSocketPacketEvent) GetPacketBytes() []byte {
	if x != nil {
		return x.PacketBytes
	}
	return nil
}

var File_ring_proto protoreflect.FileDescriptor

const file_ring_proto_rawDesc = "" +
	"\n" +
	"\n" +
	"ring.proto\x12\x05proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\raccount.proto\"t\n" +
	"\fEmailMessage\x12\x17\n" +
	"\ato_name\x18\x01 \x01(\tR\x06toName\x12\x1d\n" +
	"\n" +
	"to_address\x18\x02 \x01(\tR\ttoAddress\x12\x18\n" +
	"\asubject\x18\x03 \x01(\tR\asubject\x12\x12\n" +
	"\x04body\x18\x04 \x01(\tR\x04body\"=\n" +
	"\x10SendEmailRequest\x12)\n" +
	"\x05email\x18\x01 \x01(\v2\x13.proto.EmailMessageR\x05email\"|\n" +
	"\x0fWebSocketPacket\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n" +
	"\x04data\x18\x02 \x01(\fR\x04data\x12A\n" +
	"\rerror_message\x18\x03 \x01(\v2\x1c.google.protobuf.StringValueR\ferrorMessage\"e\n" +
	"\x1aPushWebSocketPacketRequest\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\tR\x06userId\x12.\n" +
	"\x06packet\x18\x02 \x01(\v2\x16.proto.WebSocketPacketR\x06packet\"n\n" +
	"!PushWebSocketPacketToUsersRequest\x12\x19\n" +
	"\buser_ids\x18\x01 \x03(\tR\auserIds\x12.\n" +
	"\x06packet\x18\x02 \x01(\v2\x16.proto.WebSocketPacketR\x06packet\"q\n" +
	"\"PushWebSocketPacketToDeviceRequest\x12\x1b\n" +
	"\tdevice_id\x18\x01 \x01(\tR\bdeviceId\x12.\n" +
	"\x06packet\x18\x02 \x01(\v2\x16.proto.WebSocketPacketR\x06packet\"t\n" +
	"#PushWebSocketPacketToDevicesRequest\x12\x1d\n" +
	"\n" +
	"device_ids\x18\x01 \x03(\tR\tdeviceIds\x12.\n" +
	"\x06packet\x18\x02 \x01(\v2\x16.proto.WebSocketPacketR\x06packet\"\xff\x01\n" +
	"\x10PushNotification\x12\x14\n" +
	"\x05topic\x18\x01 \x01(\tR\x05topic\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12\x1a\n" +
	"\bsubtitle\x18\x03 \x01(\tR\bsubtitle\x12\x12\n" +
	"\x04body\x18\x04 \x01(\tR\x04body\x12\x17\n" +
	"\x04meta\x18\x05 \x01(\fH\x00R\x04meta\x88\x01\x01\x12\"\n" +
	"\n" +
	"action_uri\x18\x06 \x01(\tH\x01R\tactionUri\x88\x01\x01\x12\x1b\n" +
	"\tis_silent\x18\a \x01(\bR\bisSilent\x12\x1d\n" +
	"\n" +
	"is_savable\x18\b \x01(\bR\tisSavableB\a\n" +
	"\x05_metaB\r\n" +
	"\v_action_uri\"y\n" +
	"!SendPushNotificationToUserRequest\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\tR\x06userId\x12;\n" +
	"\fnotification\x18\x02 \x01(\v2\x17.proto.PushNotificationR\fnotification\"|\n" +
	"\"SendPushNotificationToUsersRequest\x12\x19\n" +
	"\buser_ids\x18\x01 \x03(\tR\auserIds\x12;\n" +
	"\fnotification\x18\x02 \x01(\v2\x17.proto.PushNotificationR\fnotification\"B\n" +
	"#UnsubscribePushNotificationsRequest\x12\x1b\n" +
	"\tdevice_id\x18\x01 \x01(\tR\bdeviceId\"e\n" +
	"#GetWebsocketConnectionStatusRequest\x12\x1d\n" +
	"\tdevice_id\x18\x01 \x01(\tH\x00R\bdeviceId\x12\x19\n" +
	"\auser_id\x18\x02 \x01(\tH\x00R\x06userIdB\x04\n" +
	"\x02id\"I\n" +
	"$GetWebsocketConnectionStatusResponse\x12!\n" +
	"\fis_connected\x18\x01 \x01(\bR\visConnected\"E\n" +
	"(GetWebsocketConnectionStatusBatchRequest\x12\x19\n" +
	"\busers_id\x18\x01 \x03(\tR\ausersId\"\xd1\x01\n" +
	")GetWebsocketConnectionStatusBatchResponse\x12d\n" +
	"\fis_connected\x18\x01 \x03(\v2A.proto.GetWebsocketConnectionStatusBatchResponse.IsConnectedEntryR\visConnected\x1a>\n" +
	"\x10IsConnectedEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"\x96\x01\n" +
	"\x1dReceiveWebSocketPacketRequest\x12.\n" +
	"\x06packet\x18\x01 \x01(\v2\x16.proto.WebSocketPacketR\x06packet\x12(\n" +
	"\aaccount\x18\x02 \x01(\v2\x0e.proto.AccountR\aaccount\x12\x1b\n" +
	"\tdevice_id\x18\x03 \x01(\tR\bdeviceId\"\x92\x01\n" +
	"\x17WebSocketConnectedEvent\x12;\n" +
	"\n" +
	"account_id\x18\x01 \x01(\v2\x1c.google.protobuf.StringValueR\taccountId\x12\x1b\n" +
	"\tdevice_id\x18\x02 \x01(\tR\bdeviceId\x12\x1d\n" +
	"\n" +
	"is_offline\x18\x03 \x01(\bR\tisOffline\"\x95\x01\n" +
	"\x1aWebSocketDisconnectedEvent\x12;\n" +
	"\n" +
	"account_id\x18\x01 \x01(\v2\x1c.google.protobuf.StringValueR\taccountId\x12\x1b\n" +
	"\tdevice_id\x18\x02 \x01(\tR\bdeviceId\x12\x1d\n" +
	"\n" +
	"is_offline\x18\x03 \x01(\bR\tisOffline\"\x93\x01\n" +
	"\x14WebSocketPacketEvent\x12;\n" +
	"\n" +
	"account_id\x18\x01 \x01(\v2\x1c.google.protobuf.StringValueR\taccountId\x12\x1b\n" +
	"\tdevice_id\x18\x02 \x01(\tR\bdeviceId\x12!\n" +
	"\fpacket_bytes\x18\x03 \x01(\fR\vpacketBytes2\xff\a\n" +
	"\vRingService\x12>\n" +
	"\tSendEmail\x12\x17.proto.SendEmailRequest\x1a\x16.google.protobuf.Empty\"\x00\x12R\n" +
	"\x13PushWebSocketPacket\x12!.proto.PushWebSocketPacketRequest\x1a\x16.google.protobuf.Empty\"\x00\x12`\n" +
	"\x1aPushWebSocketPacketToUsers\x12(.proto.PushWebSocketPacketToUsersRequest\x1a\x16.google.protobuf.Empty\"\x00\x12b\n" +
	"\x1bPushWebSocketPacketToDevice\x12).proto.PushWebSocketPacketToDeviceRequest\x1a\x16.google.protobuf.Empty\"\x00\x12d\n" +
	"\x1cPushWebSocketPacketToDevices\x12*.proto.PushWebSocketPacketToDevicesRequest\x1a\x16.google.protobuf.Empty\"\x00\x12`\n" +
	"\x1aSendPushNotificationToUser\x12(.proto.SendPushNotificationToUserRequest\x1a\x16.google.protobuf.Empty\"\x00\x12b\n" +
	"\x1bSendPushNotificationToUsers\x12).proto.SendPushNotificationToUsersRequest\x1a\x16.google.protobuf.Empty\"\x00\x12d\n" +
	"\x1cUnsubscribePushNotifications\x12*.proto.UnsubscribePushNotificationsRequest\x1a\x16.google.protobuf.Empty\"\x00\x12y\n" +
	"\x1cGetWebsocketConnectionStatus\x12*.proto.GetWebsocketConnectionStatusRequest\x1a+.proto.GetWebsocketConnectionStatusResponse\"\x00\x12\x88\x01\n" +
	"!GetWebsocketConnectionStatusBatch\x12/.proto.GetWebsocketConnectionStatusBatchRequest\x1a0.proto.GetWebsocketConnectionStatusBatchResponse\"\x002n\n" +
	"\x12RingHandlerService\x12X\n" +
	"\x16ReceiveWebSocketPacket\x12$.proto.ReceiveWebSocketPacketRequest\x1a\x16.google.protobuf.Empty\"\x00BUZ7git.solsynth.dev/goatworks/turbine/pkg/shared/proto/gen\xaa\x02\x19DysonNetwork.Shared.Protob\x06proto3"

var (
	file_ring_proto_rawDescOnce sync.Once
	file_ring_proto_rawDescData []byte
)

func file_ring_proto_rawDescGZIP() []byte {
	file_ring_proto_rawDescOnce.Do(func() {
		file_ring_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ring_proto_rawDesc), len(file_ring_proto_rawDesc)))
	})
	return file_ring_proto_rawDescData
}

var file_ring_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_ring_proto_goTypes = []any{
	(*EmailMessage)(nil),                              // 0: proto.EmailMessage
	(*SendEmailRequest)(nil),                          // 1: proto.SendEmailRequest
	(*WebSocketPacket)(nil),                           // 2: proto.WebSocketPacket
	(*PushWebSocketPacketRequest)(nil),                // 3: proto.PushWebSocketPacketRequest
	(*PushWebSocketPacketToUsersRequest)(nil),         // 4: proto.PushWebSocketPacketToUsersRequest
	(*PushWebSocketPacketToDeviceRequest)(nil),        // 5: proto.PushWebSocketPacketToDeviceRequest
	(*PushWebSocketPacketToDevicesRequest)(nil),       // 6: proto.PushWebSocketPacketToDevicesRequest
	(*PushNotification)(nil),                          // 7: proto.PushNotification
	(*SendPushNotificationToUserRequest)(nil),         // 8: proto.SendPushNotificationToUserRequest
	(*SendPushNotificationToUsersRequest)(nil),        // 9: proto.SendPushNotificationToUsersRequest
	(*UnsubscribePushNotificationsRequest)(nil),       // 10: proto.UnsubscribePushNotificationsRequest
	(*GetWebsocketConnectionStatusRequest)(nil),       // 11: proto.GetWebsocketConnectionStatusRequest
	(*GetWebsocketConnectionStatusResponse)(nil),      // 12: proto.GetWebsocketConnectionStatusResponse
	(*GetWebsocketConnectionStatusBatchRequest)(nil),  // 13: proto.GetWebsocketConnectionStatusBatchRequest
	(*GetWebsocketConnectionStatusBatchResponse)(nil), // 14: proto.GetWebsocketConnectionStatusBatchResponse
	(*ReceiveWebSocketPacketRequest)(nil),             // 15: proto.ReceiveWebSocketPacketRequest
	(*WebSocketConnectedEvent)(nil),                   // 16: proto.WebSocketConnectedEvent
	(*WebSocketDisconnectedEvent)(nil),                // 17: proto.WebSocketDisconnectedEvent
	(*WebSocketPacketEvent)(nil),                      // 18: proto.WebSocketPacketEvent
	nil,                                               // 19: proto.GetWebsocketConnectionStatusBatchResponse.IsConnectedEntry
	(*wrapperspb.StringValue)(nil),                    // 20: google.protobuf.StringValue
	(*Account)(nil),                                   // 21: proto.Account
	(*emptypb.Empty)(nil),                             // 22: google.protobuf.Empty
}
var file_ring_proto_depIdxs = []int32{
	0,  // 0: proto.SendEmailRequest.email:type_name -> proto.EmailMessage
	20, // 1: proto.WebSocketPacket.error_message:type_name -> google.protobuf.StringValue
	2,  // 2: proto.PushWebSocketPacketRequest.packet:type_name -> proto.WebSocketPacket
	2,  // 3: proto.PushWebSocketPacketToUsersRequest.packet:type_name -> proto.WebSocketPacket
	2,  // 4: proto.PushWebSocketPacketToDeviceRequest.packet:type_name -> proto.WebSocketPacket
	2,  // 5: proto.PushWebSocketPacketToDevicesRequest.packet:type_name -> proto.WebSocketPacket
	7,  // 6: proto.SendPushNotificationToUserRequest.notification:type_name -> proto.PushNotification
	7,  // 7: proto.SendPushNotificationToUsersRequest.notification:type_name -> proto.PushNotification
	19, // 8: proto.GetWebsocketConnectionStatusBatchResponse.is_connected:type_name -> proto.GetWebsocketConnectionStatusBatchResponse.IsConnectedEntry
	2,  // 9: proto.ReceiveWebSocketPacketRequest.packet:type_name -> proto.WebSocketPacket
	21, // 10: proto.ReceiveWebSocketPacketRequest.account:type_name -> proto.Account
	20, // 11: proto.WebSocketConnectedEvent.account_id:type_name -> google.protobuf.StringValue
	20, // 12: proto.WebSocketDisconnectedEvent.account_id:type_name -> google.protobuf.StringValue
	20, // 13: proto.WebSocketPacketEvent.account_id:type_name -> google.protobuf.StringValue
	1,  // 14: proto.RingService.SendEmail:input_type -> proto.SendEmailRequest
	3,  // 15: proto.RingService.PushWebSocketPacket:input_type -> proto.PushWebSocketPacketRequest
	4,  // 16: proto.RingService.PushWebSocketPacketToUsers:input_type -> proto.PushWebSocketPacketToUsersRequest
	5,  // 17: proto.RingService.PushWebSocketPacketToDevice:input_type -> proto.PushWebSocketPacketToDeviceRequest
	6,  // 18: proto.RingService.PushWebSocketPacketToDevices:input_type -> proto.PushWebSocketPacketToDevicesRequest
	8,  // 19: proto.RingService.SendPushNotificationToUser:input_type -> proto.SendPushNotificationToUserRequest
	9,  // 20: proto.RingService.SendPushNotificationToUsers:input_type -> proto.SendPushNotificationToUsersRequest
	10, // 21: proto.RingService.UnsubscribePushNotifications:input_type -> proto.UnsubscribePushNotificationsRequest
	11, // 22: proto.RingService.GetWebsocketConnectionStatus:input_type -> proto.GetWebsocketConnectionStatusRequest
	13, // 23: proto.RingService.GetWebsocketConnectionStatusBatch:input_type -> proto.GetWebsocketConnectionStatusBatchRequest
	15, // 24: proto.RingHandlerService.ReceiveWebSocketPacket:input_type -> proto.ReceiveWebSocketPacketRequest
	22, // 25: proto.RingService.SendEmail:output_type -> google.protobuf.Empty
	22, // 26: proto.RingService.PushWebSocketPacket:output_type -> google.protobuf.Empty
	22, // 27: proto.RingService.PushWebSocketPacketToUsers:output_type -> google.protobuf.Empty
	22, // 28: proto.RingService.PushWebSocketPacketToDevice:output_type -> google.protobuf.Empty
	22, // 29: proto.RingService.PushWebSocketPacketToDevices:output_type -> google.protobuf.Empty
	22, // 30: proto.RingService.SendPushNotificationToUser:output_type -> google.protobuf.Empty
	22, // 31: proto.RingService.SendPushNotificationToUsers:output_type -> google.protobuf.Empty
	22, // 32: proto.RingService.UnsubscribePushNotifications:output_type -> google.protobuf.Empty
	12, // 33: proto.RingService.GetWebsocketConnectionStatus:output_type -> proto.GetWebsocketConnectionStatusResponse
	14, // 34: proto.RingService.GetWebsocketConnectionStatusBatch:output_type -> proto.GetWebsocketConnectionStatusBatchResponse
	22, // 35: proto.RingHandlerService.ReceiveWebSocketPacket:output_type -> google.protobuf.Empty
	25, // [25:36] is the sub-list for method output_type
	14, // [14:25] is the sub-list for method input_type
	14, // [14:14] is the sub-list for extension type_name
	14, // [14:14] is the sub-list for extension extendee
	0,  // [0:14] is the sub-list for field type_name
}

func init() { file_ring_proto_init() }
func file_ring_proto_init() {
	if File_ring_proto != nil {
		return
	}
	file_account_proto_init()
	file_ring_proto_msgTypes[7].OneofWrappers = []any{}
	file_ring_proto_msgTypes[11].OneofWrappers = []any{
		(*GetWebsocketConnectionStatusRequest_DeviceId)(nil),
		(*GetWebsocketConnectionStatusRequest_UserId)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_ring_proto_rawDesc), len(file_ring_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   20,
			NumExtensions: 0,
			NumServices:   2,
		},
		GoTypes:           file_ring_proto_goTypes,
		DependencyIndexes: file_ring_proto_depIdxs,
		MessageInfos:      file_ring_proto_msgTypes,
	}.Build()
	File_ring_proto = out.File
	file_ring_proto_goTypes = nil
	file_ring_proto_depIdxs = nil
}
