syntax = "proto3";

package cronhistorypackage;

option go_package = "github.com/Pluto-tv/service-dal/golang_client";
option java_package = "tv.pluto.ip.dal.cronhistory";

service CronHistoryManager {
  // GetCronHistory (Unary)
  //
  rpc GetCronHistory(GetCronHistoryRequest) returns (GetCronHistoryResponse) {}

  // UpdateFields (Unary)
  //
  rpc UpdateFields(UpdateFieldsRequest) returns (UpdateFieldsResponse) {}
}

message CronHistory {
  string id = 1;
  string job_type = 2;
  string ran_at = 3;
  string created_at = 4;
  string updated_at = 5;
}

message GetCronHistoryRequest {
  // timestamp to filter by ran_At attribute
  string ran_at = 1;
  // operator to filter by (values must be lte or gte)
  string operator = 2;
}

message GetCronHistoryResponse {
  repeated CronHistory documents = 1;
}

message UpdateFieldsRequest {
  string id = 1;
  CronHistory document = 2;
  repeated string update_fields = 3;
}

message UpdateFieldsResponse {
  CronHistory document = 1;
}
