From 25821bdee67975bf7926aaba07bd67ee74c10842 Mon Sep 17 00:00:00 2001 From: Kevin Wan Date: Sun, 3 Mar 2024 00:17:38 +0800 Subject: [PATCH] chore: coding style (#3960) --- core/stores/mon/options.go | 26 +++++++++---------- core/stores/mon/options_test.go | 6 ++--- tools/goctl/Dockerfile | 2 +- .../test/integration/model/mongo/Dockerfile | 2 +- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/core/stores/mon/options.go b/core/stores/mon/options.go index 14a6666a..cebae6f7 100644 --- a/core/stores/mon/options.go +++ b/core/stores/mon/options.go @@ -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) + } +} diff --git a/core/stores/mon/options_test.go b/core/stores/mon/options_test.go index f5a858ad..48024dbd 100644 --- a/core/stores/mon/options_test.go +++ b/core/stores/mon/options_test.go @@ -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 { diff --git a/tools/goctl/Dockerfile b/tools/goctl/Dockerfile index 10eb9e1d..12489e28 100644 --- a/tools/goctl/Dockerfile +++ b/tools/goctl/Dockerfile @@ -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"] diff --git a/tools/goctl/test/integration/model/mongo/Dockerfile b/tools/goctl/test/integration/model/mongo/Dockerfile index 8d8a2ac9..fe629b13 100644 --- a/tools/goctl/test/integration/model/mongo/Dockerfile +++ b/tools/goctl/test/integration/model/mongo/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.21-alpine +FROM golang:1.22-alpine ENV TZ Asia/Shanghai ENV GOPROXY https://goproxy.cn,direct