package mock import ( "context" "fmt" "tera-clone/services/tera-api/internal/alarmdelivery" ) func (s *Store) LogStorageStatus(ctx context.Context) (map[string]any, error) { if s.logJournal == nil { return nil, fmt.Errorf("log storage unavailable") } snapshot, err := s.logJournal.Snapshot() if err != nil { return nil, err } retention, err := s.LogRetention(ctx) if err != nil { return nil, err } return map[string]any{"storage": snapshot, "retention": retention, "usage_percent": protectedLogUsagePercent(snapshot), "warning": protectedLogUsagePercent(snapshot) >= retention.ProtectedUsageWarningPct}, nil } func (s *Store) rememberSyslog(result alarmdelivery.Result, err error) { s.mu.Lock() defer s.mu.Unlock() s.lastSyslogResult = result s.lastSyslogError = "" if err != nil { s.lastSyslogError = err.Error() } } func (s *Store) RemoteSyslogStatus(ctx context.Context) (map[string]any, error) { s.mu.Lock() result, lastError, enabled := s.lastSyslogResult, s.lastSyslogError, s.runningSyslog.Enabled s.mu.Unlock() if result.DeliveryID != "" { latest, err := s.alarmDeliveryController.Status(ctx, result.DeliveryID) if err != nil { lastError = err.Error() } else { result = latest } } return map[string]any{"enabled": enabled, "delivery": result, "error": lastError, "observed": result.DeliveryID != "" || lastError != ""}, nil }