refactor(utils): one PgTextString for the four pgtype.Text unwrappers
handlers textToString, router textToString, router getText, and utils normText were four copies of the same NULL-to-empty unwrap (99 call sites). One exported utils.PgTextString replaces them all; the private normText (comparison normalizer) stays but is now the odd one out. Harness fix found on the way: setupTestServer built a full wiring literal for route registration and then RETURNED a second, sparser literal that never copied AnnotationService — setup.AnnotationService was always nil on the struct every test receives. Nobody noticed until cross_library_move_test became the first caller (it previously used the now-retired plain CreateMediaHighlight query); it now exercises the real SaveHighlight path through the wired service.
This commit is contained in:
1 parent
00305ffc7b
commit
188ae076ab
15 files changed
+140
-139
No files matched your search
@@ -33,3 +33,13 @@ func ResolveMediaURL(libraryID pgtype.UUID, relativePath pgtype.Text) string {
|
||||
encodedPath := strings.Join(segments, "/")
|
||||
return fmt.Sprintf("/uploads/library-%s/%s", libraryIDStr, encodedPath)
|
||||
}
|
||||
|
||||
// PgTextString unwraps a nullable text column to a plain string (""
|
||||
// when NULL). The former textToString/getText/normText copies in
|
||||
// handlers, router, and utils all did exactly this.
|
||||
func PgTextString(t pgtype.Text) string {
|
||||
if t.Valid {
|
||||
return t.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
Reference in new issue
Block a user