添加代理与节点的注册与端口分配接口功能

This commit is contained in:
2025-05-13 09:29:13 +08:00
parent 957d9ef443
commit 60df1548f0
17 changed files with 692 additions and 464 deletions

View File

@@ -13,7 +13,6 @@ var g *gen.Generator
func main() {
// 初始化
db, _ := gorm.Open(
postgres.Open("host=localhost user=test password=test dbname=app port=5432 sslmode=disable TimeZone=Asia/Shanghai"),
&gorm.Config{
@@ -30,7 +29,7 @@ func main() {
})
g.UseDB(db)
// 生成模型
// 公共参数
common := []gen.ModelOpt{
gen.FieldModify(func(field gen.Field) gen.Field {
if field.Type == "time.Time" {
@@ -41,6 +40,7 @@ func main() {
gen.FieldRename("contact_qq", "ContactQQ"),
}
// 生成模型
customs := make(map[string]any)
resourcePss := g.GenerateModel("resource_pss", common...)
@@ -85,14 +85,28 @@ func main() {
)...)
customs["bill"] = bill
edge := g.GenerateModel("edge", common...)
customs["edge"] = edge
proxy := g.GenerateModel("proxy", append(common,
gen.FieldRelate(field.HasMany, "Edges", edge, &field.RelateConfig{
GORMTag: field.GormTag{
"foreignKey": []string{"ProxyID"},
"references": []string{"ID"},
},
}),
)...)
customs["proxy"] = proxy
// 生成表结构
tables, _ := db.Migrator().GetTables()
models := make([]interface{}, len(tables))
for i, name := range tables {
if customs[name] != nil {
models[i] = customs[name]
continue
} else {
models[i] = g.GenerateModel(name, common...)
}
models[i] = genBasic(name, common...)
}
g.ApplyBasic(models...)
@@ -101,7 +115,3 @@ func main() {
g.Execute()
}
func genBasic(name string, opts ...gen.ModelOpt) any {
return g.GenerateModel(name, opts...)
}