Add Serializer
This commit is contained in:
parent
a0aceeb33e
commit
211aaed6c4
@ -1,25 +1,39 @@
|
|||||||
package schema
|
package schema
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
|
"reflect"
|
||||||
|
|
||||||
"gorm.io/gorm/clause"
|
"gorm.io/gorm/clause"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// GormDataTypeInterface gorm data type interface
|
||||||
type GormDataTypeInterface interface {
|
type GormDataTypeInterface interface {
|
||||||
GormDataType() string
|
GormDataType() string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Serializer serializer interface
|
||||||
|
type Serializer interface {
|
||||||
|
Scan(ctx context.Context, field *Field, dst reflect.Value, dbValue interface{}) error
|
||||||
|
Value(ctx context.Context, field *Field, dst reflect.Value) (interface{}, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CreateClausesInterface create clauses interface
|
||||||
type CreateClausesInterface interface {
|
type CreateClausesInterface interface {
|
||||||
CreateClauses(*Field) []clause.Interface
|
CreateClauses(*Field) []clause.Interface
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// QueryClausesInterface query clauses interface
|
||||||
type QueryClausesInterface interface {
|
type QueryClausesInterface interface {
|
||||||
QueryClauses(*Field) []clause.Interface
|
QueryClauses(*Field) []clause.Interface
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateClausesInterface update clauses interface
|
||||||
type UpdateClausesInterface interface {
|
type UpdateClausesInterface interface {
|
||||||
UpdateClauses(*Field) []clause.Interface
|
UpdateClauses(*Field) []clause.Interface
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteClausesInterface delete clauses interface
|
||||||
type DeleteClausesInterface interface {
|
type DeleteClausesInterface interface {
|
||||||
DeleteClauses(*Field) []clause.Interface
|
DeleteClauses(*Field) []clause.Interface
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user