diff --git a/COMPLETE_INFRASTRUCTURE_ENHANCEMENT_PLAN.md b/COMPLETE_INFRASTRUCTURE_ENHANCEMENT_PLAN.md index b633c93..97d6f85 100644 --- a/COMPLETE_INFRASTRUCTURE_ENHANCEMENT_PLAN.md +++ b/COMPLETE_INFRASTRUCTURE_ENHANCEMENT_PLAN.md @@ -1289,60 +1289,72 @@ Files modified: ## Phase 1: Job Queue Expansion (6-8 hours) -### Step 1.1: Add All Job Type Constants +### Step 1.1: Add NEW Job Type Constants **File**: `internal/services/worker.go` **Location**: JobType constants (lines 24-28) -**Current code**: +**Current code** (after Phase 0.5): ```go const ( - JobTypeScan JobType = "scan" + JobTypeScan JobType = "scan" + JobTypeSetFolders JobType = "set_folders" + JobTypeDirectoryScan JobType = "directory_scan" ) ``` -**Action**: Add all new job types: +**Action**: Add NEW job types for Phase 1: ```go const ( - JobTypeScan JobType = "scan" - JobTypeImport JobType = "import" // NEW - JobTypeConvert JobType = "convert" // NEW - JobTypeThumbnails JobType = "thumbnails" // NEW - JobTypeReindex JobType = "reindex" // NEW - JobTypeBackup JobType = "backup" // NEW - JobTypeAnalytics JobType = "analytics" // NEW - JobTypeSync JobType = "sync" // NEW + JobTypeScan JobType = "scan" + JobTypeSetFolders JobType = "set_folders" + JobTypeDirectoryScan JobType = "directory_scan" + JobTypeImport JobType = "import" // NEW - Phase 1 + JobTypeConvert JobType = "convert" // NEW - Phase 1 + JobTypeThumbnails JobType = "thumbnails" // NEW - Phase 1 + JobTypeReindex JobType = "reindex" // NEW - Phase 1 + JobTypeBackup JobType = "backup" // NEW - Phase 1 + JobTypeAnalytics JobType = "analytics" // NEW - Phase 1 + JobTypeSync JobType = "sync" // NEW - Phase 1 ) ``` -**Why**: Defines all job types the system will support. Job queue is massively underutilized (only 1 type). +**Why**: Phase 0.5 added JobTypeScan, JobTypeSetFolders, and JobTypeDirectoryScan. Phase 1 expands the job queue to support more async operations: import, conversion, thumbnails, reindexing, backup, analytics, and sync. **Verification**: Run `go build ./internal/services/` to ensure compiles. --- -### Step 1.2: Add Job Handlers to Switch Statement +### Step 1.2: Add NEW Job Handlers to Switch Statement **File**: `internal/services/worker.go` **Location**: `processJob()` function (around line 127-132) -**Current code**: +**Current code** (after Phase 0.5): ```go switch job.Type { case JobTypeScan: result, err = w.processScanJob(job) +case JobTypeSetFolders: + result, err = w.processSetFoldersJob(job) +case JobTypeDirectoryScan: + result, err = w.processDirectoryScanJob(job) default: err = fmt.Errorf("unknown job type: %s", job.Type) } ``` -**Action**: Add all new handlers: +**Action**: Add NEW handlers for Phase 1 job types: ```go switch job.Type { case JobTypeScan: result, err = w.processScanJob(job) +case JobTypeSetFolders: + result, err = w.processSetFoldersJob(job) +case JobTypeDirectoryScan: + result, err = w.processDirectoryScanJob(job) case JobTypeImport: result, err = w.processImportJob(job) case JobTypeConvert: @@ -1362,7 +1374,7 @@ default: } ``` -**Why**: Routes each job type to its handler function. +**Why**: Phase 0.5 added handlers for JobTypeScan, JobTypeSetFolders, and JobTypeDirectoryScan. Phase 1 adds handlers for the new job types: import, conversion, thumbnails, reindexing, backup, analytics, and sync. **Verification**: Run `go build ./internal/services/` to ensure compiles (will fail until handlers are implemented).