repository

package
v0.0.0-...-098be99 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrUnimplemented = errors.New("not implemented")

Functions

This section is empty.

Types

type Iterator

type Iterator[T any] interface {
	Count() (int64, error)
	Next() ([]*T, error)
}

type Model

type Model interface {
	GetID() int64
	GetUpdate() any
	Rebase()
}

type ModelOperator

type ModelOperator[T any] struct {
	Rep   Repository[T]
	Value *T
}

func NewModelOperator

func NewModelOperator[T any](rep Repository[T], value *T) *ModelOperator[T]

func (*ModelOperator[T]) Create

func (m *ModelOperator[T]) Create(ctx context.Context) (rowsAffected int64, err error)

func (*ModelOperator[T]) Delete

func (m *ModelOperator[T]) Delete(ctx context.Context) (rowsAffected int64, err error)

func (*ModelOperator[T]) List

func (m *ModelOperator[T]) List(ctx context.Context, limit, offset int, order ...any) ([]*T, int64, error)

func (*ModelOperator[T]) Load

func (m *ModelOperator[T]) Load(ctx context.Context) error

func (*ModelOperator[T]) Model

func (m *ModelOperator[T]) Model() Model

func (*ModelOperator[T]) Update

func (m *ModelOperator[T]) Update(ctx context.Context) (rowsAffected int64, err error)

type Repository

type Repository[T any] interface {
	FindOne(ctx context.Context, where any) (*T, error)
	List(ctx context.Context, where any, offset, limit int, order ...any) ([]*T, int64, error)
	Count(ctx context.Context, where any) (int64, error)
	Update(ctx context.Context, where any, update any) (int64, error)
	Delete(ctx context.Context, where any) (int64, error)
	Insert(ctx context.Context, data any) (int64, error)
	Iterate(ctx context.Context, column string, where any) (Iterator[T], error)
}

type UnimplementedRepository

type UnimplementedRepository[T any] struct{}

func (*UnimplementedRepository[T]) Count

func (rep *UnimplementedRepository[T]) Count(ctx context.Context, where any) (int64, error)

func (*UnimplementedRepository[T]) Delete

func (rep *UnimplementedRepository[T]) Delete(ctx context.Context, where any) (int64, error)

func (*UnimplementedRepository[T]) FindOne

func (rep *UnimplementedRepository[T]) FindOne(ctx context.Context, where any) (*T, error)

func (*UnimplementedRepository[T]) Insert

func (rep *UnimplementedRepository[T]) Insert(ctx context.Context, data any) (int64, error)

func (*UnimplementedRepository[T]) Iterate

func (rep *UnimplementedRepository[T]) Iterate(ctx context.Context, column string, where any) (Iterator[T], error)

func (*UnimplementedRepository[T]) List

func (rep *UnimplementedRepository[T]) List(ctx context.Context, where any, offset, limit int, order ...any) ([]*T, int64, error)

func (*UnimplementedRepository[T]) Update

func (rep *UnimplementedRepository[T]) Update(ctx context.Context, where any, update any) (int64, error)

Jump to

Keyboard shortcuts

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