syntax = "proto3"; package alert.v1; import "base/v1/msg.proto"; import "auth/v1/msg.proto"; message AlertFilter { base.v1.BaseQueryParam base_filter = 1; Importance importance = 2; LogSource source = 3; } // Importance of given event enum Importance { LOW = 0; // Low Severity ( unimportant and can be ignored ) MEDIUM = 1; // MEDIUM Severity HIGH = 2; // High Severity CRITICAL = 3; // CRITICAL Severity ( can cause panics and data lost ) } enum LogSource { UNKNOWN = 0; USER = 1; SYSTEM = 2; WALLET = 3; } message Meta { uint32 created_at_ts = 1; uint32 updated_at_ts = 2; uint32 blamer_id = 3; // User ID of person who made the change } message LogEvent { auth.v1.InternalIAM iam = 1; optional uint64 id = 2; // Record Id of Log stored in db string content = 3; optional LogSource source = 4; Importance importance = 5; Meta meta = 6; } message LogEventList { repeated LogEvent events = 1; } /* Internal Msg */ message SMSChangeLog { uint32 when_ts = 1; string what = 2; } message SMS { string recipient = 1; // recipient string text = 2; optional string sender = 3; Meta meta = 4; repeated SMSChangeLog change_log = 5; } message SMSList { repeated SMS sms = 1; }