mirror of
https://github.com/MeshCore-Beacon/beacon-server.git
synced 2026-10-16 16:00:03 +00:00
* chore: add .github/CODEOWNERS for main branch policy Signed-off-by: MrAlders0n <MrAlders0n@smal.ca> * chore: add .github/workflows/main-source-guard.yml for main branch policy Signed-off-by: MrAlders0n <MrAlders0n@smal.ca> * feat(meshmapper): authenticate API imports (#211) * feat(observers): add traffic-sorted directory (#212) * fix(observers): rank available traffic over rolling seven days * chore: bump version to 2.1.0 * chore: set release version to 2.0.2 * feat(api): add /info with mobile min app version (#214) * chore: bump version to 2.0.3 --------- Signed-off-by: MrAlders0n <MrAlders0n@smal.ca>
52 lines
1.6 KiB
Go
52 lines
1.6 KiB
Go
// Copyright 2026 Beacon Contributors
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
package api
|
|
|
|
// AdminConfig is a whitelist of selected nonsecret running settings.
|
|
// It is not a serialization of the full file or environment configuration.
|
|
type AdminConfig struct {
|
|
Auth AdminAuthConfig `json:"auth"`
|
|
CORS AdminCORSConfig `json:"cors"`
|
|
Ingest AdminIngestConfig `json:"ingest"`
|
|
Mobile AdminMobileConfig `json:"mobile"`
|
|
}
|
|
|
|
type AdminMobileConfig struct {
|
|
MinAppVersion string `json:"min_app_version"` // empty means no requirement
|
|
}
|
|
|
|
type AdminAuthConfig struct {
|
|
Configured bool `json:"configured"`
|
|
}
|
|
|
|
// AdminCORSConfig reports the current options supplied to the CORS middleware,
|
|
// with Beacon defaults applied, before that library's matching normalization.
|
|
type AdminCORSConfig struct {
|
|
AllowedOrigins []string `json:"allowed_origins"`
|
|
AllowedMethods []string `json:"allowed_methods"`
|
|
AllowedHeaders []string `json:"allowed_headers"`
|
|
AllowCredentials bool `json:"allow_credentials"`
|
|
MaxAge int `json:"max_age"`
|
|
}
|
|
|
|
type AdminIngestConfig struct {
|
|
// BrokerCount counts configured broker workers, not active MQTT connections
|
|
// or a configurable processing-worker pool.
|
|
BrokerCount int `json:"broker_count"`
|
|
}
|
|
|
|
type UpdateAdminConfigRequest struct {
|
|
CORS *UpdateAdminCORSRequest `json:"cors" validate:"required"`
|
|
}
|
|
|
|
type UpdateAdminCORSRequest struct {
|
|
AllowedOrigins *[]string `json:"allowed_origins" validate:"required"`
|
|
}
|
|
|
|
type UpdateAdminConfigResponse struct {
|
|
Config AdminConfig `json:"config"`
|
|
Persisted bool `json:"persisted"`
|
|
RequiresRestart bool `json:"requires_restart"`
|
|
}
|