58 lines
1.6 KiB
Go
58 lines
1.6 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// WiFiNetwork represents a discovered WiFi network
|
|
type WiFiNetwork struct {
|
|
SSID string `json:"ssid"`
|
|
Signal int `json:"signal"`
|
|
Security string `json:"security"`
|
|
Channel int `json:"channel"`
|
|
BSSID string `json:"bssid"`
|
|
}
|
|
|
|
// ConnectedDevice represents a device connected to the hotspot
|
|
type ConnectedDevice struct {
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
MAC string `json:"mac"`
|
|
IP string `json:"ip"`
|
|
}
|
|
|
|
// HotspotConfig represents hotspot configuration
|
|
type HotspotConfig struct {
|
|
SSID string `json:"ssid"`
|
|
Password string `json:"password"`
|
|
Channel int `json:"channel"`
|
|
}
|
|
|
|
// SystemStatus represents overall system status
|
|
type SystemStatus struct {
|
|
Connected bool `json:"connected"`
|
|
ConnectedSSID string `json:"connectedSSID"`
|
|
HotspotEnabled bool `json:"hotspotEnabled"`
|
|
ConnectedCount int `json:"connectedCount"`
|
|
DataUsage float64 `json:"dataUsage"`
|
|
Uptime int64 `json:"uptime"`
|
|
ConnectedDevices []ConnectedDevice `json:"connectedDevices"`
|
|
}
|
|
|
|
// WiFiConnectRequest represents a request to connect to WiFi
|
|
type WiFiConnectRequest struct {
|
|
SSID string `json:"ssid" binding:"required"`
|
|
Password string `json:"password"`
|
|
}
|
|
|
|
// LogEntry represents a system log entry
|
|
type LogEntry struct {
|
|
Timestamp time.Time `json:"timestamp"`
|
|
Source string `json:"source"`
|
|
Message string `json:"message"`
|
|
}
|
|
|
|
// DHCPLease represents a DHCP lease entry
|
|
type DHCPLease struct {
|
|
IP string
|
|
MAC string
|
|
Hostname string
|
|
}
|