syntax = "proto3";

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

import "google/protobuf/wrappers.proto";
import "wix/api/validations.proto";
import "wix/api/annotations.proto";

message MediaCapabilities {
    option (.wix.api.decomposite_of) = "com.wixpress.comm.channels.entities.v1.channel.MediaCapabilities";
  // When marked as true, there's no need to list the supported types explicitly
  bool all_media_types = 1;

  // List for supported media types
  // If all are excepted this field can be left empty and there's no need to explicitly state types
  repeated com.wixpress.comm.channels.entities.v1.channel.MediaMimeType supported_media_types = 2 [(wix.api.maxSize) = 50];

  // Maximum file size in bytes of a single file in a message
  google.protobuf.Int32Value max_file_size_in_bytes = 3;
}

// Mime type for relevant media entities in channels
enum MediaMimeType {
  UNKNOWN_MIME_TYPE = 0;
  IMAGE_JPEG = 1;
  IMAGE_PNG = 2;
  IMAGE_WEBP = 3;
  VIDEO_MPEG = 4;
  VIDEO_MP4 = 5;
  VIDEO_3GP = 6;
  AUDIO_AAC = 7;
  AUDIO_MP4 = 8;
  AUDIO_MPEG = 9;
  AUDIO_OGG = 10;
  AUDIO_OPUS = 11;
  APPLICATION_PDF = 12;
  APPLICATION_OCTET_STREAM = 13;
}