syntax = "proto3";

package reddit.coreplatform.links.v1;

import "reddit/api/metadata/v1/metadata.proto";
import "reddit/coreplatform/api/metadata/v1/metadata.proto";
import "reddit/coreplatform/comments/v1/comments.proto";
import "reddit/coreplatform/common/v1/features.proto";
import "reddit/coreplatform/common/v1/lang.proto";
import "reddit/coreplatform/common/v1/legal.proto";
import "reddit/coreplatform/common/v1/media.proto";
import "reddit/coreplatform/common/v1/moderation.proto";
import "reddit/coreplatform/common/v1/safety.proto";

option go_package = "github.snooguts.net/reddit/thing-api/go/grpc/links/v1;links";
option java_multiple_files = true;
option java_outer_classname = "LinksProto";
option java_package = "com.reddit.coreplatform.api.links.v1";

/* @exclude No documentation present when converted from Thrift to Proto */
message Link {
  /* @exclude No documentation present when converted from Thrift to Proto */
  enum Type {
    /* @exclude No documentation present when converted from Thrift to Proto */
    TYPE_UNSPECIFIED = 0;

    /* @exclude No documentation present when converted from Thrift to Proto */
    TYPE_LINK = 1 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
      name: "LINK"
      ordinal: 0,
    }];

    /* @exclude No documentation present when converted from Thrift to Proto */
    TYPE_SELF = 2 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
      name: "SELF"
      ordinal: 1,
    }];

    /* @exclude No documentation present when converted from Thrift to Proto */
    TYPE_ANY = 3 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
      name: "ANY"
      ordinal: 2,
    }];
  }

  /* @exclude No documentation present when converted from Thrift to Proto */
  enum ContentType {
    /* @exclude No documentation present when converted from Thrift to Proto */
    CONTENT_TYPE_UNSPECIFIED = 0;

    /* @exclude No documentation present when converted from Thrift to Proto */
    CONTENT_TYPE_UNSET = 1 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
      name: "NULL_VALUE"
      ordinal: 0,
    }];

    /* @exclude No documentation present when converted from Thrift to Proto */
    CONTENT_TYPE_SHORT_VIDEO = 2 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
      name: "SHORT_VIDEO"
      ordinal: 1,
    }];

    /* @exclude No documentation present when converted from Thrift to Proto */
    // Reddit talk product is deprecated and no longer supported
    // Related [design doc](https://docs.google.com/document/d/1P0cx18-leGtnq4jJ1GRTaxk-Bx8vzR0AaSYjgqLu0N4/edit#heading=h.ouoexgnkzdml)
    CONTENT_TYPE_LIVE_AUDIO = 3 [
      deprecated = true,
      (reddit.coreplatform.api.metadata.v1.thrift_alias) = {
        name: "LIVE_AUDIO"
        ordinal: 2,
      }
    ];
  }

  /* @exclude No documentation present when converted from Thrift to Proto */
  string id = 1;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 date = 2;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool deleted = 3;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool spam = 4;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 ups = 5;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 downs = 6;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string title = 7;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string author_id = 8;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string subreddit_id = 9;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool nsfw = 10;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool spoiler = 11;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string selftext = 12;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string url = 13;

  /* @exclude No documentation present when converted from Thrift to Proto */
  LinkFlair flair = 14;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool locked = 15;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 num_comments = 16;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string sticky_comment_id = 17;

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated reddit.coreplatform.common.v1.LegalBlock legal_blocks = 18;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string thumbnail_url = 19;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 thumbnail_width = 20;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 thumbnail_height = 21;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool is_self = 23;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional reddit.coreplatform.common.v1.PreviewObject preview_object = 24;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool is_archive_disabled = 26;

  //Please use is_created_from_ads_ui instead. Decision docs https://docs.google.com/document/d/1XzNJCA_T7Sp8szpef78F4uLA7clSNjajJU9N4HT-5tQ/edit#heading=h.zftlut8pxkvu
  bool is_promoted = 27 [deprecated = true];

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool is_archived = 28;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional reddit.coreplatform.common.v1.MediaObject media_object = 29;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool is_video = 30;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 display_score = 34;

  /* @exclude No documentation present when converted from Thrift to Proto */
  CrossPost crosspost = 35;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool admin_takedown = 36;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool allow_live_comments = 37;

  /* @exclude No documentation present when converted from Thrift to Proto */
  reddit.coreplatform.common.v1.ApprovalStatus approval_status = 38;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool approve_disabled = 39;

  /* @exclude No documentation present when converted from Thrift to Proto */
  reddit.coreplatform.common.v1.BanInfo ban_info = 40;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string content_category = 41;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool contest_mode = 42;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 cosmetic_downs = 43;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 cosmetic_ups = 44;

  /* @exclude No documentation present when converted from Thrift to Proto */
  reddit.coreplatform.common.v1.DistinguishType distinguished = 45;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string domain_override = 46;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool editable = 47;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 last_edit_date = 48;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 fake_downs = 49;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 fake_ups = 50;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 gildings = 51;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool has_been_stickied = 52;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 ignored_downs = 53;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 ignored_ups = 54;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool ignore_reports = 55;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool image_upload = 56;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string ip = 57 [(reddit.api.metadata.v1.entity_field_metadata) = {
    sensitivity_level: SENSITIVITY_LEVEL_PII
    max_retention: {
      seconds: 7776000 // 90 Days
    }
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  string keyword_targets = 58;

  /* @exclude No documentation present when converted from Thrift to Proto */
  double location_lat = 59;

  /* @exclude No documentation present when converted from Thrift to Proto */
  double location_long = 60;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string location_name = 61;

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated string media_ids = 62;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string media_url = 63;

  /* @exclude No documentation present when converted from Thrift to Proto */
  reddit.coreplatform.common.v1.MediaDimension mobile_ad_size = 64;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string mobile_ad_url = 65;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 num_crossposts = 66;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool original_content = 67;

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated string precomputed_sorts = 68 [(reddit.coreplatform.api.metadata.v1.thrift_field_metadata) = {is_set: true}];

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 report_count = 69;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool selftext_is_richtext = 70;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool sendreplies = 71;

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated string server_names = 72;

  /* @exclude No documentation present when converted from Thrift to Proto */
  reddit.coreplatform.comments.v1.Comment.Sort suggested_sort = 73;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool unlisted = 74;

  /* @exclude No documentation present when converted from Thrift to Proto */
  reddit.coreplatform.common.v1.Verdict verdict = 75;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 last_scraped = 76;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string lang = 77;

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated int32 reports_approved = 78;

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated int32 reports_made = 79;

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated int32 reports_rejected = 80;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool media_only = 81;

  /* @exclude No documentation present when converted from Thrift to Proto */
  double abuse_score = 82;

  /* @exclude No documentation present when converted from Thrift to Proto */
  double nsfw_score = 83;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool media_is_processed = 84;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool author_request_has_loid = 86;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string author_request_organization = 87;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool request_has_loid = 89;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string request_organization = 90;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string call_to_action = 91;

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated string third_party_trackers = 92;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string iframe_embed_url = 93;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool media_override = 94;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool media_autoplay = 95;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 gildings_silver = 96;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 gildings_supergold = 97;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool author_request_from_tor = 98;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool request_from_tor = 99;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 event_start = 100;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 event_end = 101;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool is_meta = 102;

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated string collection_ids = 103;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string delete_message = 104;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 delete_time = 105;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool expunged = 106;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 expunge_time = 107;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 revenue_bucket = 108;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 revenue_date = 109;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool has_tags = 110;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string media_to_expunge = 111;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 seq_chapter = 112;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 seq_scene = 113;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int32 num_awardings = 114;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 stream_start = 115;

  /* @exclude No documentation present when converted from Thrift to Proto */
  int64 stream_end = 116;

  /* @exclude No documentation present when converted from Thrift to Proto */
  DiscussionType discussion_type = 117;

  /* @exclude No documentation present when converted from Thrift to Proto */
  GrapeshotClassification in_feed_classification = 118;

  /* @exclude No documentation present when converted from Thrift to Proto */
  GrapeshotClassification comments_page_classification = 119;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string destination_url = 120;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string admin_takedown_reason = 121;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool is_poll = 122;

  /* @exclude No documentation present when converted from Thrift to Proto */
  RemovedByType removed_by = 123;

  /* @exclude No documentation present when converted from Thrift to Proto */
  reddit.coreplatform.common.v1.RpanVideo rpan_video = 124 [deprecated = true];

  /* @exclude No documentation present when converted from Thrift to Proto */
  map<string, double> perspective_scores_title = 125;

  /* @exclude No documentation present when converted from Thrift to Proto */
  map<string, double> perspective_scores_selftext = 126;

  /* @exclude No documentation present when converted from Thrift to Proto */
  reddit.coreplatform.common.v1.CrowdControlLevel crowd_control_level = 127;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool is_gallery = 128;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string og_title = 129;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string og_description = 130;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool is_tracking_crossposts = 131;

  /* @exclude No documentation present when converted from Thrift to Proto */
  ContentType link_content_type = 132;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string short_video_comment_id = 133;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool is_created_from_ads_ui = 134;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string prediction_tournament_id = 135;

  /* @exclude No documentation present when converted from Thrift to Proto */
  // Reddit talk product is deprecated and no longer supported
  // Related [design doc](https://docs.google.com/document/d/1P0cx18-leGtnq4jJ1GRTaxk-Bx8vzR0AaSYjgqLu0N4/edit#heading=h.ouoexgnkzdml)
  LiveAudio live_audio = 136 [deprecated = true];

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool is_prediction = 137;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string cta_media_color = 138;

  /* @exclude No documentation present when converted from Thrift to Proto */
  bool crowd_control_filter = 139;

  /* @exclude No documentation present when converted from Thrift to Proto */
  reddit.coreplatform.common.v1.SafetyXTag safety_x_tag = 140;

  /* @exclude No documentation present when converted from Thrift to Proto */
  enum PromoLayout {
    /* @exclude No documentation present when converted from Thrift to Proto */
    PROMO_LAYOUT_UNSPECIFIED = 0 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
      name: "UNKNOWN"
      ordinal: 0,
    }];

    /* @exclude No documentation present when converted from Thrift to Proto */
    PROMO_LAYOUT_SPOTLIGHT_VIDEO = 1 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
      name: "SPOTLIGHT_VIDEO"
      ordinal: 1,
    }];

    /* @exclude No documentation present when converted from Thrift to Proto */
    PROMO_LAYOUT_PRODUCT = 2 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
      name: "PRODUCT"
      ordinal: 2,
    }];
  }

  /* @exclude No documentation present when converted from Thrift to Proto */
  PromoLayout promo_layout = 141;

  /* @exclude No documentation present when converted from Thrift to Proto */
  Product product = 142;

  /* @exclude No documentation present when converted from Thrift to Proto */
  string ad_supplementary_text_md = 143;

  /* @exclude No documentation present when converted from Thrift to Proto */
  reddit.coreplatform.common.v1.SafetyVTag safety_v_tag = 144;

  /* @exclude No documentation present when converted from Thrift to Proto */
  PromotedUserPosts ad_promoted_user_posts = 145;

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated reddit.coreplatform.common.v1.DetectedLanguage detected_languages = 146;

  // Contains whether this comment was made "for commercial intent" so clients can
  // mark this content as being sponsored
  // Design document: https://docs.google.com/document/d/1gIAwynDBcBKNG8YB38InJo3XEeEKkDcfN5C47_A_vjg/edit#heading=h.ouoexgnkzdml
  bool is_commercial_communication = 147;

  // Includes metadata for event-type posts like AMAs
  // Design document: https://docs.google.com/document/d/1UTNKefRe8O2y7lIyBCCxnfrzYU57cJ4FY9ID4xXn2DY/edit
  PostEventMetadata post_event_metadata = 148;
}

/* @exclude No documentation present when converted from Thrift to Proto */
message LinkFlair {
  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string text = 1;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string css_class = 2;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string background_color = 3;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string template_id = 4;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string text_color = 5;
}

/* @exclude No documentation present when converted from Thrift to Proto */
enum DiscussionType {
  /* @exclude No documentation present when converted from Thrift to Proto */
  DISCUSSION_TYPE_UNSPECIFIED = 0;

  /* @exclude No documentation present when converted from Thrift to Proto */
  DISCUSSION_TYPE_UNSET = 1 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "NULL_VALUE"
    ordinal: 0,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  DISCUSSION_TYPE_CHAT = 2 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "CHAT"
    ordinal: 1,
  }];
}

/* @exclude No documentation present when converted from Thrift to Proto */
message GrapeshotClassification {
  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated string violations = 1 [(reddit.coreplatform.api.metadata.v1.thrift_field_metadata) = {is_set: true}];

  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated string segments = 2 [(reddit.coreplatform.api.metadata.v1.thrift_field_metadata) = {is_set: true}];

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional int64 last_requested = 3;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional int64 last_modified = 4;
}

/* @exclude No documentation present when converted from Thrift to Proto */
// Reddit talk product is deprecated and no longer supported
// Related [design doc](https://docs.google.com/document/d/1P0cx18-leGtnq4jJ1GRTaxk-Bx8vzR0AaSYjgqLu0N4/edit#heading=h.ouoexgnkzdml)
message LiveAudio {
  option deprecated = true;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string room_id = 1;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional bool is_live = 2;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional int32 recording_duration_seconds = 3;

  /* @exclude No documentation present when converted from Thrift to Proto */
  AudioRecordingStatus recording_status = 4;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string recording_hls_url = 5;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string recording_dash_url = 6;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string recording_fallback_url = 7;

  /* @exclude No documentation present when converted from Thrift to Proto */
  optional AudioRoomStatus room_status = 8;
}

/* @exclude No documentation present when converted from Thrift to Proto */
// Reddit talk product is deprecated and no longer supported
// Related [design doc](https://docs.google.com/document/d/1P0cx18-leGtnq4jJ1GRTaxk-Bx8vzR0AaSYjgqLu0N4/edit#heading=h.ouoexgnkzdml)
enum AudioRecordingStatus {
  option deprecated = true;
  /* @exclude No documentation present when converted from Thrift to Proto */
  AUDIO_RECORDING_STATUS_UNSPECIFIED = 0;

  /* @exclude No documentation present when converted from Thrift to Proto */
  AUDIO_RECORDING_STATUS_NOT_AVAILABLE = 1 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "NOT_AVAILABLE"
    ordinal: 0,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  AUDIO_RECORDING_STATUS_PROCESSING = 2 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "PROCESSING"
    ordinal: 1,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  AUDIO_RECORDING_STATUS_AVAILABLE = 3 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "AVAILABLE"
    ordinal: 2,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  AUDIO_RECORDING_STATUS_REMOVED = 4 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "REMOVED"
    ordinal: 3,
  }];
}

/* @exclude No documentation present when converted from Thrift to Proto */
// Reddit talk product is deprecated and no longer supported
// Related [design doc](https://docs.google.com/document/d/1P0cx18-leGtnq4jJ1GRTaxk-Bx8vzR0AaSYjgqLu0N4/edit#heading=h.ouoexgnkzdml)
enum AudioRoomStatus {
  option deprecated = true;

  /* @exclude No documentation present when converted from Thrift to Proto */
  AUDIO_ROOM_STATUS_UNSPECIFIED = 0 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "UNSPECIFIED"
    ordinal: 0,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  AUDIO_ROOM_STATUS_NOT_CREATED = 1 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "NOT_CREATED"
    ordinal: 1,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  AUDIO_ROOM_STATUS_SCHEDULED = 2 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "SCHEDULED"
    ordinal: 2,
  }];
  /* @exclude No documentation present when converted from Thrift to Proto */
  AUDIO_ROOM_STATUS_IN_PROGRESS = 3 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "IN_PROGRESS"
    ordinal: 3,
  }];
  /* @exclude No documentation present when converted from Thrift to Proto */
  AUDIO_ROOM_STATUS_ENDED = 4 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "ENDED"
    ordinal: 4,
  }];
}

// Specifies what event type this post is
enum PostEventType {
  // No event type was specified or set
  POST_EVENT_TYPE_UNSPECIFIED = 0 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "UNKNOWN"
    ordinal: 0,
  }];

  // Ask Me Anything posts, where hosts answer questions in the comments
  POST_EVENT_TYPE_AMA = 1 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "AMA"
    ordinal: 1,
  }];

  // Posts that include a subset of the AMA features
  // Related design doc: https://docs.google.com/document/d/1kEM7EBv77zihdnvCsq2sw_i5UZ1lAb2qvrh_sytu_C0/edit
  POST_EVENT_TYPE_AMA_LITE = 2 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "AMA_LITE"
    ordinal: 2,
  }];
}

// Includes metadata for event-type posts like AMAs
// Design document: https://docs.google.com/document/d/1UTNKefRe8O2y7lIyBCCxnfrzYU57cJ4FY9ID4xXn2DY/edit
message PostEventMetadata {
  // Distinguishes between different types of event posts
  PostEventType type = 1;

  // Collaborators are users with special privileges in events (like being able to answer AMA questions)
  // Design document: https://docs.google.com/document/d/1BYtB8azFDNxQRrL0_lrM_6vEwG3UGBq_eZm9AtVCtBc/edit
  repeated string collaborator_ids = 2;
}

/* @exclude No documentation present when converted from Thrift to Proto */
message PromotedUserPost {
  /* @exclude No documentation present when converted from Thrift to Proto */
  string post_id = 1;
}

/* @exclude No documentation present when converted from Thrift to Proto */
message PromotedUserPosts {
  /* @exclude No documentation present when converted from Thrift to Proto */
  repeated PromotedUserPost promoted_posts = 1;
}

/* @exclude No documentation present when converted from Thrift to Proto */
message Product {
  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string title = 1;
  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string price = 2;
  /* @exclude No documentation present when converted from Thrift to Proto */
  optional string description = 3;
}

/* @exclude No documentation present when converted from Thrift to Proto */
enum RemovedByType {
  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_UNSPECIFIED = 0;

  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_UNSET = 1 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "NULL_VALUE"
    ordinal: 0,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_COPYRIGHT_TAKEDOWN = 2 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "COPYRIGHT_TAKEDOWN"
    ordinal: 1,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_CONTENT_TAKEDOWN = 3 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "CONTENT_TAKEDOWN"
    ordinal: 2,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_AUTHOR = 4 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "AUTHOR"
    ordinal: 3,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_MODERATOR = 5 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "MODERATOR"
    ordinal: 4,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_COMMUNITY_OPS = 6 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "COMMUNITY_OPS"
    ordinal: 5,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_ANTI_EVIL_OPS = 7 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "ANTI_EVIL_OPS"
    ordinal: 6,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_REDDIT = 8 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "REDDIT"
    ordinal: 7,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_DELETED = 9 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "DELETED"
    ordinal: 8,
  }];

  /* @exclude No documentation present when converted from Thrift to Proto */
  REMOVED_BY_TYPE_AUTOMOD_FILTERED = 10 [(reddit.coreplatform.api.metadata.v1.thrift_alias) = {
    name: "AUTOMOD_FILTERED"
    ordinal: 9,
  }];
}

/* @exclude No documentation present when converted from Thrift to Proto */
message CrossPost {
  /* @exclude No documentation present when converted from Thrift to Proto */
  string root_link_id = 1;
}
