syntax = "proto3";
package sentinel.provider.v3;

import "gogoproto/gogo.proto";
import "sentinel/provider/v3/params.proto";
import "sentinel/types/v1/status.proto";

option go_package = "github.com/sentinel-official/sentinelhub/v13/x/provider/types/v3";
option (gogoproto.equal_all) = false;
option (gogoproto.goproto_getters_all) = false;

message MsgRegisterProviderRequest {
  string frm = 1;
  string name = 2;
  string identity = 3;
  string website = 4;
  string description = 5;
}

message MsgUpdateProviderDetailsRequest {
  string frm = 1;
  string name = 2;
  string identity = 3;
  string website = 4;
  string description = 5;
}

message MsgUpdateProviderStatusRequest {
  string frm = 1;
  sentinel.types.v1.Status status = 2;
}

message MsgUpdateParamsRequest {
  string frm = 1;
  Params params = 2 [(gogoproto.nullable) = false];
}

message MsgRegisterProviderResponse {}

message MsgUpdateProviderDetailsResponse {}

message MsgUpdateProviderStatusResponse {}

message MsgUpdateParamsResponse {}

service MsgService {
  rpc MsgRegisterProvider(MsgRegisterProviderRequest) returns (MsgRegisterProviderResponse);
  rpc MsgUpdateProviderDetails(MsgUpdateProviderDetailsRequest) returns (MsgUpdateProviderDetailsResponse);
  rpc MsgUpdateProviderStatus(MsgUpdateProviderStatusRequest) returns (MsgUpdateProviderStatusResponse);
  rpc MsgUpdateParams(MsgUpdateParamsRequest) returns (MsgUpdateParamsResponse);
}
