Documentation ¶
Index ¶
- type Client
- func (c *Client) Close() error
- func (c *Client) GetObject(ctx context.Context, in *stategate.ObjectRef) error
- func (c *Client) SearchEvents(ctx context.Context, in *stategate.SearchEventOpts) (*stategate.Events, error)
- func (c *Client) SearchObjects(ctx context.Context, in *stategate.SearchObjectOpts) (*stategate.Objects, error)
- func (c *Client) SetObject(ctx context.Context, in *stategate.Object) error
- func (c *Client) StreamEvents(ctx context.Context, in *stategate.StreamOpts, ...) error
- type Opt
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a stategate gRPC client
func NewClient ¶
NewClient creates a new stategate client - a pluggable API and "Application State Gateway" that enforces the [Event Sourcing Pattern](https://microservices.io/patterns/data/event-sourcing.html) for securely persisting & broadcasting application state changes
func (*Client) SearchEvents ¶
func (c *Client) SearchEvents(ctx context.Context, in *stategate.SearchEventOpts) (*stategate.Events, error)
SearchEvents returns an array of immutable historical events for a given object.
func (*Client) SearchObjects ¶ added in v0.2.2
func (c *Client) SearchObjects(ctx context.Context, in *stategate.SearchObjectOpts) (*stategate.Objects, error)
SearchObjects queries objects of a specific type
func (*Client) SetObject ¶
SetObject sets the current state value of an object, adds it to the event log, then broadcast the event to all interested consumers
func (*Client) StreamEvents ¶
func (c *Client) StreamEvents(ctx context.Context, in *stategate.StreamOpts, fn func(even *stategate.Event) bool) error
StreamEvents creates an event stream/subscription to a given object type until fn returns false OR the context cancels. Event Consumers invoke this method.
type Opt ¶
type Opt func(o *Options)
Opt is a single configuration option
func WithIDToken ¶
WithIDToken makes the client use the oauth id token(if it exists) instead of the oauth access token
func WithLogging ¶
WithLogging registers a logging middleware
func WithTokenSource ¶
func WithTokenSource(tokenSource oauth2.TokenSource) Opt
WithTokenSource uses oauth token add an authorization header to every outbound request
func WithTransportCreds ¶
func WithTransportCreds(creds credentials.TransportCredentials) Opt
WithTransportCreds adds transport credentials to the client