Handle webserver requests from the scouting web page

Right now we don't actually serve a whole lot. It's mostly the
infrastructure. I added a simple data scouting submission as an
example. We can build up from there.

Signed-off-by: Philipp Schrader <philipp.schrader@gmail.com>
Change-Id: I0572a214039cdb61e5bddf6f7256955a06147099
diff --git a/scouting/webserver/requests/messages/BUILD b/scouting/webserver/requests/messages/BUILD
new file mode 100644
index 0000000..a32ca57
--- /dev/null
+++ b/scouting/webserver/requests/messages/BUILD
@@ -0,0 +1,21 @@
+load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_go_library", "flatbuffer_ts_library")
+
+[(
+    flatbuffer_go_library(
+        name = name + "_go_fbs",
+        srcs = [name + ".fbs"],
+        importpath = "github.com/frc971/971-Robot-Code/scouting/webserver/requests/messages/" + name,
+        target_compatible_with = ["@platforms//cpu:x86_64"],
+        visibility = ["//visibility:public"],
+    ),
+    flatbuffer_ts_library(
+        name = name + "_ts_fbs",
+        srcs = [name + ".fbs"],
+        target_compatible_with = ["@platforms//cpu:x86_64"],
+        visibility = ["//visibility:public"],
+    ),
+) for name in (
+    "error_response",
+    "submit_data_scouting",
+    "submit_data_scouting_response",
+)]
diff --git a/scouting/webserver/requests/messages/error_response.fbs b/scouting/webserver/requests/messages/error_response.fbs
new file mode 100644
index 0000000..4371cb5
--- /dev/null
+++ b/scouting/webserver/requests/messages/error_response.fbs
@@ -0,0 +1,7 @@
+namespace scouting.webserver.requests;
+
+table ErrorResponse {
+    error_message:string (id: 0);
+}
+
+root_type ErrorResponse;
diff --git a/scouting/webserver/requests/messages/submit_data_scouting.fbs b/scouting/webserver/requests/messages/submit_data_scouting.fbs
new file mode 100644
index 0000000..63bba7a
--- /dev/null
+++ b/scouting/webserver/requests/messages/submit_data_scouting.fbs
@@ -0,0 +1,11 @@
+namespace scouting.webserver.requests;
+
+table SubmitDataScouting {
+    team:int (id: 0);
+    match:int (id: 1);
+
+    upper_goal_hits:int (id: 2);
+    // TODO: Implement the rest of this.
+}
+
+root_type SubmitDataScouting;
diff --git a/scouting/webserver/requests/messages/submit_data_scouting_response.fbs b/scouting/webserver/requests/messages/submit_data_scouting_response.fbs
new file mode 100644
index 0000000..fb7f765
--- /dev/null
+++ b/scouting/webserver/requests/messages/submit_data_scouting_response.fbs
@@ -0,0 +1,7 @@
+namespace scouting.webserver.requests;
+
+table SubmitDataScoutingResponse {
+    // TODO: Implement this.
+}
+
+root_type SubmitDataScoutingResponse;