From 1b1f5b9a19a86b9ff7edf4820600936837a3f151 Mon Sep 17 00:00:00 2001 From: renzhiyuan <465386466@qq.com> Date: Wed, 27 Nov 2024 18:34:34 +0800 Subject: [PATCH] 1 --- Makefile | 24 ++++++++ .../controllers/backend/user_controller.go | 32 +++++------ app/http/entities/backend/user.go | 57 +++++++++++++------ app/http/requestmapping/backend.go | 3 + app/http/routes/admin.go | 5 +- app/models/common.go | 4 +- app/models/cronusermodel/cron_user.go | 44 ++++++++++++++ app/models/userinfomodel/user_info.go | 41 ------------- app/services/user_service.go | 35 ++++++++---- go.mod | 6 ++ go.sum | 21 +++++++ 11 files changed, 181 insertions(+), 91 deletions(-) create mode 100644 Makefile create mode 100644 app/models/cronusermodel/cron_user.go delete mode 100644 app/models/userinfomodel/user_info.go diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d992184 --- /dev/null +++ b/Makefile @@ -0,0 +1,24 @@ +GOHOSTOS:=$(shell go env GOHOSTOS) +GOPATH:=$(shell go env GOPATH) +VERSION=$(shell git describe --tags --always) + + +ifeq ($(GOHOSTOS), windows) + #the `find.exe` is different from `find` in bash/shell. + #to see https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/find. + #changed to use git-bash.exe to run find cli or other cli friendly, caused of every developer has a Git. + #Git_Bash= $(subst cmd\,bin\bash.exe,$(dir $(shell where git))) + Git_Bash=$(subst \,/,$(subst cmd\,bin\bash.exe,$(dir $(shell where git)))) + INTERNAL_PROTO_FILES=$(shell $(Git_Bash) -c "find internal -name *.proto") + API_PROTO_FILES=$(shell $(Git_Bash) -c "find api -name *.proto") +else + INTERNAL_PROTO_FILES=$(shell find internal -name *.proto) + API_PROTO_FILES=$(shell find api -name *.proto) +endif + +.PHONY: model +# rpcdocker +rpcdocker: + goctl docker -go ./cmd/rpc/msg.go + + diff --git a/app/http/controllers/backend/user_controller.go b/app/http/controllers/backend/user_controller.go index b07ede9..527e060 100644 --- a/app/http/controllers/backend/user_controller.go +++ b/app/http/controllers/backend/user_controller.go @@ -4,24 +4,20 @@ import ( "cron_admin/app/constants/errorcode" "cron_admin/app/http/controllers" "cron_admin/app/http/entities/backend" - "cron_admin/app/models/userinfomodel" + "cron_admin/app/models/cronusermodel" "cron_admin/app/services" "github.com/ahmetb/go-linq/v3" "github.com/gin-gonic/gin" ) -func Login(c *gin.Context) { - -} - -func List(c *gin.Context) { +func UserList(c *gin.Context) { request := controllers.GetRequest(c).(*backend.UserListRequest) - count, list, err := services.GetListByWhere(request, request.Page, request.PageSize) + count, list, err := services.GetListByWhere(request, request.Page, request.Limit) if err != nil { controllers.HandRes(c, nil, errorcode.NotFound) } else { UserList := make([]backend.UserListResponse, 0) - linq.From(list).SelectT(func(in userinfomodel.UserInfo) (d backend.UserListResponse) { + linq.From(list).SelectT(func(in cronusermodel.CronUser) (d backend.UserListResponse) { d.ResponseFromDb(in) return d }).ToSlice(&UserList) @@ -29,14 +25,14 @@ func List(c *gin.Context) { } } -func GerUserInfoHandler(c *gin.Context) { - request := controllers.GetRequest(c).(*backend.UserInfoRequest) - has, userInfo, err := services.UserInfo(request.Id) - if err != nil || has == false { - controllers.HandRes(c, nil, errorcode.NotFound) - } else { - UserInfoResponse := backend.UserListResponse{} - UserInfoResponse.ResponseFromDb(userInfo) - controllers.HandRes(c, UserInfoResponse, nil) - } +func UserAdd(c *gin.Context) { + request := controllers.GetRequest(c).(*backend.UserAddRequest) + err := services.UserAdd(request) + controllers.HandRes(c, nil, err) +} + +func UserEdit(c *gin.Context) { + request := controllers.GetRequest(c).(*backend.UserEditRequest) + err := services.UserEdit(request) + controllers.HandRes(c, nil, err) } diff --git a/app/http/entities/backend/user.go b/app/http/entities/backend/user.go index a6f9254..48a1b8c 100644 --- a/app/http/entities/backend/user.go +++ b/app/http/entities/backend/user.go @@ -1,16 +1,16 @@ package backend import ( - "cron_admin/app/models/userinfomodel" + "cron_admin/app/models/cronusermodel" "time" ) type UserListRequest struct { - Page int `json:"page" validate:"required" form:"page" example:"1"` - PageSize int `json:"page_size" validate:"required" form:"page_size" example:"10"` - Mobile string `json:"mobile" form:"mobile" example:"155555555"` - Status int `json:"status" form:"status" example:"1"` - Clientuniqueidentification string `json:"Clientuniqueidentification" form:"Clientuniqueidentification" example:"46516"` + Page int `json:"page" validate:"required" form:"page" example:"1"` + Limit int `json:"limit" validate:"required" form:"limit" example:"10"` + Tel string `json:"tel" form:"tel" example:"155555555"` + Status int `json:"status" form:"status" example:"1"` + Name string `json:"name" form:"name" example:"46516"` } type UserInfoRequest struct { @@ -18,18 +18,43 @@ type UserInfoRequest struct { } type UserListResponse struct { - Id int `json:"id" form:"id"` - Clientuniqueidentification string `json:"clientuniqueidentification"` - Mobile string `json:"mobile"` - Status int `json:"status"` - Createtime string `json:"createtime"` + UserId int `json:"user_id" form:"id"` + Name string `json:"name"` + Tel string `json:"tel"` + DtalkUserId string `json:"'DtalkUserId' varchar(200)"` + DtalkDepId string `json:"'DtalkDepId' varchar(200)"` + WxOpenId string `json:"'WxOpenId' varchar(200)"` + Status int `json:"'Status' TINYINT"` + CreateTime string `json:"'CreateTime' datetime"` } -func (response *UserListResponse) ResponseFromDb(l userinfomodel.UserInfo) { - response.Id = l.Id - response.Clientuniqueidentification = l.Clientuniqueidentification - response.Mobile = l.Mobile +type UserAddRequest struct { + Name string `json:"name"` + Tel string `json:"tel"` + DtalkUserId string `json:"'dtalk_user_id' varchar(200)"` + DtalkDepId string `json:"'dtalk_user_id' varchar(200)"` + WxOpenId string `json:"'WxOpenId' varchar(200)"` + Status int `json:"'Status' TINYINT"` +} + +type UserEditRequest struct { + UserId int `json:"user_id" validate:"required" form:"db_id" example:""` + Name string `json:"name"` + Tel string `json:"tel"` + DtalkUserId string `json:"'DtalkUserId' varchar(200)"` + DtalkDepId string `json:"'DtalkDepId' varchar(200)"` + WxOpenId string `json:"'WxOpenId' varchar(200)"` + Status int `json:"'Status' TINYINT"` +} + +func (response *UserListResponse) ResponseFromDb(l cronusermodel.CronUser) { + response.UserId = l.UserId + response.Name = l.Name + response.Tel = l.Tel response.Status = l.Status - response.Createtime = l.Createtime.Format(time.DateTime) + response.DtalkUserId = l.DtalkUserId + response.DtalkDepId = l.DtalkDepId + response.WxOpenId = l.WxOpenId + response.CreateTime = l.CreateTime.Format(time.DateTime) return } diff --git a/app/http/requestmapping/backend.go b/app/http/requestmapping/backend.go index ee0bd9e..c3c3dfa 100644 --- a/app/http/requestmapping/backend.go +++ b/app/http/requestmapping/backend.go @@ -8,6 +8,9 @@ import ( var BackendRequestMap = map[string]func() interface{}{ + common.ADMIN_OAUTH_V1 + "/user/list": func() interface{} { + return new(backend.UserListRequest) + }, common.ADMIN_OAUTH_V1 + "/sql/list": func() interface{} { return new(backend.DbListRequest) }, common.ADMIN_OAUTH_V1 + "/sql/add": func() interface{} { return new(backend.DbAddRequest) }, common.ADMIN_OAUTH_V1 + "/sql/edit": func() interface{} { return new(backend.DbEditRequest) }, diff --git a/app/http/routes/admin.go b/app/http/routes/admin.go index 0ffdd28..7d904a3 100644 --- a/app/http/routes/admin.go +++ b/app/http/routes/admin.go @@ -32,8 +32,9 @@ func RegisterAdminRoute(router *gin.Engine) { //用户管理 user := v1.Group("/user") { - user.GET("/list", backend.List) - user.GET("/info", backend.Empty) + user.POST("/list", backend.UserList) + user.POST("/add", backend.UserAdd) + user.POST("/edit", backend.UserEdit) } //数据库管理 sql := v1.Group("/sql") diff --git a/app/models/common.go b/app/models/common.go index afa3d34..de50d01 100644 --- a/app/models/common.go +++ b/app/models/common.go @@ -2,10 +2,10 @@ package models import ( "cron_admin/app/models/cronreportchannelmodel" - "cron_admin/app/models/userinfomodel" + "cron_admin/app/models/cronusermodel" ) type PO interface { cronreportchannelmodel.CronReportChannel | - userinfomodel.UserInfo + cronusermodel.CronUser } diff --git a/app/models/cronusermodel/cron_user.go b/app/models/cronusermodel/cron_user.go new file mode 100644 index 0000000..f40951b --- /dev/null +++ b/app/models/cronusermodel/cron_user.go @@ -0,0 +1,44 @@ +package cronusermodel + +import ( + "github.com/qit-team/snow-core/db" + "sync" + "time" +) + +var ( + once sync.Once + m *CronUserModel +) + +// 实体 +type CronUser struct { + UserId int `xorm:"'user_id' int(0)"` + Name string `xorm:"'name' varchar(20)"` + Tel string `xorm:"'tel' varchar(200)"` + DtalkUserId string `xorm:"'dtalk_user_id' varchar(200)"` + DtalkDepId string `xorm:"'dtalk_dep_id' varchar(200)"` + WxOpenId string `xorm:"'wx_open_id' varchar(200)"` + Status int `xorm:"'status' TINYINT"` + UpdateTime time.Time `xorm:"'update_time' datetime"` + CreateTime time.Time `xorm:"'create_time' datetime"` +} + +// 表名 +func (m *CronUser) TableName() string { + return "cron_user" +} + +// 私有化,防止被外部new +type CronUserModel struct { + db.Model //组合基础Model,集成基础Model的属性和方法 +} + +// 单例模式 +func GetInstance() *CronUserModel { + once.Do(func() { + m = new(CronUserModel) + //m.DiName = "" //设置数据库实例连接,默认db.SingletonMain + }) + return m +} diff --git a/app/models/userinfomodel/user_info.go b/app/models/userinfomodel/user_info.go deleted file mode 100644 index d480afd..0000000 --- a/app/models/userinfomodel/user_info.go +++ /dev/null @@ -1,41 +0,0 @@ -package userinfomodel - -import ( - "github.com/qit-team/snow-core/db" - "sync" - "time" -) - -var ( - once sync.Once - m *UserInfoModel -) - -// 实体 -type UserInfo struct { - Id int `xorm:"'Id' int(0)"` - Clientuniqueidentification string `xorm:"'ClientUniqueIdentification' varchar(255)"` - Mobile string `xorm:"'Mobile' varchar(13)"` - Status int `xorm:"'Status' TINYINT"` - Lastupdatetime time.Time `xorm:"'LastUpdateTime' datetime"` - Createtime time.Time `xorm:"'CreateTime' datetime"` -} - -// 表名 -func (m *UserInfo) TableName() string { - return "UserInfo" -} - -// 私有化,防止被外部new -type UserInfoModel struct { - db.Model //组合基础Model,集成基础Model的属性和方法 -} - -// 单例模式 -func GetInstance() *UserInfoModel { - once.Do(func() { - m = new(UserInfoModel) - //m.DiName = "" //设置数据库实例连接,默认db.SingletonMain - }) - return m -} diff --git a/app/services/user_service.go b/app/services/user_service.go index 98dc6f0..7dfd20e 100644 --- a/app/services/user_service.go +++ b/app/services/user_service.go @@ -1,21 +1,25 @@ package services import ( + "cron_admin/app/constants/common" "cron_admin/app/http/entities/backend" - "cron_admin/app/models/userinfomodel" + "cron_admin/app/models/crondbmodel" + "cron_admin/app/models/cronusermodel" + "cron_admin/app/utils/mapstructure" "xorm.io/builder" ) -func GetListByWhere(request *backend.UserListRequest, page int, limit int) (count int64, UserListInfo []userinfomodel.UserInfo, err error) { - conn := builder.NewCond() +func GetListByWhere(request *backend.UserListRequest, page int, limit int) (count int64, UserListInfo []cronusermodel.CronUser, err error) { + cond := builder.NewCond() - if request.Mobile != "" { - conn = conn.And(builder.Like{"Mobile", request.Mobile}) + if request.Tel != "" { + cond = cond.And(builder.Like{"tel", request.Tel}) } if request.Status != 0 { - conn = conn.And(builder.Eq{"Status": request.Status}) + cond = cond.And(builder.Eq{"status": request.Status}) } - session := userinfomodel.GetInstance().GetDb().Where(conn) + //model := repository.NewCommonRepo[userinfomodel.CronUserModel](userinfomodel.GetInstance().GetDb().NewSession()) + session := cronusermodel.GetInstance().GetDb().Where(cond) if page != 0 && limit != 0 { session = session.Limit(page, (page-1)*limit) @@ -28,10 +32,17 @@ func GetListByWhere(request *backend.UserListRequest, page int, limit int) (coun return } -func UserInfo(id int) (has bool, UserCouponModel userinfomodel.UserInfo, err error) { - has, err = userinfomodel.GetInstance().GetDb().Where("id =?", id).Get(&UserCouponModel) - if err != nil { - return - } +func UserAdd(request *backend.UserAddRequest) (err error) { + var db crondbmodel.CronDb + _ = mapstructure.Decode(request, &db) + db.Status = common.STATUS_ENABLE + _, err = crondbmodel.GetInstance().GetDb().InsertOne(db) + return +} + +func UserEdit(request *backend.UserEditRequest) (err error) { + var db crondbmodel.CronDb + _ = mapstructure.Decode(request, &db) + _, err = crondbmodel.GetInstance().GetDb().ID(request.UserId).Update(&db) return } diff --git a/go.mod b/go.mod index dae8173..e39aeae 100644 --- a/go.mod +++ b/go.mod @@ -54,12 +54,14 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/buger/jsonparser v1.1.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/eapache/go-resiliency v1.1.0 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect github.com/eapache/queue v1.1.0 // indirect github.com/emirpasic/gods v1.12.0 // indirect + github.com/fatih/color v1.13.0 // indirect github.com/fvbock/endless v0.0.0-20170109170031-447134032cb6 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-kratos/aegis v0.2.0 // indirect @@ -85,6 +87,7 @@ require ( github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible // indirect github.com/lestrrat-go/strftime v1.0.5 // indirect github.com/mailru/easyjson v0.7.7 // indirect + github.com/mattn/go-colorable v0.1.9 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -97,16 +100,19 @@ require ( github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.32.1 // indirect github.com/prometheus/procfs v0.7.3 // indirect + github.com/qit-team/snow v1.2.4 // indirect github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a // indirect github.com/richardlehane/mscfb v1.0.4 // indirect github.com/richardlehane/msoleps v1.0.4 // indirect github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sirupsen/logrus v1.8.1 // indirect github.com/syndtr/goleveldb v1.0.0 // indirect github.com/tidwall/gjson v1.12.1 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.0 // indirect github.com/ugorji/go/codec v1.2.6 // indirect + github.com/urfave/cli/v2 v2.3.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.1 // indirect github.com/xuri/efp v0.0.0-20240408161823-9ad904a10d6d // indirect diff --git a/go.sum b/go.sum index 4d15c6a..487cb9d 100644 --- a/go.sum +++ b/go.sum @@ -57,6 +57,7 @@ github.com/Shopify/sarama v1.19.0 h1:9oksLxC6uxVPHPVYUmq6xhr1BOF/hHobWH2UzO67z1s github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/SkyAPM/go2sky v0.6.0/go.mod h1:TANzYw5EvIlTidGWvQxtvO87rM6C746HkM0xkWqnPQw= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agiledragon/gomonkey/v2 v2.3.1 h1:k+UnUY0EMNYUFUAQVETGY9uUTxjMdnUkP0ARyJS1zzs= @@ -139,6 +140,8 @@ github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -171,6 +174,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/forgoer/openssl v1.6.0 h1:IueL+UfH0hKo99xFPojHLlO3QzRBQqFY+Cht0WwtOC0= github.com/forgoer/openssl v1.6.0/go.mod h1:9DZ4yOsQmveP0aXC/BpQ++Y5TKaz5yR9+emcxmIZNZs= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= @@ -236,6 +241,7 @@ github.com/go-playground/validator/v10 v10.9.0 h1:NgTtmN58D0m8+UuxtYmGztBJB7VnPg github.com/go-playground/validator/v10 v10.9.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= github.com/go-redis/redis/v8 v8.11.4 h1:kHoYkfZP6+pe04aFTnhDH6GDROa5yJdHJVNxV3F46Tg= github.com/go-redis/redis/v8 v8.11.4/go.mod h1:2Z2wHZXdQpCDXEGzqMockDpNyYvi2l4Pxt6RJr792+w= +github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= @@ -503,6 +509,8 @@ github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9 h1:sqDoxXbdeALODt0DAeJCVp38ps9ZogZEAXjus69YV3U= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -587,6 +595,10 @@ github.com/openzipkin/zipkin-go v0.2.2 h1:nY8Hti+WKaP0cRsSeQ026wU03QsM762XBeCXBb github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE= github.com/otiai10/copy v1.7.0/go.mod h1:rmRl6QPdJj6EiUqXQ/4Nn2lLXoNQjFCQbbNrxgc/t3U= +github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= +github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= +github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= +github.com/otiai10/mint v1.3.3/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= @@ -635,6 +647,8 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/qit-team/snow v1.2.4 h1:GFHcCJAgOnJ/rNp8Sde/TKcNSd34cf73g2t9oJbhzPs= +github.com/qit-team/snow v1.2.4/go.mod h1:4uqDUm4L9+qriJNXnaD1cA6/9aAQwHPX+Qwh4dp87yM= github.com/qit-team/snow-core v0.1.28 h1:RrX7i6GLbcMMSVzAT1lXgS/S3M2b1OrAnsoPaRGR4PI= github.com/qit-team/snow-core v0.1.28/go.mod h1:J9CNj6P2IRh72yVa7rut4T8ikq/4DjaisLqXZy40TNg= github.com/qit-team/work v0.3.11 h1:AAtLTCOJ01WMFcvviK9rDGhHzaHE3bvunMOnSZ/80k8= @@ -663,6 +677,8 @@ github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= @@ -719,6 +735,7 @@ github.com/swaggo/files v0.0.0-20190704085106-630677cd5c14/go.mod h1:gxQT6pBGRuI github.com/swaggo/gin-swagger v1.3.3 h1:XHyYmeNVFG5PbyWHG4jXtxOm2P4kiZapDCWsyDDiQ/I= github.com/swaggo/gin-swagger v1.3.3/go.mod h1:ymsZuGpbbu+S7ZoQ49QPpZoDBj6uqhb8WizgQPVgWl0= github.com/swaggo/swag v1.7.4/go.mod h1:zD8h6h4SPv7t3l+4BKdRquqW1ASWjKZgT6Qv9z3kNqI= +github.com/swaggo/swag v1.7.6/go.mod h1:7vLqNYEtYoIsD14wXgy9oDS65MNiDANrPtbk9rnLuj0= github.com/swaggo/swag v1.7.9 h1:6vCG5mm43ebDzGlZPMGYrYI4zKFfOr5kicQX8qjeDwc= github.com/swaggo/swag v1.7.9/go.mod h1:gZ+TJ2w/Ve1RwQsA2IRoSOTidHz6DX+PIG8GWvbnoLU= github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE= @@ -742,7 +759,9 @@ github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLY github.com/ugorji/go/codec v1.2.6 h1:7kbGefxLoDBuYXOms4yD7223OpNMMPNPZxXk5TvFcyQ= github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= @@ -918,6 +937,7 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= @@ -1029,6 +1049,7 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20181010134911-4d1c5fb19474/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=