repository

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package repository provides wrapper for go-pg package to simplify unit testing

Index

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 NewMock

func NewMock() *Mock

NewMock create new repository for testing

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) Exec

func (Mock) Exec(ctx context.Context, query string, params ...interface{}) (orm.Result, error)

Exec run query on the repository

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

func (Mock) Transaction(ctx context.Context, callback func(db *pg.Tx) error) error

Transaction run set of queries in transaction

func (Mock) Update

func (Mock) Update(ctx context.Context, model interface{}, modifier func(*orm.Query) *orm.Query, fields ...interface{}) (orm.Result, error)

Update update fields for the model

type Repository

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

type Transactor

type Transactor interface {
	Transaction(ctx context.Context, callback func(db *pg.Tx) error) error
}

Transactor run set of operations in transaction

type Updater

type Updater interface {
	Update(ctx context.Context, model interface{}, modifier func(*orm.Query) *orm.Query, fields ...interface{}) (orm.Result, error)
}

Updater updater interface for updating the model int database

Jump to

Keyboard shortcuts

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