syntax = "proto3";
option go_package = "grpc/kafka_grpc";

message TRexLog {
    int32 level = 1;
    string timestamp = 2; // This should become an int64 with message sent as unix time
    int32 line_number = 3;
    string filename = 4;
    string channel = 5;
    string msg = 6;
}

message TRexLogs {
    repeated TRexLog logs = 1;
}

message TRexLogs_BatchPayload {
    string Handler = 1;
    oneof TRexMessage {
        TRexLogs Data = 2;
        TRexError Error = 3;
    }
    
    string Version = 4;
}

message TRexError {
    int64 code = 1;
    repeated TRexErrorMessage message = 2;
}

message TRexErrorMessage{
    repeated string context = 1;
    string description = 2;
}