deleter

package
v2.7.1 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AfterHookFn added in v2.4.0

type AfterHookFn func(ctx context.Context, opContext *OpContext, opts ...any) error

type BeforeHookFn added in v2.4.0

type BeforeHookFn func(ctx context.Context, opContext *OpContext, opts ...any) error

type Deleter

type Deleter[T any] struct {
	DBCallbacks *callback.Callback
	BeforeHooks []BeforeHookFn
	AfterHooks  []AfterHookFn
	// contains filtered or unexported fields
}

func NewDeleter

func NewDeleter[T any](collection *mongo.Collection, dbCallbacks *callback.Callback, fields []*field.Filed) *Deleter[T]

func (*Deleter[T]) DeleteMany

func (d *Deleter[T]) DeleteMany(ctx context.Context, opts ...options.Lister[options.DeleteManyOptions]) (*mongo.DeleteResult, error)

func (*Deleter[T]) DeleteOne

func (d *Deleter[T]) DeleteOne(ctx context.Context, opts ...options.Lister[options.DeleteOneOptions]) (*mongo.DeleteResult, error)

func (*Deleter[T]) Filter

func (d *Deleter[T]) Filter(filter any) IDeleter[T]

Filter is used to set the filter of the query

func (*Deleter[T]) GetCollection added in v2.4.0

func (d *Deleter[T]) GetCollection() *mongo.Collection

func (*Deleter[T]) ModelHook

func (d *Deleter[T]) ModelHook(modelHook any) IDeleter[T]

func (*Deleter[T]) PostActionHandler added in v2.4.0

func (d *Deleter[T]) PostActionHandler(ctx context.Context, globalOpContext *operation.OpContext, opContext *OpContext, opType operation.OpType) error

func (*Deleter[T]) PreActionHandler added in v2.4.0

func (d *Deleter[T]) PreActionHandler(ctx context.Context, globalOpContext *operation.OpContext, opContext *OpContext, opType operation.OpType) error

func (*Deleter[T]) RegisterAfterHooks

func (d *Deleter[T]) RegisterAfterHooks(hooks ...AfterHookFn) IDeleter[T]

func (*Deleter[T]) RegisterBeforeHooks

func (d *Deleter[T]) RegisterBeforeHooks(hooks ...BeforeHookFn) IDeleter[T]

type IDeleter

type IDeleter[T any] interface {
	DeleteOne(ctx context.Context, opts ...options.Lister[options.DeleteOneOptions]) (*mongo.DeleteResult, error)
	DeleteMany(ctx context.Context, opts ...options.Lister[options.DeleteManyOptions]) (*mongo.DeleteResult, error)
	Filter(filter any) IDeleter[T]
	ModelHook(modelHook any) IDeleter[T]
	RegisterAfterHooks(hooks ...AfterHookFn) IDeleter[T]
	RegisterBeforeHooks(hooks ...BeforeHookFn) IDeleter[T]
	PostActionHandler(ctx context.Context, globalOpContext *operation.OpContext, opContext *OpContext, opType operation.OpType) error
	PreActionHandler(ctx context.Context, globalOpContext *operation.OpContext, opContext *OpContext, opType operation.OpType) error
	GetCollection() *mongo.Collection
}

type OpContext

type OpContext struct {
	Col          *mongo.Collection `opt:"-"`
	Filter       any               `opt:"-"`
	MongoOptions any
	ModelHook    any
	StartTime    time.Time

	Fields []*field.Filed

	// result of the collection operation
	Result any
}

func NewOpContext

func NewOpContext(col *mongo.Collection, filter any, opts ...OpContextOption) *OpContext

type OpContextOption

type OpContextOption func(*OpContext)

func WithFields added in v2.2.0

func WithFields(fields []*field.Filed) OpContextOption

func WithModelHook

func WithModelHook(modelHook any) OpContextOption

func WithMongoOptions

func WithMongoOptions(mongoOptions any) OpContextOption

func WithResult added in v2.2.0

func WithResult(result any) OpContextOption

func WithStartTime added in v2.2.0

func WithStartTime(startTime time.Time) OpContextOption

Jump to

Keyboard shortcuts

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