package tv.pluto.grpc.config;

import static tv.pluto.ip.dal.config.Config.GetConfigInfoRequest;
import static tv.pluto.ip.dal.config.Config.GetConfigInfoResponse;
import static tv.pluto.ip.dal.config.ConfigManagerGrpc.ConfigManagerBlockingStub;

import io.grpc.Channel;
import tv.pluto.grpc.GenericGrpcClient;
import tv.pluto.ip.dal.config.ConfigManagerGrpc;

public class ConfigClient extends GenericGrpcClient {

  private ConfigManagerBlockingStub blockingStub;

  public ConfigClient(Channel channel) {
    blockingStub = ConfigManagerGrpc.newBlockingStub(channel);
    blockingStub = blockingStub.withInterceptors(CLIENT_INTERCEPTOR);
  }

  public GetConfigInfoResponse getConfigInfo() {
    GetConfigInfoRequest request = GetConfigInfoRequest.newBuilder().build();

    return blockingStub.getConfigInfo(request);
  }
}
