package store import "git.tukangketik.id/swanadiva/hostkeeper/v2/internal/model" type DeviceStore struct { devices []model.Device } func NewDeviceStore() *DeviceStore { s := &DeviceStore{devices: defaultDevices()} mu.RLock() readFile("devices.json", &s.devices) mu.RUnlock() if s.devices == nil { s.devices = defaultDevices() } return s } func (s *DeviceStore) All() []model.Device { mu.RLock() defer mu.RUnlock() return s.devices } func defaultDevices() []model.Device { return []model.Device{ {ID: "d1", Name: "MacBook Pro M4", Type: "desktop", OS: "macOS 15 Sequoia", LastSeen: "Just now", Current: true}, {ID: "d2", Name: "iPhone 17 Pro", Type: "mobile", OS: "iOS 20", LastSeen: "2 hours ago", Current: false}, {ID: "d3", Name: "iPad Air M3", Type: "tablet", OS: "iPadOS 20", LastSeen: "Yesterday", Current: false}, } }