Documentation
¶
Index ¶
- Variables
- func Capitalize(str string) string
- func Close(db io.Closer)
- func ConvertToColumnCase(fieldName string) string
- func FormatJoinId(domain string) string
- func FormatJoinTable(domain1 string, domain2 string) string
- func FormatTable(domain string) string
- func MapVirtualEntity(ve string) string
- func NoError(err error) bool
- func P[T any](t T) *T
- func ReadValue(value reflect.Value) any
- func RegisterJoinTable(domain1 string, domain2 string, table string)
- func RegisterVirtualEntity(ve string, target string)
- func RollbackFor(tc TransactionContext, origin error) error
- func Ternary[T any](test bool, r1, r2 T) T
- func ToSnakeCase(fieldName string) string
- func TransactionCallback(tc TransactionContext, callback func(tc TransactionContext) error) (err error)
- type DataAccess
- type Entity
- type EntityPath
- type FieldMetadata
- type Int64Id
- type IntId
- type PageList
- type PageQuery
- type Query
- type Relation
- type Response
- type RollbackError
- type TransactionContext
- type TransactionManager
- type TxDataAccess
Constants ¶
This section is empty.
Variables ¶
View Source
var Config = struct { TableFormat string JoinIdFormat string JoinTableFormat string }{ "t_%s", "%s_id", "a_%s_and_%s", }
View Source
var SortRgx = regexp.MustCompile("(?i)(\\w+)(,(asC|dEsc))?;?")
View Source
var SuffixRgx = regexp.MustCompile("(" + SuffixStr + ")$")
View Source
var SuffixStr = "Gt|Ge|Lt|Le|Not|Ne|Eq|Null|NotIn|In|Like|NotLike|Contain|NotContain|Start|NotStart|End|NotEnd|Rx"
Functions ¶
func Capitalize ¶ added in v0.2.2
func ConvertToColumnCase ¶
func FormatJoinId ¶ added in v0.2.3
func FormatJoinTable ¶ added in v0.2.3
func FormatTable ¶ added in v0.2.3
func MapVirtualEntity ¶ added in v0.2.3
func RegisterJoinTable ¶ added in v0.2.3
func RegisterVirtualEntity ¶ added in v0.2.3
func RollbackFor ¶
func RollbackFor(tc TransactionContext, origin error) error
func ToSnakeCase ¶
func TransactionCallback ¶
func TransactionCallback(tc TransactionContext, callback func(tc TransactionContext) error) (err error)
Types ¶
type DataAccess ¶
type DataAccess[E Entity] interface { Get(ctx context.Context, id any) (*E, error) Delete(ctx context.Context, id any) (int64, error) Query(ctx context.Context, query Query) ([]E, error) Count(ctx context.Context, query Query) (int64, error) DeleteByQuery(ctx context.Context, query Query) (int64, error) Page(ctx context.Context, query Query) (PageList[E], error) Create(ctx context.Context, entity *E) (int64, error) CreateMulti(ctx context.Context, entities []E) (int64, error) Update(ctx context.Context, entity E) (int64, error) Patch(ctx context.Context, entity Entity) (int64, error) PatchByQuery(ctx context.Context, entity E, query Query) (int64, error) }
type EntityPath ¶ added in v0.2.3
func BuildEntityPath ¶ added in v0.2.3
func BuildEntityPath(field reflect.StructField) *EntityPath
func BuildEntityPathStr ¶ added in v0.2.3
func BuildEntityPathStr(aep string) *EntityPath
type FieldMetadata ¶ added in v0.2.3
type FieldMetadata struct {
Field reflect.StructField
IsId bool
ColumnName string
EntityPath *EntityPath
}
func BuildFieldMetas ¶ added in v0.2.3
func BuildFieldMetas(structType reflect.Type) []FieldMetadata
type PageQuery ¶
type PageQuery struct {
Page int `json:"page,omitempty"`
Size int `json:"size,omitempty"`
Sort string `json:"sort,omitempty"`
}
func (PageQuery) CalcOffset ¶
func (PageQuery) GetPageNumber ¶
func (PageQuery) GetPageSize ¶
func (PageQuery) NeedPaging ¶
type RollbackError ¶
func (*RollbackError) Error ¶
func (e *RollbackError) Error() string
func (*RollbackError) Unwrap ¶
func (e *RollbackError) Unwrap() error
type TransactionContext ¶
type TransactionManager ¶
type TransactionManager interface {
GetClient() any
StartTransaction(ctx context.Context) (TransactionContext, error)
SubmitTransaction(ctx context.Context, callback func(tc TransactionContext) error) error
}
type TxDataAccess ¶
type TxDataAccess[E Entity] struct { TransactionManager DataAccess[E] }
Click to show internal directories.
Click to hide internal directories.