/*
 * Created by jonathan.jesperson@pluto.tv on 08/04/2022.
 * Copyright (c) PlutoTV Inc 2022.
 */

syntax = "proto3";

package categorypackage;

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

service CategoryManager {
  // GetCategories (Unary)
  //
  rpc GetCategories(GetCategoriesRequest) returns (GetCategoriesResponse) {}

  // GetSubCategoriesByCategory (Unary)
  //
  rpc GetSubCategoriesByCategory(GetSubCategoriesByCategoryRequest) returns (GetSubCategoriesByCategoryResponse) {}

  // GetCategorySubCategoryMap (Unary)
  //
  rpc GetCategorySubCategoryMap(GetCategorySubCategoryMapRequest) returns (GetCategorySubCategoryMapResponse) {}
}

message GetCategoriesRequest {}

message GetSubCategoriesByCategoryRequest {
  string category = 1;
}

message GetCategorySubCategoryMapRequest {}

message GetCategoriesResponse {
  repeated string categories = 1;
}

message GetSubCategoriesByCategoryResponse {
  repeated string sub_categories = 1;
}

message GetCategorySubCategoryMapResponse {
  repeated CategorySubCategories category_sub_categories = 1;
}

message CategorySubCategories {
  string category = 1;
  repeated string sub_categories = 2;
}
