Documentation ¶
Index ¶
- Constants
- Variables
- func AddErrorTypes(errType reflect.Type)
- func CallFunc(fn interface{}, funcs LogicFuncs, args []interface{}) ([]interface{}, errors.ErrorCode)
- func DeepFields(iface interface{}, vType reflect.Type, fields []reflect.Value) interface{}
- func Derive(origin interface{}) (interface{}, error)
- func GetMysqlDSNFromConfig(name string, conf config.Config) string
- func Inherit(new, origin interface{}) error
- func NewDBsFromConfig(conf config.Config, name string) (map[string]*gorm.DB, error)
- func NewDBsFromFile(file string) (map[string]*gorm.DB, error)
- type Committer
- type Deriver
- type Inheritor
- type LogicFuncs
- type TGorm
- type TXFunc
Constants ¶
View Source
const ( Logic = iota BeforeLogic AfterLogic OnError AfterCommit )
Function Flags
View Source
const (
DefaultDatabase = "go-trellis::tgorm::default"
)
defines
Variables ¶
View Source
var ( ErrFailToExecuteLogicFunction = errors.TN(_namespace, 10001, "{{.message}}") // define orm errors ErrNotFoundDefaultDatabase = errors.TN(_namespace, 20000, "not found default database") ErrAtLeastOneRepo = errors.TN(_namespace, 20001, "input one repo at least") ErrNotFoundTransationFunction = errors.TN(_namespace, 20002, "not found transation function") ErrStructCombineWithRepo = errors.TN(_namespace, 20003, "your repository struct should combine with {{.name}} repo") ErrFailToCreateRepo = errors.TN(_namespace, 20004, "fail to create an new repo") ErrFailToDerive = errors.TN(_namespace, 20005, "fail to derive: {{.message}}") ErrFailToInherit = errors.TN(_namespace, 20006, "fail to inherit: {{.message}}") ErrFailToConvetTXToNonTX = errors.TN(_namespace, 20007, "could not convert TX to NON-TX") ErrFailToCreateTransaction = errors.TN(_namespace, 20008, "fail to create transaction: {{.message}}") ErrTransactionIsAlreadyBegin = errors.TN(_namespace, 20009, "transaction is already begin: {{.name}}") ErrNonTransactionCantCommit = errors.TN(_namespace, 20010, "non-transaction can't commit") ErrTransactionSessionIsNil = errors.TN(_namespace, 20011, "transaction session is nil") ErrFailToCommitTransaction = errors.TN(_namespace, 20012, "fail to commit transaction") ErrNotFoundGormDB = errors.TN(_namespace, 20013, "not found gorm engine with {{.name}}") )
define connector errors
Functions ¶
func CallFunc ¶
func CallFunc(fn interface{}, funcs LogicFuncs, args []interface{}) ([]interface{}, errors.ErrorCode)
CallFunc execute transaction function with logic functions and args
func DeepFields ¶
DeepFields relect interface deep fields
func Derive ¶
func Derive(origin interface{}) (interface{}, error)
Derive derive from developer function
func GetMysqlDSNFromConfig ¶
GetMysqlDSNFromConfig get mysql dsn from gogap config
func Inherit ¶
func Inherit(new, origin interface{}) error
Inherit inherit a new repository from origin repository
func NewDBsFromConfig ¶
NewDBsFromConfig initial gorm engine from config
Types ¶
type Committer ¶
type Committer interface { TX(fn interface{}, repos ...interface{}) errors.ErrorCode TXWithName(fn interface{}, name string, repos ...interface{}) errors.ErrorCode NonTX(fn interface{}, repos ...interface{}) errors.ErrorCode NonTXWithName(fn interface{}, name string, repos ...interface{}) errors.ErrorCode }
Committer Defination
type Deriver ¶
type Deriver interface {
Derive() (repo interface{}, err error)
}
Deriver derive function
type Inheritor ¶
type Inheritor interface {
Inherit(repo interface{}) error
}
Inheritor inherit function
type LogicFuncs ¶
type LogicFuncs struct { BeforeLogic interface{} AfterLogic interface{} OnError interface{} Logic interface{} AfterCommit interface{} }
LogicFuncs logic functions
func GetLogicFuncs ¶
func GetLogicFuncs(fn interface{}) (funcs LogicFuncs)
GetLogicFuncs reflect logic function
Click to show internal directories.
Click to hide internal directories.