Redo ap settings to rest and proto

This commit is contained in:
Niklas Jensen
2026-01-23 14:23:19 +01:00
committed by nikguin04
parent 02aaee0878
commit e1e656478d
10 changed files with 360 additions and 7 deletions
+4
View File
@@ -0,0 +1,4 @@
api.APSettings.ssid max_size:33
api.APSettings.password max_size:64
api.APStatus.mac_address max_size:18
+70
View File
@@ -0,0 +1,70 @@
syntax = "proto3";
package api;
// =============================================================================
// AP (Access Point) Settings - shared data types
// =============================================================================
enum APProvisionMode {
AP_MODE_ALWAYS = 0;
AP_MODE_DISCONNECTED = 1;
AP_MODE_NEVER = 2;
}
enum APNetworkStatus {
AP_ACTIVE = 0;
AP_INACTIVE = 1;
AP_LINGERING = 2;
}
message APSettings {
APProvisionMode provision_mode = 1;
string ssid = 2;
string password = 3;
uint32 channel = 4;
bool ssid_hidden = 5;
uint32 max_clients = 6;
uint32 local_ip = 7;
uint32 gateway_ip = 8;
uint32 subnet_mask = 9;
}
message APStatus {
APNetworkStatus status = 1;
uint32 ip_address = 2;
string mac_address = 3;
uint32 station_num = 4;
}
// Empty request types for GET-like operations
message APSettingsRequest {}
message APStatusRequest {}
// =============================================================================
// REST API wrappers - used by HTTP endpoints
// =============================================================================
// Request wrapper for REST endpoints
message Request {
oneof payload {
APSettings ap_settings = 10;
APSettingsRequest ap_settings_request = 11;
APStatusRequest ap_status_request = 12;
// Future types:
// MDNSSettings mdns_settings = 20;
}
}
// Response wrapper for REST endpoints
message Response {
uint32 status_code = 1;
oneof payload {
APSettings ap_settings = 10;
APStatus ap_status = 11;
// Future types:
// MDNSSettings mdns_settings = 20;
// MDNSStatus mdns_status = 21;
}
}