mirror of
https://github.com/rishikanthc/Scriberr.git
synced 2026-06-28 06:46:25 +00:00
Phase 1: Define interfaces - Created internal/interfaces/ package with AuthServiceInterface, TaskQueueInterface, JobProcessorInterface Phase 2: Refactor handlers.go (21 DB calls removed) - Replaced all database.DB calls with repository methods - Added RefreshTokenRepository for token management - Added new repository methods: Count, FindActiveTrackJobs, FindLatestCompletedExecution, FindByName Phase 3: Refactor dropzone.go (3 DB calls removed) - Added CountWithAutoTranscription to UserRepository - Injected JobRepository and UserRepository into Service Phase 4: Refactor multitrack_processor.go - Changed constructor to accept *gorm.DB and JobRepository - Updated Handler to inject MultiTrackProcessor Updated all test files with new dependencies and mock implementations.
19 lines
585 B
Go
19 lines
585 B
Go
package interfaces
|
|
|
|
// TaskQueueInterface defines the contract for task queue operations.
|
|
// This interface is already partially defined in dropzone/dropzone.go,
|
|
// but we centralize it here for reuse across packages.
|
|
type TaskQueueInterface interface {
|
|
// EnqueueJob adds a job to the processing queue
|
|
EnqueueJob(jobID string) error
|
|
|
|
// KillJob terminates a running job
|
|
KillJob(jobID string) error
|
|
|
|
// IsJobRunning checks if a job is currently being processed
|
|
IsJobRunning(jobID string) bool
|
|
|
|
// GetQueueStats returns queue statistics
|
|
GetQueueStats() map[string]interface{}
|
|
}
|