// Code generated by protoc-gen-go. DO NOT EDIT.
// source: entitlement_emote/create.proto

package entitlement_emote

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

// Source represents why an entitlement was created in a particular domain. For example, with a SUBS source, an entitlement
// was created for SUBS in the domain of Emote.
type Source int32

const (
	Source_SOURCE_INVALID        Source = 0
	Source_SOURCE_CHANNEL_POINTS Source = 1
	Source_SOURCE_SUBS           Source = 2
	Source_SOURCE_BITS           Source = 3
	Source_SOURCE_HYPE_TRAIN     Source = 4
	Source_SOURCE_DROPS          Source = 5
	Source_SOURCE_REWARDS        Source = 6
)

var Source_name = map[int32]string{
	0: "SOURCE_INVALID",
	1: "SOURCE_CHANNEL_POINTS",
	2: "SOURCE_SUBS",
	3: "SOURCE_BITS",
	4: "SOURCE_HYPE_TRAIN",
	5: "SOURCE_DROPS",
	6: "SOURCE_REWARDS",
}
var Source_value = map[string]int32{
	"SOURCE_INVALID":        0,
	"SOURCE_CHANNEL_POINTS": 1,
	"SOURCE_SUBS":           2,
	"SOURCE_BITS":           3,
	"SOURCE_HYPE_TRAIN":     4,
	"SOURCE_DROPS":          5,
	"SOURCE_REWARDS":        6,
}

func (x Source) String() string {
	return proto.EnumName(Source_name, int32(x))
}
func (Source) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_create_496f18bfd78eeeb8, []int{0}
}

// EntitlementEmoteCreate triggers when a user is successfully entitled for an emote.
type EntitlementEmoteCreate struct {
	// Entitlement ID
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Twitch User ID of the user who owns this entitlement.
	OwnerUserId string `protobuf:"bytes,2,opt,name=owner_user_id,json=ownerUserId,proto3" json:"owner_user_id,omitempty"`
	// The feature the entitlement came from.
	Source Source `protobuf:"varint,3,opt,name=source,proto3,enum=entitlement_emote.Source" json:"source,omitempty"`
	// ID for the emote or emote group the user is entitled for.
	ItemId string `protobuf:"bytes,4,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
	// Twitch User ID of the broadcaster who created and owns this emote.
	EmoteOwnerUserId string `protobuf:"bytes,5,opt,name=emote_owner_user_id,json=emoteOwnerUserId,proto3" json:"emote_owner_user_id,omitempty"`
	// Identifier for the origin object that caused this entitlement.
	// It is a reference to the broader context mostly used for deletion/modifications of entitlements that came from the same context.
	OriginId string `protobuf:"bytes,6,opt,name=origin_id,json=originId,proto3" json:"origin_id,omitempty"`
	// When the entitlement starts.
	StartsAt *timestamp.Timestamp `protobuf:"bytes,7,opt,name=starts_at,json=startsAt,proto3" json:"starts_at,omitempty"`
	// When the entitlement expires.
	EndsAt *timestamp.Timestamp `protobuf:"bytes,8,opt,name=ends_at,json=endsAt,proto3" json:"ends_at,omitempty"`
	// Entitlement type is an additional logical grouping of contents. For emotes, possible values include emote and emote group.
	Type                 string   `protobuf:"bytes,9,opt,name=type,proto3" json:"type,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EntitlementEmoteCreate) Reset()         { *m = EntitlementEmoteCreate{} }
func (m *EntitlementEmoteCreate) String() string { return proto.CompactTextString(m) }
func (*EntitlementEmoteCreate) ProtoMessage()    {}
func (*EntitlementEmoteCreate) Descriptor() ([]byte, []int) {
	return fileDescriptor_create_496f18bfd78eeeb8, []int{0}
}
func (m *EntitlementEmoteCreate) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EntitlementEmoteCreate.Unmarshal(m, b)
}
func (m *EntitlementEmoteCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EntitlementEmoteCreate.Marshal(b, m, deterministic)
}
func (dst *EntitlementEmoteCreate) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EntitlementEmoteCreate.Merge(dst, src)
}
func (m *EntitlementEmoteCreate) XXX_Size() int {
	return xxx_messageInfo_EntitlementEmoteCreate.Size(m)
}
func (m *EntitlementEmoteCreate) XXX_DiscardUnknown() {
	xxx_messageInfo_EntitlementEmoteCreate.DiscardUnknown(m)
}

var xxx_messageInfo_EntitlementEmoteCreate proto.InternalMessageInfo

func (m *EntitlementEmoteCreate) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *EntitlementEmoteCreate) GetOwnerUserId() string {
	if m != nil {
		return m.OwnerUserId
	}
	return ""
}

func (m *EntitlementEmoteCreate) GetSource() Source {
	if m != nil {
		return m.Source
	}
	return Source_SOURCE_INVALID
}

func (m *EntitlementEmoteCreate) GetItemId() string {
	if m != nil {
		return m.ItemId
	}
	return ""
}

func (m *EntitlementEmoteCreate) GetEmoteOwnerUserId() string {
	if m != nil {
		return m.EmoteOwnerUserId
	}
	return ""
}

func (m *EntitlementEmoteCreate) GetOriginId() string {
	if m != nil {
		return m.OriginId
	}
	return ""
}

func (m *EntitlementEmoteCreate) GetStartsAt() *timestamp.Timestamp {
	if m != nil {
		return m.StartsAt
	}
	return nil
}

func (m *EntitlementEmoteCreate) GetEndsAt() *timestamp.Timestamp {
	if m != nil {
		return m.EndsAt
	}
	return nil
}

func (m *EntitlementEmoteCreate) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func init() {
	proto.RegisterType((*EntitlementEmoteCreate)(nil), "entitlement_emote.EntitlementEmoteCreate")
	proto.RegisterEnum("entitlement_emote.Source", Source_name, Source_value)
}

func init() {
	proto.RegisterFile("entitlement_emote/create.proto", fileDescriptor_create_496f18bfd78eeeb8)
}

var fileDescriptor_create_496f18bfd78eeeb8 = []byte{
	// 398 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xdf, 0x8a, 0xd3, 0x40,
	0x14, 0xc6, 0x4d, 0xb6, 0x9b, 0xb6, 0xa7, 0x5a, 0x67, 0xcf, 0xb2, 0x9a, 0x5d, 0x41, 0xcb, 0x5e,
	0x15, 0xc1, 0x14, 0x77, 0x2f, 0xbc, 0x4e, 0xdb, 0xc0, 0x06, 0x96, 0xb4, 0x64, 0x5a, 0x45, 0x6f,
	0x86, 0xec, 0xe6, 0x58, 0x06, 0x36, 0x99, 0x32, 0x99, 0x22, 0xbe, 0x88, 0x8f, 0xe8, 0x73, 0x48,
	0x26, 0x29, 0x56, 0x7a, 0xe1, 0x5d, 0xf2, 0x7d, 0xbf, 0xef, 0xfc, 0x63, 0xe0, 0x2d, 0x95, 0x46,
	0x9a, 0x27, 0x2a, 0xa8, 0x34, 0x82, 0x0a, 0x65, 0x68, 0xf2, 0xa8, 0x29, 0x33, 0x14, 0x6c, 0xb5,
	0x32, 0x0a, 0xcf, 0x8e, 0xfc, 0xab, 0x77, 0x1b, 0xa5, 0x36, 0x4f, 0x34, 0xb1, 0xc0, 0xc3, 0xee,
	0xfb, 0xc4, 0xc8, 0x82, 0x2a, 0x93, 0x15, 0xdb, 0x26, 0x73, 0xfd, 0xdb, 0x85, 0x57, 0xd1, 0xdf,
	0x58, 0x54, 0xa7, 0x66, 0xb6, 0x28, 0x0e, 0xc1, 0x95, 0xb9, 0xef, 0x8c, 0x9c, 0x71, 0x3f, 0x75,
	0x65, 0x8e, 0xd7, 0xf0, 0x42, 0xfd, 0x28, 0x49, 0x8b, 0x5d, 0x45, 0x5a, 0xc8, 0xdc, 0x77, 0xad,
	0x35, 0xb0, 0xe2, 0xba, 0x22, 0x1d, 0xe7, 0xf8, 0x11, 0xbc, 0x4a, 0xed, 0xf4, 0x23, 0xf9, 0x27,
	0x23, 0x67, 0x3c, 0xbc, 0xb9, 0x0c, 0x8e, 0x66, 0x0a, 0xb8, 0x05, 0xd2, 0x16, 0xc4, 0xd7, 0xd0,
	0x95, 0x86, 0x8a, 0xba, 0x60, 0xc7, 0x16, 0xf4, 0xea, 0xdf, 0x38, 0xc7, 0x0f, 0x70, 0x6e, 0x03,
	0xe2, 0xdf, 0xae, 0xa7, 0x16, 0x62, 0xd6, 0x5a, 0x1c, 0xb4, 0x7e, 0x03, 0x7d, 0xa5, 0xe5, 0x46,
	0x96, 0x35, 0xe4, 0x59, 0xa8, 0xd7, 0x08, 0x71, 0x8e, 0x9f, 0xa0, 0x5f, 0x99, 0x4c, 0x9b, 0x4a,
	0x64, 0xc6, 0xef, 0x8e, 0x9c, 0xf1, 0xe0, 0xe6, 0x2a, 0x68, 0x6e, 0x13, 0xec, 0x6f, 0x13, 0xac,
	0xf6, 0xb7, 0x49, 0x7b, 0x0d, 0x1c, 0x1a, 0xbc, 0x85, 0x2e, 0x95, 0xb9, 0x8d, 0xf5, 0xfe, 0x1b,
	0xf3, 0x6a, 0x34, 0x34, 0x88, 0xd0, 0x31, 0x3f, 0xb7, 0xe4, 0xf7, 0xed, 0x14, 0xf6, 0xfb, 0xfd,
	0x2f, 0x07, 0xbc, 0x66, 0x73, 0x44, 0x18, 0xf2, 0xc5, 0x3a, 0x9d, 0x45, 0x22, 0x4e, 0x3e, 0x87,
	0xf7, 0xf1, 0x9c, 0x3d, 0xc3, 0x4b, 0xb8, 0x68, 0xb5, 0xd9, 0x5d, 0x98, 0x24, 0xd1, 0xbd, 0x58,
	0x2e, 0xe2, 0x64, 0xc5, 0x99, 0x83, 0x2f, 0x61, 0xd0, 0x5a, 0x7c, 0x3d, 0xe5, 0xcc, 0x3d, 0x10,
	0xa6, 0xf1, 0x8a, 0xb3, 0x13, 0xbc, 0x80, 0xb3, 0x56, 0xb8, 0xfb, 0xba, 0x8c, 0xc4, 0x2a, 0x0d,
	0xe3, 0x84, 0x75, 0x90, 0xc1, 0xf3, 0x56, 0x9e, 0xa7, 0x8b, 0x25, 0x67, 0xa7, 0x07, 0x9d, 0xd3,
	0xe8, 0x4b, 0x98, 0xce, 0x39, 0xf3, 0xa6, 0xe7, 0xdf, 0x8e, 0xdf, 0xcd, 0x83, 0x67, 0xb7, 0xbb,
	0xfd, 0x13, 0x00, 0x00, 0xff, 0xff, 0xaf, 0xbe, 0xdc, 0x6d, 0x73, 0x02, 0x00, 0x00,
}
