diff --git a/Makefile b/Makefile index 302d83d..bf9041c 100644 --- a/Makefile +++ b/Makefile @@ -24,4 +24,16 @@ lint: .PHONY: proto proto: - @buf generate \ No newline at end of file + @buf generate + +.PHONY: mup +mup: + @go run . migrate up + +.PHONY: mdown +mdown: + @go run . migrate down + +.PHONY: model +model: + @go run . model \ No newline at end of file diff --git a/database/migrations/20230131_160904_create_user.go b/database/migrations/20230131_160904_create_user.go new file mode 100755 index 0000000..b076e54 --- /dev/null +++ b/database/migrations/20230131_160904_create_user.go @@ -0,0 +1,56 @@ +package migrations + +import ( + "atom/container" + "atom/contracts" + "atom/providers/log" + + "github.com/gofrs/uuid" + "go.uber.org/dig" + "gorm.io/gorm" +) + +func init() { + if err := container.Container.Provide(New20230131_160904CreateUserMigration, dig.Group("migrations")); err != nil { + log.Fatal(err) + } +} + +type Migration20230131_160904CreateUser struct { + id string +} + +func New20230131_160904CreateUserMigration() contracts.Migration { + return &Migration20230131_160904CreateUser{id: "20230131_160904_create_user"} +} + +func (m *Migration20230131_160904CreateUser) ID() string { + return m.id +} + +func (m *Migration20230131_160904CreateUser) Up(tx *gorm.DB) error { + table := m.table() + return tx.AutoMigrate(&table) +} + +func (m *Migration20230131_160904CreateUser) Down(tx *gorm.DB) error { + return tx.Migrator().DropTable(m.table()) +} + +func (m *Migration20230131_160904CreateUser) table() interface{} { + type User struct { + gorm.Model + + UUID uuid.UUID `gorm:"index;comment:UUID"` + Username string `gorm:"index;comment:登录名"` + Password string `gorm:"comment:登录密码"` + Nickname string `gorm:"default:'';comment:昵称"` + Avatar string `gorm:"default:'';comment:头像"` + RoleID uint `gorm:"default:1;comment:角色ID"` + Phone string `gorm:"comment:手机号"` + Email string `gorm:"comment:邮箱"` + Status string `gorm:"default:ok;comment:用户状态"` // OK,BLOCKED,DISABLED, + } + + return User{} +} diff --git a/database/migrations/20230131_162400_create_sys_api.go b/database/migrations/20230131_162400_create_sys_api.go new file mode 100755 index 0000000..2bd5ee6 --- /dev/null +++ b/database/migrations/20230131_162400_create_sys_api.go @@ -0,0 +1,50 @@ +package migrations + +import ( + "atom/container" + "atom/contracts" + "atom/providers/log" + + "go.uber.org/dig" + "gorm.io/gorm" +) + +func init() { + if err := container.Container.Provide(New20230131_162400CreateSysApiMigration, dig.Group("migrations")); err != nil { + log.Fatal(err) + } +} + +type Migration20230131_162400CreateSysApi struct { + id string +} + +func New20230131_162400CreateSysApiMigration() contracts.Migration { + return &Migration20230131_162400CreateSysApi{id: "20230131_162400_create_sys_api"} +} + +func (m *Migration20230131_162400CreateSysApi) ID() string { + return m.id +} + +func (m *Migration20230131_162400CreateSysApi) Up(tx *gorm.DB) error { + table := m.table() + return tx.AutoMigrate(&table) +} + +func (m *Migration20230131_162400CreateSysApi) Down(tx *gorm.DB) error { + return tx.Migrator().DropTable(m.table()) +} + +func (m *Migration20230131_162400CreateSysApi) table() interface{} { + type SysApi struct { + gorm.Model + + Path string `gorm:"comment:路径"` + Description string `gorm:"comment:中文描述"` + ApiGroup string `gorm:"comment:组"` + Method string `gorm:"default:GET;comment:方法"` + } + + return SysApi{} +} diff --git a/database/migrations/20230131_165134_create_sys_dictionary.go b/database/migrations/20230131_165134_create_sys_dictionary.go new file mode 100755 index 0000000..83a2a0c --- /dev/null +++ b/database/migrations/20230131_165134_create_sys_dictionary.go @@ -0,0 +1,50 @@ +package migrations + +import ( + "atom/container" + "atom/contracts" + "atom/providers/log" + + "go.uber.org/dig" + "gorm.io/gorm" +) + +func init() { + if err := container.Container.Provide(New20230131_165134CreateSysDictionaryMigration, dig.Group("migrations")); err != nil { + log.Fatal(err) + } +} + +type Migration20230131_165134CreateSysDictionary struct { + id string +} + +func New20230131_165134CreateSysDictionaryMigration() contracts.Migration { + return &Migration20230131_165134CreateSysDictionary{id: "20230131_165134_create_sys_dictionary"} +} + +func (m *Migration20230131_165134CreateSysDictionary) ID() string { + return m.id +} + +func (m *Migration20230131_165134CreateSysDictionary) Up(tx *gorm.DB) error { + table := m.table() + return tx.AutoMigrate(&table) +} + +func (m *Migration20230131_165134CreateSysDictionary) Down(tx *gorm.DB) error { + return tx.Migrator().DropTable(m.table()) +} + +func (m *Migration20230131_165134CreateSysDictionary) table() interface{} { + type SysDictionary struct { + gorm.Model + + Name string `gorm:"column:name;comment:字典名(中)"` // 字典名(中) + Type string `gorm:"column:type;comment:字典名(英)"` // 字典名(英) + Status *bool `gorm:"column:status;comment:状态"` // 状态 + Desc string `gorm:"column:desc;comment:描述"` // 描述 + } + + return SysDictionary{} +} diff --git a/database/migrations/20230131_165218_create_sys_dictionary_detail.go b/database/migrations/20230131_165218_create_sys_dictionary_detail.go new file mode 100755 index 0000000..2fd9350 --- /dev/null +++ b/database/migrations/20230131_165218_create_sys_dictionary_detail.go @@ -0,0 +1,51 @@ +package migrations + +import ( + "atom/container" + "atom/contracts" + "atom/providers/log" + + "go.uber.org/dig" + "gorm.io/gorm" +) + +func init() { + if err := container.Container.Provide(New20230131_165218CreateSysDictionaryDetailMigration, dig.Group("migrations")); err != nil { + log.Fatal(err) + } +} + +type Migration20230131_165218CreateSysDictionaryDetail struct { + id string +} + +func New20230131_165218CreateSysDictionaryDetailMigration() contracts.Migration { + return &Migration20230131_165218CreateSysDictionaryDetail{id: "20230131_165218_create_sys_dictionary_detail"} +} + +func (m *Migration20230131_165218CreateSysDictionaryDetail) ID() string { + return m.id +} + +func (m *Migration20230131_165218CreateSysDictionaryDetail) Up(tx *gorm.DB) error { + table := m.table() + return tx.AutoMigrate(&table) +} + +func (m *Migration20230131_165218CreateSysDictionaryDetail) Down(tx *gorm.DB) error { + return tx.Migrator().DropTable(m.table()) +} + +func (m *Migration20230131_165218CreateSysDictionaryDetail) table() interface{} { + type SysDictionaryDetail struct { + gorm.Model + + Label string `gorm:"column:label;comment:展示值"` // 展示值 + Value int `gorm:"column:value;comment:字典值"` // 字典值 + Status *bool `gorm:"column:status;comment:启用状态"` // 启用状态 + Sort int `gorm:"column:sort;comment:排序标记"` // 排序标记 + SysDictionaryID int `gorm:"column:sys_dictionary_id;comment:关联标记"` // 关联标记 + } + + return SysDictionaryDetail{} +} diff --git a/database/migrations/20230131_165352_create_user_role.go b/database/migrations/20230131_165352_create_user_role.go new file mode 100755 index 0000000..7c3d3b3 --- /dev/null +++ b/database/migrations/20230131_165352_create_user_role.go @@ -0,0 +1,46 @@ +package migrations + +import ( + "atom/container" + "atom/contracts" + "atom/providers/log" + + "go.uber.org/dig" + "gorm.io/gorm" +) + +func init() { + if err := container.Container.Provide(New20230131_165352CreateUserRoleMigration, dig.Group("migrations")); err != nil { + log.Fatal(err) + } +} + +type Migration20230131_165352CreateUserRole struct { + id string +} + +func New20230131_165352CreateUserRoleMigration() contracts.Migration { + return &Migration20230131_165352CreateUserRole{id: "20230131_165352_create_user_role"} +} + +func (m *Migration20230131_165352CreateUserRole) ID() string { + return m.id +} + +func (m *Migration20230131_165352CreateUserRole) Up(tx *gorm.DB) error { + table := m.table() + return tx.AutoMigrate(&table) +} + +func (m *Migration20230131_165352CreateUserRole) Down(tx *gorm.DB) error { + return tx.Migrator().DropTable(m.table()) +} + +func (m *Migration20230131_165352CreateUserRole) table() interface{} { + type UserRole struct { + UserID uint `gorm:"column:user_id"` + RoleID uint `gorm:"column:role_id"` + } + + return UserRole{} +} diff --git a/database/migrations/20230131_165509_create_sys_role.go b/database/migrations/20230131_165509_create_sys_role.go new file mode 100755 index 0000000..db6dfc7 --- /dev/null +++ b/database/migrations/20230131_165509_create_sys_role.go @@ -0,0 +1,50 @@ +package migrations + +import ( + "atom/container" + "atom/contracts" + "atom/providers/log" + + "go.uber.org/dig" + "gorm.io/gorm" +) + +func init() { + if err := container.Container.Provide(New20230131_165509CreateSysRoleMigration, dig.Group("migrations")); err != nil { + log.Fatal(err) + } +} + +type Migration20230131_165509CreateSysRole struct { + id string +} + +func New20230131_165509CreateSysRoleMigration() contracts.Migration { + return &Migration20230131_165509CreateSysRole{id: "20230131_165509_create_sys_role"} +} + +func (m *Migration20230131_165509CreateSysRole) ID() string { + return m.id +} + +func (m *Migration20230131_165509CreateSysRole) Up(tx *gorm.DB) error { + table := m.table() + return tx.AutoMigrate(&table) +} + +func (m *Migration20230131_165509CreateSysRole) Down(tx *gorm.DB) error { + return tx.Migrator().DropTable(m.table()) +} + +func (m *Migration20230131_165509CreateSysRole) table() interface{} { + type SysRole struct { + gorm.Model + + Alias string `gorm:"not null;unique;primary_key;comment:角色Alias;size:90"` // 角色ID + Name string `gorm:"comment:角色名"` // 角色名 + ParentId *uint `gorm:"comment:父角色ID"` // 父角色ID + DefaultRouter string `gorm:"comment:默认菜单;default:dashboard"` // 默认菜单(默认dashboard) + } + + return SysRole{} +} diff --git a/database/models/sys_apis.gen.go b/database/models/sys_apis.gen.go new file mode 100644 index 0000000..db92bf5 --- /dev/null +++ b/database/models/sys_apis.gen.go @@ -0,0 +1,30 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package models + +import ( + "time" + + "gorm.io/gorm" +) + +const TableNameSysAPI = "sys_apis" + +// SysAPI mapped from table +type SysAPI struct { + ID uint64 `gorm:"column:id;type:bigint(20) unsigned;primaryKey;autoIncrement:true" json:"id"` + CreatedAt time.Time `gorm:"column:created_at;type:datetime(3)" json:"created_at"` + UpdatedAt time.Time `gorm:"column:updated_at;type:datetime(3)" json:"updated_at"` + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3)" json:"deleted_at"` + Path string `gorm:"column:path;type:varchar(191)" json:"path"` // 路径 + Description string `gorm:"column:description;type:varchar(191)" json:"description"` // 中文描述 + APIGroup string `gorm:"column:api_group;type:varchar(191)" json:"api_group"` // 组 + Method string `gorm:"column:method;type:varchar(191);default:GET" json:"method"` // 方法 +} + +// TableName SysAPI's table name +func (*SysAPI) TableName() string { + return TableNameSysAPI +} diff --git a/database/models/sys_dictionaries.gen.go b/database/models/sys_dictionaries.gen.go new file mode 100644 index 0000000..3e7bbf3 --- /dev/null +++ b/database/models/sys_dictionaries.gen.go @@ -0,0 +1,30 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package models + +import ( + "time" + + "gorm.io/gorm" +) + +const TableNameSysDictionary = "sys_dictionaries" + +// SysDictionary mapped from table +type SysDictionary struct { + ID uint64 `gorm:"column:id;type:bigint(20) unsigned;primaryKey;autoIncrement:true" json:"id"` + CreatedAt time.Time `gorm:"column:created_at;type:datetime(3)" json:"created_at"` + UpdatedAt time.Time `gorm:"column:updated_at;type:datetime(3)" json:"updated_at"` + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3)" json:"deleted_at"` + Name string `gorm:"column:name;type:varchar(191)" json:"name"` // 字典名(中) + Type string `gorm:"column:type;type:varchar(191)" json:"type"` // 字典名(英) + Status bool `gorm:"column:status;type:tinyint(1)" json:"status"` // 状态 + Desc string `gorm:"column:desc;type:varchar(191)" json:"desc"` // 描述 +} + +// TableName SysDictionary's table name +func (*SysDictionary) TableName() string { + return TableNameSysDictionary +} diff --git a/database/models/sys_dictionary_details.gen.go b/database/models/sys_dictionary_details.gen.go new file mode 100644 index 0000000..0a40ec2 --- /dev/null +++ b/database/models/sys_dictionary_details.gen.go @@ -0,0 +1,31 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package models + +import ( + "time" + + "gorm.io/gorm" +) + +const TableNameSysDictionaryDetail = "sys_dictionary_details" + +// SysDictionaryDetail mapped from table +type SysDictionaryDetail struct { + ID uint64 `gorm:"column:id;type:bigint(20) unsigned;primaryKey;autoIncrement:true" json:"id"` + CreatedAt time.Time `gorm:"column:created_at;type:datetime(3)" json:"created_at"` + UpdatedAt time.Time `gorm:"column:updated_at;type:datetime(3)" json:"updated_at"` + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3)" json:"deleted_at"` + Label string `gorm:"column:label;type:varchar(191)" json:"label"` // 展示值 + Value int64 `gorm:"column:value;type:bigint(20)" json:"value"` // 字典值 + Status bool `gorm:"column:status;type:tinyint(1)" json:"status"` // 启用状态 + Sort int64 `gorm:"column:sort;type:bigint(20)" json:"sort"` // 排序标记 + SysDictionaryID int64 `gorm:"column:sys_dictionary_id;type:bigint(20)" json:"sys_dictionary_id"` // 关联标记 +} + +// TableName SysDictionaryDetail's table name +func (*SysDictionaryDetail) TableName() string { + return TableNameSysDictionaryDetail +} diff --git a/database/models/sys_roles.gen.go b/database/models/sys_roles.gen.go new file mode 100644 index 0000000..702398a --- /dev/null +++ b/database/models/sys_roles.gen.go @@ -0,0 +1,30 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package models + +import ( + "time" + + "gorm.io/gorm" +) + +const TableNameSysRole = "sys_roles" + +// SysRole mapped from table +type SysRole struct { + ID uint64 `gorm:"column:id;type:bigint(20) unsigned;primaryKey;autoIncrement:true" json:"id"` + CreatedAt time.Time `gorm:"column:created_at;type:datetime(3)" json:"created_at"` + UpdatedAt time.Time `gorm:"column:updated_at;type:datetime(3)" json:"updated_at"` + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3)" json:"deleted_at"` + Alias_ string `gorm:"column:alias;type:varchar(90);primaryKey" json:"alias"` // 角色Alias + Name string `gorm:"column:name;type:varchar(191)" json:"name"` // 角色名 + ParentID uint64 `gorm:"column:parent_id;type:bigint(20) unsigned" json:"parent_id"` // 父角色ID + DefaultRouter string `gorm:"column:default_router;type:varchar(191);default:dashboard" json:"default_router"` // 默认菜单 +} + +// TableName SysRole's table name +func (*SysRole) TableName() string { + return TableNameSysRole +} diff --git a/database/models/user_roles.gen.go b/database/models/user_roles.gen.go new file mode 100644 index 0000000..9e150a1 --- /dev/null +++ b/database/models/user_roles.gen.go @@ -0,0 +1,18 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package models + +const TableNameUserRole = "user_roles" + +// UserRole mapped from table +type UserRole struct { + UserID uint64 `gorm:"column:user_id;type:bigint(20) unsigned" json:"user_id"` + RoleID uint64 `gorm:"column:role_id;type:bigint(20) unsigned" json:"role_id"` +} + +// TableName UserRole's table name +func (*UserRole) TableName() string { + return TableNameUserRole +} diff --git a/database/models/users.gen.go b/database/models/users.gen.go new file mode 100644 index 0000000..38ddbd7 --- /dev/null +++ b/database/models/users.gen.go @@ -0,0 +1,35 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package models + +import ( + "time" + + "gorm.io/gorm" +) + +const TableNameUser = "users" + +// User mapped from table +type User struct { + ID uint64 `gorm:"column:id;type:bigint(20) unsigned;primaryKey;autoIncrement:true" json:"id"` + CreatedAt time.Time `gorm:"column:created_at;type:datetime(3)" json:"created_at"` + UpdatedAt time.Time `gorm:"column:updated_at;type:datetime(3)" json:"updated_at"` + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3)" json:"deleted_at"` + UUID string `gorm:"column:uuid;type:varchar(191)" json:"uuid"` // UUID + Username string `gorm:"column:username;type:varchar(191)" json:"username"` // 登录名 + Password string `gorm:"column:password;type:varchar(191)" json:"password"` // 登录密码 + Nickname string `gorm:"column:nickname;type:varchar(191)" json:"nickname"` // 昵称 + Avatar string `gorm:"column:avatar;type:varchar(191)" json:"avatar"` // 头像 + RoleID uint64 `gorm:"column:role_id;type:bigint(20) unsigned;default:1" json:"role_id"` // 角色ID + Phone string `gorm:"column:phone;type:varchar(191)" json:"phone"` // 手机号 + Email string `gorm:"column:email;type:varchar(191)" json:"email"` // 邮箱 + Status string `gorm:"column:status;type:varchar(191);default:ok" json:"status"` // 用户状态 +} + +// TableName User's table name +func (*User) TableName() string { + return TableNameUser +} diff --git a/database/query/query.gen.go b/database/query/query.gen.go index 940797e..06922b7 100644 --- a/database/query/query.gen.go +++ b/database/query/query.gen.go @@ -16,39 +16,69 @@ import ( ) var ( - Q = new(Query) - Migration *migration - SysOperationRecord *sysOperationRecord + Q = new(Query) + Migration *migration + SysAPI *sysAPI + SysDictionary *sysDictionary + SysDictionaryDetail *sysDictionaryDetail + SysOperationRecord *sysOperationRecord + SysRole *sysRole + User *user + UserRole *userRole ) func SetDefault(db *gorm.DB, opts ...gen.DOOption) { *Q = *Use(db, opts...) Migration = &Q.Migration + SysAPI = &Q.SysAPI + SysDictionary = &Q.SysDictionary + SysDictionaryDetail = &Q.SysDictionaryDetail SysOperationRecord = &Q.SysOperationRecord + SysRole = &Q.SysRole + User = &Q.User + UserRole = &Q.UserRole } func Use(db *gorm.DB, opts ...gen.DOOption) *Query { return &Query{ - db: db, - Migration: newMigration(db, opts...), - SysOperationRecord: newSysOperationRecord(db, opts...), + db: db, + Migration: newMigration(db, opts...), + SysAPI: newSysAPI(db, opts...), + SysDictionary: newSysDictionary(db, opts...), + SysDictionaryDetail: newSysDictionaryDetail(db, opts...), + SysOperationRecord: newSysOperationRecord(db, opts...), + SysRole: newSysRole(db, opts...), + User: newUser(db, opts...), + UserRole: newUserRole(db, opts...), } } type Query struct { db *gorm.DB - Migration migration - SysOperationRecord sysOperationRecord + Migration migration + SysAPI sysAPI + SysDictionary sysDictionary + SysDictionaryDetail sysDictionaryDetail + SysOperationRecord sysOperationRecord + SysRole sysRole + User user + UserRole userRole } func (q *Query) Available() bool { return q.db != nil } func (q *Query) clone(db *gorm.DB) *Query { return &Query{ - db: db, - Migration: q.Migration.clone(db), - SysOperationRecord: q.SysOperationRecord.clone(db), + db: db, + Migration: q.Migration.clone(db), + SysAPI: q.SysAPI.clone(db), + SysDictionary: q.SysDictionary.clone(db), + SysDictionaryDetail: q.SysDictionaryDetail.clone(db), + SysOperationRecord: q.SysOperationRecord.clone(db), + SysRole: q.SysRole.clone(db), + User: q.User.clone(db), + UserRole: q.UserRole.clone(db), } } @@ -62,21 +92,39 @@ func (q *Query) WriteDB() *Query { func (q *Query) ReplaceDB(db *gorm.DB) *Query { return &Query{ - db: db, - Migration: q.Migration.replaceDB(db), - SysOperationRecord: q.SysOperationRecord.replaceDB(db), + db: db, + Migration: q.Migration.replaceDB(db), + SysAPI: q.SysAPI.replaceDB(db), + SysDictionary: q.SysDictionary.replaceDB(db), + SysDictionaryDetail: q.SysDictionaryDetail.replaceDB(db), + SysOperationRecord: q.SysOperationRecord.replaceDB(db), + SysRole: q.SysRole.replaceDB(db), + User: q.User.replaceDB(db), + UserRole: q.UserRole.replaceDB(db), } } type queryCtx struct { - Migration IMigrationDo - SysOperationRecord ISysOperationRecordDo + Migration IMigrationDo + SysAPI ISysAPIDo + SysDictionary ISysDictionaryDo + SysDictionaryDetail ISysDictionaryDetailDo + SysOperationRecord ISysOperationRecordDo + SysRole ISysRoleDo + User IUserDo + UserRole IUserRoleDo } func (q *Query) WithContext(ctx context.Context) *queryCtx { return &queryCtx{ - Migration: q.Migration.WithContext(ctx), - SysOperationRecord: q.SysOperationRecord.WithContext(ctx), + Migration: q.Migration.WithContext(ctx), + SysAPI: q.SysAPI.WithContext(ctx), + SysDictionary: q.SysDictionary.WithContext(ctx), + SysDictionaryDetail: q.SysDictionaryDetail.WithContext(ctx), + SysOperationRecord: q.SysOperationRecord.WithContext(ctx), + SysRole: q.SysRole.WithContext(ctx), + User: q.User.WithContext(ctx), + UserRole: q.UserRole.WithContext(ctx), } } diff --git a/database/query/sys_apis.gen.go b/database/query/sys_apis.gen.go new file mode 100644 index 0000000..f151799 --- /dev/null +++ b/database/query/sys_apis.gen.go @@ -0,0 +1,418 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package query + +import ( + "context" + + "gorm.io/gorm" + "gorm.io/gorm/clause" + "gorm.io/gorm/schema" + + "gorm.io/gen" + "gorm.io/gen/field" + + "gorm.io/plugin/dbresolver" + + "atom/database/models" +) + +func newSysAPI(db *gorm.DB, opts ...gen.DOOption) sysAPI { + _sysAPI := sysAPI{} + + _sysAPI.sysAPIDo.UseDB(db, opts...) + _sysAPI.sysAPIDo.UseModel(&models.SysAPI{}) + + tableName := _sysAPI.sysAPIDo.TableName() + _sysAPI.ALL = field.NewAsterisk(tableName) + _sysAPI.ID = field.NewUint64(tableName, "id") + _sysAPI.CreatedAt = field.NewTime(tableName, "created_at") + _sysAPI.UpdatedAt = field.NewTime(tableName, "updated_at") + _sysAPI.DeletedAt = field.NewField(tableName, "deleted_at") + _sysAPI.Path = field.NewString(tableName, "path") + _sysAPI.Description = field.NewString(tableName, "description") + _sysAPI.APIGroup = field.NewString(tableName, "api_group") + _sysAPI.Method = field.NewString(tableName, "method") + + _sysAPI.fillFieldMap() + + return _sysAPI +} + +type sysAPI struct { + sysAPIDo sysAPIDo + + ALL field.Asterisk + ID field.Uint64 + CreatedAt field.Time + UpdatedAt field.Time + DeletedAt field.Field + Path field.String // 路径 + Description field.String // 中文描述 + APIGroup field.String // 组 + Method field.String // 方法 + + fieldMap map[string]field.Expr +} + +func (s sysAPI) Table(newTableName string) *sysAPI { + s.sysAPIDo.UseTable(newTableName) + return s.updateTableName(newTableName) +} + +func (s sysAPI) As(alias string) *sysAPI { + s.sysAPIDo.DO = *(s.sysAPIDo.As(alias).(*gen.DO)) + return s.updateTableName(alias) +} + +func (s *sysAPI) updateTableName(table string) *sysAPI { + s.ALL = field.NewAsterisk(table) + s.ID = field.NewUint64(table, "id") + s.CreatedAt = field.NewTime(table, "created_at") + s.UpdatedAt = field.NewTime(table, "updated_at") + s.DeletedAt = field.NewField(table, "deleted_at") + s.Path = field.NewString(table, "path") + s.Description = field.NewString(table, "description") + s.APIGroup = field.NewString(table, "api_group") + s.Method = field.NewString(table, "method") + + s.fillFieldMap() + + return s +} + +func (s *sysAPI) WithContext(ctx context.Context) ISysAPIDo { return s.sysAPIDo.WithContext(ctx) } + +func (s sysAPI) TableName() string { return s.sysAPIDo.TableName() } + +func (s sysAPI) Alias() string { return s.sysAPIDo.Alias() } + +func (s *sysAPI) GetFieldByName(fieldName string) (field.OrderExpr, bool) { + _f, ok := s.fieldMap[fieldName] + if !ok || _f == nil { + return nil, false + } + _oe, ok := _f.(field.OrderExpr) + return _oe, ok +} + +func (s *sysAPI) fillFieldMap() { + s.fieldMap = make(map[string]field.Expr, 8) + s.fieldMap["id"] = s.ID + s.fieldMap["created_at"] = s.CreatedAt + s.fieldMap["updated_at"] = s.UpdatedAt + s.fieldMap["deleted_at"] = s.DeletedAt + s.fieldMap["path"] = s.Path + s.fieldMap["description"] = s.Description + s.fieldMap["api_group"] = s.APIGroup + s.fieldMap["method"] = s.Method +} + +func (s sysAPI) clone(db *gorm.DB) sysAPI { + s.sysAPIDo.ReplaceConnPool(db.Statement.ConnPool) + return s +} + +func (s sysAPI) replaceDB(db *gorm.DB) sysAPI { + s.sysAPIDo.ReplaceDB(db) + return s +} + +type sysAPIDo struct{ gen.DO } + +type ISysAPIDo interface { + gen.SubQuery + Debug() ISysAPIDo + WithContext(ctx context.Context) ISysAPIDo + WithResult(fc func(tx gen.Dao)) gen.ResultInfo + ReplaceDB(db *gorm.DB) + ReadDB() ISysAPIDo + WriteDB() ISysAPIDo + As(alias string) gen.Dao + Session(config *gorm.Session) ISysAPIDo + Columns(cols ...field.Expr) gen.Columns + Clauses(conds ...clause.Expression) ISysAPIDo + Not(conds ...gen.Condition) ISysAPIDo + Or(conds ...gen.Condition) ISysAPIDo + Select(conds ...field.Expr) ISysAPIDo + Where(conds ...gen.Condition) ISysAPIDo + Order(conds ...field.Expr) ISysAPIDo + Distinct(cols ...field.Expr) ISysAPIDo + Omit(cols ...field.Expr) ISysAPIDo + Join(table schema.Tabler, on ...field.Expr) ISysAPIDo + LeftJoin(table schema.Tabler, on ...field.Expr) ISysAPIDo + RightJoin(table schema.Tabler, on ...field.Expr) ISysAPIDo + Group(cols ...field.Expr) ISysAPIDo + Having(conds ...gen.Condition) ISysAPIDo + Limit(limit int) ISysAPIDo + Offset(offset int) ISysAPIDo + Count() (count int64, err error) + Scopes(funcs ...func(gen.Dao) gen.Dao) ISysAPIDo + Unscoped() ISysAPIDo + Create(values ...*models.SysAPI) error + CreateInBatches(values []*models.SysAPI, batchSize int) error + Save(values ...*models.SysAPI) error + First() (*models.SysAPI, error) + Take() (*models.SysAPI, error) + Last() (*models.SysAPI, error) + Find() ([]*models.SysAPI, error) + FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.SysAPI, err error) + FindInBatches(result *[]*models.SysAPI, batchSize int, fc func(tx gen.Dao, batch int) error) error + Pluck(column field.Expr, dest interface{}) error + Delete(...*models.SysAPI) (info gen.ResultInfo, err error) + Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + Updates(value interface{}) (info gen.ResultInfo, err error) + UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + UpdateColumns(value interface{}) (info gen.ResultInfo, err error) + UpdateFrom(q gen.SubQuery) gen.Dao + Attrs(attrs ...field.AssignExpr) ISysAPIDo + Assign(attrs ...field.AssignExpr) ISysAPIDo + Joins(fields ...field.RelationField) ISysAPIDo + Preload(fields ...field.RelationField) ISysAPIDo + FirstOrInit() (*models.SysAPI, error) + FirstOrCreate() (*models.SysAPI, error) + FindByPage(offset int, limit int) (result []*models.SysAPI, count int64, err error) + ScanByPage(result interface{}, offset int, limit int) (count int64, err error) + Scan(result interface{}) (err error) + Returning(value interface{}, columns ...string) ISysAPIDo + UnderlyingDB() *gorm.DB + schema.Tabler +} + +func (s sysAPIDo) Debug() ISysAPIDo { + return s.withDO(s.DO.Debug()) +} + +func (s sysAPIDo) WithContext(ctx context.Context) ISysAPIDo { + return s.withDO(s.DO.WithContext(ctx)) +} + +func (s sysAPIDo) ReadDB() ISysAPIDo { + return s.Clauses(dbresolver.Read) +} + +func (s sysAPIDo) WriteDB() ISysAPIDo { + return s.Clauses(dbresolver.Write) +} + +func (s sysAPIDo) Session(config *gorm.Session) ISysAPIDo { + return s.withDO(s.DO.Session(config)) +} + +func (s sysAPIDo) Clauses(conds ...clause.Expression) ISysAPIDo { + return s.withDO(s.DO.Clauses(conds...)) +} + +func (s sysAPIDo) Returning(value interface{}, columns ...string) ISysAPIDo { + return s.withDO(s.DO.Returning(value, columns...)) +} + +func (s sysAPIDo) Not(conds ...gen.Condition) ISysAPIDo { + return s.withDO(s.DO.Not(conds...)) +} + +func (s sysAPIDo) Or(conds ...gen.Condition) ISysAPIDo { + return s.withDO(s.DO.Or(conds...)) +} + +func (s sysAPIDo) Select(conds ...field.Expr) ISysAPIDo { + return s.withDO(s.DO.Select(conds...)) +} + +func (s sysAPIDo) Where(conds ...gen.Condition) ISysAPIDo { + return s.withDO(s.DO.Where(conds...)) +} + +func (s sysAPIDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) ISysAPIDo { + return s.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB())) +} + +func (s sysAPIDo) Order(conds ...field.Expr) ISysAPIDo { + return s.withDO(s.DO.Order(conds...)) +} + +func (s sysAPIDo) Distinct(cols ...field.Expr) ISysAPIDo { + return s.withDO(s.DO.Distinct(cols...)) +} + +func (s sysAPIDo) Omit(cols ...field.Expr) ISysAPIDo { + return s.withDO(s.DO.Omit(cols...)) +} + +func (s sysAPIDo) Join(table schema.Tabler, on ...field.Expr) ISysAPIDo { + return s.withDO(s.DO.Join(table, on...)) +} + +func (s sysAPIDo) LeftJoin(table schema.Tabler, on ...field.Expr) ISysAPIDo { + return s.withDO(s.DO.LeftJoin(table, on...)) +} + +func (s sysAPIDo) RightJoin(table schema.Tabler, on ...field.Expr) ISysAPIDo { + return s.withDO(s.DO.RightJoin(table, on...)) +} + +func (s sysAPIDo) Group(cols ...field.Expr) ISysAPIDo { + return s.withDO(s.DO.Group(cols...)) +} + +func (s sysAPIDo) Having(conds ...gen.Condition) ISysAPIDo { + return s.withDO(s.DO.Having(conds...)) +} + +func (s sysAPIDo) Limit(limit int) ISysAPIDo { + return s.withDO(s.DO.Limit(limit)) +} + +func (s sysAPIDo) Offset(offset int) ISysAPIDo { + return s.withDO(s.DO.Offset(offset)) +} + +func (s sysAPIDo) Scopes(funcs ...func(gen.Dao) gen.Dao) ISysAPIDo { + return s.withDO(s.DO.Scopes(funcs...)) +} + +func (s sysAPIDo) Unscoped() ISysAPIDo { + return s.withDO(s.DO.Unscoped()) +} + +func (s sysAPIDo) Create(values ...*models.SysAPI) error { + if len(values) == 0 { + return nil + } + return s.DO.Create(values) +} + +func (s sysAPIDo) CreateInBatches(values []*models.SysAPI, batchSize int) error { + return s.DO.CreateInBatches(values, batchSize) +} + +// Save : !!! underlying implementation is different with GORM +// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) +func (s sysAPIDo) Save(values ...*models.SysAPI) error { + if len(values) == 0 { + return nil + } + return s.DO.Save(values) +} + +func (s sysAPIDo) First() (*models.SysAPI, error) { + if result, err := s.DO.First(); err != nil { + return nil, err + } else { + return result.(*models.SysAPI), nil + } +} + +func (s sysAPIDo) Take() (*models.SysAPI, error) { + if result, err := s.DO.Take(); err != nil { + return nil, err + } else { + return result.(*models.SysAPI), nil + } +} + +func (s sysAPIDo) Last() (*models.SysAPI, error) { + if result, err := s.DO.Last(); err != nil { + return nil, err + } else { + return result.(*models.SysAPI), nil + } +} + +func (s sysAPIDo) Find() ([]*models.SysAPI, error) { + result, err := s.DO.Find() + return result.([]*models.SysAPI), err +} + +func (s sysAPIDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.SysAPI, err error) { + buf := make([]*models.SysAPI, 0, batchSize) + err = s.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { + defer func() { results = append(results, buf...) }() + return fc(tx, batch) + }) + return results, err +} + +func (s sysAPIDo) FindInBatches(result *[]*models.SysAPI, batchSize int, fc func(tx gen.Dao, batch int) error) error { + return s.DO.FindInBatches(result, batchSize, fc) +} + +func (s sysAPIDo) Attrs(attrs ...field.AssignExpr) ISysAPIDo { + return s.withDO(s.DO.Attrs(attrs...)) +} + +func (s sysAPIDo) Assign(attrs ...field.AssignExpr) ISysAPIDo { + return s.withDO(s.DO.Assign(attrs...)) +} + +func (s sysAPIDo) Joins(fields ...field.RelationField) ISysAPIDo { + for _, _f := range fields { + s = *s.withDO(s.DO.Joins(_f)) + } + return &s +} + +func (s sysAPIDo) Preload(fields ...field.RelationField) ISysAPIDo { + for _, _f := range fields { + s = *s.withDO(s.DO.Preload(_f)) + } + return &s +} + +func (s sysAPIDo) FirstOrInit() (*models.SysAPI, error) { + if result, err := s.DO.FirstOrInit(); err != nil { + return nil, err + } else { + return result.(*models.SysAPI), nil + } +} + +func (s sysAPIDo) FirstOrCreate() (*models.SysAPI, error) { + if result, err := s.DO.FirstOrCreate(); err != nil { + return nil, err + } else { + return result.(*models.SysAPI), nil + } +} + +func (s sysAPIDo) FindByPage(offset int, limit int) (result []*models.SysAPI, count int64, err error) { + result, err = s.Offset(offset).Limit(limit).Find() + if err != nil { + return + } + + if size := len(result); 0 < limit && 0 < size && size < limit { + count = int64(size + offset) + return + } + + count, err = s.Offset(-1).Limit(-1).Count() + return +} + +func (s sysAPIDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { + count, err = s.Count() + if err != nil { + return + } + + err = s.Offset(offset).Limit(limit).Scan(result) + return +} + +func (s sysAPIDo) Scan(result interface{}) (err error) { + return s.DO.Scan(result) +} + +func (s sysAPIDo) Delete(models ...*models.SysAPI) (result gen.ResultInfo, err error) { + return s.DO.Delete(models) +} + +func (s *sysAPIDo) withDO(do gen.Dao) *sysAPIDo { + s.DO = *do.(*gen.DO) + return s +} diff --git a/database/query/sys_dictionaries.gen.go b/database/query/sys_dictionaries.gen.go new file mode 100644 index 0000000..5aae4ef --- /dev/null +++ b/database/query/sys_dictionaries.gen.go @@ -0,0 +1,420 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package query + +import ( + "context" + + "gorm.io/gorm" + "gorm.io/gorm/clause" + "gorm.io/gorm/schema" + + "gorm.io/gen" + "gorm.io/gen/field" + + "gorm.io/plugin/dbresolver" + + "atom/database/models" +) + +func newSysDictionary(db *gorm.DB, opts ...gen.DOOption) sysDictionary { + _sysDictionary := sysDictionary{} + + _sysDictionary.sysDictionaryDo.UseDB(db, opts...) + _sysDictionary.sysDictionaryDo.UseModel(&models.SysDictionary{}) + + tableName := _sysDictionary.sysDictionaryDo.TableName() + _sysDictionary.ALL = field.NewAsterisk(tableName) + _sysDictionary.ID = field.NewUint64(tableName, "id") + _sysDictionary.CreatedAt = field.NewTime(tableName, "created_at") + _sysDictionary.UpdatedAt = field.NewTime(tableName, "updated_at") + _sysDictionary.DeletedAt = field.NewField(tableName, "deleted_at") + _sysDictionary.Name = field.NewString(tableName, "name") + _sysDictionary.Type = field.NewString(tableName, "type") + _sysDictionary.Status = field.NewBool(tableName, "status") + _sysDictionary.Desc = field.NewString(tableName, "desc") + + _sysDictionary.fillFieldMap() + + return _sysDictionary +} + +type sysDictionary struct { + sysDictionaryDo sysDictionaryDo + + ALL field.Asterisk + ID field.Uint64 + CreatedAt field.Time + UpdatedAt field.Time + DeletedAt field.Field + Name field.String // 字典名(中) + Type field.String // 字典名(英) + Status field.Bool // 状态 + Desc field.String // 描述 + + fieldMap map[string]field.Expr +} + +func (s sysDictionary) Table(newTableName string) *sysDictionary { + s.sysDictionaryDo.UseTable(newTableName) + return s.updateTableName(newTableName) +} + +func (s sysDictionary) As(alias string) *sysDictionary { + s.sysDictionaryDo.DO = *(s.sysDictionaryDo.As(alias).(*gen.DO)) + return s.updateTableName(alias) +} + +func (s *sysDictionary) updateTableName(table string) *sysDictionary { + s.ALL = field.NewAsterisk(table) + s.ID = field.NewUint64(table, "id") + s.CreatedAt = field.NewTime(table, "created_at") + s.UpdatedAt = field.NewTime(table, "updated_at") + s.DeletedAt = field.NewField(table, "deleted_at") + s.Name = field.NewString(table, "name") + s.Type = field.NewString(table, "type") + s.Status = field.NewBool(table, "status") + s.Desc = field.NewString(table, "desc") + + s.fillFieldMap() + + return s +} + +func (s *sysDictionary) WithContext(ctx context.Context) ISysDictionaryDo { + return s.sysDictionaryDo.WithContext(ctx) +} + +func (s sysDictionary) TableName() string { return s.sysDictionaryDo.TableName() } + +func (s sysDictionary) Alias() string { return s.sysDictionaryDo.Alias() } + +func (s *sysDictionary) GetFieldByName(fieldName string) (field.OrderExpr, bool) { + _f, ok := s.fieldMap[fieldName] + if !ok || _f == nil { + return nil, false + } + _oe, ok := _f.(field.OrderExpr) + return _oe, ok +} + +func (s *sysDictionary) fillFieldMap() { + s.fieldMap = make(map[string]field.Expr, 8) + s.fieldMap["id"] = s.ID + s.fieldMap["created_at"] = s.CreatedAt + s.fieldMap["updated_at"] = s.UpdatedAt + s.fieldMap["deleted_at"] = s.DeletedAt + s.fieldMap["name"] = s.Name + s.fieldMap["type"] = s.Type + s.fieldMap["status"] = s.Status + s.fieldMap["desc"] = s.Desc +} + +func (s sysDictionary) clone(db *gorm.DB) sysDictionary { + s.sysDictionaryDo.ReplaceConnPool(db.Statement.ConnPool) + return s +} + +func (s sysDictionary) replaceDB(db *gorm.DB) sysDictionary { + s.sysDictionaryDo.ReplaceDB(db) + return s +} + +type sysDictionaryDo struct{ gen.DO } + +type ISysDictionaryDo interface { + gen.SubQuery + Debug() ISysDictionaryDo + WithContext(ctx context.Context) ISysDictionaryDo + WithResult(fc func(tx gen.Dao)) gen.ResultInfo + ReplaceDB(db *gorm.DB) + ReadDB() ISysDictionaryDo + WriteDB() ISysDictionaryDo + As(alias string) gen.Dao + Session(config *gorm.Session) ISysDictionaryDo + Columns(cols ...field.Expr) gen.Columns + Clauses(conds ...clause.Expression) ISysDictionaryDo + Not(conds ...gen.Condition) ISysDictionaryDo + Or(conds ...gen.Condition) ISysDictionaryDo + Select(conds ...field.Expr) ISysDictionaryDo + Where(conds ...gen.Condition) ISysDictionaryDo + Order(conds ...field.Expr) ISysDictionaryDo + Distinct(cols ...field.Expr) ISysDictionaryDo + Omit(cols ...field.Expr) ISysDictionaryDo + Join(table schema.Tabler, on ...field.Expr) ISysDictionaryDo + LeftJoin(table schema.Tabler, on ...field.Expr) ISysDictionaryDo + RightJoin(table schema.Tabler, on ...field.Expr) ISysDictionaryDo + Group(cols ...field.Expr) ISysDictionaryDo + Having(conds ...gen.Condition) ISysDictionaryDo + Limit(limit int) ISysDictionaryDo + Offset(offset int) ISysDictionaryDo + Count() (count int64, err error) + Scopes(funcs ...func(gen.Dao) gen.Dao) ISysDictionaryDo + Unscoped() ISysDictionaryDo + Create(values ...*models.SysDictionary) error + CreateInBatches(values []*models.SysDictionary, batchSize int) error + Save(values ...*models.SysDictionary) error + First() (*models.SysDictionary, error) + Take() (*models.SysDictionary, error) + Last() (*models.SysDictionary, error) + Find() ([]*models.SysDictionary, error) + FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.SysDictionary, err error) + FindInBatches(result *[]*models.SysDictionary, batchSize int, fc func(tx gen.Dao, batch int) error) error + Pluck(column field.Expr, dest interface{}) error + Delete(...*models.SysDictionary) (info gen.ResultInfo, err error) + Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + Updates(value interface{}) (info gen.ResultInfo, err error) + UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + UpdateColumns(value interface{}) (info gen.ResultInfo, err error) + UpdateFrom(q gen.SubQuery) gen.Dao + Attrs(attrs ...field.AssignExpr) ISysDictionaryDo + Assign(attrs ...field.AssignExpr) ISysDictionaryDo + Joins(fields ...field.RelationField) ISysDictionaryDo + Preload(fields ...field.RelationField) ISysDictionaryDo + FirstOrInit() (*models.SysDictionary, error) + FirstOrCreate() (*models.SysDictionary, error) + FindByPage(offset int, limit int) (result []*models.SysDictionary, count int64, err error) + ScanByPage(result interface{}, offset int, limit int) (count int64, err error) + Scan(result interface{}) (err error) + Returning(value interface{}, columns ...string) ISysDictionaryDo + UnderlyingDB() *gorm.DB + schema.Tabler +} + +func (s sysDictionaryDo) Debug() ISysDictionaryDo { + return s.withDO(s.DO.Debug()) +} + +func (s sysDictionaryDo) WithContext(ctx context.Context) ISysDictionaryDo { + return s.withDO(s.DO.WithContext(ctx)) +} + +func (s sysDictionaryDo) ReadDB() ISysDictionaryDo { + return s.Clauses(dbresolver.Read) +} + +func (s sysDictionaryDo) WriteDB() ISysDictionaryDo { + return s.Clauses(dbresolver.Write) +} + +func (s sysDictionaryDo) Session(config *gorm.Session) ISysDictionaryDo { + return s.withDO(s.DO.Session(config)) +} + +func (s sysDictionaryDo) Clauses(conds ...clause.Expression) ISysDictionaryDo { + return s.withDO(s.DO.Clauses(conds...)) +} + +func (s sysDictionaryDo) Returning(value interface{}, columns ...string) ISysDictionaryDo { + return s.withDO(s.DO.Returning(value, columns...)) +} + +func (s sysDictionaryDo) Not(conds ...gen.Condition) ISysDictionaryDo { + return s.withDO(s.DO.Not(conds...)) +} + +func (s sysDictionaryDo) Or(conds ...gen.Condition) ISysDictionaryDo { + return s.withDO(s.DO.Or(conds...)) +} + +func (s sysDictionaryDo) Select(conds ...field.Expr) ISysDictionaryDo { + return s.withDO(s.DO.Select(conds...)) +} + +func (s sysDictionaryDo) Where(conds ...gen.Condition) ISysDictionaryDo { + return s.withDO(s.DO.Where(conds...)) +} + +func (s sysDictionaryDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) ISysDictionaryDo { + return s.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB())) +} + +func (s sysDictionaryDo) Order(conds ...field.Expr) ISysDictionaryDo { + return s.withDO(s.DO.Order(conds...)) +} + +func (s sysDictionaryDo) Distinct(cols ...field.Expr) ISysDictionaryDo { + return s.withDO(s.DO.Distinct(cols...)) +} + +func (s sysDictionaryDo) Omit(cols ...field.Expr) ISysDictionaryDo { + return s.withDO(s.DO.Omit(cols...)) +} + +func (s sysDictionaryDo) Join(table schema.Tabler, on ...field.Expr) ISysDictionaryDo { + return s.withDO(s.DO.Join(table, on...)) +} + +func (s sysDictionaryDo) LeftJoin(table schema.Tabler, on ...field.Expr) ISysDictionaryDo { + return s.withDO(s.DO.LeftJoin(table, on...)) +} + +func (s sysDictionaryDo) RightJoin(table schema.Tabler, on ...field.Expr) ISysDictionaryDo { + return s.withDO(s.DO.RightJoin(table, on...)) +} + +func (s sysDictionaryDo) Group(cols ...field.Expr) ISysDictionaryDo { + return s.withDO(s.DO.Group(cols...)) +} + +func (s sysDictionaryDo) Having(conds ...gen.Condition) ISysDictionaryDo { + return s.withDO(s.DO.Having(conds...)) +} + +func (s sysDictionaryDo) Limit(limit int) ISysDictionaryDo { + return s.withDO(s.DO.Limit(limit)) +} + +func (s sysDictionaryDo) Offset(offset int) ISysDictionaryDo { + return s.withDO(s.DO.Offset(offset)) +} + +func (s sysDictionaryDo) Scopes(funcs ...func(gen.Dao) gen.Dao) ISysDictionaryDo { + return s.withDO(s.DO.Scopes(funcs...)) +} + +func (s sysDictionaryDo) Unscoped() ISysDictionaryDo { + return s.withDO(s.DO.Unscoped()) +} + +func (s sysDictionaryDo) Create(values ...*models.SysDictionary) error { + if len(values) == 0 { + return nil + } + return s.DO.Create(values) +} + +func (s sysDictionaryDo) CreateInBatches(values []*models.SysDictionary, batchSize int) error { + return s.DO.CreateInBatches(values, batchSize) +} + +// Save : !!! underlying implementation is different with GORM +// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) +func (s sysDictionaryDo) Save(values ...*models.SysDictionary) error { + if len(values) == 0 { + return nil + } + return s.DO.Save(values) +} + +func (s sysDictionaryDo) First() (*models.SysDictionary, error) { + if result, err := s.DO.First(); err != nil { + return nil, err + } else { + return result.(*models.SysDictionary), nil + } +} + +func (s sysDictionaryDo) Take() (*models.SysDictionary, error) { + if result, err := s.DO.Take(); err != nil { + return nil, err + } else { + return result.(*models.SysDictionary), nil + } +} + +func (s sysDictionaryDo) Last() (*models.SysDictionary, error) { + if result, err := s.DO.Last(); err != nil { + return nil, err + } else { + return result.(*models.SysDictionary), nil + } +} + +func (s sysDictionaryDo) Find() ([]*models.SysDictionary, error) { + result, err := s.DO.Find() + return result.([]*models.SysDictionary), err +} + +func (s sysDictionaryDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.SysDictionary, err error) { + buf := make([]*models.SysDictionary, 0, batchSize) + err = s.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { + defer func() { results = append(results, buf...) }() + return fc(tx, batch) + }) + return results, err +} + +func (s sysDictionaryDo) FindInBatches(result *[]*models.SysDictionary, batchSize int, fc func(tx gen.Dao, batch int) error) error { + return s.DO.FindInBatches(result, batchSize, fc) +} + +func (s sysDictionaryDo) Attrs(attrs ...field.AssignExpr) ISysDictionaryDo { + return s.withDO(s.DO.Attrs(attrs...)) +} + +func (s sysDictionaryDo) Assign(attrs ...field.AssignExpr) ISysDictionaryDo { + return s.withDO(s.DO.Assign(attrs...)) +} + +func (s sysDictionaryDo) Joins(fields ...field.RelationField) ISysDictionaryDo { + for _, _f := range fields { + s = *s.withDO(s.DO.Joins(_f)) + } + return &s +} + +func (s sysDictionaryDo) Preload(fields ...field.RelationField) ISysDictionaryDo { + for _, _f := range fields { + s = *s.withDO(s.DO.Preload(_f)) + } + return &s +} + +func (s sysDictionaryDo) FirstOrInit() (*models.SysDictionary, error) { + if result, err := s.DO.FirstOrInit(); err != nil { + return nil, err + } else { + return result.(*models.SysDictionary), nil + } +} + +func (s sysDictionaryDo) FirstOrCreate() (*models.SysDictionary, error) { + if result, err := s.DO.FirstOrCreate(); err != nil { + return nil, err + } else { + return result.(*models.SysDictionary), nil + } +} + +func (s sysDictionaryDo) FindByPage(offset int, limit int) (result []*models.SysDictionary, count int64, err error) { + result, err = s.Offset(offset).Limit(limit).Find() + if err != nil { + return + } + + if size := len(result); 0 < limit && 0 < size && size < limit { + count = int64(size + offset) + return + } + + count, err = s.Offset(-1).Limit(-1).Count() + return +} + +func (s sysDictionaryDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { + count, err = s.Count() + if err != nil { + return + } + + err = s.Offset(offset).Limit(limit).Scan(result) + return +} + +func (s sysDictionaryDo) Scan(result interface{}) (err error) { + return s.DO.Scan(result) +} + +func (s sysDictionaryDo) Delete(models ...*models.SysDictionary) (result gen.ResultInfo, err error) { + return s.DO.Delete(models) +} + +func (s *sysDictionaryDo) withDO(do gen.Dao) *sysDictionaryDo { + s.DO = *do.(*gen.DO) + return s +} diff --git a/database/query/sys_dictionary_details.gen.go b/database/query/sys_dictionary_details.gen.go new file mode 100644 index 0000000..502140c --- /dev/null +++ b/database/query/sys_dictionary_details.gen.go @@ -0,0 +1,424 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package query + +import ( + "context" + + "gorm.io/gorm" + "gorm.io/gorm/clause" + "gorm.io/gorm/schema" + + "gorm.io/gen" + "gorm.io/gen/field" + + "gorm.io/plugin/dbresolver" + + "atom/database/models" +) + +func newSysDictionaryDetail(db *gorm.DB, opts ...gen.DOOption) sysDictionaryDetail { + _sysDictionaryDetail := sysDictionaryDetail{} + + _sysDictionaryDetail.sysDictionaryDetailDo.UseDB(db, opts...) + _sysDictionaryDetail.sysDictionaryDetailDo.UseModel(&models.SysDictionaryDetail{}) + + tableName := _sysDictionaryDetail.sysDictionaryDetailDo.TableName() + _sysDictionaryDetail.ALL = field.NewAsterisk(tableName) + _sysDictionaryDetail.ID = field.NewUint64(tableName, "id") + _sysDictionaryDetail.CreatedAt = field.NewTime(tableName, "created_at") + _sysDictionaryDetail.UpdatedAt = field.NewTime(tableName, "updated_at") + _sysDictionaryDetail.DeletedAt = field.NewField(tableName, "deleted_at") + _sysDictionaryDetail.Label = field.NewString(tableName, "label") + _sysDictionaryDetail.Value = field.NewInt64(tableName, "value") + _sysDictionaryDetail.Status = field.NewBool(tableName, "status") + _sysDictionaryDetail.Sort = field.NewInt64(tableName, "sort") + _sysDictionaryDetail.SysDictionaryID = field.NewInt64(tableName, "sys_dictionary_id") + + _sysDictionaryDetail.fillFieldMap() + + return _sysDictionaryDetail +} + +type sysDictionaryDetail struct { + sysDictionaryDetailDo sysDictionaryDetailDo + + ALL field.Asterisk + ID field.Uint64 + CreatedAt field.Time + UpdatedAt field.Time + DeletedAt field.Field + Label field.String // 展示值 + Value field.Int64 // 字典值 + Status field.Bool // 启用状态 + Sort field.Int64 // 排序标记 + SysDictionaryID field.Int64 // 关联标记 + + fieldMap map[string]field.Expr +} + +func (s sysDictionaryDetail) Table(newTableName string) *sysDictionaryDetail { + s.sysDictionaryDetailDo.UseTable(newTableName) + return s.updateTableName(newTableName) +} + +func (s sysDictionaryDetail) As(alias string) *sysDictionaryDetail { + s.sysDictionaryDetailDo.DO = *(s.sysDictionaryDetailDo.As(alias).(*gen.DO)) + return s.updateTableName(alias) +} + +func (s *sysDictionaryDetail) updateTableName(table string) *sysDictionaryDetail { + s.ALL = field.NewAsterisk(table) + s.ID = field.NewUint64(table, "id") + s.CreatedAt = field.NewTime(table, "created_at") + s.UpdatedAt = field.NewTime(table, "updated_at") + s.DeletedAt = field.NewField(table, "deleted_at") + s.Label = field.NewString(table, "label") + s.Value = field.NewInt64(table, "value") + s.Status = field.NewBool(table, "status") + s.Sort = field.NewInt64(table, "sort") + s.SysDictionaryID = field.NewInt64(table, "sys_dictionary_id") + + s.fillFieldMap() + + return s +} + +func (s *sysDictionaryDetail) WithContext(ctx context.Context) ISysDictionaryDetailDo { + return s.sysDictionaryDetailDo.WithContext(ctx) +} + +func (s sysDictionaryDetail) TableName() string { return s.sysDictionaryDetailDo.TableName() } + +func (s sysDictionaryDetail) Alias() string { return s.sysDictionaryDetailDo.Alias() } + +func (s *sysDictionaryDetail) GetFieldByName(fieldName string) (field.OrderExpr, bool) { + _f, ok := s.fieldMap[fieldName] + if !ok || _f == nil { + return nil, false + } + _oe, ok := _f.(field.OrderExpr) + return _oe, ok +} + +func (s *sysDictionaryDetail) fillFieldMap() { + s.fieldMap = make(map[string]field.Expr, 9) + s.fieldMap["id"] = s.ID + s.fieldMap["created_at"] = s.CreatedAt + s.fieldMap["updated_at"] = s.UpdatedAt + s.fieldMap["deleted_at"] = s.DeletedAt + s.fieldMap["label"] = s.Label + s.fieldMap["value"] = s.Value + s.fieldMap["status"] = s.Status + s.fieldMap["sort"] = s.Sort + s.fieldMap["sys_dictionary_id"] = s.SysDictionaryID +} + +func (s sysDictionaryDetail) clone(db *gorm.DB) sysDictionaryDetail { + s.sysDictionaryDetailDo.ReplaceConnPool(db.Statement.ConnPool) + return s +} + +func (s sysDictionaryDetail) replaceDB(db *gorm.DB) sysDictionaryDetail { + s.sysDictionaryDetailDo.ReplaceDB(db) + return s +} + +type sysDictionaryDetailDo struct{ gen.DO } + +type ISysDictionaryDetailDo interface { + gen.SubQuery + Debug() ISysDictionaryDetailDo + WithContext(ctx context.Context) ISysDictionaryDetailDo + WithResult(fc func(tx gen.Dao)) gen.ResultInfo + ReplaceDB(db *gorm.DB) + ReadDB() ISysDictionaryDetailDo + WriteDB() ISysDictionaryDetailDo + As(alias string) gen.Dao + Session(config *gorm.Session) ISysDictionaryDetailDo + Columns(cols ...field.Expr) gen.Columns + Clauses(conds ...clause.Expression) ISysDictionaryDetailDo + Not(conds ...gen.Condition) ISysDictionaryDetailDo + Or(conds ...gen.Condition) ISysDictionaryDetailDo + Select(conds ...field.Expr) ISysDictionaryDetailDo + Where(conds ...gen.Condition) ISysDictionaryDetailDo + Order(conds ...field.Expr) ISysDictionaryDetailDo + Distinct(cols ...field.Expr) ISysDictionaryDetailDo + Omit(cols ...field.Expr) ISysDictionaryDetailDo + Join(table schema.Tabler, on ...field.Expr) ISysDictionaryDetailDo + LeftJoin(table schema.Tabler, on ...field.Expr) ISysDictionaryDetailDo + RightJoin(table schema.Tabler, on ...field.Expr) ISysDictionaryDetailDo + Group(cols ...field.Expr) ISysDictionaryDetailDo + Having(conds ...gen.Condition) ISysDictionaryDetailDo + Limit(limit int) ISysDictionaryDetailDo + Offset(offset int) ISysDictionaryDetailDo + Count() (count int64, err error) + Scopes(funcs ...func(gen.Dao) gen.Dao) ISysDictionaryDetailDo + Unscoped() ISysDictionaryDetailDo + Create(values ...*models.SysDictionaryDetail) error + CreateInBatches(values []*models.SysDictionaryDetail, batchSize int) error + Save(values ...*models.SysDictionaryDetail) error + First() (*models.SysDictionaryDetail, error) + Take() (*models.SysDictionaryDetail, error) + Last() (*models.SysDictionaryDetail, error) + Find() ([]*models.SysDictionaryDetail, error) + FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.SysDictionaryDetail, err error) + FindInBatches(result *[]*models.SysDictionaryDetail, batchSize int, fc func(tx gen.Dao, batch int) error) error + Pluck(column field.Expr, dest interface{}) error + Delete(...*models.SysDictionaryDetail) (info gen.ResultInfo, err error) + Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + Updates(value interface{}) (info gen.ResultInfo, err error) + UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + UpdateColumns(value interface{}) (info gen.ResultInfo, err error) + UpdateFrom(q gen.SubQuery) gen.Dao + Attrs(attrs ...field.AssignExpr) ISysDictionaryDetailDo + Assign(attrs ...field.AssignExpr) ISysDictionaryDetailDo + Joins(fields ...field.RelationField) ISysDictionaryDetailDo + Preload(fields ...field.RelationField) ISysDictionaryDetailDo + FirstOrInit() (*models.SysDictionaryDetail, error) + FirstOrCreate() (*models.SysDictionaryDetail, error) + FindByPage(offset int, limit int) (result []*models.SysDictionaryDetail, count int64, err error) + ScanByPage(result interface{}, offset int, limit int) (count int64, err error) + Scan(result interface{}) (err error) + Returning(value interface{}, columns ...string) ISysDictionaryDetailDo + UnderlyingDB() *gorm.DB + schema.Tabler +} + +func (s sysDictionaryDetailDo) Debug() ISysDictionaryDetailDo { + return s.withDO(s.DO.Debug()) +} + +func (s sysDictionaryDetailDo) WithContext(ctx context.Context) ISysDictionaryDetailDo { + return s.withDO(s.DO.WithContext(ctx)) +} + +func (s sysDictionaryDetailDo) ReadDB() ISysDictionaryDetailDo { + return s.Clauses(dbresolver.Read) +} + +func (s sysDictionaryDetailDo) WriteDB() ISysDictionaryDetailDo { + return s.Clauses(dbresolver.Write) +} + +func (s sysDictionaryDetailDo) Session(config *gorm.Session) ISysDictionaryDetailDo { + return s.withDO(s.DO.Session(config)) +} + +func (s sysDictionaryDetailDo) Clauses(conds ...clause.Expression) ISysDictionaryDetailDo { + return s.withDO(s.DO.Clauses(conds...)) +} + +func (s sysDictionaryDetailDo) Returning(value interface{}, columns ...string) ISysDictionaryDetailDo { + return s.withDO(s.DO.Returning(value, columns...)) +} + +func (s sysDictionaryDetailDo) Not(conds ...gen.Condition) ISysDictionaryDetailDo { + return s.withDO(s.DO.Not(conds...)) +} + +func (s sysDictionaryDetailDo) Or(conds ...gen.Condition) ISysDictionaryDetailDo { + return s.withDO(s.DO.Or(conds...)) +} + +func (s sysDictionaryDetailDo) Select(conds ...field.Expr) ISysDictionaryDetailDo { + return s.withDO(s.DO.Select(conds...)) +} + +func (s sysDictionaryDetailDo) Where(conds ...gen.Condition) ISysDictionaryDetailDo { + return s.withDO(s.DO.Where(conds...)) +} + +func (s sysDictionaryDetailDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) ISysDictionaryDetailDo { + return s.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB())) +} + +func (s sysDictionaryDetailDo) Order(conds ...field.Expr) ISysDictionaryDetailDo { + return s.withDO(s.DO.Order(conds...)) +} + +func (s sysDictionaryDetailDo) Distinct(cols ...field.Expr) ISysDictionaryDetailDo { + return s.withDO(s.DO.Distinct(cols...)) +} + +func (s sysDictionaryDetailDo) Omit(cols ...field.Expr) ISysDictionaryDetailDo { + return s.withDO(s.DO.Omit(cols...)) +} + +func (s sysDictionaryDetailDo) Join(table schema.Tabler, on ...field.Expr) ISysDictionaryDetailDo { + return s.withDO(s.DO.Join(table, on...)) +} + +func (s sysDictionaryDetailDo) LeftJoin(table schema.Tabler, on ...field.Expr) ISysDictionaryDetailDo { + return s.withDO(s.DO.LeftJoin(table, on...)) +} + +func (s sysDictionaryDetailDo) RightJoin(table schema.Tabler, on ...field.Expr) ISysDictionaryDetailDo { + return s.withDO(s.DO.RightJoin(table, on...)) +} + +func (s sysDictionaryDetailDo) Group(cols ...field.Expr) ISysDictionaryDetailDo { + return s.withDO(s.DO.Group(cols...)) +} + +func (s sysDictionaryDetailDo) Having(conds ...gen.Condition) ISysDictionaryDetailDo { + return s.withDO(s.DO.Having(conds...)) +} + +func (s sysDictionaryDetailDo) Limit(limit int) ISysDictionaryDetailDo { + return s.withDO(s.DO.Limit(limit)) +} + +func (s sysDictionaryDetailDo) Offset(offset int) ISysDictionaryDetailDo { + return s.withDO(s.DO.Offset(offset)) +} + +func (s sysDictionaryDetailDo) Scopes(funcs ...func(gen.Dao) gen.Dao) ISysDictionaryDetailDo { + return s.withDO(s.DO.Scopes(funcs...)) +} + +func (s sysDictionaryDetailDo) Unscoped() ISysDictionaryDetailDo { + return s.withDO(s.DO.Unscoped()) +} + +func (s sysDictionaryDetailDo) Create(values ...*models.SysDictionaryDetail) error { + if len(values) == 0 { + return nil + } + return s.DO.Create(values) +} + +func (s sysDictionaryDetailDo) CreateInBatches(values []*models.SysDictionaryDetail, batchSize int) error { + return s.DO.CreateInBatches(values, batchSize) +} + +// Save : !!! underlying implementation is different with GORM +// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) +func (s sysDictionaryDetailDo) Save(values ...*models.SysDictionaryDetail) error { + if len(values) == 0 { + return nil + } + return s.DO.Save(values) +} + +func (s sysDictionaryDetailDo) First() (*models.SysDictionaryDetail, error) { + if result, err := s.DO.First(); err != nil { + return nil, err + } else { + return result.(*models.SysDictionaryDetail), nil + } +} + +func (s sysDictionaryDetailDo) Take() (*models.SysDictionaryDetail, error) { + if result, err := s.DO.Take(); err != nil { + return nil, err + } else { + return result.(*models.SysDictionaryDetail), nil + } +} + +func (s sysDictionaryDetailDo) Last() (*models.SysDictionaryDetail, error) { + if result, err := s.DO.Last(); err != nil { + return nil, err + } else { + return result.(*models.SysDictionaryDetail), nil + } +} + +func (s sysDictionaryDetailDo) Find() ([]*models.SysDictionaryDetail, error) { + result, err := s.DO.Find() + return result.([]*models.SysDictionaryDetail), err +} + +func (s sysDictionaryDetailDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.SysDictionaryDetail, err error) { + buf := make([]*models.SysDictionaryDetail, 0, batchSize) + err = s.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { + defer func() { results = append(results, buf...) }() + return fc(tx, batch) + }) + return results, err +} + +func (s sysDictionaryDetailDo) FindInBatches(result *[]*models.SysDictionaryDetail, batchSize int, fc func(tx gen.Dao, batch int) error) error { + return s.DO.FindInBatches(result, batchSize, fc) +} + +func (s sysDictionaryDetailDo) Attrs(attrs ...field.AssignExpr) ISysDictionaryDetailDo { + return s.withDO(s.DO.Attrs(attrs...)) +} + +func (s sysDictionaryDetailDo) Assign(attrs ...field.AssignExpr) ISysDictionaryDetailDo { + return s.withDO(s.DO.Assign(attrs...)) +} + +func (s sysDictionaryDetailDo) Joins(fields ...field.RelationField) ISysDictionaryDetailDo { + for _, _f := range fields { + s = *s.withDO(s.DO.Joins(_f)) + } + return &s +} + +func (s sysDictionaryDetailDo) Preload(fields ...field.RelationField) ISysDictionaryDetailDo { + for _, _f := range fields { + s = *s.withDO(s.DO.Preload(_f)) + } + return &s +} + +func (s sysDictionaryDetailDo) FirstOrInit() (*models.SysDictionaryDetail, error) { + if result, err := s.DO.FirstOrInit(); err != nil { + return nil, err + } else { + return result.(*models.SysDictionaryDetail), nil + } +} + +func (s sysDictionaryDetailDo) FirstOrCreate() (*models.SysDictionaryDetail, error) { + if result, err := s.DO.FirstOrCreate(); err != nil { + return nil, err + } else { + return result.(*models.SysDictionaryDetail), nil + } +} + +func (s sysDictionaryDetailDo) FindByPage(offset int, limit int) (result []*models.SysDictionaryDetail, count int64, err error) { + result, err = s.Offset(offset).Limit(limit).Find() + if err != nil { + return + } + + if size := len(result); 0 < limit && 0 < size && size < limit { + count = int64(size + offset) + return + } + + count, err = s.Offset(-1).Limit(-1).Count() + return +} + +func (s sysDictionaryDetailDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { + count, err = s.Count() + if err != nil { + return + } + + err = s.Offset(offset).Limit(limit).Scan(result) + return +} + +func (s sysDictionaryDetailDo) Scan(result interface{}) (err error) { + return s.DO.Scan(result) +} + +func (s sysDictionaryDetailDo) Delete(models ...*models.SysDictionaryDetail) (result gen.ResultInfo, err error) { + return s.DO.Delete(models) +} + +func (s *sysDictionaryDetailDo) withDO(do gen.Dao) *sysDictionaryDetailDo { + s.DO = *do.(*gen.DO) + return s +} diff --git a/database/query/sys_roles.gen.go b/database/query/sys_roles.gen.go new file mode 100644 index 0000000..6738e1c --- /dev/null +++ b/database/query/sys_roles.gen.go @@ -0,0 +1,418 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package query + +import ( + "context" + + "gorm.io/gorm" + "gorm.io/gorm/clause" + "gorm.io/gorm/schema" + + "gorm.io/gen" + "gorm.io/gen/field" + + "gorm.io/plugin/dbresolver" + + "atom/database/models" +) + +func newSysRole(db *gorm.DB, opts ...gen.DOOption) sysRole { + _sysRole := sysRole{} + + _sysRole.sysRoleDo.UseDB(db, opts...) + _sysRole.sysRoleDo.UseModel(&models.SysRole{}) + + tableName := _sysRole.sysRoleDo.TableName() + _sysRole.ALL = field.NewAsterisk(tableName) + _sysRole.ID = field.NewUint64(tableName, "id") + _sysRole.CreatedAt = field.NewTime(tableName, "created_at") + _sysRole.UpdatedAt = field.NewTime(tableName, "updated_at") + _sysRole.DeletedAt = field.NewField(tableName, "deleted_at") + _sysRole.Alias_ = field.NewString(tableName, "alias") + _sysRole.Name = field.NewString(tableName, "name") + _sysRole.ParentID = field.NewUint64(tableName, "parent_id") + _sysRole.DefaultRouter = field.NewString(tableName, "default_router") + + _sysRole.fillFieldMap() + + return _sysRole +} + +type sysRole struct { + sysRoleDo sysRoleDo + + ALL field.Asterisk + ID field.Uint64 + CreatedAt field.Time + UpdatedAt field.Time + DeletedAt field.Field + Alias_ field.String // 角色Alias + Name field.String // 角色名 + ParentID field.Uint64 // 父角色ID + DefaultRouter field.String // 默认菜单 + + fieldMap map[string]field.Expr +} + +func (s sysRole) Table(newTableName string) *sysRole { + s.sysRoleDo.UseTable(newTableName) + return s.updateTableName(newTableName) +} + +func (s sysRole) As(alias string) *sysRole { + s.sysRoleDo.DO = *(s.sysRoleDo.As(alias).(*gen.DO)) + return s.updateTableName(alias) +} + +func (s *sysRole) updateTableName(table string) *sysRole { + s.ALL = field.NewAsterisk(table) + s.ID = field.NewUint64(table, "id") + s.CreatedAt = field.NewTime(table, "created_at") + s.UpdatedAt = field.NewTime(table, "updated_at") + s.DeletedAt = field.NewField(table, "deleted_at") + s.Alias_ = field.NewString(table, "alias") + s.Name = field.NewString(table, "name") + s.ParentID = field.NewUint64(table, "parent_id") + s.DefaultRouter = field.NewString(table, "default_router") + + s.fillFieldMap() + + return s +} + +func (s *sysRole) WithContext(ctx context.Context) ISysRoleDo { return s.sysRoleDo.WithContext(ctx) } + +func (s sysRole) TableName() string { return s.sysRoleDo.TableName() } + +func (s sysRole) Alias() string { return s.sysRoleDo.Alias() } + +func (s *sysRole) GetFieldByName(fieldName string) (field.OrderExpr, bool) { + _f, ok := s.fieldMap[fieldName] + if !ok || _f == nil { + return nil, false + } + _oe, ok := _f.(field.OrderExpr) + return _oe, ok +} + +func (s *sysRole) fillFieldMap() { + s.fieldMap = make(map[string]field.Expr, 8) + s.fieldMap["id"] = s.ID + s.fieldMap["created_at"] = s.CreatedAt + s.fieldMap["updated_at"] = s.UpdatedAt + s.fieldMap["deleted_at"] = s.DeletedAt + s.fieldMap["alias"] = s.Alias_ + s.fieldMap["name"] = s.Name + s.fieldMap["parent_id"] = s.ParentID + s.fieldMap["default_router"] = s.DefaultRouter +} + +func (s sysRole) clone(db *gorm.DB) sysRole { + s.sysRoleDo.ReplaceConnPool(db.Statement.ConnPool) + return s +} + +func (s sysRole) replaceDB(db *gorm.DB) sysRole { + s.sysRoleDo.ReplaceDB(db) + return s +} + +type sysRoleDo struct{ gen.DO } + +type ISysRoleDo interface { + gen.SubQuery + Debug() ISysRoleDo + WithContext(ctx context.Context) ISysRoleDo + WithResult(fc func(tx gen.Dao)) gen.ResultInfo + ReplaceDB(db *gorm.DB) + ReadDB() ISysRoleDo + WriteDB() ISysRoleDo + As(alias string) gen.Dao + Session(config *gorm.Session) ISysRoleDo + Columns(cols ...field.Expr) gen.Columns + Clauses(conds ...clause.Expression) ISysRoleDo + Not(conds ...gen.Condition) ISysRoleDo + Or(conds ...gen.Condition) ISysRoleDo + Select(conds ...field.Expr) ISysRoleDo + Where(conds ...gen.Condition) ISysRoleDo + Order(conds ...field.Expr) ISysRoleDo + Distinct(cols ...field.Expr) ISysRoleDo + Omit(cols ...field.Expr) ISysRoleDo + Join(table schema.Tabler, on ...field.Expr) ISysRoleDo + LeftJoin(table schema.Tabler, on ...field.Expr) ISysRoleDo + RightJoin(table schema.Tabler, on ...field.Expr) ISysRoleDo + Group(cols ...field.Expr) ISysRoleDo + Having(conds ...gen.Condition) ISysRoleDo + Limit(limit int) ISysRoleDo + Offset(offset int) ISysRoleDo + Count() (count int64, err error) + Scopes(funcs ...func(gen.Dao) gen.Dao) ISysRoleDo + Unscoped() ISysRoleDo + Create(values ...*models.SysRole) error + CreateInBatches(values []*models.SysRole, batchSize int) error + Save(values ...*models.SysRole) error + First() (*models.SysRole, error) + Take() (*models.SysRole, error) + Last() (*models.SysRole, error) + Find() ([]*models.SysRole, error) + FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.SysRole, err error) + FindInBatches(result *[]*models.SysRole, batchSize int, fc func(tx gen.Dao, batch int) error) error + Pluck(column field.Expr, dest interface{}) error + Delete(...*models.SysRole) (info gen.ResultInfo, err error) + Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + Updates(value interface{}) (info gen.ResultInfo, err error) + UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + UpdateColumns(value interface{}) (info gen.ResultInfo, err error) + UpdateFrom(q gen.SubQuery) gen.Dao + Attrs(attrs ...field.AssignExpr) ISysRoleDo + Assign(attrs ...field.AssignExpr) ISysRoleDo + Joins(fields ...field.RelationField) ISysRoleDo + Preload(fields ...field.RelationField) ISysRoleDo + FirstOrInit() (*models.SysRole, error) + FirstOrCreate() (*models.SysRole, error) + FindByPage(offset int, limit int) (result []*models.SysRole, count int64, err error) + ScanByPage(result interface{}, offset int, limit int) (count int64, err error) + Scan(result interface{}) (err error) + Returning(value interface{}, columns ...string) ISysRoleDo + UnderlyingDB() *gorm.DB + schema.Tabler +} + +func (s sysRoleDo) Debug() ISysRoleDo { + return s.withDO(s.DO.Debug()) +} + +func (s sysRoleDo) WithContext(ctx context.Context) ISysRoleDo { + return s.withDO(s.DO.WithContext(ctx)) +} + +func (s sysRoleDo) ReadDB() ISysRoleDo { + return s.Clauses(dbresolver.Read) +} + +func (s sysRoleDo) WriteDB() ISysRoleDo { + return s.Clauses(dbresolver.Write) +} + +func (s sysRoleDo) Session(config *gorm.Session) ISysRoleDo { + return s.withDO(s.DO.Session(config)) +} + +func (s sysRoleDo) Clauses(conds ...clause.Expression) ISysRoleDo { + return s.withDO(s.DO.Clauses(conds...)) +} + +func (s sysRoleDo) Returning(value interface{}, columns ...string) ISysRoleDo { + return s.withDO(s.DO.Returning(value, columns...)) +} + +func (s sysRoleDo) Not(conds ...gen.Condition) ISysRoleDo { + return s.withDO(s.DO.Not(conds...)) +} + +func (s sysRoleDo) Or(conds ...gen.Condition) ISysRoleDo { + return s.withDO(s.DO.Or(conds...)) +} + +func (s sysRoleDo) Select(conds ...field.Expr) ISysRoleDo { + return s.withDO(s.DO.Select(conds...)) +} + +func (s sysRoleDo) Where(conds ...gen.Condition) ISysRoleDo { + return s.withDO(s.DO.Where(conds...)) +} + +func (s sysRoleDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) ISysRoleDo { + return s.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB())) +} + +func (s sysRoleDo) Order(conds ...field.Expr) ISysRoleDo { + return s.withDO(s.DO.Order(conds...)) +} + +func (s sysRoleDo) Distinct(cols ...field.Expr) ISysRoleDo { + return s.withDO(s.DO.Distinct(cols...)) +} + +func (s sysRoleDo) Omit(cols ...field.Expr) ISysRoleDo { + return s.withDO(s.DO.Omit(cols...)) +} + +func (s sysRoleDo) Join(table schema.Tabler, on ...field.Expr) ISysRoleDo { + return s.withDO(s.DO.Join(table, on...)) +} + +func (s sysRoleDo) LeftJoin(table schema.Tabler, on ...field.Expr) ISysRoleDo { + return s.withDO(s.DO.LeftJoin(table, on...)) +} + +func (s sysRoleDo) RightJoin(table schema.Tabler, on ...field.Expr) ISysRoleDo { + return s.withDO(s.DO.RightJoin(table, on...)) +} + +func (s sysRoleDo) Group(cols ...field.Expr) ISysRoleDo { + return s.withDO(s.DO.Group(cols...)) +} + +func (s sysRoleDo) Having(conds ...gen.Condition) ISysRoleDo { + return s.withDO(s.DO.Having(conds...)) +} + +func (s sysRoleDo) Limit(limit int) ISysRoleDo { + return s.withDO(s.DO.Limit(limit)) +} + +func (s sysRoleDo) Offset(offset int) ISysRoleDo { + return s.withDO(s.DO.Offset(offset)) +} + +func (s sysRoleDo) Scopes(funcs ...func(gen.Dao) gen.Dao) ISysRoleDo { + return s.withDO(s.DO.Scopes(funcs...)) +} + +func (s sysRoleDo) Unscoped() ISysRoleDo { + return s.withDO(s.DO.Unscoped()) +} + +func (s sysRoleDo) Create(values ...*models.SysRole) error { + if len(values) == 0 { + return nil + } + return s.DO.Create(values) +} + +func (s sysRoleDo) CreateInBatches(values []*models.SysRole, batchSize int) error { + return s.DO.CreateInBatches(values, batchSize) +} + +// Save : !!! underlying implementation is different with GORM +// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) +func (s sysRoleDo) Save(values ...*models.SysRole) error { + if len(values) == 0 { + return nil + } + return s.DO.Save(values) +} + +func (s sysRoleDo) First() (*models.SysRole, error) { + if result, err := s.DO.First(); err != nil { + return nil, err + } else { + return result.(*models.SysRole), nil + } +} + +func (s sysRoleDo) Take() (*models.SysRole, error) { + if result, err := s.DO.Take(); err != nil { + return nil, err + } else { + return result.(*models.SysRole), nil + } +} + +func (s sysRoleDo) Last() (*models.SysRole, error) { + if result, err := s.DO.Last(); err != nil { + return nil, err + } else { + return result.(*models.SysRole), nil + } +} + +func (s sysRoleDo) Find() ([]*models.SysRole, error) { + result, err := s.DO.Find() + return result.([]*models.SysRole), err +} + +func (s sysRoleDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.SysRole, err error) { + buf := make([]*models.SysRole, 0, batchSize) + err = s.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { + defer func() { results = append(results, buf...) }() + return fc(tx, batch) + }) + return results, err +} + +func (s sysRoleDo) FindInBatches(result *[]*models.SysRole, batchSize int, fc func(tx gen.Dao, batch int) error) error { + return s.DO.FindInBatches(result, batchSize, fc) +} + +func (s sysRoleDo) Attrs(attrs ...field.AssignExpr) ISysRoleDo { + return s.withDO(s.DO.Attrs(attrs...)) +} + +func (s sysRoleDo) Assign(attrs ...field.AssignExpr) ISysRoleDo { + return s.withDO(s.DO.Assign(attrs...)) +} + +func (s sysRoleDo) Joins(fields ...field.RelationField) ISysRoleDo { + for _, _f := range fields { + s = *s.withDO(s.DO.Joins(_f)) + } + return &s +} + +func (s sysRoleDo) Preload(fields ...field.RelationField) ISysRoleDo { + for _, _f := range fields { + s = *s.withDO(s.DO.Preload(_f)) + } + return &s +} + +func (s sysRoleDo) FirstOrInit() (*models.SysRole, error) { + if result, err := s.DO.FirstOrInit(); err != nil { + return nil, err + } else { + return result.(*models.SysRole), nil + } +} + +func (s sysRoleDo) FirstOrCreate() (*models.SysRole, error) { + if result, err := s.DO.FirstOrCreate(); err != nil { + return nil, err + } else { + return result.(*models.SysRole), nil + } +} + +func (s sysRoleDo) FindByPage(offset int, limit int) (result []*models.SysRole, count int64, err error) { + result, err = s.Offset(offset).Limit(limit).Find() + if err != nil { + return + } + + if size := len(result); 0 < limit && 0 < size && size < limit { + count = int64(size + offset) + return + } + + count, err = s.Offset(-1).Limit(-1).Count() + return +} + +func (s sysRoleDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { + count, err = s.Count() + if err != nil { + return + } + + err = s.Offset(offset).Limit(limit).Scan(result) + return +} + +func (s sysRoleDo) Scan(result interface{}) (err error) { + return s.DO.Scan(result) +} + +func (s sysRoleDo) Delete(models ...*models.SysRole) (result gen.ResultInfo, err error) { + return s.DO.Delete(models) +} + +func (s *sysRoleDo) withDO(do gen.Dao) *sysRoleDo { + s.DO = *do.(*gen.DO) + return s +} diff --git a/database/query/user_roles.gen.go b/database/query/user_roles.gen.go new file mode 100644 index 0000000..21c8ac4 --- /dev/null +++ b/database/query/user_roles.gen.go @@ -0,0 +1,394 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package query + +import ( + "context" + + "gorm.io/gorm" + "gorm.io/gorm/clause" + "gorm.io/gorm/schema" + + "gorm.io/gen" + "gorm.io/gen/field" + + "gorm.io/plugin/dbresolver" + + "atom/database/models" +) + +func newUserRole(db *gorm.DB, opts ...gen.DOOption) userRole { + _userRole := userRole{} + + _userRole.userRoleDo.UseDB(db, opts...) + _userRole.userRoleDo.UseModel(&models.UserRole{}) + + tableName := _userRole.userRoleDo.TableName() + _userRole.ALL = field.NewAsterisk(tableName) + _userRole.UserID = field.NewUint64(tableName, "user_id") + _userRole.RoleID = field.NewUint64(tableName, "role_id") + + _userRole.fillFieldMap() + + return _userRole +} + +type userRole struct { + userRoleDo userRoleDo + + ALL field.Asterisk + UserID field.Uint64 + RoleID field.Uint64 + + fieldMap map[string]field.Expr +} + +func (u userRole) Table(newTableName string) *userRole { + u.userRoleDo.UseTable(newTableName) + return u.updateTableName(newTableName) +} + +func (u userRole) As(alias string) *userRole { + u.userRoleDo.DO = *(u.userRoleDo.As(alias).(*gen.DO)) + return u.updateTableName(alias) +} + +func (u *userRole) updateTableName(table string) *userRole { + u.ALL = field.NewAsterisk(table) + u.UserID = field.NewUint64(table, "user_id") + u.RoleID = field.NewUint64(table, "role_id") + + u.fillFieldMap() + + return u +} + +func (u *userRole) WithContext(ctx context.Context) IUserRoleDo { return u.userRoleDo.WithContext(ctx) } + +func (u userRole) TableName() string { return u.userRoleDo.TableName() } + +func (u userRole) Alias() string { return u.userRoleDo.Alias() } + +func (u *userRole) GetFieldByName(fieldName string) (field.OrderExpr, bool) { + _f, ok := u.fieldMap[fieldName] + if !ok || _f == nil { + return nil, false + } + _oe, ok := _f.(field.OrderExpr) + return _oe, ok +} + +func (u *userRole) fillFieldMap() { + u.fieldMap = make(map[string]field.Expr, 2) + u.fieldMap["user_id"] = u.UserID + u.fieldMap["role_id"] = u.RoleID +} + +func (u userRole) clone(db *gorm.DB) userRole { + u.userRoleDo.ReplaceConnPool(db.Statement.ConnPool) + return u +} + +func (u userRole) replaceDB(db *gorm.DB) userRole { + u.userRoleDo.ReplaceDB(db) + return u +} + +type userRoleDo struct{ gen.DO } + +type IUserRoleDo interface { + gen.SubQuery + Debug() IUserRoleDo + WithContext(ctx context.Context) IUserRoleDo + WithResult(fc func(tx gen.Dao)) gen.ResultInfo + ReplaceDB(db *gorm.DB) + ReadDB() IUserRoleDo + WriteDB() IUserRoleDo + As(alias string) gen.Dao + Session(config *gorm.Session) IUserRoleDo + Columns(cols ...field.Expr) gen.Columns + Clauses(conds ...clause.Expression) IUserRoleDo + Not(conds ...gen.Condition) IUserRoleDo + Or(conds ...gen.Condition) IUserRoleDo + Select(conds ...field.Expr) IUserRoleDo + Where(conds ...gen.Condition) IUserRoleDo + Order(conds ...field.Expr) IUserRoleDo + Distinct(cols ...field.Expr) IUserRoleDo + Omit(cols ...field.Expr) IUserRoleDo + Join(table schema.Tabler, on ...field.Expr) IUserRoleDo + LeftJoin(table schema.Tabler, on ...field.Expr) IUserRoleDo + RightJoin(table schema.Tabler, on ...field.Expr) IUserRoleDo + Group(cols ...field.Expr) IUserRoleDo + Having(conds ...gen.Condition) IUserRoleDo + Limit(limit int) IUserRoleDo + Offset(offset int) IUserRoleDo + Count() (count int64, err error) + Scopes(funcs ...func(gen.Dao) gen.Dao) IUserRoleDo + Unscoped() IUserRoleDo + Create(values ...*models.UserRole) error + CreateInBatches(values []*models.UserRole, batchSize int) error + Save(values ...*models.UserRole) error + First() (*models.UserRole, error) + Take() (*models.UserRole, error) + Last() (*models.UserRole, error) + Find() ([]*models.UserRole, error) + FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.UserRole, err error) + FindInBatches(result *[]*models.UserRole, batchSize int, fc func(tx gen.Dao, batch int) error) error + Pluck(column field.Expr, dest interface{}) error + Delete(...*models.UserRole) (info gen.ResultInfo, err error) + Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + Updates(value interface{}) (info gen.ResultInfo, err error) + UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + UpdateColumns(value interface{}) (info gen.ResultInfo, err error) + UpdateFrom(q gen.SubQuery) gen.Dao + Attrs(attrs ...field.AssignExpr) IUserRoleDo + Assign(attrs ...field.AssignExpr) IUserRoleDo + Joins(fields ...field.RelationField) IUserRoleDo + Preload(fields ...field.RelationField) IUserRoleDo + FirstOrInit() (*models.UserRole, error) + FirstOrCreate() (*models.UserRole, error) + FindByPage(offset int, limit int) (result []*models.UserRole, count int64, err error) + ScanByPage(result interface{}, offset int, limit int) (count int64, err error) + Scan(result interface{}) (err error) + Returning(value interface{}, columns ...string) IUserRoleDo + UnderlyingDB() *gorm.DB + schema.Tabler +} + +func (u userRoleDo) Debug() IUserRoleDo { + return u.withDO(u.DO.Debug()) +} + +func (u userRoleDo) WithContext(ctx context.Context) IUserRoleDo { + return u.withDO(u.DO.WithContext(ctx)) +} + +func (u userRoleDo) ReadDB() IUserRoleDo { + return u.Clauses(dbresolver.Read) +} + +func (u userRoleDo) WriteDB() IUserRoleDo { + return u.Clauses(dbresolver.Write) +} + +func (u userRoleDo) Session(config *gorm.Session) IUserRoleDo { + return u.withDO(u.DO.Session(config)) +} + +func (u userRoleDo) Clauses(conds ...clause.Expression) IUserRoleDo { + return u.withDO(u.DO.Clauses(conds...)) +} + +func (u userRoleDo) Returning(value interface{}, columns ...string) IUserRoleDo { + return u.withDO(u.DO.Returning(value, columns...)) +} + +func (u userRoleDo) Not(conds ...gen.Condition) IUserRoleDo { + return u.withDO(u.DO.Not(conds...)) +} + +func (u userRoleDo) Or(conds ...gen.Condition) IUserRoleDo { + return u.withDO(u.DO.Or(conds...)) +} + +func (u userRoleDo) Select(conds ...field.Expr) IUserRoleDo { + return u.withDO(u.DO.Select(conds...)) +} + +func (u userRoleDo) Where(conds ...gen.Condition) IUserRoleDo { + return u.withDO(u.DO.Where(conds...)) +} + +func (u userRoleDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) IUserRoleDo { + return u.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB())) +} + +func (u userRoleDo) Order(conds ...field.Expr) IUserRoleDo { + return u.withDO(u.DO.Order(conds...)) +} + +func (u userRoleDo) Distinct(cols ...field.Expr) IUserRoleDo { + return u.withDO(u.DO.Distinct(cols...)) +} + +func (u userRoleDo) Omit(cols ...field.Expr) IUserRoleDo { + return u.withDO(u.DO.Omit(cols...)) +} + +func (u userRoleDo) Join(table schema.Tabler, on ...field.Expr) IUserRoleDo { + return u.withDO(u.DO.Join(table, on...)) +} + +func (u userRoleDo) LeftJoin(table schema.Tabler, on ...field.Expr) IUserRoleDo { + return u.withDO(u.DO.LeftJoin(table, on...)) +} + +func (u userRoleDo) RightJoin(table schema.Tabler, on ...field.Expr) IUserRoleDo { + return u.withDO(u.DO.RightJoin(table, on...)) +} + +func (u userRoleDo) Group(cols ...field.Expr) IUserRoleDo { + return u.withDO(u.DO.Group(cols...)) +} + +func (u userRoleDo) Having(conds ...gen.Condition) IUserRoleDo { + return u.withDO(u.DO.Having(conds...)) +} + +func (u userRoleDo) Limit(limit int) IUserRoleDo { + return u.withDO(u.DO.Limit(limit)) +} + +func (u userRoleDo) Offset(offset int) IUserRoleDo { + return u.withDO(u.DO.Offset(offset)) +} + +func (u userRoleDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IUserRoleDo { + return u.withDO(u.DO.Scopes(funcs...)) +} + +func (u userRoleDo) Unscoped() IUserRoleDo { + return u.withDO(u.DO.Unscoped()) +} + +func (u userRoleDo) Create(values ...*models.UserRole) error { + if len(values) == 0 { + return nil + } + return u.DO.Create(values) +} + +func (u userRoleDo) CreateInBatches(values []*models.UserRole, batchSize int) error { + return u.DO.CreateInBatches(values, batchSize) +} + +// Save : !!! underlying implementation is different with GORM +// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) +func (u userRoleDo) Save(values ...*models.UserRole) error { + if len(values) == 0 { + return nil + } + return u.DO.Save(values) +} + +func (u userRoleDo) First() (*models.UserRole, error) { + if result, err := u.DO.First(); err != nil { + return nil, err + } else { + return result.(*models.UserRole), nil + } +} + +func (u userRoleDo) Take() (*models.UserRole, error) { + if result, err := u.DO.Take(); err != nil { + return nil, err + } else { + return result.(*models.UserRole), nil + } +} + +func (u userRoleDo) Last() (*models.UserRole, error) { + if result, err := u.DO.Last(); err != nil { + return nil, err + } else { + return result.(*models.UserRole), nil + } +} + +func (u userRoleDo) Find() ([]*models.UserRole, error) { + result, err := u.DO.Find() + return result.([]*models.UserRole), err +} + +func (u userRoleDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.UserRole, err error) { + buf := make([]*models.UserRole, 0, batchSize) + err = u.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { + defer func() { results = append(results, buf...) }() + return fc(tx, batch) + }) + return results, err +} + +func (u userRoleDo) FindInBatches(result *[]*models.UserRole, batchSize int, fc func(tx gen.Dao, batch int) error) error { + return u.DO.FindInBatches(result, batchSize, fc) +} + +func (u userRoleDo) Attrs(attrs ...field.AssignExpr) IUserRoleDo { + return u.withDO(u.DO.Attrs(attrs...)) +} + +func (u userRoleDo) Assign(attrs ...field.AssignExpr) IUserRoleDo { + return u.withDO(u.DO.Assign(attrs...)) +} + +func (u userRoleDo) Joins(fields ...field.RelationField) IUserRoleDo { + for _, _f := range fields { + u = *u.withDO(u.DO.Joins(_f)) + } + return &u +} + +func (u userRoleDo) Preload(fields ...field.RelationField) IUserRoleDo { + for _, _f := range fields { + u = *u.withDO(u.DO.Preload(_f)) + } + return &u +} + +func (u userRoleDo) FirstOrInit() (*models.UserRole, error) { + if result, err := u.DO.FirstOrInit(); err != nil { + return nil, err + } else { + return result.(*models.UserRole), nil + } +} + +func (u userRoleDo) FirstOrCreate() (*models.UserRole, error) { + if result, err := u.DO.FirstOrCreate(); err != nil { + return nil, err + } else { + return result.(*models.UserRole), nil + } +} + +func (u userRoleDo) FindByPage(offset int, limit int) (result []*models.UserRole, count int64, err error) { + result, err = u.Offset(offset).Limit(limit).Find() + if err != nil { + return + } + + if size := len(result); 0 < limit && 0 < size && size < limit { + count = int64(size + offset) + return + } + + count, err = u.Offset(-1).Limit(-1).Count() + return +} + +func (u userRoleDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { + count, err = u.Count() + if err != nil { + return + } + + err = u.Offset(offset).Limit(limit).Scan(result) + return +} + +func (u userRoleDo) Scan(result interface{}) (err error) { + return u.DO.Scan(result) +} + +func (u userRoleDo) Delete(models ...*models.UserRole) (result gen.ResultInfo, err error) { + return u.DO.Delete(models) +} + +func (u *userRoleDo) withDO(do gen.Dao) *userRoleDo { + u.DO = *do.(*gen.DO) + return u +} diff --git a/database/query/users.gen.go b/database/query/users.gen.go new file mode 100644 index 0000000..f39bec9 --- /dev/null +++ b/database/query/users.gen.go @@ -0,0 +1,438 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package query + +import ( + "context" + + "gorm.io/gorm" + "gorm.io/gorm/clause" + "gorm.io/gorm/schema" + + "gorm.io/gen" + "gorm.io/gen/field" + + "gorm.io/plugin/dbresolver" + + "atom/database/models" +) + +func newUser(db *gorm.DB, opts ...gen.DOOption) user { + _user := user{} + + _user.userDo.UseDB(db, opts...) + _user.userDo.UseModel(&models.User{}) + + tableName := _user.userDo.TableName() + _user.ALL = field.NewAsterisk(tableName) + _user.ID = field.NewUint64(tableName, "id") + _user.CreatedAt = field.NewTime(tableName, "created_at") + _user.UpdatedAt = field.NewTime(tableName, "updated_at") + _user.DeletedAt = field.NewField(tableName, "deleted_at") + _user.UUID = field.NewString(tableName, "uuid") + _user.Username = field.NewString(tableName, "username") + _user.Password = field.NewString(tableName, "password") + _user.Nickname = field.NewString(tableName, "nickname") + _user.Avatar = field.NewString(tableName, "avatar") + _user.RoleID = field.NewUint64(tableName, "role_id") + _user.Phone = field.NewString(tableName, "phone") + _user.Email = field.NewString(tableName, "email") + _user.Status = field.NewString(tableName, "status") + + _user.fillFieldMap() + + return _user +} + +type user struct { + userDo userDo + + ALL field.Asterisk + ID field.Uint64 + CreatedAt field.Time + UpdatedAt field.Time + DeletedAt field.Field + UUID field.String // UUID + Username field.String // 登录名 + Password field.String // 登录密码 + Nickname field.String // 昵称 + Avatar field.String // 头像 + RoleID field.Uint64 // 角色ID + Phone field.String // 手机号 + Email field.String // 邮箱 + Status field.String // 用户状态 + + fieldMap map[string]field.Expr +} + +func (u user) Table(newTableName string) *user { + u.userDo.UseTable(newTableName) + return u.updateTableName(newTableName) +} + +func (u user) As(alias string) *user { + u.userDo.DO = *(u.userDo.As(alias).(*gen.DO)) + return u.updateTableName(alias) +} + +func (u *user) updateTableName(table string) *user { + u.ALL = field.NewAsterisk(table) + u.ID = field.NewUint64(table, "id") + u.CreatedAt = field.NewTime(table, "created_at") + u.UpdatedAt = field.NewTime(table, "updated_at") + u.DeletedAt = field.NewField(table, "deleted_at") + u.UUID = field.NewString(table, "uuid") + u.Username = field.NewString(table, "username") + u.Password = field.NewString(table, "password") + u.Nickname = field.NewString(table, "nickname") + u.Avatar = field.NewString(table, "avatar") + u.RoleID = field.NewUint64(table, "role_id") + u.Phone = field.NewString(table, "phone") + u.Email = field.NewString(table, "email") + u.Status = field.NewString(table, "status") + + u.fillFieldMap() + + return u +} + +func (u *user) WithContext(ctx context.Context) IUserDo { return u.userDo.WithContext(ctx) } + +func (u user) TableName() string { return u.userDo.TableName() } + +func (u user) Alias() string { return u.userDo.Alias() } + +func (u *user) GetFieldByName(fieldName string) (field.OrderExpr, bool) { + _f, ok := u.fieldMap[fieldName] + if !ok || _f == nil { + return nil, false + } + _oe, ok := _f.(field.OrderExpr) + return _oe, ok +} + +func (u *user) fillFieldMap() { + u.fieldMap = make(map[string]field.Expr, 13) + u.fieldMap["id"] = u.ID + u.fieldMap["created_at"] = u.CreatedAt + u.fieldMap["updated_at"] = u.UpdatedAt + u.fieldMap["deleted_at"] = u.DeletedAt + u.fieldMap["uuid"] = u.UUID + u.fieldMap["username"] = u.Username + u.fieldMap["password"] = u.Password + u.fieldMap["nickname"] = u.Nickname + u.fieldMap["avatar"] = u.Avatar + u.fieldMap["role_id"] = u.RoleID + u.fieldMap["phone"] = u.Phone + u.fieldMap["email"] = u.Email + u.fieldMap["status"] = u.Status +} + +func (u user) clone(db *gorm.DB) user { + u.userDo.ReplaceConnPool(db.Statement.ConnPool) + return u +} + +func (u user) replaceDB(db *gorm.DB) user { + u.userDo.ReplaceDB(db) + return u +} + +type userDo struct{ gen.DO } + +type IUserDo interface { + gen.SubQuery + Debug() IUserDo + WithContext(ctx context.Context) IUserDo + WithResult(fc func(tx gen.Dao)) gen.ResultInfo + ReplaceDB(db *gorm.DB) + ReadDB() IUserDo + WriteDB() IUserDo + As(alias string) gen.Dao + Session(config *gorm.Session) IUserDo + Columns(cols ...field.Expr) gen.Columns + Clauses(conds ...clause.Expression) IUserDo + Not(conds ...gen.Condition) IUserDo + Or(conds ...gen.Condition) IUserDo + Select(conds ...field.Expr) IUserDo + Where(conds ...gen.Condition) IUserDo + Order(conds ...field.Expr) IUserDo + Distinct(cols ...field.Expr) IUserDo + Omit(cols ...field.Expr) IUserDo + Join(table schema.Tabler, on ...field.Expr) IUserDo + LeftJoin(table schema.Tabler, on ...field.Expr) IUserDo + RightJoin(table schema.Tabler, on ...field.Expr) IUserDo + Group(cols ...field.Expr) IUserDo + Having(conds ...gen.Condition) IUserDo + Limit(limit int) IUserDo + Offset(offset int) IUserDo + Count() (count int64, err error) + Scopes(funcs ...func(gen.Dao) gen.Dao) IUserDo + Unscoped() IUserDo + Create(values ...*models.User) error + CreateInBatches(values []*models.User, batchSize int) error + Save(values ...*models.User) error + First() (*models.User, error) + Take() (*models.User, error) + Last() (*models.User, error) + Find() ([]*models.User, error) + FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.User, err error) + FindInBatches(result *[]*models.User, batchSize int, fc func(tx gen.Dao, batch int) error) error + Pluck(column field.Expr, dest interface{}) error + Delete(...*models.User) (info gen.ResultInfo, err error) + Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + Updates(value interface{}) (info gen.ResultInfo, err error) + UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error) + UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) + UpdateColumns(value interface{}) (info gen.ResultInfo, err error) + UpdateFrom(q gen.SubQuery) gen.Dao + Attrs(attrs ...field.AssignExpr) IUserDo + Assign(attrs ...field.AssignExpr) IUserDo + Joins(fields ...field.RelationField) IUserDo + Preload(fields ...field.RelationField) IUserDo + FirstOrInit() (*models.User, error) + FirstOrCreate() (*models.User, error) + FindByPage(offset int, limit int) (result []*models.User, count int64, err error) + ScanByPage(result interface{}, offset int, limit int) (count int64, err error) + Scan(result interface{}) (err error) + Returning(value interface{}, columns ...string) IUserDo + UnderlyingDB() *gorm.DB + schema.Tabler +} + +func (u userDo) Debug() IUserDo { + return u.withDO(u.DO.Debug()) +} + +func (u userDo) WithContext(ctx context.Context) IUserDo { + return u.withDO(u.DO.WithContext(ctx)) +} + +func (u userDo) ReadDB() IUserDo { + return u.Clauses(dbresolver.Read) +} + +func (u userDo) WriteDB() IUserDo { + return u.Clauses(dbresolver.Write) +} + +func (u userDo) Session(config *gorm.Session) IUserDo { + return u.withDO(u.DO.Session(config)) +} + +func (u userDo) Clauses(conds ...clause.Expression) IUserDo { + return u.withDO(u.DO.Clauses(conds...)) +} + +func (u userDo) Returning(value interface{}, columns ...string) IUserDo { + return u.withDO(u.DO.Returning(value, columns...)) +} + +func (u userDo) Not(conds ...gen.Condition) IUserDo { + return u.withDO(u.DO.Not(conds...)) +} + +func (u userDo) Or(conds ...gen.Condition) IUserDo { + return u.withDO(u.DO.Or(conds...)) +} + +func (u userDo) Select(conds ...field.Expr) IUserDo { + return u.withDO(u.DO.Select(conds...)) +} + +func (u userDo) Where(conds ...gen.Condition) IUserDo { + return u.withDO(u.DO.Where(conds...)) +} + +func (u userDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) IUserDo { + return u.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB())) +} + +func (u userDo) Order(conds ...field.Expr) IUserDo { + return u.withDO(u.DO.Order(conds...)) +} + +func (u userDo) Distinct(cols ...field.Expr) IUserDo { + return u.withDO(u.DO.Distinct(cols...)) +} + +func (u userDo) Omit(cols ...field.Expr) IUserDo { + return u.withDO(u.DO.Omit(cols...)) +} + +func (u userDo) Join(table schema.Tabler, on ...field.Expr) IUserDo { + return u.withDO(u.DO.Join(table, on...)) +} + +func (u userDo) LeftJoin(table schema.Tabler, on ...field.Expr) IUserDo { + return u.withDO(u.DO.LeftJoin(table, on...)) +} + +func (u userDo) RightJoin(table schema.Tabler, on ...field.Expr) IUserDo { + return u.withDO(u.DO.RightJoin(table, on...)) +} + +func (u userDo) Group(cols ...field.Expr) IUserDo { + return u.withDO(u.DO.Group(cols...)) +} + +func (u userDo) Having(conds ...gen.Condition) IUserDo { + return u.withDO(u.DO.Having(conds...)) +} + +func (u userDo) Limit(limit int) IUserDo { + return u.withDO(u.DO.Limit(limit)) +} + +func (u userDo) Offset(offset int) IUserDo { + return u.withDO(u.DO.Offset(offset)) +} + +func (u userDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IUserDo { + return u.withDO(u.DO.Scopes(funcs...)) +} + +func (u userDo) Unscoped() IUserDo { + return u.withDO(u.DO.Unscoped()) +} + +func (u userDo) Create(values ...*models.User) error { + if len(values) == 0 { + return nil + } + return u.DO.Create(values) +} + +func (u userDo) CreateInBatches(values []*models.User, batchSize int) error { + return u.DO.CreateInBatches(values, batchSize) +} + +// Save : !!! underlying implementation is different with GORM +// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) +func (u userDo) Save(values ...*models.User) error { + if len(values) == 0 { + return nil + } + return u.DO.Save(values) +} + +func (u userDo) First() (*models.User, error) { + if result, err := u.DO.First(); err != nil { + return nil, err + } else { + return result.(*models.User), nil + } +} + +func (u userDo) Take() (*models.User, error) { + if result, err := u.DO.Take(); err != nil { + return nil, err + } else { + return result.(*models.User), nil + } +} + +func (u userDo) Last() (*models.User, error) { + if result, err := u.DO.Last(); err != nil { + return nil, err + } else { + return result.(*models.User), nil + } +} + +func (u userDo) Find() ([]*models.User, error) { + result, err := u.DO.Find() + return result.([]*models.User), err +} + +func (u userDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*models.User, err error) { + buf := make([]*models.User, 0, batchSize) + err = u.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { + defer func() { results = append(results, buf...) }() + return fc(tx, batch) + }) + return results, err +} + +func (u userDo) FindInBatches(result *[]*models.User, batchSize int, fc func(tx gen.Dao, batch int) error) error { + return u.DO.FindInBatches(result, batchSize, fc) +} + +func (u userDo) Attrs(attrs ...field.AssignExpr) IUserDo { + return u.withDO(u.DO.Attrs(attrs...)) +} + +func (u userDo) Assign(attrs ...field.AssignExpr) IUserDo { + return u.withDO(u.DO.Assign(attrs...)) +} + +func (u userDo) Joins(fields ...field.RelationField) IUserDo { + for _, _f := range fields { + u = *u.withDO(u.DO.Joins(_f)) + } + return &u +} + +func (u userDo) Preload(fields ...field.RelationField) IUserDo { + for _, _f := range fields { + u = *u.withDO(u.DO.Preload(_f)) + } + return &u +} + +func (u userDo) FirstOrInit() (*models.User, error) { + if result, err := u.DO.FirstOrInit(); err != nil { + return nil, err + } else { + return result.(*models.User), nil + } +} + +func (u userDo) FirstOrCreate() (*models.User, error) { + if result, err := u.DO.FirstOrCreate(); err != nil { + return nil, err + } else { + return result.(*models.User), nil + } +} + +func (u userDo) FindByPage(offset int, limit int) (result []*models.User, count int64, err error) { + result, err = u.Offset(offset).Limit(limit).Find() + if err != nil { + return + } + + if size := len(result); 0 < limit && 0 < size && size < limit { + count = int64(size + offset) + return + } + + count, err = u.Offset(-1).Limit(-1).Count() + return +} + +func (u userDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { + count, err = u.Count() + if err != nil { + return + } + + err = u.Offset(offset).Limit(limit).Scan(result) + return +} + +func (u userDo) Scan(result interface{}) (err error) { + return u.DO.Scan(result) +} + +func (u userDo) Delete(models ...*models.User) (result gen.ResultInfo, err error) { + return u.DO.Delete(models) +} + +func (u *userDo) withDO(do gen.Dao) *userDo { + u.DO = *do.(*gen.DO) + return u +} diff --git a/go.mod b/go.mod index 42de49f..771e139 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( github.com/brianvoe/gofakeit/v6 v6.20.1 github.com/gin-gonic/gin v1.8.1 github.com/go-gormigrate/gormigrate/v2 v2.0.2 + github.com/gofrs/uuid v4.0.0+incompatible github.com/golang-jwt/jwt/v4 v4.4.3 github.com/pkg/errors v0.9.1 github.com/rogeecn/fabfile v1.3.0 @@ -25,117 +26,42 @@ require ( ) require ( - github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible // indirect - github.com/Microsoft/go-winio v0.5.2 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20220730123233-d6ffb7692adf // indirect - github.com/acomagu/bufpipe v1.0.3 // indirect - github.com/aliyun/aliyun-oss-go-sdk v2.1.6+incompatible // indirect - github.com/aws/aws-sdk-go v1.42.27 // indirect - github.com/bitly/go-simplejson v0.5.0 // indirect - github.com/casbin/casbin/v2 v2.51.0 // indirect - github.com/casbin/gorm-adapter/v3 v3.7.3 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/cloudflare/circl v1.2.0 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect - github.com/denisenkom/go-mssqldb v0.12.2 // indirect - github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - github.com/emirpasic/gods v1.18.1 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gin-contrib/sse v0.1.0 // indirect - github.com/glebarez/go-sqlite v1.16.0 // indirect - github.com/glebarez/sqlite v1.4.3 // indirect - github.com/go-git/gcfg v1.5.0 // indirect - github.com/go-git/go-billy/v5 v5.3.1 // indirect - github.com/go-git/go-git/v5 v5.4.2 // indirect - github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-playground/locales v0.14.0 // indirect github.com/go-playground/universal-translator v0.18.0 // indirect github.com/go-playground/validator/v10 v10.10.0 // indirect - github.com/go-redis/redis/v8 v8.11.4 // indirect github.com/go-sql-driver/mysql v1.6.0 // indirect github.com/goccy/go-json v0.9.7 // indirect - github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect - github.com/golang-sql/sqlexp v0.1.0 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-querystring v1.0.0 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/gookit/color v1.3.1 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/huaweicloud/huaweicloud-sdk-go-obs v3.21.8+incompatible // indirect - github.com/imdario/mergo v0.3.13 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect - github.com/jackc/chunkreader/v2 v2.0.1 // indirect - github.com/jackc/pgconn v1.13.0 // indirect - github.com/jackc/pgio v1.0.0 // indirect - github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgproto3/v2 v2.3.1 // indirect - github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect - github.com/jackc/pgtype v1.12.0 // indirect - github.com/jackc/pgx/v4 v4.17.2 // indirect - github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/leodido/go-urn v1.2.1 // indirect - github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-isatty v0.0.14 // indirect - github.com/miekg/dns v1.1.50 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/mozillazg/go-httpheader v0.2.1 // indirect - github.com/nxadm/tail v1.4.8 // indirect - github.com/otiai10/copy v1.7.0 // indirect - github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c // indirect - github.com/patrickmn/go-cache v2.1.0+incompatible // indirect github.com/pelletier/go-toml/v2 v2.0.6 // indirect - github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/qiniu/api.v7/v7 v7.4.1 // indirect - github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect - github.com/robfig/cron/v3 v3.0.1 // indirect - github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/sergi/go-diff v1.2.0 // indirect - github.com/shirou/gopsutil/v3 v3.22.5 // indirect github.com/sirupsen/logrus v1.8.1 // indirect - github.com/songzhibin97/gkit v1.2.7 // indirect github.com/spf13/afero v1.9.3 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.4.2 // indirect - github.com/tencentyun/cos-go-sdk-v5 v0.7.19 // indirect - github.com/tklauser/go-sysconf v0.3.10 // indirect - github.com/tklauser/numcpus v0.4.0 // indirect github.com/ugorji/go/codec v1.2.7 // indirect - github.com/urfave/cli/v2 v2.11.1 // indirect - github.com/xanzy/ssh-agent v0.3.1 // indirect - github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect - github.com/yusufpapurcu/wmi v1.2.2 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.8.0 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect golang.org/x/net v0.4.0 // indirect golang.org/x/sys v0.3.0 // indirect golang.org/x/text v0.5.0 // indirect - golang.org/x/time v0.1.0 // indirect golang.org/x/tools v0.1.12 // indirect - google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect - google.golang.org/grpc v1.52.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect - gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gorm.io/datatypes v1.0.7 // indirect - gorm.io/driver/postgres v1.4.1 // indirect - gorm.io/driver/sqlserver v1.4.0 // indirect gorm.io/hints v1.1.0 // indirect - modernc.org/libc v1.15.1 // indirect - modernc.org/mathutil v1.4.1 // indirect - modernc.org/memory v1.0.7 // indirect - modernc.org/sqlite v1.16.0 // indirect ) diff --git a/go.sum b/go.sum index 4239d95..e9c92e8 100644 --- a/go.sum +++ b/go.sum @@ -41,62 +41,22 @@ github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJc github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= -github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v0.0.0-20220730123233-d6ffb7692adf h1:aFFtnGZ6/2Qlvx80yxA2fFSYDQWTFjtKozQKB36A3/A= -github.com/ProtonMail/go-crypto v0.0.0-20220730123233-d6ffb7692adf/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= -github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mod h1:1pk82RBxDY/JZnPQrtqHlUFfCctgdorsd9M06fMynOM= -github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= -github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= -github.com/aliyun/aliyun-oss-go-sdk v2.1.6+incompatible h1:Ft+KeWIJxFP76LqgJbvtOA1qBIoC8vGkTV3QeCOeJC4= -github.com/aliyun/aliyun-oss-go-sdk v2.1.6+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aws/aws-sdk-go v1.42.27 h1:kxsBXQg3ee6LLbqjp5/oUeDgG7TENFrWYDmEVnd7spU= -github.com/aws/aws-sdk-go v1.42.27/go.mod h1:OGr6lGMAKGlG9CVrYnWYDKIyb829c6EVBRjxqjmPepc= -github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f h1:ZNv7On9kyUzm7fvRZumSyy/IUiSC7AzL0I1jKKtwooA= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= -github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= github.com/brianvoe/gofakeit/v6 v6.20.1 h1:8ihJ60OvPnPJ2W6wZR7M+TTeaZ9bml0z6oy4gvyJ/ek= github.com/brianvoe/gofakeit/v6 v6.20.1/go.mod h1:Ow6qC71xtwm79anlwKRlWZW6zVq9D2XHE4QSSMP/rU8= -github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/bwesterb/go-ristretto v1.2.1/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/casbin/casbin/v2 v2.37.4/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= -github.com/casbin/casbin/v2 v2.51.0 h1:BC41imD9Z2coIJpELapy2h5kMT+lB4vFDTYpMhTsU4A= -github.com/casbin/casbin/v2 v2.51.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= -github.com/casbin/gorm-adapter/v3 v3.7.3 h1:tp3EL3vS31dF+GX0n3QwUytQlrFOPXtOKKZ7SZtLOA8= -github.com/casbin/gorm-adapter/v3 v3.7.3/go.mod h1:7mwHmC2phiw6N4gDWlzi+c4DUX7zaVmQC/hINsRgBDg= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= -github.com/cloudflare/circl v1.2.0 h1:NheeISPSUcYftKlfrLuOo4T62FkmD4t4jviLfFFYaec= -github.com/cloudflare/circl v1.2.0/go.mod h1:Ch2UgYr6ti2KTtlejELlROl0YIYj7SLjAC8M+INXlMk= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/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= @@ -105,50 +65,20 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denisenkom/go-mssqldb v0.12.0/go.mod h1:iiK0YP1ZeepvmBQk/QpLEhhTNJgfzrpArPY/aFvc9yU= github.com/denisenkom/go-mssqldb v0.12.2 h1:1OcPn5GBIobjWNd+8yjfHNIaFX14B1pWI3F9HZy5KXw= -github.com/denisenkom/go-mssqldb v0.12.2/go.mod h1:lnIw1mZukFRZDJYQ0Pb833QS2IaC3l5HkEfra2LJ+sk= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= -github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= -github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch/v5 v5.5.0 h1:bAmFiUJ+o0o2B4OiTFeE3MqCOtyo+jjPP9iZ0VRxYUc= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= -github.com/flipped-aurora/gin-vue-admin/server v0.0.0-20230128065308-bc1cc33591ba h1:JAEfihtGVIGHu9I0Uepct84SlV054Awd3JWZcoPPGxM= -github.com/flipped-aurora/gin-vue-admin/server v0.0.0-20230128065308-bc1cc33591ba/go.mod h1:u35/P7xHMrfnSoG4Ol7AIuZ4/hsK2ZSiX1xrw8ndK1Q= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= -github.com/glebarez/go-sqlite v1.16.0 h1:h28rHued+hGof3fNLksBcLwz/a71fiGZ/eIJHK0SsLI= -github.com/glebarez/go-sqlite v1.16.0/go.mod h1:i8/JtqoqzBAFkrUTxbQFkQ05odCOds3j7NlDaXjqiPY= -github.com/glebarez/sqlite v1.4.3 h1:ZABNo+2YIau8F8sZ7Qh/1h/ZnlSUMHFGD4zJKPval7A= -github.com/glebarez/sqlite v1.4.3/go.mod h1:FcJlwP9scnxlQ5zxyl0+bn/qFjYcqG4eRvKYhs39QAQ= -github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-acme/lego/v4 v4.4.0 h1:uHhU5LpOYQOdp3aDU+XY2bajseu8fuExphTL1Ss6/Fc= -github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.3.1 h1:CPiOUAzKtMRvolEKw+bG1PLRpT7D3LIs3/3ey4Aiu34= -github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2SubfXjIWgci8= -github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= -github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= -github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -156,12 +86,6 @@ github.com/go-gormigrate/gormigrate/v2 v2.0.2 h1:YV4Lc5yMQX8ahVW0ENPq6sPhrhdkGuk github.com/go-gormigrate/gormigrate/v2 v2.0.2/go.mod h1:vld36QpBTfTzLealsHsmQQJK5lSwJt6wiORv+oFX8/I= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-micro/plugins/v4/client/grpc v1.1.0 h1:1MlhnyLxlZpzYY7gepj5zGJNn06yL+3OBbDfh0Z6jH0= -github.com/go-micro/plugins/v4/client/grpc v1.1.0/go.mod h1:7mskyLlKoKT2V5mC4mdBcrpDx+CiLZxXtTMD+jpFuRY= -github.com/go-micro/plugins/v4/server/http v1.1.0 h1:3zigMm74qsuGJDMHCuYFy+2PEvnKND3S5AcabuWWyr8= -github.com/go-micro/plugins/v4/server/http v1.1.0/go.mod h1:ZjVZi1l16RjzyT3IISirh9BEZdqzaLLwiE/1fvdSbnI= -github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= -github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= @@ -170,16 +94,9 @@ github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/j github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.10.0 h1:I7mrTYv78z8k8VXa/qJlOlEXn/nBh+BF8dHX5nt/dr0= github.com/go-playground/validator/v10 v10.10.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-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-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= -github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= -github.com/gobwas/ws v1.0.4 h1:5eXU1CZhpQdq5kXbKb+sECH5Ia5KiO6CYzIzdlVx6Bs= github.com/goccy/go-json v0.9.7 h1:IcB+Aqpx/iMHu5Yooh7jEzJk1JZ7Pjtmys2ukPr7EeM= github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= @@ -191,7 +108,6 @@ github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0kt github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8= github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= -github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -202,7 +118,6 @@ github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFU github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -219,8 +134,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -231,14 +144,9 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -254,28 +162,16 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gookit/color v1.3.1 h1:PPD/C7sf8u2L8XQPdPgsWRoAiLQGZEZOzU3cf5IYYUk= -github.com/gookit/color v1.3.1/go.mod h1:R3ogXq2B9rTbXoSHJ1HyUVAZ3poOJHpd9nQmyGZsfvQ= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huaweicloud/huaweicloud-sdk-go-obs v3.21.8+incompatible h1:3kDd8PIWAdU+qGs/+0QUgsMI2ZSiJPt45Xn0su+x/Q0= -github.com/huaweicloud/huaweicloud-sdk-go-obs v3.21.8+incompatible/go.mod h1:l7VUhRbTKCzdOacdT4oWCwATKyvZqUOlOqr0Ous3k4s= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= @@ -290,12 +186,10 @@ github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8 github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= github.com/jackc/pgconn v1.11.0/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= github.com/jackc/pgconn v1.13.0 h1:3L1XMNV2Zvca/8BYhzcRFS70Lr0WlDg16Di6SFGAbys= -github.com/jackc/pgconn v1.13.0/go.mod h1:AnowpAqO4CMIIJNZl2VJp+KrkAZciAkhEl0W0JIobpI= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc= github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= @@ -308,7 +202,6 @@ github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwX github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgproto3/v2 v2.2.0/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgproto3/v2 v2.3.1 h1:nwj7qwf0S+Q7ISFfBndqeLwSwxs+4DPsbRFjECT1Y4Y= -github.com/jackc/pgproto3/v2 v2.3.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg= github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= @@ -317,42 +210,27 @@ github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrU github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= github.com/jackc/pgtype v1.10.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= github.com/jackc/pgtype v1.12.0 h1:Dlq8Qvcch7kiehm8wPGIW0W3KsCCHJnRacKW0UM8n5w= -github.com/jackc/pgtype v1.12.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= github.com/jackc/pgx/v4 v4.15.0/go.mod h1:D/zyOyXiaM1TmVWnOM18p0xdDtdakRBa0RsVGI3U3bw= github.com/jackc/pgx/v4 v4.17.2 h1:0Ut0rpeKwvIVbMQ1KbMBU4h6wxehBI535LK6Flheh8E= -github.com/jackc/pgx/v4 v4.17.2/go.mod h1:lcxIZN44yMIrWI78a5CpucdD14hX0SBDbNRvjDBItsw= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.2.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jinzhu/now v1.1.2/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= -github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -371,14 +249,9 @@ github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ic github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= -github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= @@ -390,10 +263,6 @@ github.com/mattn/go-sqlite3 v1.14.8/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI= -github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= -github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -402,31 +271,6 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= -github.com/mozillazg/go-httpheader v0.2.1 h1:geV7TrjbL8KXSyvghnFm+NyTux/hxwueTSrwhe88TQQ= -github.com/mozillazg/go-httpheader v0.2.1/go.mod h1:jJ8xECTlalr6ValeXYdOF8fFUISeBAdw6E61aqQma60= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.16.0 h1:6gjqkI8iiRHMvdccRJM8rVKjCWk6ZIm6FTm3ddIe4/c= -github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -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 h1:7JgpsBaN0uMkyju4tbYHu0mnM55hNKVYLsXmwr15NQI= -github.com/otiai10/mint v1.3.3/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c h1:rp5dCmg/yLR3mgFuSOe4oEnDDmGLROTvMragMUXpTQw= -github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c/go.mod h1:X07ZCGwUbLaax7L0S3Tw4hpejzu63ZrrQiUe6W0hcy0= -github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= -github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= @@ -437,15 +281,7 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/qiniu/api.v7/v7 v7.4.1 h1:BnNUBimLk6nrA/mIwsww9yJRupmViSsb1ndLMC7a9OY= -github.com/qiniu/api.v7/v7 v7.4.1/go.mod h1:VE5oC5rkE1xul0u1S2N0b2Uxq9/6hZzhyqjgK25XDcM= -github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk= -github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= -github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= -github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogeecn/fabfile v1.3.0 h1:k+MNkdDbJ72wED3Qqs6R2aRvHII8MsZttCPxf5UwSHk= github.com/rogeecn/fabfile v1.3.0/go.mod h1:EPwX7TtVcIWSLJkJAqxSzYjM/aV1Q0wymcaXqnMgzas= github.com/rogeecn/gen v1.0.4 h1:bx9d9WAQHM8cluqN/M0dzVbtXc96M9xuSxMJgadb6jw= @@ -457,25 +293,15 @@ github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6po 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.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= -github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shirou/gopsutil/v3 v3.22.5 h1:atX36I/IXgFiB81687vSiBI5zrMsxcIBkP9cQMJQoJA= -github.com/shirou/gopsutil/v3 v3.22.5/go.mod h1:so9G9VzeHt/hsd0YwqprnjHnfARAUktauykSbr+y2gA= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/songzhibin97/gkit v1.2.7 h1:Z5GJs8jysk4pEer/bSeo49Xh/iAGXz9dZfiZSPyfRy8= -github.com/songzhibin97/gkit v1.2.7/go.mod h1:fqP08z5X5p1rdYCoxTtovvDQ91wcWsablOuMPVqQHEc= github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= @@ -505,32 +331,15 @@ github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKs github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/tencentyun/cos-go-sdk-v5 v0.7.19 h1:janAfTO4MglOrUFuKGTQJBuMc66+F7TgtEIt1wPsJ+k= -github.com/tencentyun/cos-go-sdk-v5 v0.7.19/go.mod h1:wQBO5HdAkLjj2q6XQiIfDSP8DXDNrppDRw2Kp/1BODA= -github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw= -github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= -github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= -github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= -github.com/urfave/cli/v2 v2.11.1 h1:UKK6SP7fV3eKOefbS87iT9YHefv7iB/53ih6e+GNAsE= -github.com/urfave/cli/v2 v2.11.1/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo= -github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= -github.com/xanzy/ssh-agent v0.3.1 h1:AmzO1SSWxw73zxFZPRwaMN1MohDw8UyHnmuxyceTEGo= -github.com/xanzy/ssh-agent v0.3.1/go.mod h1:QIE4lCeL7nkC25x+yA3LBIYfwCc1TFziCtG7cBAac6w= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= -github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -go-micro.dev/v4 v4.8.0 h1:4rrKpGHUTnrD2k2eVUVayJgWDoFlDcB/Ijkga8dZMNc= -go-micro.dev/v4 v4.8.0/go.mod h1:Ju8HrZ5hQSF+QguZ2QUs9Kbe42MHP1tJa/fpP5g07Cs= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -560,7 +369,6 @@ go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -570,16 +378,12 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= 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-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20221005025214-4161e89ecf1b h1:huxqepDufQpLLIRXiVkTvnxrzJlpwmIWAObmcCcUFr0= golang.org/x/crypto v0.0.0-20221005025214-4161e89ecf1b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -620,7 +424,6 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVD golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -642,7 +445,6 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -652,13 +454,9 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -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-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -685,7 +483,6 @@ golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -698,12 +495,8 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -723,36 +516,22 @@ golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201126233918-771906719818/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210902050250-f475640dd07b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220405052023-b1e9470b6e64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= 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= @@ -766,8 +545,6 @@ golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= -golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -815,15 +592,12 @@ golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -894,8 +668,6 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY= -google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -912,9 +684,6 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk= -google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= -google.golang.org/grpc/examples v0.0.0-20211102180624-670c133e568e h1:m7aQHHqd0q89mRwhwS9Bx2rjyl/hsFAeta+uGrHsQaU= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -926,68 +695,47 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/datatypes v1.0.7 h1:8NhJN4+annFjwV1WufDhFiPjdUvV1lSGUdg1UCjQIWY= gorm.io/datatypes v1.0.7/go.mod h1:l9qkCuy0CdzDEop9HKUdcnC9gHC2sRlaFtHkTzsZRqg= -gorm.io/driver/mysql v1.0.3/go.mod h1:twGxftLBlFgNVNakL7F+P/x9oYqoymG3YYT8cAfI9oI= gorm.io/driver/mysql v1.3.2/go.mod h1:ChK6AHbHgDCFZyJp0F+BmVGb06PSIoh9uVYKAlRbb2U= -gorm.io/driver/mysql v1.3.3/go.mod h1:ChK6AHbHgDCFZyJp0F+BmVGb06PSIoh9uVYKAlRbb2U= gorm.io/driver/mysql v1.4.0 h1:P+gpa0QGyNma39khn1vZMS/eXEJxTwHz4Q26NR4C8fw= gorm.io/driver/mysql v1.4.0/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c= gorm.io/driver/postgres v1.3.4/go.mod h1:y0vEuInFKJtijuSGu9e5bs5hzzSzPK+LancpKpvbRBw= gorm.io/driver/postgres v1.4.1 h1:DutsKq2LK2Ag65q/+VygWth0/L4GAVOp+sCtg6WzZjs= -gorm.io/driver/postgres v1.4.1/go.mod h1:whNfh5WhhHs96honoLjBAMwJGYEuA3m1hvgUbNXhPCw= gorm.io/driver/sqlite v1.1.6/go.mod h1:W8LmC/6UvVbHKah0+QOC7Ja66EaZXHwUTjgXY8YNWX8= gorm.io/driver/sqlite v1.3.1/go.mod h1:wJx0hJspfycZ6myN38x1O/AqLtNS6c5o9TndewFbELg= gorm.io/driver/sqlite v1.4.1 h1:ThZ3dRIbTbWGvaMHSVjgf0sb6SRJMNRyQAwfLo25+cM= gorm.io/driver/sqlserver v1.3.1/go.mod h1:w25Vrx2BG+CJNUu/xKbFhaKlGxT/nzRkhWCCoptX8tQ= -gorm.io/driver/sqlserver v1.3.2/go.mod h1:w25Vrx2BG+CJNUu/xKbFhaKlGxT/nzRkhWCCoptX8tQ= gorm.io/driver/sqlserver v1.4.0 h1:3fjbsNkr/YqocSBW5CP16Lq6+APjRrWMzu7NbkXr9QU= -gorm.io/driver/sqlserver v1.4.0/go.mod h1:P8BSbBwkdzXURYx3pWUSEAABRQU0vxbd6xk5+53pg7g= gorm.io/gen v0.3.19 h1:GX+KLUrycBzy6UsM1svLgC7wBoZVN1XSvbSCZDnuXEE= gorm.io/gen v0.3.19/go.mod h1:aWgvoKdG9f8Des4TegSa0N5a+gwhGsFo0JJMaLwokvk= -gorm.io/gorm v1.20.4/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gorm.io/gorm v1.20.11/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= gorm.io/gorm v1.21.15/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= gorm.io/gorm v1.22.2/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= gorm.io/gorm v1.23.1/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= -gorm.io/gorm v1.23.4/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.23.6/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= -gorm.io/gorm v1.23.7/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.24.0 h1:j/CoiSm6xpRpmzbFJsQHYj+I8bGYWLXVHeYEyyKlF74= gorm.io/gorm v1.24.0/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= gorm.io/hints v1.1.0 h1:Lp4z3rxREufSdxn4qmkK3TLDltrM10FLTHiuqwDPvXw= gorm.io/hints v1.1.0/go.mod h1:lKQ0JjySsPBj3uslFzY3JhYDtqEwzm+G1hv8rWujB6Y= -gorm.io/plugin/dbresolver v1.1.0/go.mod h1:tpImigFAEejCALOttyhWqsy4vfa2Uh/vAUVnL5IRF7Y= gorm.io/plugin/dbresolver v1.3.0 h1:uFDX3bIuH9Lhj5LY2oyqR/bU6pqWuDgas35NAPF4X3M= gorm.io/plugin/dbresolver v1.3.0/go.mod h1:Pr7p5+JFlgDaiM6sOrli5olekJD16YRunMyA2S7ZfKk= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -997,144 +745,6 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= -modernc.org/cc/v3 v3.33.6/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.33.9/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.33.11/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.34.0/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.0/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.4/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.5/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.7/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.8/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.10/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.15/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.16/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.17/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.18/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.20/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.22/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.24/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/cc/v3 v3.35.25/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/cc/v3 v3.35.26/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/ccgo/v3 v3.9.5/go.mod h1:umuo2EP2oDSBnD3ckjaVUXMrmeAw8C8OSICVa0iFf60= -modernc.org/ccgo/v3 v3.10.0/go.mod h1:c0yBmkRFi7uW4J7fwx/JiijwOjeAeR2NoSaRVFPmjMw= -modernc.org/ccgo/v3 v3.11.0/go.mod h1:dGNposbDp9TOZ/1KBxghxtUp/bzErD0/0QW4hhSaBMI= -modernc.org/ccgo/v3 v3.11.1/go.mod h1:lWHxfsn13L3f7hgGsGlU28D9eUOf6y3ZYHKoPaKU0ag= -modernc.org/ccgo/v3 v3.11.3/go.mod h1:0oHunRBMBiXOKdaglfMlRPBALQqsfrCKXgw9okQ3GEw= -modernc.org/ccgo/v3 v3.12.4/go.mod h1:Bk+m6m2tsooJchP/Yk5ji56cClmN6R1cqc9o/YtbgBQ= -modernc.org/ccgo/v3 v3.12.6/go.mod h1:0Ji3ruvpFPpz+yu+1m0wk68pdr/LENABhTrDkMDWH6c= -modernc.org/ccgo/v3 v3.12.8/go.mod h1:Hq9keM4ZfjCDuDXxaHptpv9N24JhgBZmUG5q60iLgUo= -modernc.org/ccgo/v3 v3.12.11/go.mod h1:0jVcmyDwDKDGWbcrzQ+xwJjbhZruHtouiBEvDfoIsdg= -modernc.org/ccgo/v3 v3.12.14/go.mod h1:GhTu1k0YCpJSuWwtRAEHAol5W7g1/RRfS4/9hc9vF5I= -modernc.org/ccgo/v3 v3.12.18/go.mod h1:jvg/xVdWWmZACSgOiAhpWpwHWylbJaSzayCqNOJKIhs= -modernc.org/ccgo/v3 v3.12.20/go.mod h1:aKEdssiu7gVgSy/jjMastnv/q6wWGRbszbheXgWRHc8= -modernc.org/ccgo/v3 v3.12.21/go.mod h1:ydgg2tEprnyMn159ZO/N4pLBqpL7NOkJ88GT5zNU2dE= -modernc.org/ccgo/v3 v3.12.22/go.mod h1:nyDVFMmMWhMsgQw+5JH6B6o4MnZ+UQNw1pp52XYFPRk= -modernc.org/ccgo/v3 v3.12.25/go.mod h1:UaLyWI26TwyIT4+ZFNjkyTbsPsY3plAEB6E7L/vZV3w= -modernc.org/ccgo/v3 v3.12.29/go.mod h1:FXVjG7YLf9FetsS2OOYcwNhcdOLGt8S9bQ48+OP75cE= -modernc.org/ccgo/v3 v3.12.36/go.mod h1:uP3/Fiezp/Ga8onfvMLpREq+KUjUmYMxXPO8tETHtA8= -modernc.org/ccgo/v3 v3.12.38/go.mod h1:93O0G7baRST1vNj4wnZ49b1kLxt0xCW5Hsa2qRaZPqc= -modernc.org/ccgo/v3 v3.12.43/go.mod h1:k+DqGXd3o7W+inNujK15S5ZYuPoWYLpF5PYougCmthU= -modernc.org/ccgo/v3 v3.12.46/go.mod h1:UZe6EvMSqOxaJ4sznY7b23/k13R8XNlyWsO5bAmSgOE= -modernc.org/ccgo/v3 v3.12.47/go.mod h1:m8d6p0zNps187fhBwzY/ii6gxfjob1VxWb919Nk1HUk= -modernc.org/ccgo/v3 v3.12.50/go.mod h1:bu9YIwtg+HXQxBhsRDE+cJjQRuINuT9PUK4orOco/JI= -modernc.org/ccgo/v3 v3.12.51/go.mod h1:gaIIlx4YpmGO2bLye04/yeblmvWEmE4BBBls4aJXFiE= -modernc.org/ccgo/v3 v3.12.53/go.mod h1:8xWGGTFkdFEWBEsUmi+DBjwu/WLy3SSOrqEmKUjMeEg= -modernc.org/ccgo/v3 v3.12.54/go.mod h1:yANKFTm9llTFVX1FqNKHE0aMcQb1fuPJx6p8AcUx+74= -modernc.org/ccgo/v3 v3.12.55/go.mod h1:rsXiIyJi9psOwiBkplOaHye5L4MOOaCjHg1Fxkj7IeU= -modernc.org/ccgo/v3 v3.12.56/go.mod h1:ljeFks3faDseCkr60JMpeDb2GSO3TKAmrzm7q9YOcMU= -modernc.org/ccgo/v3 v3.12.57/go.mod h1:hNSF4DNVgBl8wYHpMvPqQWDQx8luqxDnNGCMM4NFNMc= -modernc.org/ccgo/v3 v3.12.60/go.mod h1:k/Nn0zdO1xHVWjPYVshDeWKqbRWIfif5dtsIOCUVMqM= -modernc.org/ccgo/v3 v3.12.66/go.mod h1:jUuxlCFZTUZLMV08s7B1ekHX5+LIAurKTTaugUr/EhQ= -modernc.org/ccgo/v3 v3.12.67/go.mod h1:Bll3KwKvGROizP2Xj17GEGOTrlvB1XcVaBrC90ORO84= -modernc.org/ccgo/v3 v3.12.73/go.mod h1:hngkB+nUUqzOf3iqsM48Gf1FZhY599qzVg1iX+BT3cQ= -modernc.org/ccgo/v3 v3.12.81/go.mod h1:p2A1duHoBBg1mFtYvnhAnQyI6vL0uw5PGYLSIgF6rYY= -modernc.org/ccgo/v3 v3.12.84/go.mod h1:ApbflUfa5BKadjHynCficldU1ghjen84tuM5jRynB7w= -modernc.org/ccgo/v3 v3.12.86/go.mod h1:dN7S26DLTgVSni1PVA3KxxHTcykyDurf3OgUzNqTSrU= -modernc.org/ccgo/v3 v3.12.90/go.mod h1:obhSc3CdivCRpYZmrvO88TXlW0NvoSVvdh/ccRjJYko= -modernc.org/ccgo/v3 v3.12.92/go.mod h1:5yDdN7ti9KWPi5bRVWPl8UNhpEAtCjuEE7ayQnzzqHA= -modernc.org/ccgo/v3 v3.13.1/go.mod h1:aBYVOUfIlcSnrsRVU8VRS35y2DIfpgkmVkYZ0tpIXi4= -modernc.org/ccgo/v3 v3.15.9/go.mod h1:md59wBwDT2LznX/OTCPoVS6KIsdRgY8xqQwBV+hkTH0= -modernc.org/ccgo/v3 v3.15.10/go.mod h1:wQKxoFn0ynxMuCLfFD09c8XPUCc8obfchoVR9Cn0fI8= -modernc.org/ccgo/v3 v3.15.12/go.mod h1:VFePOWoCd8uDGRJpq/zfJ29D0EVzMSyID8LCMWYbX6I= -modernc.org/ccgo/v3 v3.15.14/go.mod h1:144Sz2iBCKogb9OKwsu7hQEub3EVgOlyI8wMUPGKUXQ= -modernc.org/ccgo/v3 v3.15.15/go.mod h1:z5qltXjU4PJl0pE5nhYQCvA9DhPHiWsl5GWl89+NSYE= -modernc.org/ccgo/v3 v3.15.16/go.mod h1:XbKRMeMWMdq712Tr5ECgATYMrzJ+g9zAZEj2ktzBe24= -modernc.org/ccgo/v3 v3.15.17/go.mod h1:bofnFkpRFf5gLY+mBZIyTW6FEcp26xi2lgOFk2Rlvs0= -modernc.org/ccgo/v3 v3.15.18/go.mod h1:/2lv3WjHyanEr2sAPdGKRC38n6f0werut9BRXUjjX+A= -modernc.org/ccgo/v3 v3.15.19/go.mod h1:TDJj+DxR26pkDteH2E5WQDj/xlmtsX7JdzkJkaZhOVU= -modernc.org/ccgo/v3 v3.16.2/go.mod h1:w55kPTAqvRMAYS3Lwij6qhqIuBEYS3Z8QtDkjD8cnik= -modernc.org/ccorpus v1.11.1/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= -modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= -modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= -modernc.org/libc v1.9.8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= -modernc.org/libc v1.9.11/go.mod h1:NyF3tsA5ArIjJ83XB0JlqhjTabTCHm9aX4XMPHyQn0Q= -modernc.org/libc v1.11.0/go.mod h1:2lOfPmj7cz+g1MrPNmX65QCzVxgNq2C5o0jdLY2gAYg= -modernc.org/libc v1.11.2/go.mod h1:ioIyrl3ETkugDO3SGZ+6EOKvlP3zSOycUETe4XM4n8M= -modernc.org/libc v1.11.5/go.mod h1:k3HDCP95A6U111Q5TmG3nAyUcp3kR5YFZTeDS9v8vSU= -modernc.org/libc v1.11.6/go.mod h1:ddqmzR6p5i4jIGK1d/EiSw97LBcE3dK24QEwCFvgNgE= -modernc.org/libc v1.11.11/go.mod h1:lXEp9QOOk4qAYOtL3BmMve99S5Owz7Qyowzvg6LiZso= -modernc.org/libc v1.11.13/go.mod h1:ZYawJWlXIzXy2Pzghaf7YfM8OKacP3eZQI81PDLFdY8= -modernc.org/libc v1.11.16/go.mod h1:+DJquzYi+DMRUtWI1YNxrlQO6TcA5+dRRiq8HWBWRC8= -modernc.org/libc v1.11.19/go.mod h1:e0dgEame6mkydy19KKaVPBeEnyJB4LGNb0bBH1EtQ3I= -modernc.org/libc v1.11.24/go.mod h1:FOSzE0UwookyT1TtCJrRkvsOrX2k38HoInhw+cSCUGk= -modernc.org/libc v1.11.26/go.mod h1:SFjnYi9OSd2W7f4ct622o/PAYqk7KHv6GS8NZULIjKY= -modernc.org/libc v1.11.27/go.mod h1:zmWm6kcFXt/jpzeCgfvUNswM0qke8qVwxqZrnddlDiE= -modernc.org/libc v1.11.28/go.mod h1:Ii4V0fTFcbq3qrv3CNn+OGHAvzqMBvC7dBNyC4vHZlg= -modernc.org/libc v1.11.31/go.mod h1:FpBncUkEAtopRNJj8aRo29qUiyx5AvAlAxzlx9GNaVM= -modernc.org/libc v1.11.34/go.mod h1:+Tzc4hnb1iaX/SKAutJmfzES6awxfU1BPvrrJO0pYLg= -modernc.org/libc v1.11.37/go.mod h1:dCQebOwoO1046yTrfUE5nX1f3YpGZQKNcITUYWlrAWo= -modernc.org/libc v1.11.39/go.mod h1:mV8lJMo2S5A31uD0k1cMu7vrJbSA3J3waQJxpV4iqx8= -modernc.org/libc v1.11.42/go.mod h1:yzrLDU+sSjLE+D4bIhS7q1L5UwXDOw99PLSX0BlZvSQ= -modernc.org/libc v1.11.44/go.mod h1:KFq33jsma7F5WXiYelU8quMJasCCTnHK0mkri4yPHgA= -modernc.org/libc v1.11.45/go.mod h1:Y192orvfVQQYFzCNsn+Xt0Hxt4DiO4USpLNXBlXg/tM= -modernc.org/libc v1.11.47/go.mod h1:tPkE4PzCTW27E6AIKIR5IwHAQKCAtudEIeAV1/SiyBg= -modernc.org/libc v1.11.49/go.mod h1:9JrJuK5WTtoTWIFQ7QjX2Mb/bagYdZdscI3xrvHbXjE= -modernc.org/libc v1.11.51/go.mod h1:R9I8u9TS+meaWLdbfQhq2kFknTW0O3aw3kEMqDDxMaM= -modernc.org/libc v1.11.53/go.mod h1:5ip5vWYPAoMulkQ5XlSJTy12Sz5U6blOQiYasilVPsU= -modernc.org/libc v1.11.54/go.mod h1:S/FVnskbzVUrjfBqlGFIPA5m7UwB3n9fojHhCNfSsnw= -modernc.org/libc v1.11.55/go.mod h1:j2A5YBRm6HjNkoSs/fzZrSxCuwWqcMYTDPLNx0URn3M= -modernc.org/libc v1.11.56/go.mod h1:pakHkg5JdMLt2OgRadpPOTnyRXm/uzu+Yyg/LSLdi18= -modernc.org/libc v1.11.58/go.mod h1:ns94Rxv0OWyoQrDqMFfWwka2BcaF6/61CqJRK9LP7S8= -modernc.org/libc v1.11.71/go.mod h1:DUOmMYe+IvKi9n6Mycyx3DbjfzSKrdr/0Vgt3j7P5gw= -modernc.org/libc v1.11.75/go.mod h1:dGRVugT6edz361wmD9gk6ax1AbDSe0x5vji0dGJiPT0= -modernc.org/libc v1.11.82/go.mod h1:NF+Ek1BOl2jeC7lw3a7Jj5PWyHPwWD4aq3wVKxqV1fI= -modernc.org/libc v1.11.86/go.mod h1:ePuYgoQLmvxdNT06RpGnaDKJmDNEkV7ZPKI2jnsvZoE= -modernc.org/libc v1.11.87/go.mod h1:Qvd5iXTeLhI5PS0XSyqMY99282y+3euapQFxM7jYnpY= -modernc.org/libc v1.11.88/go.mod h1:h3oIVe8dxmTcchcFuCcJ4nAWaoiwzKCdv82MM0oiIdQ= -modernc.org/libc v1.11.98/go.mod h1:ynK5sbjsU77AP+nn61+k+wxUGRx9rOFcIqWYYMaDZ4c= -modernc.org/libc v1.11.101/go.mod h1:wLLYgEiY2D17NbBOEp+mIJJJBGSiy7fLL4ZrGGZ+8jI= -modernc.org/libc v1.12.0/go.mod h1:2MH3DaF/gCU8i/UBiVE1VFRos4o523M7zipmwH8SIgQ= -modernc.org/libc v1.14.1/go.mod h1:npFeGWjmZTjFeWALQLrvklVmAxv4m80jnG3+xI8FdJk= -modernc.org/libc v1.14.2/go.mod h1:MX1GBLnRLNdvmK9azU9LCxZ5lMyhrbEMK8rG3X/Fe34= -modernc.org/libc v1.14.3/go.mod h1:GPIvQVOVPizzlqyRX3l756/3ppsAgg1QgPxjr5Q4agQ= -modernc.org/libc v1.14.6/go.mod h1:2PJHINagVxO4QW/5OQdRrvMYo+bm5ClpUFfyXCYl9ak= -modernc.org/libc v1.14.7/go.mod h1:f8xfWXW8LW41qb4X5+huVQo5dcfPlq7Cbny2TDheMv0= -modernc.org/libc v1.14.8/go.mod h1:9+JCLb1MWSY23smyOpIPbd5ED+rSS/ieiDWUpdyO3mo= -modernc.org/libc v1.14.10/go.mod h1:y1MtIWhwpJFpLYm6grAThtuXJKEsY6xkdZmXbRngIdo= -modernc.org/libc v1.14.11/go.mod h1:l5/Mz/GrZwOqzwRHA3abgSCnSeJzzTl+Ify0bAwKbAw= -modernc.org/libc v1.14.12/go.mod h1:fJdoe23MHu2ruPQkFPPqCpToDi5cckzsbmkI6Ez0LqQ= -modernc.org/libc v1.15.0/go.mod h1:H1OKCu+NYa9+uQG8WsP7DndMBP61I4PWH8ivWhbdoWQ= -modernc.org/libc v1.15.1 h1:q4wjNNEdw9eceGHEUxklZyPVTkOPHjywI7qKQBj1f/A= -modernc.org/libc v1.15.1/go.mod h1:CoZ2riUhSNTAP4bADwpxkLCyJK9SbbMvle0YRzkRT/I= -modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.4.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.4.1 h1:ij3fYGe8zBF4Vu+g0oT7mB06r8sqGWKuJu1yXeR4by8= -modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/memory v1.0.4/go.mod h1:nV2OApxradM3/OVbs2/0OsP6nPfakXpi50C7dcoHXlc= -modernc.org/memory v1.0.5/go.mod h1:B7OYswTRnfGg+4tDH1t1OeUNnsy2viGTdME4tzd+IjM= -modernc.org/memory v1.0.6/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= -modernc.org/memory v1.0.7 h1:UE3cxTRFa5tfUibAV7Jqq8P7zRY0OlJg+yWVIIaluEE= -modernc.org/memory v1.0.7/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= -modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= -modernc.org/sqlite v1.16.0 h1:DdvOGaWN0y+X7t2L7RUD63gcwbVjYZjcBZnA68g44EI= -modernc.org/sqlite v1.16.0/go.mod h1:Jwe13ItpESZ+78K5WS6+AjXsUg+JvirsjN3iIDO4C8k= -modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= -modernc.org/tcl v1.11.2/go.mod h1:BRzgpajcGdS2qTxniOx9c/dcxjlbA7p12eJNmiriQYo= -modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -modernc.org/z v1.3.2/go.mod h1:PEU2oK2OEA1CfzDTd+8E908qEXhC9s0MfyKp5LZsd+k= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=