event

package
v0.0.0-...-c4f7e29 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func NewNonBlockingEvent

func NewNonBlockingEvent(seqNo int64, payload event.NonBlockingPayload, context event.Context) *event.Event

Types

type Database

type Database interface {
	UseHook(hook db.TransactionHook)
}

type Logger

type Logger struct{ *log.Logger }

func NewLogger

func NewLogger(lf *log.Factory) Logger

type Resolver

type Resolver interface {
	Resolve(anything interface{}) (err error)
}

type ResolverImpl

type ResolverImpl struct {
	Users ResolverUserQueries
}

func (*ResolverImpl) Resolve

func (r *ResolverImpl) Resolve(anything interface{}) (err error)

type ResolverUserQueries

type ResolverUserQueries interface {
	Get(id string, role accesscontrol.Role) (*model.User, error)
}

type Service

type Service struct {
	Context         context.Context
	AppID           config.AppID
	RemoteIP        httputil.RemoteIP
	UserAgentString httputil.UserAgentString
	Logger          Logger
	Database        Database
	Clock           clock.Clock
	Localization    *config.LocalizationConfig
	Store           Store
	Resolver        Resolver
	Sinks           []Sink

	NonBlockingPayloads []event.NonBlockingPayload `wire:"-"`
	NonBlockingEvents   []*event.Event             `wire:"-"`
	DatabaseHooked      bool                       `wire:"-"`
	IsDispatchEventErr  bool                       `wire:"-"`
}

func NewService

func NewService(
	ctx context.Context,
	appID config.AppID,
	remoteIP httputil.RemoteIP,
	userAgentString httputil.UserAgentString,
	logger Logger,
	database Database,
	clock clock.Clock,
	localization *config.LocalizationConfig,
	store Store,
	resolver Resolver,
	hookSink *hook.Sink,
	auditSink *audit.Sink,
	elasticSearchSink *elasticsearch.Sink,
) *Service

func (*Service) DidCommitTx

func (s *Service) DidCommitTx()

func (*Service) DispatchEventImmediately

func (s *Service) DispatchEventImmediately(payload event.NonBlockingPayload) (err error)

DispatchEventImmediately dispatches the event immediately.

func (*Service) DispatchEventOnCommit

func (s *Service) DispatchEventOnCommit(payload event.Payload) (err error)

DispatchEventOnCommit dispatches the event according to the tranaction lifecycle.

func (*Service) WillCommitTx

func (s *Service) WillCommitTx() (err error)

type Sink

type Sink interface {
	ReceiveBlockingEvent(e *event.Event) error
	ReceiveNonBlockingEvent(e *event.Event) error
}

type Store

type Store interface {
	NextSequenceNumber() (int64, error)
}

type StoreImpl

type StoreImpl struct {
	SQLBuilder  *appdb.SQLBuilder
	SQLExecutor *appdb.SQLExecutor
}

func NewStoreImpl

func NewStoreImpl(
	sqlBuilder *appdb.SQLBuilder,
	sqlExecutor *appdb.SQLExecutor) *StoreImpl

func (*StoreImpl) NextSequenceNumber

func (s *StoreImpl) NextSequenceNumber() (seq int64, err error)

Jump to

Keyboard shortcuts

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