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.
This commit is contained in:
2026-03-05 13:57:48 -05:00
parent f2e5114813
commit 605aff104b
+27 -15
View File
@@ -1289,60 +1289,72 @@ Files modified:
## Phase 1: Job Queue Expansion (6-8 hours) ## 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` **File**: `internal/services/worker.go`
**Location**: JobType constants (lines 24-28) **Location**: JobType constants (lines 24-28)
**Current code**: **Current code** (after Phase 0.5):
```go ```go
const ( 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 ```go
const ( const (
JobTypeScan JobType = "scan" JobTypeScan JobType = "scan"
JobTypeImport JobType = "import" // NEW JobTypeSetFolders JobType = "set_folders"
JobTypeConvert JobType = "convert" // NEW JobTypeDirectoryScan JobType = "directory_scan"
JobTypeThumbnails JobType = "thumbnails" // NEW JobTypeImport JobType = "import" // NEW - Phase 1
JobTypeReindex JobType = "reindex" // NEW JobTypeConvert JobType = "convert" // NEW - Phase 1
JobTypeBackup JobType = "backup" // NEW JobTypeThumbnails JobType = "thumbnails" // NEW - Phase 1
JobTypeAnalytics JobType = "analytics" // NEW JobTypeReindex JobType = "reindex" // NEW - Phase 1
JobTypeSync JobType = "sync" // NEW 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. **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` **File**: `internal/services/worker.go`
**Location**: `processJob()` function (around line 127-132) **Location**: `processJob()` function (around line 127-132)
**Current code**: **Current code** (after Phase 0.5):
```go ```go
switch job.Type { switch job.Type {
case JobTypeScan: case JobTypeScan:
result, err = w.processScanJob(job) result, err = w.processScanJob(job)
case JobTypeSetFolders:
result, err = w.processSetFoldersJob(job)
case JobTypeDirectoryScan:
result, err = w.processDirectoryScanJob(job)
default: default:
err = fmt.Errorf("unknown job type: %s", job.Type) err = fmt.Errorf("unknown job type: %s", job.Type)
} }
``` ```
**Action**: Add all new handlers: **Action**: Add NEW handlers for Phase 1 job types:
```go ```go
switch job.Type { switch job.Type {
case JobTypeScan: case JobTypeScan:
result, err = w.processScanJob(job) result, err = w.processScanJob(job)
case JobTypeSetFolders:
result, err = w.processSetFoldersJob(job)
case JobTypeDirectoryScan:
result, err = w.processDirectoryScanJob(job)
case JobTypeImport: case JobTypeImport:
result, err = w.processImportJob(job) result, err = w.processImportJob(job)
case JobTypeConvert: 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). **Verification**: Run `go build ./internal/services/` to ensure compiles (will fail until handlers are implemented).