strategy

package
v0.0.0-...-70977af Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultBuckeyKeyResolver

func DefaultBuckeyKeyResolver(aggregateID typeid.UUID, version int64) string

Types

type BucketKeyResolver

type BucketKeyResolver func(aggregateID typeid.UUID, version int64) string

type BucketKeyResolverFunc

type BucketKeyResolverFunc func(aggregateID typeid.UUID, version int64) string

func (BucketKeyResolverFunc) ResolveKey

func (f BucketKeyResolverFunc) ResolveKey(aggregateID typeid.UUID, version int64) string

type InsertStreamEventsResult

type InsertStreamEventsResult struct {
	InsertedEvents []*eventstore.Event
}

type JSONObject

type JSONObject struct {
	StreamID   uuid.UUID `json:"stream_id"`
	StreamType string    `json:"stream_type"`
	EventID    uuid.UUID `json:"event_id"`
	EventType  string    `json:"event_type"`
	Version    int64     `json:"version"`
	Timestamp  time.Time `json:"timestamp"`
	Data       string    `json:"data"`
}

type JSONObjectMarshaler

type JSONObjectMarshaler struct{}

func (JSONObjectMarshaler) MarshalObject

func (m JSONObjectMarshaler) MarshalObject(event *eventstore.Event) ([]byte, error)

func (JSONObjectMarshaler) UnmarshalObject

func (m JSONObjectMarshaler) UnmarshalObject(src io.ReadCloser) (*eventstore.Event, error)

type ObjectGetter

type ObjectGetter interface {
	GetObject(ctx context.Context, input *s3.GetObjectInput, optFns ...func(*s3.Options)) (*s3.GetObjectOutput, error)
}

type ObjectMarshaler

type ObjectMarshaler interface {
	MarshalObject(event *eventstore.Event) ([]byte, error)
	UnmarshalObject(src io.ReadCloser) (*eventstore.Event, error)
}

type S3

type S3 interface {
	ObjectGetter
	ListObjectsV2(ctx context.Context, input *s3.ListObjectsV2Input, optFns ...func(*s3.Options)) (*s3.ListObjectsV2Output, error)
	PutObject(ctx context.Context, input *s3.PutObjectInput, optFns ...func(*s3.Options)) (*s3.PutObjectOutput, error)
}

type SingleBucketStrategy

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

func NewSingleBucketStrategy

func NewSingleBucketStrategy(client *s3.Client, bucket string, opts ...SingleBucketStrategyOption) (*SingleBucketStrategy, error)

func (*SingleBucketStrategy) GetStreamIterator

func (*SingleBucketStrategy) InsertStreamEvents

type SingleBucketStrategyOption

type SingleBucketStrategyOption func(*SingleBucketStrategy) error

func WithBucketKeyResolver

func WithBucketKeyResolver(resolver BucketKeyResolver) SingleBucketStrategyOption

func WithObjectMarshaler

func WithObjectMarshaler(marshaler ObjectMarshaler) SingleBucketStrategyOption

Jump to

Keyboard shortcuts

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