syntax = "proto3";

package com.wixpress.appservice.api.upstream.com.wixpress.comm.channels.entities.v2.commons.channel;

import "google/protobuf/wrappers.proto";
import "wix/api/validations.proto";
import "wix/api/annotations.proto";
import "components_catalog_data/communication_channel_provider/com/wixpress/appservice/api/upstream/com/wixpress/comm/channels/entities/v2/commons/upstream/wix/common/media.proto";

message ChannelBranding {
    option (.wix.api.decomposite_of) = "com.wixpress.comm.channels.entities.v2.commons.channel.ChannelBranding";
  // The name of the channel, e.g. `Facebook` / `SMS`
  string display_name = 1 [(wix.api.minLength) = 1, (wix.api.maxLength) = 100, (wix.api.translatable) = {
    type: SHORT_TEXT
    name: "Channel Display Name"
  }];

  // The name of the channel provider (e.g. Wix, Meta, Google)
  string provider_name = 3 [(wix.api.minLength) = 1, (wix.api.maxLength) = 100, (wix.api.translatable) = {
    type: SHORT_TEXT
    name: "Provider Name"
  }];

  // The description of the channel
  google.protobuf.StringValue description = 4 [(wix.api.minLength) = 1, (wix.api.maxLength) = 500, (wix.api.translatable) = {
    type: LONG_TEXT
    name: "Channel Description Name"
  }];

  // Relevant brand icons
  BrandIcons brand_icons = 5;

  // todo: any accessibility special data or use the above data only?
}

// Brand icons required for correct channel integration
message BrandIcons {
    option (.wix.api.decomposite_of) = "com.wixpress.comm.channels.entities.v2.commons.channel.BrandIcons";
  // Channel branding vector Icon
  com.wixpress.comm.channels.entities.v2.commons.upstream.wix.common.Image vector_image = 1;
  // Channel branding Black & White Icon
  com.wixpress.comm.channels.entities.v2.commons.upstream.wix.common.Image bw_outline_vector_image = 2;
}