First prototype
Change-Id: Ieceb55636bda133466609471f25508d0ae83c52c
diff --git a/api_proto/kill_switch.proto b/api_proto/kill_switch.proto
new file mode 100644
index 0000000..38b688c
--- /dev/null
+++ b/api_proto/kill_switch.proto
@@ -0,0 +1,93 @@
+syntax = "proto3";
+
+import "api_proto/common.proto";
+import "api_proto/kill_switch_objects.proto";
+
+option go_package = "gomodules.avm99963.com/twpt-server/api_proto";
+
+service KillSwitchService {
+ rpc GetKillSwitchStatus (GetKillSwitchStatusRequest) returns (GetKillSwitchStatusResponse) {}
+ rpc GetKillSwitchOverview (GetKillSwitchOverviewRequest) returns (GetKillSwitchOverviewResponse) {}
+ rpc ListFeatures (ListFeaturesRequest) returns (ListFeaturesResponse) {}
+ rpc SyncFeatures (SyncFeaturesRequest) returns (SyncFeaturesResponse) {}
+ rpc EnableKillSwitch (EnableKillSwitchRequest) returns (EnableKillSwitchResponse) {}
+ rpc DisableKillSwitch (DisableKillSwitchRequest) returns (DisableKillSwitchResponse) {}
+ rpc ListAuthorizedUsers (ListAuthorizedUsersRequest) returns (ListAuthorizedUsersResponse) {}
+ rpc AddAuthorizedUser (AddAuthorizedUserRequest) returns (AddAuthorizedUserResponse) {}
+ rpc UpdateAuthorizedUser (UpdateAuthorizedUserRequest) returns (UpdateAuthorizedUserResponse) {}
+ rpc DeleteAuthorizedUser (DeleteAuthorizedUserRequest) returns (DeleteAuthorizedUserResponse) {}
+}
+
+// Retrieve kill switch status depending on the environment.
+message GetKillSwitchStatusRequest {
+ Environment environment = 1;
+}
+
+message GetKillSwitchStatusResponse {
+ repeated KillSwitch kill_switches = 1;
+}
+
+message GetKillSwitchOverviewRequest {
+}
+
+message GetKillSwitchOverviewResponse {
+ repeated KillSwitch kill_switches = 1;
+}
+
+message ListFeaturesRequest {
+ bool with_deprecated_features = 1;
+}
+
+message ListFeaturesResponse {
+ repeated Feature features = 1;
+}
+
+message SyncFeaturesRequest {
+ repeated Feature features = 1;
+}
+
+message SyncFeaturesResponse {
+}
+
+message EnableKillSwitchRequest {
+ KillSwitch kill_switch = 1;
+}
+
+message EnableKillSwitchResponse {
+}
+
+message DisableKillSwitchRequest {
+ int32 kill_switch_id = 1;
+}
+
+message DisableKillSwitchResponse {
+}
+
+message ListAuthorizedUsersRequest {
+}
+
+message ListAuthorizedUsersResponse {
+ KillSwitchAuthorizedUser authorized_users = 1;
+}
+
+message AddAuthorizedUserRequest {
+ KillSwitchAuthorizedUser user = 1;
+}
+
+message AddAuthorizedUserResponse {
+}
+
+message UpdateAuthorizedUserRequest {
+ int32 user_id = 1;
+ KillSwitchAuthorizedUser user = 2;
+}
+
+message UpdateAuthorizedUserResponse {
+}
+
+message DeleteAuthorizedUserRequest {
+ int32 user_id = 1;
+}
+
+message DeleteAuthorizedUserResponse {
+}