Major codebase cleanup after .insertr-add functionality overhaul

Consolidates duplicate code and removes technical debt accumulated during rapid development. This cleanup improves maintainability while preserving all functionality.

Backend cleanup:
- Remove unused legacy function findViableChildrenLegacy()
- Consolidate duplicate SQL null string helper functions into shared utils
- Unify text extraction functions across utils, engine, and id_generator
- Consolidate duplicate attribute getter functions into single implementation

Frontend cleanup:
- Remove duplicate authentication methods (authenticateWithOAuth vs performOAuthFlow)
- Remove unused hasPermission() method from auth.js
- Centralize repetitive API endpoint construction in api-client.js
- Reduce excessive console logging while preserving important error logs

Impact: -144 lines of code, improved maintainability, no functionality changes
All tests pass and builds succeed

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-23 19:00:41 +02:00
parent 1ae4176f23
commit 3e5cb76d1d
8 changed files with 71 additions and 215 deletions

View File

@@ -22,20 +22,6 @@ import (
"github.com/insertr/insertr/internal/engine"
)
// Helper functions for sql.NullString conversion
func toNullString(s string) sql.NullString {
if s == "" {
return sql.NullString{Valid: false}
}
return sql.NullString{String: s, Valid: true}
}
func fromNullString(ns sql.NullString) string {
if ns.Valid {
return ns.String
}
return ""
}
// ContentHandler handles all content-related HTTP requests
type ContentHandler struct {
@@ -326,7 +312,7 @@ func (h *ContentHandler) CreateContent(w http.ResponseWriter, r *http.Request) {
ID: contentID,
SiteID: siteID,
HtmlContent: req.HTMLContent,
OriginalTemplate: toNullString(req.OriginalTemplate),
OriginalTemplate: engine.ToNullString(req.OriginalTemplate),
LastEditedBy: userID,
})
case "postgresql":
@@ -334,7 +320,7 @@ func (h *ContentHandler) CreateContent(w http.ResponseWriter, r *http.Request) {
ID: contentID,
SiteID: siteID,
HtmlContent: req.HTMLContent,
OriginalTemplate: toNullString(req.OriginalTemplate),
OriginalTemplate: engine.ToNullString(req.OriginalTemplate),
LastEditedBy: userID,
})
default:
@@ -691,7 +677,7 @@ func (h *ContentHandler) convertToAPIContent(content interface{}) ContentItem {
ID: c.ID,
SiteID: c.SiteID,
HTMLContent: c.HtmlContent,
OriginalTemplate: fromNullString(c.OriginalTemplate),
OriginalTemplate: engine.FromNullString(c.OriginalTemplate),
CreatedAt: time.Unix(c.CreatedAt, 0),
UpdatedAt: time.Unix(c.UpdatedAt, 0),
LastEditedBy: c.LastEditedBy,
@@ -702,7 +688,7 @@ func (h *ContentHandler) convertToAPIContent(content interface{}) ContentItem {
ID: c.ID,
SiteID: c.SiteID,
HTMLContent: c.HtmlContent,
OriginalTemplate: fromNullString(c.OriginalTemplate),
OriginalTemplate: engine.FromNullString(c.OriginalTemplate),
CreatedAt: time.Unix(c.CreatedAt, 0),
UpdatedAt: time.Unix(c.UpdatedAt, 0),
LastEditedBy: c.LastEditedBy,
@@ -742,7 +728,7 @@ func (h *ContentHandler) convertToAPIVersionList(versionList interface{}) []Cont
ContentID: version.ContentID,
SiteID: version.SiteID,
HTMLContent: version.HtmlContent,
OriginalTemplate: fromNullString(version.OriginalTemplate),
OriginalTemplate: engine.FromNullString(version.OriginalTemplate),
CreatedAt: time.Unix(version.CreatedAt, 0),
CreatedBy: version.CreatedBy,
}
@@ -757,7 +743,7 @@ func (h *ContentHandler) convertToAPIVersionList(versionList interface{}) []Cont
ContentID: version.ContentID,
SiteID: version.SiteID,
HTMLContent: version.HtmlContent,
OriginalTemplate: fromNullString(version.OriginalTemplate),
OriginalTemplate: engine.FromNullString(version.OriginalTemplate),
CreatedAt: time.Unix(version.CreatedAt, 0),
CreatedBy: version.CreatedBy,
}