Various improvements for usability and consistency and inclusion of PWA handling.

This commit is contained in:
2026-07-09 20:03:41 -05:00
parent 941ce78bfd
commit 0a400e3039
23 changed files with 439 additions and 133 deletions

View File

@@ -1,33 +1,36 @@
#include "app.h"
ApiDef apiDefs[] = {
{"/api/wifi/scan", "GET", "Sysadmin", false, handleWifiScan, nullptr},
{"/api/setup", "POST", "Sysadmin", false, handleSetupSubmit, nullptr},
{"/api/wifi/scan", "GET", "SystemAdmin", false, handleWifiScan, nullptr},
{"/api/setup", "POST", "SystemAdmin", false, handleSetupSubmit, nullptr},
{"/api/login", "POST", "", true, handleLogin, nullptr},
{"/api/logout", "POST", "WebUIConnect", false, handleLogout, nullptr},
{"/api/me", "GET", "WebUIConnect", false, handleMe, nullptr},
{"/api/apis", "GET", "Sysadmin", false, handleApisGet, nullptr},
{"/api/apis", "POST", "Sysadmin", false, handleApisPost, nullptr},
{"/api/users", "GET", "UserAdmin", false, handleUsersGet, nullptr},
{"/api/users", "POST", "UserAdmin", false, handleUsersPost, nullptr},
{"/api/roles", "GET", "UserAdmin", false, handleRolesGet, nullptr},
{"/api/roles", "POST", "UserAdmin", false, handleRolesPost, nullptr},
{"/api/roles", "DELETE", "UserAdmin", false, handleRolesDelete, nullptr},
{"/api/apis", "GET", "AccessAdmin", false, handleApisGet, nullptr},
{"/api/apis", "POST", "AccessAdmin", false, handleApisPost, nullptr},
{"/api/users", "GET", "AccessAdmin", false, handleUsersGet, nullptr},
{"/api/users", "POST", "AccessAdmin", false, handleUsersPost, nullptr},
{"/api/roles", "GET", "AccessAdmin", false, handleRolesGet, nullptr},
{"/api/roles", "POST", "AccessAdmin", false, handleRolesPost, nullptr},
{"/api/roles", "DELETE", "AccessAdmin", false, handleRolesDelete, nullptr},
{"/api/password", "POST", "WebUIConnect", false, handlePassword, nullptr},
{"/api/settings", "GET", "Sysadmin", false, handleSettingsGet, nullptr},
{"/api/settings", "POST", "Sysadmin", false, handleSettingsPost, nullptr},
{"/api/logs", "GET", "Debugger", false, handleLogsGet, nullptr},
{"/api/logs/clear", "POST", "Debugger", false, handleLogsClear, nullptr},
{"/api/files", "GET", "Debugger", false, handleFilesList, nullptr},
{"/api/files/download", "GET", "Debugger", false, handleFileDownload, nullptr},
{"/api/factory-reset", "POST", "Sysadmin", false, handleFactoryReset, nullptr},
{"/api/config/export", "GET", "Sysadmin", false, handleConfigExport, nullptr},
{"/api/config/import", "POST", "Sysadmin", false, handleConfigImport, nullptr},
{"/api/ota/check", "POST", "Sysadmin", false, handleOtaCheck, nullptr},
{"/api/ota/run", "POST", "Sysadmin", false, handleOtaRun, nullptr},
{"/api/update", "POST", "Sysadmin", false, handleUpdateUploadDone, handleUpdateUploadChunk},
{"/api/cert", "GET", "Sysadmin", false, handleCertGet, nullptr},
{"/api/cert", "POST", "Sysadmin", false, handleCertPost, nullptr},
{"/api/settings", "GET", "SystemAdmin", false, handleSettingsGet, nullptr},
{"/api/settings", "POST", "SystemAdmin", false, handleSettingsPost, nullptr},
{"/api/network", "GET", "NetworkAdmin", false, handleNetworkSettingsGet, nullptr},
{"/api/network", "POST", "NetworkAdmin", false, handleNetworkSettingsPost, nullptr},
{"/api/logs", "GET", "SystemAdmin", false, handleLogsGet, nullptr},
{"/api/logs/clear", "POST", "SystemAdmin", false, handleLogsClear, nullptr},
{"/api/files", "GET", "SystemAdmin", false, handleFilesList, nullptr},
{"/api/files/download", "GET", "SystemAdmin", false, handleFileDownload, nullptr},
{"/api/restart", "POST", "SystemAdmin", false, handleRestart, nullptr},
{"/api/factory-reset", "POST", "SystemAdmin", false, handleFactoryReset, nullptr},
{"/api/config/export", "GET", "SystemAdmin", false, handleConfigExport, nullptr},
{"/api/config/import", "POST", "SystemAdmin", false, handleConfigImport, nullptr},
{"/api/ota/check", "POST", "SystemAdmin", false, handleOtaCheck, nullptr},
{"/api/ota/run", "POST", "SystemAdmin", false, handleOtaRun, nullptr},
{"/api/update", "POST", "SystemAdmin", false, handleUpdateUploadDone, handleUpdateUploadChunk},
{"/api/cert", "GET", "NetworkAdmin", false, handleCertGet, nullptr},
{"/api/cert", "POST", "NetworkAdmin", false, handleCertPost, nullptr},
};
const size_t API_DEF_COUNT = sizeof(apiDefs) / sizeof(apiDefs[0]);