feat: sqlite storage draft

This commit is contained in:
2026-02-03 09:15:29 +01:00
parent d6617cec02
commit 3f5cf0d673
7 changed files with 501 additions and 21 deletions

View File

@ -98,6 +98,31 @@ func (s *ScannerService) Monitor(ctx context.Context) error {
ticker := time.NewTicker(s.Interval)
defer ticker.Stop()
applyChanges := func(changes []Change) {
for _, change := range changes {
var err error
switch change.Type {
case Created:
err = s.handler.HandleCreate(change.Path)
case Modified:
err = s.handler.HandleModify(change.Path)
case Deleted:
err = s.handler.HandleDelete(change.Path)
}
if err != nil {
log.Printf("handler error for %s: %v", change.Path, err)
}
}
}
changes, err := s.Scan()
if err != nil {
log.Printf("scan error: %v", err)
} else {
applyChanges(changes)
}
for {
select {
case <-ticker.C:
@ -107,21 +132,7 @@ func (s *ScannerService) Monitor(ctx context.Context) error {
continue
}
for _, change := range changes {
var err error
switch change.Type {
case Created:
err = s.handler.HandleCreate(change.Path)
case Modified:
err = s.handler.HandleModify(change.Path)
case Deleted:
err = s.handler.HandleDelete(change.Path)
}
if err != nil {
log.Printf("handler error for %s: %v", change.Path, err)
}
}
applyChanges(changes)
case <-ctx.Done():
return ctx.Err()