mongogit

package
v0.0.0-...-2b2b6fc 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: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ToValue

func ToValue[T any](m Meta, inner T) *version.Value[T]

Types

type Collection

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

func NewCollection

func NewCollection(client *mongox.Collection) *Collection

func (*Collection) ArchiveOne

func (c *Collection) ArchiveOne(ctx context.Context, filter bson.M, archived bool) error

func (*Collection) Client

func (c *Collection) Client() *mongox.Collection

func (*Collection) Count

func (c *Collection) Count(ctx context.Context, filter any, q version.Query) (int64, error)

func (*Collection) CountAggregation

func (c *Collection) CountAggregation(ctx context.Context, pipeline []any, q version.Query) (int64, error)

func (*Collection) Empty

func (c *Collection) Empty(ctx context.Context) error

func (*Collection) Find

func (c *Collection) Find(ctx context.Context, filter any, q version.Query, consumer mongox.Consumer) error

func (*Collection) FindOne

func (c *Collection) FindOne(ctx context.Context, filter any, q version.Query, consumer mongox.Consumer) error

func (*Collection) Indexes

func (c *Collection) Indexes() []mongox.Index

func (*Collection) IsArchived

func (c *Collection) IsArchived(ctx context.Context, filter any) (bool, error)

func (*Collection) Paginate

func (c *Collection) Paginate(ctx context.Context, filter any, q version.Query, s *usecasex.Sort, p *usecasex.Pagination, consumer mongox.Consumer) (*usecasex.PageInfo, error)

func (*Collection) PaginateAggregation

func (c *Collection) PaginateAggregation(ctx context.Context, pipeline []any, q version.Query, s *usecasex.Sort, p *usecasex.Pagination, consumer mongox.Consumer) (*usecasex.PageInfo, error)

func (*Collection) RemoveOne

func (c *Collection) RemoveOne(ctx context.Context, filter any) error

func (*Collection) SaveOne

func (c *Collection) SaveOne(ctx context.Context, id string, d any, parent *version.VersionOrRef) error

func (*Collection) Timestamp

func (c *Collection) Timestamp(ctx context.Context, filter any, q version.Query) (time.Time, error)

func (*Collection) UpdateRef

func (c *Collection) UpdateRef(ctx context.Context, id string, ref version.Ref, dest *version.VersionOrRef) error

type Document

type Document[T any] struct {
	Data T
	Meta Meta
}

func NewDocument

func NewDocument[T any](v *version.Value[T]) *Document[T]

func (*Document[T]) MarshalBSON

func (d *Document[T]) MarshalBSON() ([]byte, error)

func (*Document[T]) UnmarshalBSON

func (d *Document[T]) UnmarshalBSON(b []byte) error

func (*Document[T]) Value

func (d *Document[T]) Value() *version.Value[T]

type Meta

type Meta struct {
	ObjectID primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"`
	Version  version.Version    `json:"__v,omitempty" bson:"__v,omitempty"`
	Parents  []version.Version  `json:"__w,omitempty" bson:"__w,omitempty"`
	Refs     []version.Ref      `json:"__r,omitempty" bson:"__r,omitempty"`
}

func (Meta) Timestamp

func (m Meta) Timestamp() time.Time

type MetadataDocument

type MetadataDocument struct {
	Meta     bool `json:"__" bson:"__"`
	Archived bool
}

Jump to

Keyboard shortcuts

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