feat: load persisted devices from DB on startup; offline devices still shown
This commit is contained in:
parent
cacc0a7b83
commit
87088a26f3
@ -31,13 +31,13 @@ func main() {
|
||||
|
||||
// Initialize Services
|
||||
agentClient := service.NewAgentClient(cfg)
|
||||
regSvc := service.NewRegistryService(cfg, agentClient)
|
||||
discoSvc := service.NewDiscoveryService(cfg, regSvc)
|
||||
regSvc.SetDiscovery(discoSvc)
|
||||
store, err := storage.OpenSQLite(cfg.DBPathOrDefault())
|
||||
if err != nil {
|
||||
log.Fatalf("failed to open storage: %v", err)
|
||||
}
|
||||
regSvc := service.NewRegistryService(cfg, agentClient, storage.NewDevicesRepo(store.DB()))
|
||||
discoSvc := service.NewDiscoveryService(cfg, regSvc)
|
||||
regSvc.SetDiscovery(discoSvc)
|
||||
defer store.Close()
|
||||
taskRepo := storage.NewTasksRepo(store.DB())
|
||||
assetsRepo := storage.NewAssetsRepo(store.DB())
|
||||
|
||||
@ -35,6 +35,18 @@ func NewRegistryService(cfg *config.Config, agent *AgentClient, repo ...DeviceRe
|
||||
repo: deviceRepo,
|
||||
devices: make(map[string]*models.Device),
|
||||
}
|
||||
// Load persisted devices from DB so offline devices still appear in the list
|
||||
if deviceRepo != nil {
|
||||
if saved, err := deviceRepo.List(); err == nil {
|
||||
for _, dev := range saved {
|
||||
if dev == nil || dev.DeviceID == "" {
|
||||
continue
|
||||
}
|
||||
dev.Online = false // mark offline until discovery confirms
|
||||
s.devices[dev.DeviceID] = dev
|
||||
}
|
||||
}
|
||||
}
|
||||
go s.startPruning()
|
||||
if agent != nil {
|
||||
go s.startGraphPolling()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user