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
 }