repository

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CrudRepository

type CrudRepository[T any] interface {
	Create(ctx context.Context, et *T) (*T, error)
	FindByID(ctx context.Context, id uuid.UUID) (*T, error)
	Update(ctx context.Context, et *T) (*T, error)
	Delete(ctx context.Context, id uuid.UUID) error
	ListAll(ctx context.Context) ([]T, error)
	First(ctx context.Context, et *T) (*T, error)
	FindWithEntity(ctx context.Context, et *T) ([]T, error)
	FindWithConditions(ctx context.Context, conditions map[string]any) ([]T, error)
	FindWithOrConditions(ctx context.Context, conditions map[string]any) ([]T, error)
	CountWithConditions(ctx context.Context, conditions map[string]any) (int64, error)
	CountWithEntity(ctx context.Context, et *T) (int64, error)
	Exists(ctx context.Context, conditions map[string]any) (bool, error)
	// Add paging method
	ListPaged(ctx context.Context, offset int, limit int) ([]T, int64, error)
}

CrudRepository defines a set of generic CRUD operations. Note: T is expected to be a struct type.

func NewCrudRepository

func NewCrudRepository[T any](db *gorm.DB) CrudRepository[T]

NewCrudRepository creates a new CrudRepository instance for type T. It also initializes a validator instance for reuse.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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