From e825f42fd8c74a195694142d657293cbbcfdd073 Mon Sep 17 00:00:00 2001 From: XM-GO <93296511+XM-GO@users.noreply.github.com> Date: Fri, 28 Apr 2023 17:13:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/visual/api/visual_data_set_table.go | 94 +++++++++++++++---- apps/visual/entity/data_set.go | 28 ++++-- apps/visual/router/visual_data_set_table.go | 8 ++ apps/visual/services/visual_data_set_table.go | 8 ++ go.mod | 6 +- go.sum | 16 ---- 6 files changed, 115 insertions(+), 45 deletions(-) diff --git a/apps/visual/api/visual_data_set_table.go b/apps/visual/api/visual_data_set_table.go index f5ebd2f..66a7340 100644 --- a/apps/visual/api/visual_data_set_table.go +++ b/apps/visual/api/visual_data_set_table.go @@ -26,15 +26,18 @@ import ( type VisualDataSetTableApi struct { VisualDataSetTableApp services.VisualDataSetTableModel VisualDataSourceApp services.VisualDataSourceModel + VisualDataSetFieldApi services.VisualDataSetFieldModel } +var ColumnTypeStr = []string{"delete_time", "update_time"} + // GetVisualDataSetTableList DataSetTable列表数据 func (p *VisualDataSetTableApi) GetVisualDataSetTableList(rc *restfulx.ReqCtx) { data := entity.VisualDataSetTable{} pageNum := restfulx.QueryInt(rc, "pageNum", 1) pageSize := restfulx.QueryInt(rc, "pageSize", 10) - data.Name = restfulx.QueryParam(rc, "sourceName") - data.TableType = restfulx.QueryParam(rc, "sourceType") + data.Name = restfulx.QueryParam(rc, "name") + data.TableType = restfulx.QueryParam(rc, "tableType") list, total := p.VisualDataSetTableApp.FindListPage(pageNum, pageSize, data) rc.ResData = model.ResultPage{ @@ -58,26 +61,41 @@ func (p *VisualDataSetTableApi) InsertVisualDataSetTable(rc *restfulx.ReqCtx) { data.TableId = kgo.KStr.Uniqid("px") p.VisualDataSetTableApp.Insert(data) // 协程执行添加字段 - /*go func() { + go func() { info := make(map[string]string) err := json.Unmarshal([]byte(data.Info), &info) if err != nil { return } + // 保存 excel field + if data.TableType == "excel" { + filePath := info["filePath"] + _, datas := tool.ReadExcel(filePath) + field := getDataSetField(datas) + if field != nil { + field.TableId = data.TableId + p.VisualDataSetFieldApi.Insert(*field) + } + return + } + one := p.VisualDataSourceApp.FindOne(data.DataSourceId) + instance := driver.NewDbInstance(one) + sql := "" if data.TableType == "db" { - instance := driver.NewDbInstance(one) - instance.GetMeta().GetColumns(info["table"]) + sql = fmt.Sprintf(`select * from %s LIMIT 1`, info["table"]) } if data.TableType == "sql" { - + sql = info["sql"] + " LIMIT 1" } + _, datas, err := instance.SelectData(sql) + field := getDataSetField(datas) + if field != nil { + field.TableId = data.TableId + p.VisualDataSetFieldApi.Insert(*field) + } + }() - }()*/ - /*entity.VisualDataSetField{ - TableId: data.TableId, - - }*/ } // UpdateVisualDataSetTable 修改DataSetTable @@ -114,12 +132,11 @@ func (p *VisualDataSetTableApi) GetVisualDataSetTableResult(rc *restfulx.ReqCtx) instance := driver.NewDbInstance(one) var sql string if dsr.Type == "db" { - sql = fmt.Sprintf(`select * from %s LIMIT 20`, info["table"]) + sql = fmt.Sprintf(`select * from %s LIMIT 10`, info["table"]) } if dsr.Type == "sql" { - sql = info["sql"] + " LIMIT 20" + sql = info["sql"] + " LIMIT 10" } - log.Println(sql) fields, data, err := instance.SelectData(sql) biz.ErrIsNil(err, "查询表信息失败") rc.ResData = entity.VisualDataSetRes{ @@ -145,6 +162,51 @@ func (p *VisualDataSetTableApi) GetVisualDataSetTableByExcelResult(rc *restfulx. rc.ResData = dst } -func GetDataSetTableFun() { - +func (p *VisualDataSetTableApi) GetDataSetTableFun(rc *restfulx.ReqCtx) { + sourceId := restfulx.QueryParam(rc, "sourceId") + one := p.VisualDataSourceApp.FindOne(sourceId) + log.Println(one.SourceType) + rc.ResData = p.VisualDataSetTableApp.FindFunList(one.SourceType) +} + +func getDataSetField(datas []map[string]interface{}) *entity.VisualDataSetField { + field := new(entity.VisualDataSetField) + if len(datas) > 0 { + for k, v := range datas[0] { + if needDelete(k) { + continue + } + field.FieldId = kgo.KStr.Uniqid("px") + field.Name = k + field.DeName = k + switch v.(type) { + case int64, float64: + field.DeType = "2" + field.GroupType = "q" + case time.Time: + field.DeType = "1" + field.GroupType = "d" + default: + field.DeType = "0" + field.GroupType = "d" + } + } + } + return field +} + +func needDelete(name string) bool { + if strings.Contains(name, "id") || strings.Contains(name, "Id") { + return true + } + return isExistInArray(name, ColumnTypeStr) +} + +func isExistInArray(value string, array []string) bool { + for _, v := range array { + if v == value { + return true + } + } + return false } diff --git a/apps/visual/entity/data_set.go b/apps/visual/entity/data_set.go index 5c4e297..8d674a3 100644 --- a/apps/visual/entity/data_set.go +++ b/apps/visual/entity/data_set.go @@ -19,16 +19,13 @@ func (VisualDataSetTable) TableName() string { type VisualDataSetField struct { model.BaseModelD - FieldId string `gorm:"primary_key;fieldId;comment:表id" json:"fieldId"` - TableId string `gorm:"tableId;type:varchar(64);comment:表id" json:"tableId"` - Comment string `gorm:"comment;type:varchar(64);comment:字段描述" json:"columnComment"` // 列描述 - Name string `gorm:"name;type:varchar(64);comment:字段名" json:"name"` - GroupType string `gorm:"group_type;type:varchar(1);comment:字段分组类型" json:"groupType"` //d 维度 g - OriginName string `gorm:"origin_name;type:varchar(50);comment:原始字段名" json:"originName"` - OriginType string `gorm:"origin_type;type:varchar(50);comment:原始字段类型" json:"originType"` - DeType int `gorm:"de_type;type:varchar(50);comment:数据源字段类型:0-文本,1-时间,2-数值(包括小数)" json:"deType"` - DeName string `gorm:"de_name;type:varchar(50);comment:数据源查询名" json:"deName"` - ExtField int `gorm:"ext_field;type:int;comment:是否扩展字段 0否 1是" json:"extField"` + FieldId string `gorm:"primary_key;fieldId;comment:表id" json:"fieldId"` + TableId string `gorm:"tableId;type:varchar(64);comment:表id" json:"tableId"` + Name string `gorm:"name;type:varchar(64);comment:字段描述" json:"name"` + GroupType string `gorm:"group_type;type:varchar(1);comment:字段分组类型" json:"groupType"` //d 维度 g + DeType string `gorm:"de_type;type:varchar(1);comment:数据源字段类型:0-文本,1-时间,2-数值(包括小数)" json:"deType"` + DeName string `gorm:"de_name;type:varchar(50);comment:数据源查询名" json:"deName"` + ExtField string `gorm:"ext_field;type:varchar(1);comment:是否扩展字段 0否 1是" json:"extField"` } func (VisualDataSetField) TableName() string { @@ -45,3 +42,14 @@ type VisualDataSetRequest struct { Info string `json:"info"` Type string `json:"type"` } + +type VisualDataSetTableFun struct { + Name string `gorm:"name;type:varchar(64);comment:函数名" json:"name"` + DbType string `gorm:"db_type;type:varchar(50);comment:数据库类型" json:"dbType"` //d 维度 g + Func string `gorm:"func;type:varchar(64);comment:函数" json:"func"` + Desc string `gorm:"desc;type:varchar(255);comment:描述" json:"desc"` +} + +func (VisualDataSetTableFun) TableName() string { + return "visual_data_set_table_function" +} diff --git a/apps/visual/router/visual_data_set_table.go b/apps/visual/router/visual_data_set_table.go index 7baeb87..66f67a2 100644 --- a/apps/visual/router/visual_data_set_table.go +++ b/apps/visual/router/visual_data_set_table.go @@ -20,6 +20,7 @@ func InitVisualDataSetTableRouter(container *restful.Container) { s := &api.VisualDataSetTableApi{ VisualDataSetTableApp: services.VisualDataSetTableModelDao, VisualDataSourceApp: services.VisualDataSourceModelDao, + VisualDataSetFieldApi: services.VisualDataSetFieldModelDao, } ws := new(restful.WebService) @@ -83,5 +84,12 @@ func InitVisualDataSetTableRouter(container *restful.Container) { Metadata(restfulspec.KeyOpenAPITags, tags). Returns(200, "OK", entity.VisualDataSetRes{})) + ws.Route(ws.GET("/list/func").To(func(request *restful.Request, response *restful.Response) { + restfulx.NewReqCtx(request, response).WithNeedCasbin(false).WithLog("获取函数列表").Handle(s.GetDataSetTableFun) + }). + Doc("获取函数列表"). + Param(ws.QueryParameter("sourceId", "数据源Id").Required(true).DataType("string")). + Metadata(restfulspec.KeyOpenAPITags, tags)) + container.Add(ws) } diff --git a/apps/visual/services/visual_data_set_table.go b/apps/visual/services/visual_data_set_table.go index f515301..8e8861c 100644 --- a/apps/visual/services/visual_data_set_table.go +++ b/apps/visual/services/visual_data_set_table.go @@ -20,6 +20,8 @@ type ( FindList(data entity.VisualDataSetTable) *[]entity.VisualDataSetTable Update(data entity.VisualDataSetTable) *entity.VisualDataSetTable Delete(tableIds []string) + + FindFunList(dbType string) *[]entity.VisualDataSetTableFun } datasettableModelImpl struct { @@ -85,3 +87,9 @@ func (m *datasettableModelImpl) Update(data entity.VisualDataSetTable) *entity.V func (m *datasettableModelImpl) Delete(tableIds []string) { biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.VisualDataSetTable{}, "table_id in (?)", tableIds).Error, "删除数据集表失败") } + +func (m *datasettableModelImpl) FindFunList(dbType string) *[]entity.VisualDataSetTableFun { + list := make([]entity.VisualDataSetTableFun, 0) + biz.ErrIsNil(global.Db.Table("visual_data_set_table_function").Where("db_type = ?", dbType).Find(&list).Error, "查询数据函数列表失败") + return &list +} diff --git a/go.mod b/go.mod index ba627d4..d154ae3 100644 --- a/go.mod +++ b/go.mod @@ -12,16 +12,19 @@ require ( github.com/emicklei/go-restful-openapi/v2 v2.9.0 github.com/emicklei/go-restful/v3 v3.9.0 github.com/go-openapi/spec v0.20.6 + github.com/go-sql-driver/mysql v1.7.0 github.com/google/uuid v1.3.0 github.com/gorilla/websocket v1.4.2 github.com/jordan-wright/email v4.0.1-0.20210109023952-943e75fe5223+incompatible github.com/kakuilan/kgo v0.1.8 + github.com/lib/pq v1.10.4 github.com/mitchellh/mapstructure v1.5.0 github.com/mssola/user_agent v0.5.3 github.com/nats-io/nats.go v1.25.0 github.com/robfig/cron/v3 v3.0.1 github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.5.0 + github.com/xuri/excelize/v2 v2.7.1 golang.org/x/crypto v0.8.0 google.golang.org/grpc v1.48.0 gorm.io/gorm v1.22.3 @@ -46,7 +49,6 @@ require ( github.com/go-openapi/swag v0.19.15 // indirect github.com/go-redis/redis v6.15.9+incompatible // indirect github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect - github.com/go-sql-driver/mysql v1.7.0 // indirect github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect github.com/golang/protobuf v1.5.2 // indirect @@ -75,7 +77,6 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.16.0 // indirect - github.com/lib/pq v1.10.4 // indirect github.com/mailru/easyjson v0.7.6 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect @@ -96,7 +97,6 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/tencentyun/cos-go-sdk-v5 v0.7.33 // indirect github.com/xuri/efp v0.0.0-20220603152613-6918739fd470 // indirect - github.com/xuri/excelize/v2 v2.7.1 // indirect github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22 // indirect golang.org/x/image v0.5.0 // indirect golang.org/x/net v0.9.0 // indirect diff --git a/go.sum b/go.sum index 6c906d3..3e1603e 100644 --- a/go.sum +++ b/go.sum @@ -111,7 +111,6 @@ github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8w github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU= github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= @@ -329,11 +328,8 @@ github.com/qiniu/go-sdk/v7 v7.11.0/go.mod h1:btsaOc8CA3hdVloULfFdDgDc+g4f3TDZEFs github.com/qiniu/x v1.10.5/go.mod h1:03Ni9tj+N2h2aKnAz+6N0Xfl8FwMEDRC2PAlxekASDs= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/richardlehane/mscfb v1.0.3 h1:rD8TBkYWkObWO0oLDFCbwMeZ4KoalxQy+QgniCj3nKI= -github.com/richardlehane/mscfb v1.0.3/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk= github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM= github.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk= -github.com/richardlehane/msoleps v1.0.1 h1:RfrALnSNXzmXLbGct/P2b4xkFz4e8Gmj/0Vj9M9xC1o= github.com/richardlehane/msoleps v1.0.1/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= github.com/richardlehane/msoleps v1.0.3 h1:aznSZzrwYRl3rLKRT3gUk9am7T/mLNSnJINvN0AQoVM= github.com/richardlehane/msoleps v1.0.3/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= @@ -378,12 +374,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.194/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.194/go.mod h1:yrBKWhChnDqNz1xuXdSbWXG56XawEq0G5j1lg4VwBD4= github.com/tencentyun/cos-go-sdk-v5 v0.7.33 h1:5jmJU7U/1nf/7ZPDkrUL8KlF1oDUzTHsdtLNY6x0hq4= github.com/tencentyun/cos-go-sdk-v5 v0.7.33/go.mod h1:4E4+bQ2gBVJcgEC9Cufwylio4mXOct2iu05WjgEBx1o= -github.com/xuri/efp v0.0.0-20210322160811-ab561f5b45e3 h1:EpI0bqf/eX9SdZDwlMmahKM+CDBgNbsXMhsN28XrM8o= -github.com/xuri/efp v0.0.0-20210322160811-ab561f5b45e3/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI= github.com/xuri/efp v0.0.0-20220603152613-6918739fd470 h1:6932x8ltq1w4utjmfMPVj09jdMlkY0aiA6+Skbtl3/c= github.com/xuri/efp v0.0.0-20220603152613-6918739fd470/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI= -github.com/xuri/excelize/v2 v2.4.1 h1:veeeFLAJwsNEBPBlDepzPIYS1eLyBVcXNZUW79exZ1E= -github.com/xuri/excelize/v2 v2.4.1/go.mod h1:rSu0C3papjzxQA3sdK8cU544TebhrPUoTOaGPIh0Q1A= github.com/xuri/excelize/v2 v2.7.1 h1:gm8q0UCAyaTt3MEF5wWMjVdmthm2EHAWesGSKS9tdVI= github.com/xuri/excelize/v2 v2.7.1/go.mod h1:qc0+2j4TvAUrBw36ATtcTeC1VCM0fFdAXZOmcF4nTpY= github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22 h1:OAmKAfT06//esDdpi/DZ8Qsdt4+M5+ltca05dA5bG2M= @@ -415,14 +407,10 @@ golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc= -golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ= golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/image v0.0.0-20190501045829-6d32002ffd75/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb h1:fqpd0EBDzlHRCjiphRR5Zo/RSWWQlWv34418dnEixWk= -golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI= golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -447,11 +435,9 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= -golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220725212005-46097bf591d3/go.mod h1:AaygXjzTFtRAg2ttMY5RMuhpJ3cNnI0XpyFJD1iQRSM= -golang.org/x/net v0.6.0 h1:L4ZwwTvKW9gr0ZMS1yrHD9GZhIuVjOBBnaKH+SPQK0Q= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= @@ -493,7 +479,6 @@ golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -509,7 +494,6 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=