mirror of
https://github.com/zeromicro/go-zero.git
synced 2025-01-23 00:50:20 +08:00
chore: coding style (#3960)
This commit is contained in:
parent
b624b966f0
commit
25821bdee6
@ -19,17 +19,17 @@ var (
|
||||
)
|
||||
|
||||
type (
|
||||
options = mopt.ClientOptions
|
||||
|
||||
// Option defines the method to customize a mongo model.
|
||||
Option func(opts *options)
|
||||
|
||||
// RegisterType A struct store With custom type and Encoder/Decoder
|
||||
RegisterType struct {
|
||||
// TypeCodec is a struct that stores specific type Encoder/Decoder.
|
||||
TypeCodec struct {
|
||||
ValueType reflect.Type
|
||||
Encoder bsoncodec.ValueEncoder
|
||||
Decoder bsoncodec.ValueDecoder
|
||||
}
|
||||
|
||||
options = mopt.ClientOptions
|
||||
)
|
||||
|
||||
// DisableLog disables logging of mongo commands, includes info and slow logs.
|
||||
@ -48,12 +48,6 @@ func SetSlowThreshold(threshold time.Duration) {
|
||||
slowThreshold.Set(threshold)
|
||||
}
|
||||
|
||||
func defaultTimeoutOption() Option {
|
||||
return func(opts *options) {
|
||||
opts.SetTimeout(defaultTimeout)
|
||||
}
|
||||
}
|
||||
|
||||
// WithTimeout set the mon client operation timeout.
|
||||
func WithTimeout(timeout time.Duration) Option {
|
||||
return func(opts *options) {
|
||||
@ -61,14 +55,20 @@ func WithTimeout(timeout time.Duration) Option {
|
||||
}
|
||||
}
|
||||
|
||||
// WithRegistry set the Registry to convert custom type to mongo primitive type more easily.
|
||||
func WithRegistry(registerType ...RegisterType) Option {
|
||||
// WithTypeCodec registers TypeCodecs to convert custom types.
|
||||
func WithTypeCodec(typeCodecs ...TypeCodec) Option {
|
||||
return func(opts *options) {
|
||||
registry := bson.NewRegistry()
|
||||
for _, v := range registerType {
|
||||
for _, v := range typeCodecs {
|
||||
registry.RegisterTypeEncoder(v.ValueType, v.Encoder)
|
||||
registry.RegisterTypeDecoder(v.ValueType, v.Decoder)
|
||||
}
|
||||
opts.SetRegistry(registry)
|
||||
}
|
||||
}
|
||||
|
||||
func defaultTimeoutOption() Option {
|
||||
return func(opts *options) {
|
||||
opts.SetTimeout(defaultTimeout)
|
||||
}
|
||||
}
|
||||
|
@ -79,16 +79,16 @@ func TestWithRegistryForTimestampRegisterType(t *testing.T) {
|
||||
return nil
|
||||
}
|
||||
|
||||
registerType := []RegisterType{
|
||||
codecs := []TypeCodec{
|
||||
{
|
||||
ValueType: reflect.TypeOf(time.Time{}),
|
||||
Encoder: mongoDateTimeEncoder,
|
||||
Decoder: mongoDateTimeDecoder,
|
||||
},
|
||||
}
|
||||
WithRegistry(registerType...)(opts)
|
||||
WithTypeCodec(codecs...)(opts)
|
||||
|
||||
for _, v := range registerType {
|
||||
for _, v := range codecs {
|
||||
// Validate Encoder
|
||||
enc, err := opts.Registry.LookupEncoder(v.ValueType)
|
||||
if err != nil {
|
||||
|
@ -35,6 +35,6 @@ LABEL org.opencontainers.image.description="A cloud-native Go microservices fram
|
||||
LABEL org.opencontainers.image.licenses="MIT"
|
||||
LABEL org.opencontainers.image.source="https://github.com/zeromicro/go-zero"
|
||||
LABEL org.opencontainers.image.title="goctl (cli)"
|
||||
LABEL org.opencontainers.image.version="v1.6.0"
|
||||
LABEL org.opencontainers.image.version="v1.6.2"
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/goctl"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM golang:1.21-alpine
|
||||
FROM golang:1.22-alpine
|
||||
|
||||
ENV TZ Asia/Shanghai
|
||||
ENV GOPROXY https://goproxy.cn,direct
|
||||
|
Loading…
Reference in New Issue
Block a user