syntax = "proto3";
package proto;

import "google/protobuf/empty.proto";

option go_package = "sdk/plugin/notifier/proto";

message FsEvent {
    int64 timestamp = 1;
    string action = 2;
    string username = 3;
    string fs_path = 4;
    string fs_target_path = 5;
    string ssh_cmd = 6;
    int64 file_size =  7;
    string protocol = 8;
    int32 status = 9;
    string ip = 10;
    string virtual_path = 11;
    string virtual_target_path = 12;
    string session_id = 13;
}

message ProviderEvent {
    int64 timestamp = 1;
    string action = 2;
    string object_type = 3;
    string username = 4;
    string ip = 5;
    string object_name = 6;
    bytes object_data = 7; // object JSON serialized
}

service Notifier {
    rpc SendFsEvent(FsEvent) returns (google.protobuf.Empty);
    rpc SendProviderEvent(ProviderEvent) returns (google.protobuf.Empty);
}