Refactor architecture: eliminate auto-discovery and consolidate packages
- Remove auto-discovery entirely (~450 lines) * Delete internal/content/discoverer.go * Simplify enhancer to single-phase processing * Remove duplicate container expansion logic - Consolidate repository implementations * Move internal/content/client.go → internal/db/http_client.go * Group all repository implementations in db/ package - Add file utilities to engine following Go stdlib patterns * Add engine.ProcessFile() and ProcessDirectory() methods * Engine now handles both content processing AND file operations - Move site management to dedicated package * Move internal/content/site_manager.go → internal/sites/manager.go * Clear separation of site lifecycle from content processing - Preserve container expansion (syntactic sugar) * .insertr on containers still auto-applies to viable children * Container detection logic consolidated in engine/utils.go Result: Clean architecture with single source of truth for .insertr processing
This commit is contained in:
@@ -9,16 +9,16 @@ import (
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/insertr/insertr/internal/auth"
|
||||
"github.com/insertr/insertr/internal/content"
|
||||
"github.com/insertr/insertr/internal/db"
|
||||
"github.com/insertr/insertr/internal/engine"
|
||||
"github.com/insertr/insertr/internal/sites"
|
||||
)
|
||||
|
||||
// ContentHandler handles all content-related HTTP requests
|
||||
type ContentHandler struct {
|
||||
repository db.ContentRepository
|
||||
authService *auth.AuthService
|
||||
siteManager *content.SiteManager
|
||||
siteManager *sites.SiteManager
|
||||
engine *engine.ContentEngine
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ func NewContentHandler(database *db.Database, authService *auth.AuthService) *Co
|
||||
}
|
||||
|
||||
// SetSiteManager sets the site manager for file enhancement
|
||||
func (h *ContentHandler) SetSiteManager(siteManager *content.SiteManager) {
|
||||
func (h *ContentHandler) SetSiteManager(siteManager *sites.SiteManager) {
|
||||
h.siteManager = siteManager
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user