Documentation ¶
Index ¶
- Constants
- func AssertMockDatabase(t *testing.T, mock sqlmock.Sqlmock)
- func CreateMockDB() (*gorm.DB, sqlmock.Sqlmock, error)
- func CreateTables(repos ...Repository) error
- func HandleSQLError(err error) error
- func Init(config DatabaseConfig) error
- func JsonValue(dst interface{}) (driver.Value, error)
- func ScanJson(dst, src interface{}) error
- type Connection
- type DatabaseConfig
- type DefaultRepository
- func (repo *DefaultRepository) Create(tx Connection, src rsmodels.ValidatedObject) error
- func (repo DefaultRepository) CreateTable(tx Connection) error
- func (repo *DefaultRepository) DeleteById(tx Connection, id rsmodels.ValidatedObject) error
- func (repo *DefaultRepository) FirstOrCreate(tx Connection, src rsmodels.ValidatedObject) error
- func (repo *DefaultRepository) GetById(tx Connection, id rsmodels.ValidatedObject) error
- func (repo *DefaultRepository) List(tx Connection, items interface{}, filter ListFilter, orders Orders) (int, error)
- func (repo *DefaultRepository) Patch(tx Connection, src rsmodels.ValidatedObject, data rsmodels.ValidatedObject) error
- func (repo *DefaultRepository) Save(tx Connection, src rsmodels.ValidatedObject) error
- type ListFilter
- type MockFunc
- type Order
- type Orders
- type Query
- type QueryBuilder
- type Repository
Constants ¶
View Source
const ( AndQueryOperator queryOperator = "AND" OrQueryOperator queryOperator = "OR" )
View Source
const ( ErrRecordNotFound sierrors.Error = "record not found" ErrDuplicateData sierrors.Error = "duplicated data" ErrInvalidData sierrors.Error = "invalid data" ErrInvalidModel sierrors.Error = "invalid model" ErrForeignKeyConstraint sierrors.Error = "foreign key constraint fails" )
View Source
const ErrInvalidTransaction = rserrors.Error("invalid transaction")
Variables ¶
This section is empty.
Functions ¶
func AssertMockDatabase ¶
func CreateMockDB ¶
func CreateTables ¶
func CreateTables(repos ...Repository) error
func HandleSQLError ¶
func Init ¶
func Init(config DatabaseConfig) error
Types ¶
type Connection ¶
type Connection interface { Begin() (Connection, error) Close() error Rollback() error Commit() error Conn() *gorm.DB }
func GetConnection ¶
func GetConnection() Connection
func NewConnection ¶
func NewConnection(tx *gorm.DB) Connection
type DatabaseConfig ¶
type DefaultRepository ¶
type DefaultRepository struct{}
func (*DefaultRepository) Create ¶
func (repo *DefaultRepository) Create(tx Connection, src rsmodels.ValidatedObject) error
func (DefaultRepository) CreateTable ¶
func (repo DefaultRepository) CreateTable(tx Connection) error
func (*DefaultRepository) DeleteById ¶
func (repo *DefaultRepository) DeleteById(tx Connection, id rsmodels.ValidatedObject) error
func (*DefaultRepository) FirstOrCreate ¶
func (repo *DefaultRepository) FirstOrCreate(tx Connection, src rsmodels.ValidatedObject) error
func (*DefaultRepository) GetById ¶
func (repo *DefaultRepository) GetById(tx Connection, id rsmodels.ValidatedObject) error
func (*DefaultRepository) List ¶
func (repo *DefaultRepository) List(tx Connection, items interface{}, filter ListFilter, orders Orders) (int, error)
func (*DefaultRepository) Patch ¶
func (repo *DefaultRepository) Patch(tx Connection, src rsmodels.ValidatedObject, data rsmodels.ValidatedObject) error
func (*DefaultRepository) Save ¶
func (repo *DefaultRepository) Save(tx Connection, src rsmodels.ValidatedObject) error
type ListFilter ¶
func (ListFilter) Offset ¶
func (listFilter ListFilter) Offset() int
type Query ¶
type Query interface { QueryBuilder Where() string Values() []interface{} }
func NewEmptyQuery ¶
func NewEmptyQuery() Query
type Repository ¶
type Repository interface { Create(tx Connection, src rsmodels.ValidatedObject) error FirstOrCreate(tx Connection, src rsmodels.ValidatedObject) error DeleteById(tx Connection, id rsmodels.ValidatedObject) error GetById(tx Connection, id rsmodels.ValidatedObject) error Save(tx Connection, src rsmodels.ValidatedObject) error Patch(tx Connection, src rsmodels.ValidatedObject, data rsmodels.ValidatedObject) error List(tx Connection, items interface{}, filter ListFilter, orders Orders) (totalCount int, err error) CreateTable(tx Connection) error }
func NewDefaultRepository ¶
func NewDefaultRepository() Repository
Click to show internal directories.
Click to hide internal directories.