feat(Q3): add LocationConfig for latitude/longitude

This commit is contained in:
Aaron D. Lee 2026-04-03 18:40:36 -04:00
parent 7cec13e70e
commit 4097ee9dd3
2 changed files with 21 additions and 0 deletions

View File

@ -96,6 +96,19 @@ def test_vigilar_config_has_security():
assert cfg.security.recovery_passphrase_hash == "" assert cfg.security.recovery_passphrase_hash == ""
def test_location_config_defaults():
from vigilar.config import LocationConfig
lc = LocationConfig()
assert lc.latitude == 0.0
assert lc.longitude == 0.0
def test_vigilar_config_has_location():
from vigilar.config import VigilarConfig
cfg = VigilarConfig()
assert cfg.location.latitude == 0.0
class TestCameraConfigLocation: class TestCameraConfigLocation:
def test_default_location_is_interior(self): def test_default_location_is_interior(self):
from vigilar.config import CameraConfig from vigilar.config import CameraConfig

View File

@ -282,6 +282,13 @@ class PetsConfig(BaseModel):
activity: PetActivityConfig = Field(default_factory=PetActivityConfig) activity: PetActivityConfig = Field(default_factory=PetActivityConfig)
# --- Location Config ---
class LocationConfig(BaseModel):
latitude: float = 0.0
longitude: float = 0.0
# --- Security Config --- # --- Security Config ---
class SecurityConfig(BaseModel): class SecurityConfig(BaseModel):
@ -336,6 +343,7 @@ class VigilarConfig(BaseModel):
health: HealthConfig = Field(default_factory=HealthConfig) health: HealthConfig = Field(default_factory=HealthConfig)
pets: PetsConfig = Field(default_factory=PetsConfig) pets: PetsConfig = Field(default_factory=PetsConfig)
security: SecurityConfig = Field(default_factory=SecurityConfig) security: SecurityConfig = Field(default_factory=SecurityConfig)
location: LocationConfig = Field(default_factory=LocationConfig)
cameras: list[CameraConfig] = Field(default_factory=list) cameras: list[CameraConfig] = Field(default_factory=list)
sensors: list[SensorConfig] = Field(default_factory=list) sensors: list[SensorConfig] = Field(default_factory=list)
sensor_gpio: SensorGPIOConfig = Field(default_factory=SensorGPIOConfig, alias="sensors.gpio") sensor_gpio: SensorGPIOConfig = Field(default_factory=SensorGPIOConfig, alias="sensors.gpio")