filetracker.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package backend
  2. import (
  3. "context"
  4. "time"
  5. )
  6. // FileTrackerRecordRead records a file read for a session.
  7. func (b *Backend) FileTrackerRecordRead(ctx context.Context, workspaceID, sessionID, path string) error {
  8. ws, err := b.GetWorkspace(workspaceID)
  9. if err != nil {
  10. return err
  11. }
  12. ws.FileTracker.RecordRead(ctx, sessionID, path)
  13. return nil
  14. }
  15. // FileTrackerLastReadTime returns the last read time for a file in a session.
  16. func (b *Backend) FileTrackerLastReadTime(ctx context.Context, workspaceID, sessionID, path string) (time.Time, error) {
  17. ws, err := b.GetWorkspace(workspaceID)
  18. if err != nil {
  19. return time.Time{}, err
  20. }
  21. return ws.FileTracker.LastReadTime(ctx, sessionID, path), nil
  22. }
  23. // FileTrackerListReadFiles returns the list of read files for a session.
  24. func (b *Backend) FileTrackerListReadFiles(ctx context.Context, workspaceID, sessionID string) ([]string, error) {
  25. ws, err := b.GetWorkspace(workspaceID)
  26. if err != nil {
  27. return nil, err
  28. }
  29. return ws.FileTracker.ListReadFiles(ctx, sessionID)
  30. }