Documentation ¶
Overview ¶
Package repository provides wrapper for go-pg package to simplify unit testing
Index ¶
- type Creator
- type Deleter
- type Executor
- type Finder
- type Mock
- func (Mock) Create(ctx context.Context, model interface{}, values ...interface{}) (orm.Result, error)
- func (Mock) Delete(ctx context.Context, model interface{}, modifier func(*orm.Query) *orm.Query, ...) (orm.Result, error)
- func (Mock) Exec(ctx context.Context, query string, params ...interface{}) (orm.Result, error)
- func (Mock) Find(ctx context.Context, model interface{}, modifier func(q *orm.Query) *orm.Query, ...) error
- func (Mock) SelectOrCreate(ctx context.Context, model interface{}, modifier func(*orm.Query) *orm.Query, ...) (bool, error)
- func (Mock) Transaction(ctx context.Context, callback func(db *pg.Tx) error) error
- func (Mock) Update(ctx context.Context, model interface{}, modifier func(*orm.Query) *orm.Query, ...) (orm.Result, error)
- type Repository
- type SelectOrCreator
- type Transactor
- type Updater
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Creator ¶
type Creator interface {
Create(ctx context.Context, model interface{}, values ...interface{}) (orm.Result, error)
}
Creator interface for creating models
type Deleter ¶
type Deleter interface {
Delete(ctx context.Context, model interface{}, modifier func(*orm.Query) *orm.Query, values ...interface{}) (orm.Result, error)
}
Deleter delete model from the repo
type Executor ¶
type Executor interface {
Exec(ctx context.Context, query string, params ...interface{}) (orm.Result, error)
}
Executor execute db query
type Finder ¶
type Finder interface {
Find(ctx context.Context, model interface{}, modifier func(*orm.Query) *orm.Query, values ...interface{}) error
}
Finder find model inside the repo
type Mock ¶
type Mock struct{}
Mock is short for repository
func (Mock) Create ¶
func (Mock) Create(ctx context.Context, model interface{}, values ...interface{}) (orm.Result, error)
Create make new model inside the database
func (Mock) Delete ¶
func (Mock) Delete(ctx context.Context, model interface{}, modifier func(*orm.Query) *orm.Query, values ...interface{}) (orm.Result, error)
Delete delete the model from database
func (Mock) Find ¶
func (Mock) Find(ctx context.Context, model interface{}, modifier func(q *orm.Query) *orm.Query, values ...interface{}) error
Find find the model in database
func (Mock) SelectOrCreate ¶
func (Mock) SelectOrCreate(ctx context.Context, model interface{}, modifier func(*orm.Query) *orm.Query, values ...interface{}) (bool, error)
SelectOrCreate select new language and create if not exists
func (Mock) Transaction ¶
Transaction run set of queries in transaction
type Repository ¶
type Repository interface { SelectOrCreator Creator Updater Finder Deleter Transactor Executor }
Repository list of repository interfaces
type SelectOrCreator ¶
type SelectOrCreator interface {
SelectOrCreate(ctx context.Context, model interface{}, modifier func(*orm.Query) *orm.Query, values ...interface{}) (bool, error)
}
SelectOrCreator interface to select or create new model
Click to show internal directories.
Click to hide internal directories.