hswaw/smsgw: implement

The SMS gateway service allows consumers to subscribe to SMS messages
received by a Twilio phone number.

This is useful for receiving SMS auth messages.

Change-Id: Ib02a4306ad0d856dd10c7ca9241d9163809e7084
diff --git a/hswaw/smsgw/proto/BUILD.bazel b/hswaw/smsgw/proto/BUILD.bazel
new file mode 100644
index 0000000..be3451f
--- /dev/null
+++ b/hswaw/smsgw/proto/BUILD.bazel
@@ -0,0 +1,23 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
+
+proto_library(
+    name = "proto_proto",
+    srcs = ["smsgw.proto"],
+    visibility = ["//visibility:public"],
+)
+
+go_proto_library(
+    name = "proto_go_proto",
+    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+    importpath = "code.hackerspace.pl/hscloud/hswaw/smsgw/proto",
+    proto = ":proto_proto",
+    visibility = ["//visibility:public"],
+)
+
+go_library(
+    name = "go_default_library",
+    embed = [":proto_go_proto"],
+    importpath = "code.hackerspace.pl/hscloud/hswaw/smsgw/proto",
+    visibility = ["//visibility:public"],
+)
diff --git a/hswaw/smsgw/proto/smsgw.proto b/hswaw/smsgw/proto/smsgw.proto
new file mode 100644
index 0000000..2a95308
--- /dev/null
+++ b/hswaw/smsgw/proto/smsgw.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+package proto;
+option go_package = "code.hackerspace.pl/hscloud/hswaw/smsgw/proto";
+
+message MessagesRequest {
+    string filter_body = 1;
+}
+
+message MessagesResponse {
+    string sender = 1;
+    string body = 3;
+    int64 timestamp = 4;
+}
+
+service SMSGateway {
+    rpc Messages(MessagesRequest) returns (stream MessagesResponse);
+}