refactor: Align with Go conventions and improve maintainability

Renames the `OriginalUrl` field to `OriginalURL` across media models to adhere to Go's common initialisms convention. The `json` tag is unchanged to maintain API compatibility.

Introduces constants for exporter formats (e.g., `FormatMarkdown`, `FormatDocx`) to eliminate the use of magic strings, enhancing type safety and making the code easier to maintain.

Additionally, this commit includes several minor code quality improvements:
- Wraps file-writing errors in exporters to provide more context.
- Removes redundant package-level comments from test files.
- Applies various minor linting fixes throughout the codebase.
This commit is contained in:
2025-11-06 16:45:25 +01:00
parent d8e4d97841
commit b56c9fa29f
26 changed files with 53 additions and 77 deletions

View File

@ -1,4 +1,3 @@
// Package services_test provides tests for the services package.
package services
import (
@ -217,10 +216,8 @@ func TestApp_ProcessCourseFromFile(t *testing.T) {
if !contains(err.Error(), tt.expectedError) {
t.Errorf("Expected error containing '%s', got '%s'", tt.expectedError, err.Error())
}
} else {
if err != nil {
t.Errorf("Expected no error, got: %v", err)
}
} else if err != nil {
t.Errorf("Expected no error, got: %v", err)
}
})
}
@ -298,10 +295,8 @@ func TestApp_ProcessCourseFromURI(t *testing.T) {
if !contains(err.Error(), tt.expectedError) {
t.Errorf("Expected error containing '%s', got '%s'", tt.expectedError, err.Error())
}
} else {
if err != nil {
t.Errorf("Expected no error, got: %v", err)
}
} else if err != nil {
t.Errorf("Expected no error, got: %v", err)
}
})
}
@ -335,7 +330,7 @@ func TestApp_SupportedFormats(t *testing.T) {
// contains checks if a string contains a substring.
func contains(s, substr string) bool {
return len(s) >= len(substr) &&
(len(substr) == 0 ||
(substr == "" ||
s == substr ||
(len(s) > len(substr) &&
(s[:len(substr)] == substr ||