syntax = "proto3";

package svc.cliupdate.v1;

import "types/v1/meta.proto";
import "types/v1/version.proto";
import "types/v1/version_artifact.proto";

option go_package = "svc/cliupdate/v1;cliupdatev1";

service UpdateService {
  rpc GetNextUpdate(GetNextUpdateRequest) returns (GetNextUpdateResponse) {}
}

message GetNextUpdateRequest {
  string project_name = 1;
  types.v1.Version current_version = 2;
  string machine_architecture = 3;
  string machine_operating_system = 4;
  optional string release_channel_name = 5;

  types.v1.ReqMeta meta = 1000;
}

message GetNextUpdateResponse {
  types.v1.Version next_version = 1;
  types.v1.VersionArtifact next_artifact = 2;

  types.v1.ResMeta meta = 1000;
}
