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.
Click to show internal directories.
Click to hide internal directories.