From 605aff104b6125d510d062ab81b4c7bdddd0b86e Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Thu, 5 Mar 2026 13:57:48 -0500 Subject: [PATCH] docs: Fix Phase 1 job type duplication with Phase 0.5 Fixed issue where Phase 1 tried to add job types that were already added in Phase 0.5. Changes: 1. Step 1.1 - Updated title from 'Add All Job Type Constants' to 'Add NEW Job Type Constants' - Now shows current state after Phase 0.5 (JobTypeScan, JobTypeSetFolders, JobTypeDirectoryScan) - Only adds NEW Phase 1 job types: Import, Convert, Thumbnails, Reindex, Backup, Analytics, Sync - Clarifies that JobTypeScan, JobTypeSetFolders, JobTypeDirectoryScan were added in Phase 0.5 2. Step 1.2 - Updated title from 'Add Job Handlers to Switch Statement' to 'Add NEW Job Handlers to Switch Statement' - Now shows current state after Phase 0.5 (handlers for Scan, SetFolders, DirectoryScan) - Only adds NEW Phase 1 handlers for the new job types - Clarifies that existing handlers were added in Phase 0.5 Impact: Developers now have clear guidance on which job types/handlers to add in each phase, avoiding confusion and potential merge conflicts. --- COMPLETE_INFRASTRUCTURE_ENHANCEMENT_PLAN.md | 46 +++++++++++++-------- 1 file changed, 29 insertions(+), 17 deletions(-) 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).