scouting: Migrate database code to gorm
This patch migrates our `db.go` from raw SQL code to the gorm library.
https://gorm.io/index.html
It's not fantastic, but it's better than what we had. We might want to
investigate other ORMs later.
The functionality should be the same as before.
Signed-off-by: Philipp Schrader <philipp.schrader@gmail.com>
Change-Id: I986f74361fef1fac50b5499118b0af1d237f85f1
diff --git a/scouting/webserver/requests/requests_test.go b/scouting/webserver/requests/requests_test.go
index 44fd5db..24c99f6 100644
--- a/scouting/webserver/requests/requests_test.go
+++ b/scouting/webserver/requests/requests_test.go
@@ -324,7 +324,7 @@
}
expected := []db.NotesData{
- {TeamNumber: 971, Notes: []string{"Notes"}},
+ {TeamNumber: 971, Notes: "Notes"},
}
if !reflect.DeepEqual(database.notes, expected) {
@@ -336,7 +336,7 @@
database := MockDatabase{
notes: []db.NotesData{{
TeamNumber: 971,
- Notes: []string{"Notes"},
+ Notes: "Notes",
}},
}
scoutingServer := server.NewScoutingServer()
@@ -584,18 +584,21 @@
return []db.Stats{}, nil
}
-func (database *MockDatabase) QueryNotes(requestedTeam int32) (db.NotesData, error) {
+func (database *MockDatabase) QueryNotes(requestedTeam int32) ([]string, error) {
var results []string
for _, data := range database.notes {
if data.TeamNumber == requestedTeam {
- results = append(results, data.Notes[0])
+ results = append(results, data.Notes)
}
}
- return db.NotesData{TeamNumber: requestedTeam, Notes: results}, nil
+ return results, nil
}
-func (database *MockDatabase) AddNotes(data db.NotesData) error {
- database.notes = append(database.notes, data)
+func (database *MockDatabase) AddNotes(teamNumber int, notes string) error {
+ database.notes = append(database.notes, db.NotesData{
+ TeamNumber: int32(teamNumber),
+ Notes: notes,
+ })
return nil
}