alerts

package
v0.0.0-...-e15abb3 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2020 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterAlertsServiceServer

func RegisterAlertsServiceServer(s *grpc.Server, srv AlertsServiceServer)

Types

type AlertsServiceClient

type AlertsServiceClient interface {
	// Add a new alert.
	Add(ctx context.Context, in *cap.Alert, opts ...grpc.CallOption) (*cap.Alert, error)
	// Returns the alert that matches the provided reference.
	// NOTE: Either id or (identifier, sender, sent) must be provided.
	Get(ctx context.Context, in *cap.Reference, opts ...grpc.CallOption) (*cap.Alert, error)
	// Returns whether or not an alert matches the provided reference.
	// NOTE: Either id or (identifier, sender, sent) must be provided.
	Has(ctx context.Context, in *cap.Reference, opts ...grpc.CallOption) (*protobuf.BooleanResult, error)
	// Find alerts matching the provided criteria.
	Find(ctx context.Context, in *FindCriteria, opts ...grpc.CallOption) (*FindResult, error)
}

AlertsServiceClient is the client API for AlertsService service.

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

func NewAlertsServiceClient

func NewAlertsServiceClient(cc *grpc.ClientConn) AlertsServiceClient

type AlertsServiceServer

type AlertsServiceServer interface {
	// Add a new alert.
	Add(context.Context, *cap.Alert) (*cap.Alert, error)
	// Returns the alert that matches the provided reference.
	// NOTE: Either id or (identifier, sender, sent) must be provided.
	Get(context.Context, *cap.Reference) (*cap.Alert, error)
	// Returns whether or not an alert matches the provided reference.
	// NOTE: Either id or (identifier, sender, sent) must be provided.
	Has(context.Context, *cap.Reference) (*protobuf.BooleanResult, error)
	// Find alerts matching the provided criteria.
	Find(context.Context, *FindCriteria) (*FindResult, error)
}

AlertsServiceServer is the server API for AlertsService service.

type Coordinate

type Coordinate struct {
	Lat                  float64  `protobuf:"fixed64,1,opt,name=lat,proto3" json:"lat,omitempty"`
	Lon                  float64  `protobuf:"fixed64,2,opt,name=lon,proto3" json:"lon,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

* Messages *

func (*Coordinate) Descriptor

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

func (*Coordinate) GetLat

func (m *Coordinate) GetLat() float64

func (*Coordinate) GetLon

func (m *Coordinate) GetLon() float64

func (*Coordinate) ProtoMessage

func (*Coordinate) ProtoMessage()

func (*Coordinate) Reset

func (m *Coordinate) Reset()

func (*Coordinate) String

func (m *Coordinate) String() string

func (*Coordinate) XXX_DiscardUnknown

func (m *Coordinate) XXX_DiscardUnknown()

func (*Coordinate) XXX_Marshal

func (m *Coordinate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Coordinate) XXX_Merge

func (dst *Coordinate) XXX_Merge(src proto.Message)

func (*Coordinate) XXX_Size

func (m *Coordinate) XXX_Size() int

func (*Coordinate) XXX_Unmarshal

func (m *Coordinate) XXX_Unmarshal(b []byte) error

type FindCriteria

type FindCriteria struct {
	Start  int32    `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
	Count  int32    `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	Sort   []string `protobuf:"bytes,3,rep,name=sort,proto3" json:"sort,omitempty"`
	Fields []string `protobuf:"bytes,21,rep,name=fields,proto3" json:"fields,omitempty"`
	// cap.Alert
	Superseded    bool                  `protobuf:"varint,4,opt,name=superseded,proto3" json:"superseded,omitempty"`
	NotSuperseded bool                  `protobuf:"varint,5,opt,name=not_superseded,json=notSuperseded,proto3" json:"not_superseded,omitempty"`
	Status        cap.Alert_Status      `protobuf:"varint,6,opt,name=status,proto3,enum=cap.Alert_Status" json:"status,omitempty"`
	MessageType   cap.Alert_MessageType `protobuf:"varint,7,opt,name=message_type,json=messageType,proto3,enum=cap.Alert_MessageType" json:"message_type,omitempty"`
	Scope         cap.Alert_Scope       `protobuf:"varint,8,opt,name=scope,proto3,enum=cap.Alert_Scope" json:"scope,omitempty"`
	System        string                `protobuf:"bytes,22,opt,name=system,proto3" json:"system,omitempty"`
	// cap.Info
	Language    string             `protobuf:"bytes,9,opt,name=language,proto3" json:"language,omitempty"`
	Certainty   cap.Info_Certainty `protobuf:"varint,10,opt,name=certainty,proto3,enum=cap.Info_Certainty" json:"certainty,omitempty"`
	Severity    cap.Info_Severity  `protobuf:"varint,11,opt,name=severity,proto3,enum=cap.Info_Severity" json:"severity,omitempty"`
	Urgency     cap.Info_Urgency   `protobuf:"varint,12,opt,name=urgency,proto3,enum=cap.Info_Urgency" json:"urgency,omitempty"`
	Headline    string             `protobuf:"bytes,13,opt,name=headline,proto3" json:"headline,omitempty"`
	Description string             `protobuf:"bytes,14,opt,name=description,proto3" json:"description,omitempty"`
	Instruction string             `protobuf:"bytes,15,opt,name=instruction,proto3" json:"instruction,omitempty"`
	Effective   *TimeConditions    `protobuf:"bytes,16,opt,name=effective,proto3" json:"effective,omitempty"`
	Onset       *TimeConditions    `protobuf:"bytes,17,opt,name=onset,proto3" json:"onset,omitempty"`
	Expires     *TimeConditions    `protobuf:"bytes,18,opt,name=expires,proto3" json:"expires,omitempty"`
	// cap.Area
	AreaDescription      string      `protobuf:"bytes,19,opt,name=area_description,json=areaDescription,proto3" json:"area_description,omitempty"`
	Point                *Coordinate `protobuf:"bytes,20,opt,name=point,proto3" json:"point,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (*FindCriteria) Descriptor

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

func (*FindCriteria) GetAreaDescription

func (m *FindCriteria) GetAreaDescription() string

func (*FindCriteria) GetCertainty

func (m *FindCriteria) GetCertainty() cap.Info_Certainty

func (*FindCriteria) GetCount

func (m *FindCriteria) GetCount() int32

func (*FindCriteria) GetDescription

func (m *FindCriteria) GetDescription() string

func (*FindCriteria) GetEffective

func (m *FindCriteria) GetEffective() *TimeConditions

func (*FindCriteria) GetExpires

func (m *FindCriteria) GetExpires() *TimeConditions

func (*FindCriteria) GetFields

func (m *FindCriteria) GetFields() []string

func (*FindCriteria) GetHeadline

func (m *FindCriteria) GetHeadline() string

func (*FindCriteria) GetInstruction

func (m *FindCriteria) GetInstruction() string

func (*FindCriteria) GetLanguage

func (m *FindCriteria) GetLanguage() string

func (*FindCriteria) GetMessageType

func (m *FindCriteria) GetMessageType() cap.Alert_MessageType

func (*FindCriteria) GetNotSuperseded

func (m *FindCriteria) GetNotSuperseded() bool

func (*FindCriteria) GetOnset

func (m *FindCriteria) GetOnset() *TimeConditions

func (*FindCriteria) GetPoint

func (m *FindCriteria) GetPoint() *Coordinate

func (*FindCriteria) GetScope

func (m *FindCriteria) GetScope() cap.Alert_Scope

func (*FindCriteria) GetSeverity

func (m *FindCriteria) GetSeverity() cap.Info_Severity

func (*FindCriteria) GetSort

func (m *FindCriteria) GetSort() []string

func (*FindCriteria) GetStart

func (m *FindCriteria) GetStart() int32

func (*FindCriteria) GetStatus

func (m *FindCriteria) GetStatus() cap.Alert_Status

func (*FindCriteria) GetSuperseded

func (m *FindCriteria) GetSuperseded() bool

func (*FindCriteria) GetSystem

func (m *FindCriteria) GetSystem() string

func (*FindCriteria) GetUrgency

func (m *FindCriteria) GetUrgency() cap.Info_Urgency

func (*FindCriteria) ProtoMessage

func (*FindCriteria) ProtoMessage()

func (*FindCriteria) Reset

func (m *FindCriteria) Reset()

func (*FindCriteria) String

func (m *FindCriteria) String() string

func (*FindCriteria) XXX_DiscardUnknown

func (m *FindCriteria) XXX_DiscardUnknown()

func (*FindCriteria) XXX_Marshal

func (m *FindCriteria) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FindCriteria) XXX_Merge

func (dst *FindCriteria) XXX_Merge(src proto.Message)

func (*FindCriteria) XXX_Size

func (m *FindCriteria) XXX_Size() int

func (*FindCriteria) XXX_Unmarshal

func (m *FindCriteria) XXX_Unmarshal(b []byte) error

type FindResult

type FindResult struct {
	Total                int64    `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Hits                 []*Hit   `protobuf:"bytes,2,rep,name=hits,proto3" json:"hits,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*FindResult) Descriptor

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

func (*FindResult) GetHits

func (m *FindResult) GetHits() []*Hit

func (*FindResult) GetTotal

func (m *FindResult) GetTotal() int64

func (*FindResult) ProtoMessage

func (*FindResult) ProtoMessage()

func (*FindResult) Reset

func (m *FindResult) Reset()

func (*FindResult) String

func (m *FindResult) String() string

func (*FindResult) XXX_DiscardUnknown

func (m *FindResult) XXX_DiscardUnknown()

func (*FindResult) XXX_Marshal

func (m *FindResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FindResult) XXX_Merge

func (dst *FindResult) XXX_Merge(src proto.Message)

func (*FindResult) XXX_Size

func (m *FindResult) XXX_Size() int

func (*FindResult) XXX_Unmarshal

func (m *FindResult) XXX_Unmarshal(b []byte) error

type Hit

type Hit struct {
	Id                   string     `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Alert                *cap.Alert `protobuf:"bytes,2,opt,name=alert,proto3" json:"alert,omitempty"`
	Info                 *cap.Info  `protobuf:"bytes,3,opt,name=info,proto3" json:"info,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (*Hit) Descriptor

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

func (*Hit) GetAlert

func (m *Hit) GetAlert() *cap.Alert

func (*Hit) GetId

func (m *Hit) GetId() string

func (*Hit) GetInfo

func (m *Hit) GetInfo() *cap.Info

func (*Hit) ProtoMessage

func (*Hit) ProtoMessage()

func (*Hit) Reset

func (m *Hit) Reset()

func (*Hit) String

func (m *Hit) String() string

func (*Hit) XXX_DiscardUnknown

func (m *Hit) XXX_DiscardUnknown()

func (*Hit) XXX_Marshal

func (m *Hit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Hit) XXX_Merge

func (dst *Hit) XXX_Merge(src proto.Message)

func (*Hit) XXX_Size

func (m *Hit) XXX_Size() int

func (*Hit) XXX_Unmarshal

func (m *Hit) XXX_Unmarshal(b []byte) error

type Server

type Server struct {
	Storage   Storage
	Resources resources.ResourcesServiceClient
}

Server is GRPC server for the alerts microservice.

func NewServer

func NewServer(storage Storage, resources resources.ResourcesServiceClient) (*Server, error)

NewServer creates a new Server.

func (*Server) Add

func (s *Server) Add(ctx context.Context, alert *cap.Alert) (*cap.Alert, error)

Add adds a new alert.

func (*Server) Find

func (s *Server) Find(ctx context.Context, criteria *FindCriteria) (*FindResult, error)

Find returns alerts matching the criteria. NOTE: Results are per Info block.

func (*Server) Get

func (s *Server) Get(ctx context.Context, reference *cap.Reference) (*cap.Alert, error)

Get returns the alert for the given reference.

func (*Server) Has

func (s *Server) Has(ctx context.Context, reference *cap.Reference) (*protobuf.BooleanResult, error)

Has returns whether or not an alert exists for the given reference.

type Storage

type Storage interface {
	Add(ctx context.Context, alert *cap.Alert) error
	Get(ctx context.Context, reference *cap.Reference) (*cap.Alert, error)
	Has(ctx context.Context, reference *cap.Reference) (bool, error)
	Find(ctx context.Context, criteria *FindCriteria) (*FindResult, error)

	Supersede(ctx context.Context, reference *cap.Reference) error
	IsSuperseded(ctx context.Context, reference *cap.Reference) (bool, error)
}

Storage defines an interface for alert storage.

type TimeConditions

type TimeConditions struct {
	Gte                  *timestamp.Timestamp `protobuf:"bytes,1,opt,name=gte,proto3" json:"gte,omitempty"`
	Gt                   *timestamp.Timestamp `protobuf:"bytes,2,opt,name=gt,proto3" json:"gt,omitempty"`
	Lte                  *timestamp.Timestamp `protobuf:"bytes,3,opt,name=lte,proto3" json:"lte,omitempty"`
	Lt                   *timestamp.Timestamp `protobuf:"bytes,4,opt,name=lt,proto3" json:"lt,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (*TimeConditions) Descriptor

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

func (*TimeConditions) GetGt

func (m *TimeConditions) GetGt() *timestamp.Timestamp

func (*TimeConditions) GetGte

func (m *TimeConditions) GetGte() *timestamp.Timestamp

func (*TimeConditions) GetLt

func (m *TimeConditions) GetLt() *timestamp.Timestamp

func (*TimeConditions) GetLte

func (m *TimeConditions) GetLte() *timestamp.Timestamp

func (*TimeConditions) ProtoMessage

func (*TimeConditions) ProtoMessage()

func (*TimeConditions) Reset

func (m *TimeConditions) Reset()

func (*TimeConditions) String

func (m *TimeConditions) String() string

func (*TimeConditions) XXX_DiscardUnknown

func (m *TimeConditions) XXX_DiscardUnknown()

func (*TimeConditions) XXX_Marshal

func (m *TimeConditions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TimeConditions) XXX_Merge

func (dst *TimeConditions) XXX_Merge(src proto.Message)

func (*TimeConditions) XXX_Size

func (m *TimeConditions) XXX_Size() int

func (*TimeConditions) XXX_Unmarshal

func (m *TimeConditions) XXX_Unmarshal(b []byte) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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