feat: ent ORM, admin UI, client auth, Fyne GUI, Windows/MSI packaging
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
type FrpcClient struct {
|
||||
ent.Schema
|
||||
}
|
||||
|
||||
func (FrpcClient) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
field.String("name").Unique(),
|
||||
field.String("key").Default(""),
|
||||
field.String("addr").Default(""),
|
||||
field.Int("port").Default(0),
|
||||
field.String("status").Default("offline"),
|
||||
field.String("metadata").Default("{}"),
|
||||
field.Time("created_at").Default(time.Now),
|
||||
field.Time("updated_at").Default(time.Now).UpdateDefault(time.Now),
|
||||
field.Time("last_seen").Optional().Default(time.Now),
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
type Proxy struct {
|
||||
ent.Schema
|
||||
}
|
||||
|
||||
func (Proxy) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
field.String("name"),
|
||||
field.String("proxy_type").Default("tcp"),
|
||||
field.String("local_ip").Default("127.0.0.1"),
|
||||
field.Int("local_port"),
|
||||
field.Int("remote_port").Default(0),
|
||||
field.String("status").Default("inactive"),
|
||||
field.String("custom_domains").Default(""),
|
||||
field.String("metadata").Default("{}"),
|
||||
field.Int("client_id").Default(0),
|
||||
field.Time("created_at").Default(time.Now),
|
||||
field.Time("updated_at").Default(time.Now).UpdateDefault(time.Now),
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
type ServerConfig struct {
|
||||
ent.Schema
|
||||
}
|
||||
|
||||
func (ServerConfig) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
field.String("key").Unique(),
|
||||
field.String("value"),
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/schema/field"
|
||||
)
|
||||
|
||||
type User struct {
|
||||
ent.Schema
|
||||
}
|
||||
|
||||
func (User) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
field.String("username").Unique(),
|
||||
field.String("password"),
|
||||
field.String("name").Default(""),
|
||||
field.String("role").Default("admin"),
|
||||
field.Time("created_at").Default(time.Now),
|
||||
field.Time("updated_at").Default(time.Now).UpdateDefault(time.Now),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user