mirror of
https://github.com/shtorm-7/sing-box-extended.git
synced 2026-05-14 00:51:12 +03:00
165 lines
7.0 KiB
Go
165 lines
7.0 KiB
Go
package constant
|
|
|
|
import "time"
|
|
|
|
type Squad struct {
|
|
ID int `json:"id" validate:"required"`
|
|
Name string `json:"name" validate:"required"`
|
|
CreatedAt time.Time `json:"created_at" validate:"required"`
|
|
UpdatedAt time.Time `json:"updated_at" validate:"required"`
|
|
}
|
|
|
|
type SquadCreate struct {
|
|
Name string `json:"name" validate:"required"`
|
|
}
|
|
|
|
type SquadUpdate struct {
|
|
Name string `json:"name" validate:"required"`
|
|
}
|
|
|
|
type Node struct {
|
|
UUID string `json:"uuid" validate:"required,uuid4"`
|
|
Name string `json:"name" validate:"required"`
|
|
SquadIDs []int `json:"squad_ids" validate:"required"`
|
|
CreatedAt time.Time `json:"created_at" validate:"required"`
|
|
UpdatedAt time.Time `json:"updated_at" validate:"required"`
|
|
}
|
|
|
|
type NodeCreate struct {
|
|
UUID string `json:"uuid" validate:"required,uuid4"`
|
|
Name string `json:"name" validate:"required"`
|
|
SquadIDs []int `json:"squad_ids" validate:"required"`
|
|
}
|
|
|
|
type NodeUpdate struct {
|
|
Name string `json:"name" validate:"required"`
|
|
}
|
|
|
|
type BaseNode struct {
|
|
UUID string `json:"uuid" validate:"required,uuid4"`
|
|
Name string `json:"name" validate:"required"`
|
|
}
|
|
|
|
type User struct {
|
|
ID int `json:"id" validate:"required"`
|
|
SquadIDs []int `json:"squad_ids" validate:"required"`
|
|
Username string `json:"username" validate:"required"`
|
|
Type string `json:"type" validate:"required"`
|
|
Inbound string `json:"inbound" validate:"required"`
|
|
UUID string `json:"uuid" validate:"required"`
|
|
Password string `json:"password" validate:"required"`
|
|
Flow string `json:"flow" validate:"required"`
|
|
AlterID int `json:"alter_id" validate:"required"`
|
|
CreatedAt time.Time `json:"created_at" validate:"required"`
|
|
UpdatedAt time.Time `json:"updated_at" validate:"required"`
|
|
}
|
|
|
|
type UserCreate struct {
|
|
SquadIDs []int `json:"squad_ids" validate:"required"`
|
|
Username string `json:"username" validate:"required"`
|
|
Type string `json:"type" validate:"required,oneof=hysteria hysteria2 trojan tuic vless vmess"`
|
|
Inbound string `json:"inbound" validate:"required"`
|
|
UUID string `json:"uuid" validate:"omitempty,uuid4"`
|
|
Password string `json:"password" validate:"omitempty"`
|
|
Flow string `json:"flow" validate:"omitempty"`
|
|
AlterID int `json:"alter_id" validate:"omitempty"`
|
|
}
|
|
|
|
type UserUpdate struct {
|
|
UUID string `json:"uuid" validate:"omitempty,uuid4"`
|
|
Password string `json:"password" validate:"omitempty"`
|
|
Flow string `json:"flow" validate:"omitempty"`
|
|
AlterID int `json:"alter_id" validate:"omitempty"`
|
|
}
|
|
|
|
type BaseUser struct {
|
|
UUID string `json:"uuid" validate:"omitempty,uuid4"`
|
|
Password string `json:"password" validate:"omitempty"`
|
|
Flow string `json:"flow" validate:"omitempty"`
|
|
AlterID int `json:"alter_id" validate:"omitempty"`
|
|
}
|
|
|
|
type ConnectionLimiter struct {
|
|
ID int `json:"id" validate:"required"`
|
|
SquadIDs []int `json:"squad_ids" validate:"required"`
|
|
Username string `json:"username" validate:"required"`
|
|
Outbound string `json:"outbound" validate:"required"`
|
|
Strategy string `json:"strategy" validate:"required,oneof=connection"`
|
|
ConnectionType string `json:"connection_type" validate:"omitempty,oneof=hwid mux ip"`
|
|
LockType string `json:"lock_type" validate:"omitempty,oneof=manager"`
|
|
Count uint32 `json:"count" validate:"required"`
|
|
CreatedAt time.Time `json:"created_at" validate:"required"`
|
|
UpdatedAt time.Time `json:"updated_at" validate:"required"`
|
|
}
|
|
|
|
type ConnectionLimiterCreate struct {
|
|
SquadIDs []int `json:"squad_ids" validate:"required"`
|
|
Username string `json:"username" validate:"required"`
|
|
Outbound string `json:"outbound" validate:"required"`
|
|
Strategy string `json:"strategy" validate:"required,oneof=connection"`
|
|
ConnectionType string `json:"type" validate:"omitempty,oneof=hwid mux ip"`
|
|
LockType string `json:"lock_type" validate:"omitempty,oneof=manager"`
|
|
Count uint32 `json:"count" validate:"required"`
|
|
}
|
|
|
|
type ConnectionLimiterUpdate struct {
|
|
Username string `json:"username" validate:"required"`
|
|
Outbound string `json:"outbound" validate:"required"`
|
|
Strategy string `json:"strategy" validate:"required,oneof=connection"`
|
|
ConnectionType string `json:"type" validate:"omitempty,oneof=hwid mux ip"`
|
|
LockType string `json:"lock_type" validate:"omitempty,oneof=manager"`
|
|
Count uint32 `json:"count" validate:"required"`
|
|
}
|
|
|
|
type BaseConnectionLimiter struct {
|
|
Username string `json:"username" validate:"required"`
|
|
Outbound string `json:"outbound" validate:"required"`
|
|
Strategy string `json:"strategy" validate:"required,oneof=connection"`
|
|
ConnectionType string `json:"type" validate:"omitempty,oneof=hwid mux ip"`
|
|
LockType string `json:"lock_type" validate:"omitempty,oneof=manager"`
|
|
Count uint32 `json:"count" validate:"required"`
|
|
}
|
|
|
|
type BandwidthLimiter struct {
|
|
ID int `json:"id" validate:"required"`
|
|
SquadIDs []int `json:"squad_ids" validate:"required"`
|
|
Username string `json:"username" validate:"required"`
|
|
Outbound string `json:"outbound" validate:"required"`
|
|
Strategy string `json:"strategy" validate:"required"`
|
|
Mode string `json:"mode" validate:"required"`
|
|
ConnectionType string `json:"connection_type" validate:"omitempty"`
|
|
Speed string `json:"speed" validate:"required"`
|
|
RawSpeed uint64 `json:"raw_speed" validate:"required"`
|
|
CreatedAt time.Time `json:"created_at" validate:"required"`
|
|
UpdatedAt time.Time `json:"updated_at" validate:"required"`
|
|
}
|
|
|
|
type BandwidthLimiterCreate struct {
|
|
SquadIDs []int `json:"squad_ids" validate:"required"`
|
|
Username string `json:"username" validate:"required"`
|
|
Outbound string `json:"outbound" validate:"required"`
|
|
Strategy string `json:"strategy" validate:"required,oneof=global connection"`
|
|
Mode string `json:"mode" validate:"required"`
|
|
ConnectionType string `json:"connection_type" validate:"omitempty"`
|
|
Speed string `json:"speed" validate:"required"`
|
|
}
|
|
|
|
type BandwidthLimiterUpdate struct {
|
|
Username string `json:"username" validate:"required"`
|
|
Outbound string `json:"outbound" validate:"required"`
|
|
Strategy string `json:"strategy" validate:"required,oneof=global connection"`
|
|
Mode string `json:"mode" validate:"required"`
|
|
ConnectionType string `json:"connection_type" validate:"omitempty"`
|
|
Speed string `json:"speed" validate:"required"`
|
|
}
|
|
|
|
type BaseBandwidthLimiter struct {
|
|
Username string `json:"username" validate:"required"`
|
|
Outbound string `json:"outbound" validate:"required"`
|
|
Strategy string `json:"strategy" validate:"required,oneof=global connection"`
|
|
Mode string `json:"mode" validate:"required"`
|
|
ConnectionType string `json:"connection_type" validate:"omitempty"`
|
|
Speed string `json:"speed" validate:"required"`
|
|
RawSpeed uint64 `json:"raw_speed" validate:"required"`
|
|
}
|