Documentation
¶
Index ¶
- type App
- func (a *App) AddFilesToQueue() error
- func (a *App) CancelJob(id string) error
- func (a *App) CancelUpload() error
- func (a *App) ClearQueue() error
- func (a *App) DebugQueueItem(id string) (map[string]interface{}, error)
- func (a *App) DownloadNZB(id string) error
- func (a *App) GetAppStatus() AppStatus
- func (a *App) GetConfig() (*config.ConfigData, error)
- func (a *App) GetConfigPath() string
- func (a *App) GetLogs() (string, error)
- func (a *App) GetLogsPaginated(limit, offset int) (string, error)
- func (a *App) GetNZBContent(id string) (string, error)
- func (a *App) GetOutputDirectory() string
- func (a *App) GetProcessorStatus() ProcessorStatus
- func (a *App) GetProgress() ProgressTracker
- func (a *App) GetQueueItems() ([]QueueItem, error)
- func (a *App) GetQueueStats() (QueueStats, error)
- func (a *App) GetRunningJobDetails() ([]*processor.RunningJobDetails, error)
- func (a *App) GetRunningJobs() ([]processor.RunningJobItem, error)
- func (a *App) GetWatchDirectory() string
- func (a *App) HandleDroppedFiles(filePaths []string) error
- func (a *App) IsUploading() bool
- func (a *App) NavigateToDashboard()
- func (a *App) NavigateToSettings()
- func (a *App) RemoveFromQueue(id string) error
- func (a *App) RetryJob(id string) error
- func (a *App) SaveConfig(configData *config.ConfigData) error
- func (a *App) SelectConfigFile() (string, error)
- func (a *App) SelectOutputDirectory() (string, error)
- func (a *App) SelectTempDirectory() (string, error)
- func (a *App) SelectWatchDirectory() (string, error)
- func (a *App) SetQueueItemPriority(id string, priority int) error
- func (a *App) SetWebEventEmitter(emitter func(eventType string, data interface{}))
- func (a *App) SetWebMode(isWeb bool)
- func (a *App) SetupWizardComplete(wizardData SetupWizardData) error
- func (a *App) Startup(ctx context.Context)
- func (a *App) UploadFiles() error
- func (a *App) ValidateNNTPServer(serverData ServerData) ValidationResult
- type AppPaths
- type AppStatus
- type ProcessorStatus
- type ProgressTracker
- type ProgressUpdate
- type QueueItem
- type QueueStats
- type ServerData
- type SetupWizardData
- type ValidationResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct {
// contains filtered or unexported fields
}
App struct for the Wails application
func (*App) AddFilesToQueue ¶
AddFilesToQueue adds multiple files to the queue for processing
func (*App) CancelUpload ¶
CancelUpload cancels the currently running direct upload
func (*App) ClearQueue ¶
ClearQueue removes all completed and failed items from the queue via queue
func (*App) DebugQueueItem ¶
DebugQueueItem returns debug information about a queue item
func (*App) DownloadNZB ¶
DownloadNZB downloads the NZB file for a completed item
func (*App) GetAppStatus ¶
GetAppStatus returns the current application status
func (*App) GetConfig ¶
func (a *App) GetConfig() (*config.ConfigData, error)
GetConfig returns the current configuration
func (*App) GetConfigPath ¶
GetConfigPath returns the path to the configuration file
func (*App) GetLogsPaginated ¶
GetLogsPaginated returns paginated log content limit: number of lines to return (0 = use original 1MB limit) offset: number of lines to skip from the end (0 = start from most recent)
func (*App) GetNZBContent ¶
GetNZBContent returns the content of an NZB file for a completed item
func (*App) GetOutputDirectory ¶
GetOutputDirectory returns the current output directory
func (*App) GetProcessorStatus ¶
func (a *App) GetProcessorStatus() ProcessorStatus
GetProcessorStatus returns processor status information
func (*App) GetProgress ¶
func (a *App) GetProgress() ProgressTracker
GetProgress returns the current progress
func (*App) GetQueueItems ¶
GetQueueItems returns the current queue items from the queue
func (*App) GetQueueStats ¶
func (a *App) GetQueueStats() (QueueStats, error)
GetQueueStats returns statistics about the queue via queue
func (*App) GetRunningJobDetails ¶
func (a *App) GetRunningJobDetails() ([]*processor.RunningJobDetails, error)
GetRunningJobDetails returns detailed information about currently running jobs
func (*App) GetRunningJobs ¶
func (a *App) GetRunningJobs() ([]processor.RunningJobItem, error)
GetRunningJobs returns currently running jobs from the processor
func (*App) GetWatchDirectory ¶
GetWatchDirectory returns the current watch directory
func (*App) HandleDroppedFiles ¶
HandleDroppedFiles processes files that are dropped onto the application window
func (*App) IsUploading ¶
IsUploading returns whether an upload is in progress
func (*App) NavigateToDashboard ¶
func (a *App) NavigateToDashboard()
NavigateToDashboard emits an event to navigate to the dashboard page
func (*App) NavigateToSettings ¶
func (a *App) NavigateToSettings()
NavigateToSettings emits an event to navigate to the settings page
func (*App) RemoveFromQueue ¶
RemoveFromQueue removes an item from the queue via queue
func (*App) SaveConfig ¶
func (a *App) SaveConfig(configData *config.ConfigData) error
SaveConfig saves the configuration
func (*App) SelectConfigFile ¶
SelectConfigFile allows user to select a config file
func (*App) SelectOutputDirectory ¶
SelectOutputDirectory allows user to select an output directory
func (*App) SelectTempDirectory ¶
SelectTempDirectory allows user to select a temporary directory for PAR2 files
func (*App) SelectWatchDirectory ¶
SelectWatchDirectory allows user to select a watch directory
func (*App) SetQueueItemPriority ¶
SetQueueItemPriority updates the priority of a pending queue item by id
func (*App) SetWebEventEmitter ¶
SetWebEventEmitter sets the event emitter function for web mode
func (*App) SetWebMode ¶
SetWebMode sets the application to web mode
func (*App) SetupWizardComplete ¶ added in v0.0.7
func (a *App) SetupWizardComplete(wizardData SetupWizardData) error
SetupWizardComplete saves the configuration from the setup wizard
func (*App) Startup ¶
Startup is called when the app starts. The context is saved so we can call the runtime methods
func (*App) ValidateNNTPServer ¶ added in v0.0.7
func (a *App) ValidateNNTPServer(serverData ServerData) ValidationResult
ValidateNNTPServer validates an NNTP server configuration by attempting to connect
type AppPaths ¶
AppPaths holds the various paths needed by the application
func GetAppPaths ¶
GetAppPaths returns the appropriate paths for the current operating system
type AppStatus ¶ added in v0.0.8
type AppStatus struct {
HasPostie bool `json:"hasPostie"`
HasConfig bool `json:"hasConfig"`
ConfigPath string `json:"configPath"`
Uploading bool `json:"uploading"`
CriticalConfigError bool `json:"criticalConfigError"`
Error string `json:"error"`
IsFirstStart bool `json:"isFirstStart"`
HasServers bool `json:"hasServers"`
ServerCount int `json:"serverCount"`
ValidServerCount int `json:"validServerCount"`
ConfigValid bool `json:"configValid"`
NeedsConfiguration bool `json:"needsConfiguration"`
}
AppStatus represents the current application status
type ProcessorStatus ¶ added in v0.0.8
type ProcessorStatus struct {
HasProcessor bool `json:"hasProcessor"`
RunningJobs int `json:"runningJobs"`
RunningJobIDs []string `json:"runningJobIDs"`
}
ProcessorStatus represents the current processor status
type ProgressTracker ¶
type ProgressTracker struct {
CurrentFile string `json:"currentFile"`
TotalFiles int `json:"totalFiles"`
CompletedFiles int `json:"completedFiles"`
Stage string `json:"stage"`
Details string `json:"details"`
IsRunning bool `json:"isRunning"`
LastUpdate int64 `json:"lastUpdate"`
Percentage float64 `json:"percentage"`
CurrentFileProgress float64 `json:"currentFileProgress"`
JobID string `json:"jobID"`
TotalBytes int64 `json:"totalBytes"`
TransferredBytes int64 `json:"transferredBytes"`
CurrentFileBytes int64 `json:"currentFileBytes"`
Speed float64 `json:"speed"` // Speed in KB/s
SecondsLeft float64 `json:"secondsLeft"` // Estimated seconds remaining
ElapsedTime float64 `json:"elapsedTime"` // Elapsed time in seconds
}
type ProgressUpdate ¶
type ProgressUpdate struct {
// Core fields that are commonly updated together (non-nullable)
Stage string `json:"stage"` // Always provided for state changes
IsRunning bool `json:"isRunning"` // Always provided with stage changes
CompletedFiles int `json:"completedFiles"` // Frequently updated for progress
Percentage float64 `json:"percentage"` // Frequently updated with completedFiles
// Optional context fields (nullable)
CurrentFile *string `json:"currentFile,omitempty"` // Optional: file being processed
TotalFiles *int `json:"totalFiles,omitempty"` // Optional: set once at start
Details *string `json:"details,omitempty"` // Optional: detailed status from callbacks
JobID *string `json:"jobID,omitempty"` // Optional: only for queue operations
TotalBytes *int64 `json:"totalBytes,omitempty"` // Optional: set once at start
TransferredBytes *int64 `json:"transferredBytes,omitempty"` // Optional: periodic updates
CurrentFileBytes *int64 `json:"currentFileBytes,omitempty"` // Optional: from callbacks
CurrentFileProgress *float64 `json:"currentFileProgress,omitempty"` // Optional: from callbacks
Speed *float64 `json:"speed,omitempty"` // Optional: upload speed in KB/s
SecondsLeft *float64 `json:"secondsLeft,omitempty"` // Optional: estimated seconds remaining
ElapsedTime *float64 `json:"elapsedTime,omitempty"` // Optional: elapsed time in seconds
}
ProgressUpdate contains the fields that can be updated in a progress update
type QueueItem ¶
type QueueItem struct {
ID string `json:"id"`
Path string `json:"path"`
FileName string `json:"fileName"`
Size int64 `json:"size"`
Status string `json:"status"`
RetryCount int `json:"retryCount"`
Priority int `json:"priority"`
ErrorMessage *string `json:"errorMessage"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
CompletedAt *time.Time `json:"completedAt"`
NzbPath *string `json:"nzbPath"`
}
QueueItem represents a queue item for the frontend - matches queue.QueueItem
type QueueStats ¶ added in v0.0.8
type QueueStats struct {
Total int `json:"total"`
Pending int `json:"pending"`
Running int `json:"running"`
Complete int `json:"complete"`
Error int `json:"error"`
}
QueueStats represents queue statistics
type ServerData ¶ added in v0.0.7
type ServerData struct {
Host string `json:"host"`
Port int `json:"port"`
Username string `json:"username"`
Password string `json:"password"`
SSL bool `json:"ssl"`
MaxConnections int `json:"maxConnections"`
}
ServerData represents the server configuration data from the frontend
type SetupWizardData ¶ added in v0.0.7
type SetupWizardData struct {
Servers []ServerData `json:"servers"`
OutputDirectory string `json:"outputDirectory"`
WatchDirectory string `json:"watchDirectory"`
}
SetupWizardData represents the complete setup wizard data from the frontend
type ValidationResult ¶ added in v0.0.7
ValidationResult represents the result of server validation