Make the scouting webserver accept prescouting data
This patch makes it so that the webserver parses the pre-scouting bit
when actions are submitted. The web page doesn't currently support
this, but will in a future patch.
Signed-off-by: Philipp Schrader <philipp.schrader@gmail.com>
Change-Id: I8c324c1dfed37ca1ad391667ebb00d8a711f7846
diff --git a/scouting/webserver/requests/messages/submit_actions.fbs b/scouting/webserver/requests/messages/submit_actions.fbs
index a0f7913..d435913 100644
--- a/scouting/webserver/requests/messages/submit_actions.fbs
+++ b/scouting/webserver/requests/messages/submit_actions.fbs
@@ -70,4 +70,8 @@
actions_list:[Action] (id:4);
//TODO: delete this field
collected_by:string (id: 5);
+ // If this is for pre-scouting, then the server should accept this
+ // submission. I.e. checking that the match information exists in the match
+ // list should be skipped.
+ pre_scouting:bool (id: 6);
}
diff --git a/scouting/webserver/requests/requests.go b/scouting/webserver/requests/requests.go
index 25bb6b7..1f4fcd1 100644
--- a/scouting/webserver/requests/requests.go
+++ b/scouting/webserver/requests/requests.go
@@ -377,7 +377,9 @@
cycles := int64(0)
picked_up := false
lastPlacedTime := int64(0)
- stat := db.Stats2023{TeamNumber: string(submitActions.TeamNumber()), MatchNumber: submitActions.MatchNumber(), SetNumber: submitActions.SetNumber(), CompLevel: string(submitActions.CompLevel()),
+ stat := db.Stats2023{
+ PreScouting: submitActions.PreScouting(),
+ TeamNumber: string(submitActions.TeamNumber()), MatchNumber: submitActions.MatchNumber(), SetNumber: submitActions.SetNumber(), CompLevel: string(submitActions.CompLevel()),
StartingQuadrant: 0, LowCubesAuto: 0, MiddleCubesAuto: 0, HighCubesAuto: 0, CubesDroppedAuto: 0,
LowConesAuto: 0, MiddleConesAuto: 0, HighConesAuto: 0, ConesDroppedAuto: 0, LowCubes: 0, MiddleCubes: 0, HighCubes: 0,
CubesDropped: 0, LowCones: 0, MiddleCones: 0, HighCones: 0, ConesDropped: 0, SuperchargedPieces: 0, AvgCycle: 0, CollectedBy: string(submitActions.CollectedBy()),
@@ -825,6 +827,7 @@
request.ActionsList(&action, i)
dbAction := db.Action{
+ PreScouting: request.PreScouting(),
TeamNumber: string(request.TeamNumber()),
MatchNumber: request.MatchNumber(),
SetNumber: request.SetNumber(),
diff --git a/scouting/webserver/requests/requests_test.go b/scouting/webserver/requests/requests_test.go
index c2bc750..5561829 100644
--- a/scouting/webserver/requests/requests_test.go
+++ b/scouting/webserver/requests/requests_test.go
@@ -408,6 +408,7 @@
Timestamp: 4200,
},
},
+ PreScouting: false,
}).Pack(builder))
submitActions := submit_actions.GetRootAsSubmitActions(builder.FinishedBytes(), 0)
@@ -418,7 +419,8 @@
}
expected := db.Stats2023{
- TeamNumber: "4244", MatchNumber: 3, SetNumber: 1,
+ PreScouting: false,
+ TeamNumber: "4244", MatchNumber: 3, SetNumber: 1,
CompLevel: "quals", StartingQuadrant: 1, LowCubesAuto: 1,
MiddleCubesAuto: 0, HighCubesAuto: 0, CubesDroppedAuto: 1,
LowConesAuto: 0, MiddleConesAuto: 0, HighConesAuto: 0,
@@ -824,6 +826,7 @@
Timestamp: 1009,
},
},
+ PreScouting: true,
}).Pack(builder))
_, err := debug.SubmitActions("http://localhost:8080", builder.FinishedBytes())
@@ -860,6 +863,7 @@
expectedActions := []db.Action{
{
+ PreScouting: true,
TeamNumber: "1234",
MatchNumber: 4,
SetNumber: 1,
@@ -869,6 +873,7 @@
Timestamp: 2400,
},
{
+ PreScouting: true,
TeamNumber: "1234",
MatchNumber: 4,
SetNumber: 1,