Documentation
¶
Index ¶
- Constants
- func GetScratchFilePath(id string) (string, error)
- func GetScratchFilePathWithConfig(id string, cfg *config.Config) (string, error)
- func GetScratchPath() (string, error)
- func GetScratchPathWithConfig(cfg *config.Config) (string, error)
- type DiscoveryManager
- type Index
- type IndexEntry
- type MetadataManager
- func (m *MetadataManager) DeleteScratchMetadata(id string) error
- func (m *MetadataManager) GetFilesPath() string
- func (m *MetadataManager) GetIndexPath() string
- func (m *MetadataManager) GetMetadataPath() string
- func (m *MetadataManager) Initialize() error
- func (m *MetadataManager) LoadIndex() (*Index, error)
- func (m *MetadataManager) LoadScratchMetadata(id string) (*Scratch, error)
- func (m *MetadataManager) MigrateFromLegacyMetadata(scratches []Scratch) error
- func (m *MetadataManager) RebuildIndex() error
- func (m *MetadataManager) RemoveIndexEntry(id string) error
- func (m *MetadataManager) SaveIndex(index *Index) error
- func (m *MetadataManager) SaveScratchMetadata(scratch *Scratch) error
- func (m *MetadataManager) UpdateIndexEntry(scratch *Scratch) error
- type Scratch
- type Store
- func (s *Store) AddScratch(scratch Scratch) error
- func (s *Store) AddScratchAtomic(scratch Scratch) error
- func (s *Store) GetPinnedScratches() []Scratch
- func (s *Store) GetScratches() []Scratch
- func (s *Store) RebuildIndex() error
- func (s *Store) RemoveScratch(id string) error
- func (s *Store) RemoveScratchAtomic(id string) error
- func (s *Store) RunDiscoveryBeforeCommand() error
- func (s *Store) SaveScratches(scratches []Scratch) error
- func (s *Store) SaveScratchesAtomic(scratches []Scratch) error
- func (s *Store) UpdateScratch(scratchToUpdate Scratch) error
- func (s *Store) UpdateScratchAtomic(scratchToUpdate Scratch) error
Constants ¶
const (
MaxPinnedScratches = 5
)
Variables ¶
This section is empty.
Functions ¶
func GetScratchFilePath ¶
func GetScratchFilePathWithConfig ¶ added in v1.2.0
func GetScratchPath ¶
Types ¶
type DiscoveryManager ¶ added in v1.5.3
type DiscoveryManager struct {
// contains filtered or unexported fields
}
DiscoveryManager handles auto-discovery of orphaned scratch files
func NewDiscoveryManager ¶ added in v1.5.3
func NewDiscoveryManager(store *Store) *DiscoveryManager
NewDiscoveryManager creates a new discovery manager
func (*DiscoveryManager) DiscoverOrphanedFiles ¶ added in v1.5.3
func (dm *DiscoveryManager) DiscoverOrphanedFiles() error
DiscoverOrphanedFiles finds and indexes files without metadata
type Index ¶ added in v1.5.3
type Index struct {
Version string `json:"version"`
UpdatedAt time.Time `json:"updated_at"`
Scratches map[string]IndexEntry `json:"scratches"`
}
Index represents the master index structure
type IndexEntry ¶ added in v1.5.3
type IndexEntry struct {
Project string `json:"project"`
Title string `json:"title"`
CreatedAt time.Time `json:"created_at"`
}
IndexEntry represents minimal scratch info for the master index
type MetadataManager ¶ added in v1.5.3
type MetadataManager struct {
// contains filtered or unexported fields
}
MetadataManager handles individual metadata files and master index
func NewMetadataManager ¶ added in v1.5.3
func NewMetadataManager(fs filesystem.FileSystem, basePath string) *MetadataManager
NewMetadataManager creates a new metadata manager
func (*MetadataManager) DeleteScratchMetadata ¶ added in v1.5.3
func (m *MetadataManager) DeleteScratchMetadata(id string) error
DeleteScratchMetadata removes individual scratch metadata
func (*MetadataManager) GetFilesPath ¶ added in v1.5.3
func (m *MetadataManager) GetFilesPath() string
GetFilesPath returns the path to the files directory
func (*MetadataManager) GetIndexPath ¶ added in v1.5.3
func (m *MetadataManager) GetIndexPath() string
GetIndexPath returns the path to the index file
func (*MetadataManager) GetMetadataPath ¶ added in v1.5.3
func (m *MetadataManager) GetMetadataPath() string
GetMetadataPath returns the path to the metadata directory
func (*MetadataManager) Initialize ¶ added in v1.5.3
func (m *MetadataManager) Initialize() error
Initialize creates the necessary directory structure
func (*MetadataManager) LoadIndex ¶ added in v1.5.3
func (m *MetadataManager) LoadIndex() (*Index, error)
LoadIndex reads the master index
func (*MetadataManager) LoadScratchMetadata ¶ added in v1.5.3
func (m *MetadataManager) LoadScratchMetadata(id string) (*Scratch, error)
LoadScratchMetadata loads individual scratch metadata
func (*MetadataManager) MigrateFromLegacyMetadata ¶ added in v1.5.3
func (m *MetadataManager) MigrateFromLegacyMetadata(scratches []Scratch) error
MigrateFromLegacyMetadata migrates from old metadata.json to new structure
func (*MetadataManager) RebuildIndex ¶ added in v1.5.3
func (m *MetadataManager) RebuildIndex() error
RebuildIndex reconstructs the index from individual metadata files
func (*MetadataManager) RemoveIndexEntry ¶ added in v1.5.3
func (m *MetadataManager) RemoveIndexEntry(id string) error
RemoveIndexEntry removes an entry from the index
func (*MetadataManager) SaveIndex ¶ added in v1.5.3
func (m *MetadataManager) SaveIndex(index *Index) error
SaveIndex writes the master index
func (*MetadataManager) SaveScratchMetadata ¶ added in v1.5.3
func (m *MetadataManager) SaveScratchMetadata(scratch *Scratch) error
SaveScratchMetadata saves individual scratch metadata
func (*MetadataManager) UpdateIndexEntry ¶ added in v1.5.3
func (m *MetadataManager) UpdateIndexEntry(scratch *Scratch) error
UpdateIndexEntry updates or adds an entry in the index
type Scratch ¶
type Scratch struct {
ID string `json:"id"`
Project string `json:"project"`
Title string `json:"title"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
Size int64 `json:"size,omitempty"`
Checksum string `json:"checksum,omitempty"`
IsPinned bool `json:"is_pinned,omitempty"`
PinnedAt time.Time `json:"pinned_at,omitempty"`
}
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
func NewStoreWithConfig ¶ added in v1.2.0
func (*Store) AddScratch ¶
func (*Store) AddScratchAtomic ¶ added in v1.5.3
AddScratchAtomic adds a scratch with file locking to prevent concurrent conflicts
func (*Store) GetPinnedScratches ¶ added in v1.8.0
func (*Store) GetScratches ¶
func (*Store) RebuildIndex ¶ added in v1.5.3
RebuildIndex rebuilds the master index from individual metadata files
func (*Store) RemoveScratch ¶
func (*Store) RemoveScratchAtomic ¶ added in v1.5.3
RemoveScratchAtomic removes a scratch with file locking
func (*Store) RunDiscoveryBeforeCommand ¶ added in v1.5.3
RunDiscoveryBeforeCommand runs discovery before executing a command that needs metadata
func (*Store) SaveScratches ¶
func (*Store) SaveScratchesAtomic ¶ added in v1.5.3
SaveScratchesAtomic performs bulk update with file locking
func (*Store) UpdateScratch ¶
func (*Store) UpdateScratchAtomic ¶ added in v1.5.3
UpdateScratchAtomic updates a scratch with file locking