| syntax = "proto3"; |
| |
| import "api_proto/common.proto"; |
| import "google/protobuf/timestamp.proto"; |
| |
| option go_package = "gomodules.avm99963.com/twpt-server/api_proto"; |
| |
| message Feature { |
| int32 id = 1; |
| string codename = 2; |
| enum Type { |
| TYPE_UNKNOWN = 0; |
| TYPE_EXPERIMENT = 1; |
| TYPE_OPTION = 2; |
| TYPE_DEPRECATED = 10; |
| } |
| Type type = 3; |
| } |
| |
| message KillSwitch { |
| int32 id = 1; |
| Feature feature = 2; |
| string min_version = 3; |
| string max_version = 4; |
| repeated Environment.Browser browsers = 5; |
| bool active = 6; |
| } |
| |
| message KillSwitchAuthorizedUser { |
| int32 id = 1; |
| string google_uid = 2; |
| string email = 3; |
| enum AccessLevel { |
| ACCESS_LEVEL_NONE = 0; |
| ACCESS_LEVEL_ACTIVATOR = 1; // The user may enable/disable kill switches. |
| ACCESS_LEVEL_ADMIN = 2; // The user may perform any action. |
| } |
| AccessLevel access_level = 4; |
| } |
| |
| message KillSwitchTransformation { |
| KillSwitch kill_switch_from = 1; |
| KillSwitch kill_switch_to = 2; |
| } |
| |
| // Log entry which describes an action which has taken place. |
| message KillSwitchAuditLogEntry { |
| // Timestamp in which the action was taken. |
| google.protobuf.Timestamp timestamp = 1; |
| |
| // User who/which performed the action. |
| KillSwitchAuthorizedUser user = 2; |
| |
| message KillSwitchEnabled { |
| KillSwitchTransformation transformation = 1; |
| } |
| |
| message KillSwitchDisabled { |
| KillSwitchTransformation transformation = 1; |
| } |
| |
| // Description of the action taken |
| oneof description { |
| KillSwitchEnabled kill_switch_enabled = 3; |
| KillSwitchDisabled kill_switch_disabled = 4; |
| } |
| } |