diff --git a/internal/eventlog/eventlog.go b/internal/eventlog/eventlog.go deleted file mode 100644 index b2d7f240..00000000 --- a/internal/eventlog/eventlog.go +++ /dev/null @@ -1,27 +0,0 @@ -package eventlog - -// LogFile interface captures admissable operations on a log file -type LogFile interface { - Log(event interface{}) error - Iterator() (LogIterator, error) - Close() error - Size() (int, error) -} - -type LogIterator interface { - Next() interface{} - Close() error -} - -type funcLogIterator struct { - nextFunc func() interface{} - closeFunc func() error -} - -func (f *funcLogIterator) Next() interface{} { - return f.nextFunc() -} - -func (f *funcLogIterator) Close() error { - return f.closeFunc() -} \ No newline at end of file diff --git a/internal/eventlog/maybe-unused.txt b/internal/eventlog/maybe-unused.txt deleted file mode 100644 index 250331e0..00000000 --- a/internal/eventlog/maybe-unused.txt +++ /dev/null @@ -1 +0,0 @@ -# unclear if this implementation will be used \ No newline at end of file diff --git a/internal/eventlog/simplefilelog.go b/internal/eventlog/simplefilelog.go deleted file mode 100644 index a695db2a..00000000 --- a/internal/eventlog/simplefilelog.go +++ /dev/null @@ -1,158 +0,0 @@ -package eventlog - -import ( - "bufio" - "encoding/json" - "errors" - "fmt" - "io" - "log" - "os" - "path/filepath" - "sync" -) - -// SimpleLogFile is a simple log file implementation that appends to a file. -type SimpleLogFile struct { - file string // path to the log file - handle *os.File // file handle - mu sync.Mutex -} - -func NewSimpleLogFile(file string) *SimpleLogFile { - return &SimpleLogFile{ - file: file, - } -} - -var _ LogFile = &SimpleLogFile{} - -func (s *SimpleLogFile) open() error { - if s.handle != nil { - return nil - } - - err := os.MkdirAll(filepath.Dir(s.file), 0755) - if err != nil { - return fmt.Errorf("failed to create parent dirs of log file %s: %w", s.file, err) - } - - f, err := os.OpenFile(s.file, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644) - - if err != nil { - return fmt.Errorf("failed to open log file %s: %w", s.file, err) - } - - s.handle = f - - return nil -} - -func (s *SimpleLogFile) Log(event interface{}) error { - data, err := json.Marshal(event) - if err != nil { - return fmt.Errorf("failed to marshal event: %w", err) - } - - s.mu.Lock() - defer s.mu.Unlock() - - err = s.open() - if err != nil { - return err - } - - s.handle.Write(data) - s.handle.Write([]byte("\n")) - - return nil -} - -func (s *SimpleLogFile) Size() (int, error) { - s.mu.Lock() - defer s.mu.Unlock() - - err := s.open() - if err != nil { - return 0, err - } - - stat, err := s.handle.Stat() - if err != nil { - return 0, fmt.Errorf("failed to stat log file %s: %w", s.file, err) - } - - return int(stat.Size()), nil -} - -func (s *SimpleLogFile) Close() error { - s.mu.Lock() - defer s.mu.Unlock() - - if s.handle == nil { - return nil - } - - err := s.handle.Close() - if err != nil { - return fmt.Errorf("failed to close log file %s: %w", s.file, err) - } - s.handle = nil - - return nil -} - -// Iterator returns a function that can be called to iterate over the log file. -func (s *SimpleLogFile) Iterator() (LogIterator, error) { - s.mu.Lock() - f, err := os.OpenFile(s.file, os.O_RDONLY, 0644) - if err != nil { - s.mu.Unlock() - if errors.Is(err, os.ErrNotExist) { - return &funcLogIterator{ - nextFunc: func() interface{} { - return nil - }, - closeFunc: func() error { - return nil - }, - }, nil - } - return nil, fmt.Errorf("failed to open log file %s: %w", s.file, err) - } - - stat, err := f.Stat() - if err != nil { - s.mu.Unlock() - return nil, fmt.Errorf("failed to stat log file %s: %w", s.file, err) - } - size := int(stat.Size()) - s.mu.Unlock() - - reader := io.NewSectionReader(f, 0, int64(size)) - scanner := bufio.NewScanner(reader) - - nextFunc := func() interface{} { - if !scanner.Scan() { - return nil - } - - var event interface{} - err := json.Unmarshal(scanner.Bytes(), &event) - if err != nil { - log.Default().Printf("failed to unmarshal event: %v", err) - return nil - } - - return event - } - - closeFunc := func() error { - return f.Close() - } - - return &funcLogIterator{ - nextFunc: nextFunc, - closeFunc: closeFunc, - }, nil -} diff --git a/static/index.html b/static/index.html deleted file mode 100644 index df213b13..00000000 --- a/static/index.html +++ /dev/null @@ -1,10 +0,0 @@ - - - ResticUI - - - -

ResticUI

-

Nothing to see here, move along.

- - \ No newline at end of file