users

package
v0.0.0-...-d389d3b Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FindAllCriteria

type FindAllCriteria struct {
	Name string `json:"name" uri:"name" form:"name"`
	Age  int    `json:"age" uri:"age" form:"age"`
}

type OverviewCriteria

type OverviewCriteria struct {
	Name string `json:"name" uri:"name" form:"name"`
	Age  int    `json:"age" uri:"age" form:"age"`
}

type UserRepository

type UserRepository interface {
	WithTx(tx *gorm.DB) UserRepository
	TransactWithDefaultRetry(ctx context.Context, operation func(tx *gorm.DB) error) error
	FindOneByID(ctx context.Context, id uint) (user *entities.User, err error)
	FindOneByIDForUpdate(ctx context.Context, id uint) (*entities.User, error)
	FindOneByEmailWithExclusiveLock(ctx context.Context, email string) (*entities.User, error)
	FindAll(ctx context.Context, pagination *models.Pagination) (page *models.Page[*entities.User], err error)
	FindAllByCriteria(
		ctx context.Context,
		criteriaAndPagination *models.CriteriaAndPagination[FindAllCriteria],
	) (page *models.Page[*entities.User], err error)
	Overview(
		ctx context.Context,
		criteriaAndPagination *models.CriteriaAndPagination[OverviewCriteria],
	) (page *models.Page[*userModels.SenderOverview], err error)
	Create(ctx context.Context, user *entities.User) (*entities.User, error)
	Save(ctx context.Context, user *entities.User) (*entities.User, error)
	DeleteByID(ctx context.Context, id uint) error
	Count(ctx context.Context) (int64, error)
}

func NewUserRepository

func NewUserRepository(
	userEntityRepository persistence.EntityRepository[entities.User],
	queryTemplateEngine sqlTemplate.QueryTemplateEngine,
) UserRepository

NewUserRepository creates a new user repository.

Jump to

Keyboard shortcuts

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