syntax = "proto3";

package hype_train;

option go_package = "hype_train";

import "eventbus/owner.proto";
import "google/protobuf/timestamp.proto";
import "hype_train/create.proto";

// HypeTrainDelete is triggered when a hype train ends on a channel.
message HypeTrainDelete {
  option (eventbus.owner.ldap_group) = "team-commerce";
  // The id of the hype train.
  string id = 1;
  // The user id of the broadcaster.
  string broadcaster_user_id = 2;
  // The level reached.
  int64 level = 3;
  // The total points contributed.
  int64 total = 4;
  // The number of points that were required to reach the next level.
  int64 goal = 5;
  // The contributors with the most points contributed.
  repeated Contribution top_contributions = 6;
  // The time at which the hype train started.
  google.protobuf.Timestamp started_at = 7;
  // The time at which the hype train ended.
  google.protobuf.Timestamp ended_at = 8;
  // The time at which the hype train cooldown ends (i.e. the next hype train can start).
  google.protobuf.Timestamp cooldown_ends_at = 9;
  // The number of points accumulated for the current level only.
  int64 progress = 10;
  // The total number of subs that participated on finish
  int64 total_subs = 11;
  // The total number of Bits that participated on finish
  int64 total_bits = 12;
}
