subscriptions

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2023 License: MIT Imports: 14 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	GroupLogic_name = map[int32]string{
		0: "And",
		1: "Or",
		2: "Xor",
	}
	GroupLogic_value = map[string]int32{
		"And": 0,
		"Or":  1,
		"Xor": 2,
	}
)

Enum value maps for GroupLogic.

View Source
var ErrBusy = errors.New("subscription is busy, retry the operation")

ErrBusy indicates a storage entity is locked and the operation should be retried.

View Source
var ErrInternal = errors.New("internal failure")

ErrInternal indicates some unexpected internal failure.

View Source
var ErrInvalid = errors.New("invalid subscription")

ErrInvalid indicates the invalid subscription.

View Source
var ErrNotFound = errors.New("subscription was not found")

ErrNotFound indicates the subscription is missing in the storage and can not be read/updated/deleted.

View Source
var File_api_grpc_subscriptions_service_proto protoreflect.FileDescriptor

Functions

func RegisterServiceServer added in v0.0.2

func RegisterServiceServer(s *grpc.Server, srv ServiceServer)

Types

type ConditionInput added in v0.0.2

type ConditionInput struct {
	Not bool `protobuf:"varint,1,opt,name=not,proto3" json:"not,omitempty"`
	// Types that are assignable to Cond:
	//
	//	*ConditionInput_Gc
	//	*ConditionInput_Tc
	Cond isConditionInput_Cond `protobuf_oneof:"cond"`
	// contains filtered or unexported fields
}

ConditionInput represents the Subscription routing Condition data that is immutable once Subscription is created.

func (*ConditionInput) Descriptor deprecated added in v0.0.2

func (*ConditionInput) Descriptor() ([]byte, []int)

Deprecated: Use ConditionInput.ProtoReflect.Descriptor instead.

func (*ConditionInput) GetCond added in v0.0.2

func (m *ConditionInput) GetCond() isConditionInput_Cond

func (*ConditionInput) GetGc added in v0.0.2

func (x *ConditionInput) GetGc() *GroupConditionInput

func (*ConditionInput) GetNot added in v0.0.2

func (x *ConditionInput) GetNot() bool

func (*ConditionInput) GetTc added in v0.0.5

func (x *ConditionInput) GetTc() *TextConditionInput

func (*ConditionInput) ProtoMessage added in v0.0.2

func (*ConditionInput) ProtoMessage()

func (*ConditionInput) ProtoReflect added in v0.0.2

func (x *ConditionInput) ProtoReflect() protoreflect.Message

func (*ConditionInput) Reset added in v0.0.2

func (x *ConditionInput) Reset()

func (*ConditionInput) String added in v0.0.2

func (x *ConditionInput) String() string

type ConditionInput_Gc added in v0.0.2

type ConditionInput_Gc struct {
	Gc *GroupConditionInput `protobuf:"bytes,2,opt,name=gc,proto3,oneof"`
}

type ConditionInput_Tc added in v0.0.5

type ConditionInput_Tc struct {
	Tc *TextConditionInput `protobuf:"bytes,3,opt,name=tc,proto3,oneof"`
}

type ConditionOutput added in v0.0.2

type ConditionOutput struct {
	Not bool `protobuf:"varint,1,opt,name=not,proto3" json:"not,omitempty"`
	// Types that are assignable to Cond:
	//
	//	*ConditionOutput_Gc
	//	*ConditionOutput_Tc
	Cond isConditionOutput_Cond `protobuf_oneof:"cond"`
	// contains filtered or unexported fields
}

func (*ConditionOutput) Descriptor deprecated added in v0.0.2

func (*ConditionOutput) Descriptor() ([]byte, []int)

Deprecated: Use ConditionOutput.ProtoReflect.Descriptor instead.

func (*ConditionOutput) GetCond added in v0.0.2

func (m *ConditionOutput) GetCond() isConditionOutput_Cond

func (*ConditionOutput) GetGc added in v0.0.2

func (*ConditionOutput) GetNot added in v0.0.2

func (x *ConditionOutput) GetNot() bool

func (*ConditionOutput) GetTc added in v0.0.5

func (*ConditionOutput) ProtoMessage added in v0.0.2

func (*ConditionOutput) ProtoMessage()

func (*ConditionOutput) ProtoReflect added in v0.0.2

func (x *ConditionOutput) ProtoReflect() protoreflect.Message

func (*ConditionOutput) Reset added in v0.0.2

func (x *ConditionOutput) Reset()

func (*ConditionOutput) String added in v0.0.2

func (x *ConditionOutput) String() string

type ConditionOutput_Gc added in v0.0.2

type ConditionOutput_Gc struct {
	Gc *GroupConditionOutput `protobuf:"bytes,2,opt,name=gc,proto3,oneof"`
}

type ConditionOutput_Tc added in v0.0.5

type ConditionOutput_Tc struct {
	Tc *TextConditionOutput `protobuf:"bytes,3,opt,name=tc,proto3,oneof"`
}

type CreateRequest added in v0.0.2

type CreateRequest struct {
	Description string          `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	Enabled     bool            `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Cond        *ConditionInput `protobuf:"bytes,3,opt,name=cond,proto3" json:"cond,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateRequest) Descriptor deprecated added in v0.0.2

func (*CreateRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateRequest.ProtoReflect.Descriptor instead.

func (*CreateRequest) GetCond added in v0.0.2

func (x *CreateRequest) GetCond() *ConditionInput

func (*CreateRequest) GetDescription added in v0.0.5

func (x *CreateRequest) GetDescription() string

func (*CreateRequest) GetEnabled added in v0.0.5

func (x *CreateRequest) GetEnabled() bool

func (*CreateRequest) ProtoMessage added in v0.0.2

func (*CreateRequest) ProtoMessage()

func (*CreateRequest) ProtoReflect added in v0.0.2

func (x *CreateRequest) ProtoReflect() protoreflect.Message

func (*CreateRequest) Reset added in v0.0.2

func (x *CreateRequest) Reset()

func (*CreateRequest) String added in v0.0.2

func (x *CreateRequest) String() string

type CreateResponse added in v0.0.2

type CreateResponse struct {
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateResponse) Descriptor deprecated added in v0.0.2

func (*CreateResponse) Descriptor() ([]byte, []int)

Deprecated: Use CreateResponse.ProtoReflect.Descriptor instead.

func (*CreateResponse) GetId added in v0.0.2

func (x *CreateResponse) GetId() string

func (*CreateResponse) ProtoMessage added in v0.0.2

func (*CreateResponse) ProtoMessage()

func (*CreateResponse) ProtoReflect added in v0.0.2

func (x *CreateResponse) ProtoReflect() protoreflect.Message

func (*CreateResponse) Reset added in v0.0.2

func (x *CreateResponse) Reset()

func (*CreateResponse) String added in v0.0.2

func (x *CreateResponse) String() string

type DeleteRequest added in v0.0.2

type DeleteRequest struct {
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteRequest) Descriptor deprecated added in v0.0.2

func (*DeleteRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead.

func (*DeleteRequest) GetId added in v0.0.2

func (x *DeleteRequest) GetId() string

func (*DeleteRequest) ProtoMessage added in v0.0.2

func (*DeleteRequest) ProtoMessage()

func (*DeleteRequest) ProtoReflect added in v0.0.2

func (x *DeleteRequest) ProtoReflect() protoreflect.Message

func (*DeleteRequest) Reset added in v0.0.2

func (x *DeleteRequest) Reset()

func (*DeleteRequest) String added in v0.0.2

func (x *DeleteRequest) String() string

type DeleteResponse added in v0.0.5

type DeleteResponse struct {
	// contains filtered or unexported fields
}

func (*DeleteResponse) Descriptor deprecated added in v0.0.5

func (*DeleteResponse) Descriptor() ([]byte, []int)

Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead.

func (*DeleteResponse) ProtoMessage added in v0.0.5

func (*DeleteResponse) ProtoMessage()

func (*DeleteResponse) ProtoReflect added in v0.0.5

func (x *DeleteResponse) ProtoReflect() protoreflect.Message

func (*DeleteResponse) Reset added in v0.0.5

func (x *DeleteResponse) Reset()

func (*DeleteResponse) String added in v0.0.5

func (x *DeleteResponse) String() string

type GroupConditionInput added in v0.0.2

type GroupConditionInput struct {
	Logic GroupLogic        `protobuf:"varint,1,opt,name=logic,proto3,enum=awakari.subscriptions.GroupLogic" json:"logic,omitempty"`
	Group []*ConditionInput `protobuf:"bytes,2,rep,name=group,proto3" json:"group,omitempty"`
	// contains filtered or unexported fields
}

func (*GroupConditionInput) Descriptor deprecated added in v0.0.2

func (*GroupConditionInput) Descriptor() ([]byte, []int)

Deprecated: Use GroupConditionInput.ProtoReflect.Descriptor instead.

func (*GroupConditionInput) GetGroup added in v0.0.2

func (x *GroupConditionInput) GetGroup() []*ConditionInput

func (*GroupConditionInput) GetLogic added in v0.0.2

func (x *GroupConditionInput) GetLogic() GroupLogic

func (*GroupConditionInput) ProtoMessage added in v0.0.2

func (*GroupConditionInput) ProtoMessage()

func (*GroupConditionInput) ProtoReflect added in v0.0.2

func (x *GroupConditionInput) ProtoReflect() protoreflect.Message

func (*GroupConditionInput) Reset added in v0.0.2

func (x *GroupConditionInput) Reset()

func (*GroupConditionInput) String added in v0.0.2

func (x *GroupConditionInput) String() string

type GroupConditionOutput added in v0.0.2

type GroupConditionOutput struct {
	Logic GroupLogic         `protobuf:"varint,1,opt,name=logic,proto3,enum=awakari.subscriptions.GroupLogic" json:"logic,omitempty"`
	Group []*ConditionOutput `protobuf:"bytes,2,rep,name=group,proto3" json:"group,omitempty"`
	// contains filtered or unexported fields
}

func (*GroupConditionOutput) Descriptor deprecated added in v0.0.2

func (*GroupConditionOutput) Descriptor() ([]byte, []int)

Deprecated: Use GroupConditionOutput.ProtoReflect.Descriptor instead.

func (*GroupConditionOutput) GetGroup added in v0.0.2

func (x *GroupConditionOutput) GetGroup() []*ConditionOutput

func (*GroupConditionOutput) GetLogic added in v0.0.2

func (x *GroupConditionOutput) GetLogic() GroupLogic

func (*GroupConditionOutput) ProtoMessage added in v0.0.2

func (*GroupConditionOutput) ProtoMessage()

func (*GroupConditionOutput) ProtoReflect added in v0.0.2

func (x *GroupConditionOutput) ProtoReflect() protoreflect.Message

func (*GroupConditionOutput) Reset added in v0.0.2

func (x *GroupConditionOutput) Reset()

func (*GroupConditionOutput) String added in v0.0.2

func (x *GroupConditionOutput) String() string

type GroupLogic added in v0.0.2

type GroupLogic int32
const (
	GroupLogic_And GroupLogic = 0
	GroupLogic_Or  GroupLogic = 1
	GroupLogic_Xor GroupLogic = 2
)

func (GroupLogic) Descriptor added in v0.0.2

func (GroupLogic) Descriptor() protoreflect.EnumDescriptor

func (GroupLogic) Enum added in v0.0.2

func (x GroupLogic) Enum() *GroupLogic

func (GroupLogic) EnumDescriptor deprecated added in v0.0.2

func (GroupLogic) EnumDescriptor() ([]byte, []int)

Deprecated: Use GroupLogic.Descriptor instead.

func (GroupLogic) Number added in v0.0.2

func (x GroupLogic) Number() protoreflect.EnumNumber

func (GroupLogic) String added in v0.0.2

func (x GroupLogic) String() string

func (GroupLogic) Type added in v0.0.2

type ReadRequest added in v0.0.2

type ReadRequest struct {
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*ReadRequest) Descriptor deprecated added in v0.0.2

func (*ReadRequest) Descriptor() ([]byte, []int)

Deprecated: Use ReadRequest.ProtoReflect.Descriptor instead.

func (*ReadRequest) GetId added in v0.0.2

func (x *ReadRequest) GetId() string

func (*ReadRequest) ProtoMessage added in v0.0.2

func (*ReadRequest) ProtoMessage()

func (*ReadRequest) ProtoReflect added in v0.0.2

func (x *ReadRequest) ProtoReflect() protoreflect.Message

func (*ReadRequest) Reset added in v0.0.2

func (x *ReadRequest) Reset()

func (*ReadRequest) String added in v0.0.2

func (x *ReadRequest) String() string

type ReadResponse added in v0.0.2

type ReadResponse struct {
	Description string           `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	Enabled     bool             `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Cond        *ConditionOutput `protobuf:"bytes,3,opt,name=cond,proto3" json:"cond,omitempty"`
	// contains filtered or unexported fields
}

func (*ReadResponse) Descriptor deprecated added in v0.0.2

func (*ReadResponse) Descriptor() ([]byte, []int)

Deprecated: Use ReadResponse.ProtoReflect.Descriptor instead.

func (*ReadResponse) GetCond added in v0.0.2

func (x *ReadResponse) GetCond() *ConditionOutput

func (*ReadResponse) GetDescription added in v0.0.5

func (x *ReadResponse) GetDescription() string

func (*ReadResponse) GetEnabled added in v0.0.5

func (x *ReadResponse) GetEnabled() bool

func (*ReadResponse) ProtoMessage added in v0.0.2

func (*ReadResponse) ProtoMessage()

func (*ReadResponse) ProtoReflect added in v0.0.2

func (x *ReadResponse) ProtoReflect() protoreflect.Message

func (*ReadResponse) Reset added in v0.0.2

func (x *ReadResponse) Reset()

func (*ReadResponse) String added in v0.0.2

func (x *ReadResponse) String() string

type SearchOwnRequest added in v0.0.2

type SearchOwnRequest struct {
	Cursor string `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"`
	Limit  uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	// contains filtered or unexported fields
}

func (*SearchOwnRequest) Descriptor deprecated added in v0.0.2

func (*SearchOwnRequest) Descriptor() ([]byte, []int)

Deprecated: Use SearchOwnRequest.ProtoReflect.Descriptor instead.

func (*SearchOwnRequest) GetCursor added in v0.0.2

func (x *SearchOwnRequest) GetCursor() string

func (*SearchOwnRequest) GetLimit added in v0.0.2

func (x *SearchOwnRequest) GetLimit() uint32

func (*SearchOwnRequest) ProtoMessage added in v0.0.2

func (*SearchOwnRequest) ProtoMessage()

func (*SearchOwnRequest) ProtoReflect added in v0.0.2

func (x *SearchOwnRequest) ProtoReflect() protoreflect.Message

func (*SearchOwnRequest) Reset added in v0.0.2

func (x *SearchOwnRequest) Reset()

func (*SearchOwnRequest) String added in v0.0.2

func (x *SearchOwnRequest) String() string

type SearchOwnResponse added in v0.0.2

type SearchOwnResponse struct {
	Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	// contains filtered or unexported fields
}

func (*SearchOwnResponse) Descriptor deprecated added in v0.0.2

func (*SearchOwnResponse) Descriptor() ([]byte, []int)

Deprecated: Use SearchOwnResponse.ProtoReflect.Descriptor instead.

func (*SearchOwnResponse) GetIds added in v0.0.2

func (x *SearchOwnResponse) GetIds() []string

func (*SearchOwnResponse) ProtoMessage added in v0.0.2

func (*SearchOwnResponse) ProtoMessage()

func (*SearchOwnResponse) ProtoReflect added in v0.0.2

func (x *SearchOwnResponse) ProtoReflect() protoreflect.Message

func (*SearchOwnResponse) Reset added in v0.0.2

func (x *SearchOwnResponse) Reset()

func (*SearchOwnResponse) String added in v0.0.2

func (x *SearchOwnResponse) String() string

type Service

type Service interface {

	// Create a subscription with the specified fields.
	Create(ctx context.Context, userId string, subData subscription.Data) (id string, err error)

	// Read returns the subscription specified by the id. Returns ErrNotFound if subscription is missing.
	Read(ctx context.Context, userId, subId string) (subData subscription.Data, err error)

	// Update the mutable part of the subscription.Data
	Update(ctx context.Context, userId, subId string, subData subscription.Data) (err error)

	// Delete the specified subscription all associated conditions those not in use by any other subscription.
	// Returns ErrNotFound if a subscription with the specified id is missing.
	Delete(ctx context.Context, userId, subId string) (err error)

	// SearchOwn returns all subscription ids those have the requested user id.
	SearchOwn(ctx context.Context, userId string, limit uint32, cursor string) (ids []string, err error)
}

func NewService

func NewService(client ServiceClient) Service

func NewServiceMock

func NewServiceMock() Service

type ServiceClient added in v0.0.2

type ServiceClient interface {
	Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error)
	Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ReadResponse, error)
	Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateResponse, error)
	Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
	SearchOwn(ctx context.Context, in *SearchOwnRequest, opts ...grpc.CallOption) (*SearchOwnResponse, error)
}

ServiceClient is the client API for Service service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewServiceClient added in v0.0.2

func NewServiceClient(cc grpc.ClientConnInterface) ServiceClient

type ServiceServer added in v0.0.2

ServiceServer is the server API for Service service.

type TextConditionInput added in v0.0.5

type TextConditionInput struct {
	Key  string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Term string `protobuf:"bytes,2,opt,name=term,proto3" json:"term,omitempty"`
	// contains filtered or unexported fields
}

func (*TextConditionInput) Descriptor deprecated added in v0.0.5

func (*TextConditionInput) Descriptor() ([]byte, []int)

Deprecated: Use TextConditionInput.ProtoReflect.Descriptor instead.

func (*TextConditionInput) GetKey added in v0.0.5

func (x *TextConditionInput) GetKey() string

func (*TextConditionInput) GetTerm added in v0.0.5

func (x *TextConditionInput) GetTerm() string

func (*TextConditionInput) ProtoMessage added in v0.0.5

func (*TextConditionInput) ProtoMessage()

func (*TextConditionInput) ProtoReflect added in v0.0.5

func (x *TextConditionInput) ProtoReflect() protoreflect.Message

func (*TextConditionInput) Reset added in v0.0.5

func (x *TextConditionInput) Reset()

func (*TextConditionInput) String added in v0.0.5

func (x *TextConditionInput) String() string

type TextConditionOutput added in v0.0.5

type TextConditionOutput struct {
	Id   string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Key  string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Term string `protobuf:"bytes,3,opt,name=term,proto3" json:"term,omitempty"`
	// contains filtered or unexported fields
}

func (*TextConditionOutput) Descriptor deprecated added in v0.0.5

func (*TextConditionOutput) Descriptor() ([]byte, []int)

Deprecated: Use TextConditionOutput.ProtoReflect.Descriptor instead.

func (*TextConditionOutput) GetId added in v0.0.5

func (x *TextConditionOutput) GetId() string

func (*TextConditionOutput) GetKey added in v0.0.5

func (x *TextConditionOutput) GetKey() string

func (*TextConditionOutput) GetTerm added in v0.0.5

func (x *TextConditionOutput) GetTerm() string

func (*TextConditionOutput) ProtoMessage added in v0.0.5

func (*TextConditionOutput) ProtoMessage()

func (*TextConditionOutput) ProtoReflect added in v0.0.5

func (x *TextConditionOutput) ProtoReflect() protoreflect.Message

func (*TextConditionOutput) Reset added in v0.0.5

func (x *TextConditionOutput) Reset()

func (*TextConditionOutput) String added in v0.0.5

func (x *TextConditionOutput) String() string

type UnimplementedServiceServer added in v0.0.2

type UnimplementedServiceServer struct {
}

UnimplementedServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedServiceServer) Create added in v0.0.2

func (*UnimplementedServiceServer) Delete added in v0.0.2

func (*UnimplementedServiceServer) Read added in v0.0.2

func (*UnimplementedServiceServer) SearchOwn added in v0.0.2

func (*UnimplementedServiceServer) Update added in v0.0.5

type UpdateRequest added in v0.0.5

type UpdateRequest struct {
	Id          string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	Enabled     bool   `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// contains filtered or unexported fields
}

func (*UpdateRequest) Descriptor deprecated added in v0.0.5

func (*UpdateRequest) Descriptor() ([]byte, []int)

Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead.

func (*UpdateRequest) GetDescription added in v0.0.5

func (x *UpdateRequest) GetDescription() string

func (*UpdateRequest) GetEnabled added in v0.0.5

func (x *UpdateRequest) GetEnabled() bool

func (*UpdateRequest) GetId added in v0.0.5

func (x *UpdateRequest) GetId() string

func (*UpdateRequest) ProtoMessage added in v0.0.5

func (*UpdateRequest) ProtoMessage()

func (*UpdateRequest) ProtoReflect added in v0.0.5

func (x *UpdateRequest) ProtoReflect() protoreflect.Message

func (*UpdateRequest) Reset added in v0.0.5

func (x *UpdateRequest) Reset()

func (*UpdateRequest) String added in v0.0.5

func (x *UpdateRequest) String() string

type UpdateResponse added in v0.0.5

type UpdateResponse struct {
	// contains filtered or unexported fields
}

func (*UpdateResponse) Descriptor deprecated added in v0.0.5

func (*UpdateResponse) Descriptor() ([]byte, []int)

Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead.

func (*UpdateResponse) ProtoMessage added in v0.0.5

func (*UpdateResponse) ProtoMessage()

func (*UpdateResponse) ProtoReflect added in v0.0.5

func (x *UpdateResponse) ProtoReflect() protoreflect.Message

func (*UpdateResponse) Reset added in v0.0.5

func (x *UpdateResponse) Reset()

func (*UpdateResponse) String added in v0.0.5

func (x *UpdateResponse) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL