syntax = "proto3";

option csharp_namespace = "EllieBot.GrpcApi";

import "google/protobuf/empty.proto"; 

package exprs;

service GrpcExprs {
  rpc GetExprs(GetExprsRequest) returns (GetExprsReply);
  rpc AddExpr(AddExprRequest) returns (AddExprReply);
  rpc DeleteExpr(DeleteExprRequest) returns (google.protobuf.Empty);
}

message DeleteExprRequest {
  string id = 1;
  uint64 guildId = 2;
}

message GetExprsRequest {
  uint64 guildId = 1;
  string query = 2;
  int32 page = 3;
}

message GetExprsReply {
  repeated ExprDto expressions = 1;
  int32 totalCount = 2;
}

message ExprDto {
  string id = 1;
  string trigger = 2;
  string response = 3;
  
  bool ca = 4;
  bool ad = 5;
  bool dm = 6;
  bool at = 7;
}

message AddExprRequest {
  uint64 guildId = 1;
  ExprDto expr = 2;
}

message AddExprReply {
  string id = 1;
  bool success = 2;
}