refactor: remove legacy modules from API and UI

This commit is contained in:
2026-02-15 22:20:50 +03:00
parent 5518c3b405
commit 93c99b4506
45 changed files with 464 additions and 5610 deletions

View File

@@ -38,8 +38,7 @@ func TestTimelineInstalledRemovedFirmwareChanged(t *testing.T) {
t.Fatalf("cleanup: %v", err)
}
customerID := insertCustomer(t, db, "Acme")
projectID := insertProject(t, db, customerID, "Core")
projectID := insertProject(t, db, "Core")
assetID := insertAsset(t, db, projectID, "server-01", "ASSET-01")
mux := http.NewServeMux()
@@ -76,17 +75,17 @@ func TestTimelineInstalledRemovedFirmwareChanged(t *testing.T) {
componentA := lookupComponentID(t, db, "VSN-A")
componentB := lookupComponentID(t, db, "VSN-B")
componentAEvents := fetchTimeline(t, server.URL+"/components/"+itoa(componentA)+"/timeline", 100, nil)
componentAEvents := fetchTimeline(t, server.URL+"/components/"+componentA+"/timeline", 100, nil)
assertEventTypes(t, componentAEvents, []string{"INSTALLED", "FIRMWARE_CHANGED"})
componentBEvents := fetchTimeline(t, server.URL+"/components/"+itoa(componentB)+"/timeline", 100, nil)
componentBEvents := fetchTimeline(t, server.URL+"/components/"+componentB+"/timeline", 100, nil)
assertEventTypes(t, componentBEvents, []string{"INSTALLED", "REMOVED"})
page1 := fetchTimelineResponse(t, server.URL+"/components/"+itoa(componentA)+"/timeline", 1, nil)
page1 := fetchTimelineResponse(t, server.URL+"/components/"+componentA+"/timeline", 1, nil)
if page1.NextCursor == nil {
t.Fatalf("expected next_cursor")
}
page2 := fetchTimelineResponse(t, server.URL+"/components/"+itoa(componentA)+"/timeline", 1, page1.NextCursor)
page2 := fetchTimelineResponse(t, server.URL+"/components/"+componentA+"/timeline", 1, page1.NextCursor)
if len(page1.Items) == 0 || len(page2.Items) == 0 {
t.Fatalf("expected paginated items")
}
@@ -114,10 +113,10 @@ func postJSON(t *testing.T, url string, payload any, expectedStatus int) {
}
}
func lookupComponentID(t *testing.T, db *sql.DB, serial string) int64 {
func lookupComponentID(t *testing.T, db *sql.DB, serial string) string {
t.Helper()
var id int64
if err := db.QueryRow(`SELECT id FROM components WHERE vendor_serial = ?`, serial).Scan(&id); err != nil {
var id string
if err := db.QueryRow(`SELECT id FROM parts WHERE vendor_serial = ?`, serial).Scan(&id); err != nil {
t.Fatalf("lookup component: %v", err)
}
return id
@@ -138,7 +137,7 @@ func fetchTimelineResponse(t *testing.T, baseURL string, limit int, cursor *stri
t.Helper()
query := url.Values{}
if limit > 0 {
query.Set("limit", itoa(int64(limit)))
query.Set("limit", strconv.Itoa(limit))
}
if cursor != nil {
query.Set("cursor", *cursor)
@@ -174,7 +173,3 @@ func assertEventTypes(t *testing.T, events []domain.TimelineEvent, required []st
}
}
}
func itoa(value int64) string {
return strconv.FormatInt(value, 10)
}