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

package entitlement_badge

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "code.justin.tv/eventbus/schema/pkg/eventbus/owner"
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 BITS source, an entitlement
// was created for BITS in the domain of Badge.
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_9d3deba424090c28, []int{0}
}

// EntitlementBadgeCreate triggers when a user is successfully entitled for a badge.
type EntitlementBadgeCreate 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_badge.Source" json:"source,omitempty"`
	// ID for the badge 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 badge.
	BadgeOwnerUserId string `protobuf:"bytes,5,opt,name=badge_owner_user_id,json=badgeOwnerUserId,proto3" json:"badge_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 badges.
	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 *EntitlementBadgeCreate) Reset()         { *m = EntitlementBadgeCreate{} }
func (m *EntitlementBadgeCreate) String() string { return proto.CompactTextString(m) }
func (*EntitlementBadgeCreate) ProtoMessage()    {}
func (*EntitlementBadgeCreate) Descriptor() ([]byte, []int) {
	return fileDescriptor_create_9d3deba424090c28, []int{0}
}
func (m *EntitlementBadgeCreate) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EntitlementBadgeCreate.Unmarshal(m, b)
}
func (m *EntitlementBadgeCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EntitlementBadgeCreate.Marshal(b, m, deterministic)
}
func (dst *EntitlementBadgeCreate) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EntitlementBadgeCreate.Merge(dst, src)
}
func (m *EntitlementBadgeCreate) XXX_Size() int {
	return xxx_messageInfo_EntitlementBadgeCreate.Size(m)
}
func (m *EntitlementBadgeCreate) XXX_DiscardUnknown() {
	xxx_messageInfo_EntitlementBadgeCreate.DiscardUnknown(m)
}

var xxx_messageInfo_EntitlementBadgeCreate proto.InternalMessageInfo

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

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

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

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

func (m *EntitlementBadgeCreate) GetBadgeOwnerUserId() string {
	if m != nil {
		return m.BadgeOwnerUserId
	}
	return ""
}

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

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

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

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

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

func init() {
	proto.RegisterFile("entitlement_badge/create.proto", fileDescriptor_create_9d3deba424090c28)
}

var fileDescriptor_create_9d3deba424090c28 = []byte{
	// 431 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0x41, 0x8f, 0xd2, 0x50,
	0x14, 0x85, 0x6d, 0x87, 0x29, 0x70, 0x71, 0xf0, 0x71, 0xc7, 0xd1, 0x0e, 0x26, 0x4a, 0x66, 0x45,
	0x4c, 0xa6, 0xc4, 0x99, 0x85, 0x89, 0xbb, 0x02, 0x4d, 0xa6, 0xc9, 0xa4, 0x90, 0x16, 0x34, 0xba,
	0x69, 0x0a, 0xbd, 0x92, 0x26, 0xd3, 0x96, 0xbc, 0x5e, 0x34, 0xfe, 0x11, 0x17, 0xfe, 0x0f, 0x7f,
	0x9c, 0x3b, 0xd3, 0xd7, 0x12, 0x31, 0x2c, 0x66, 0xd7, 0x77, 0xee, 0x77, 0xcf, 0x79, 0x3d, 0x79,
	0xf0, 0x9a, 0x32, 0x4e, 0xf8, 0x81, 0x52, 0xca, 0x38, 0x5c, 0x45, 0xf1, 0x86, 0x46, 0x6b, 0x49,
	0x11, 0x93, 0xb5, 0x95, 0x39, 0xe7, 0xd8, 0x3b, 0x9a, 0xf7, 0x9f, 0xd3, 0x37, 0xca, 0x78, 0xb5,
	0x2b, 0x46, 0xf9, 0xf7, 0x8c, 0x64, 0x05, 0xf6, 0xdf, 0x6c, 0xf2, 0x7c, 0xf3, 0x40, 0x23, 0x75,
	0x5a, 0xed, 0xbe, 0x8e, 0x38, 0x49, 0xa9, 0xe0, 0x28, 0xdd, 0x56, 0xc0, 0xd5, 0x1f, 0x1d, 0x5e,
	0x38, 0xff, 0xcc, 0xc6, 0xa5, 0xd7, 0x44, 0x45, 0x61, 0x17, 0xf4, 0x24, 0x36, 0xb5, 0x81, 0x36,
	0x6c, 0xfb, 0x7a, 0x12, 0xe3, 0x15, 0x9c, 0x29, 0xeb, 0x70, 0x57, 0x90, 0x0c, 0x93, 0xd8, 0xd4,
	0xd5, 0xa8, 0xa3, 0xc4, 0x65, 0x41, 0xd2, 0x8d, 0xf1, 0x1d, 0x18, 0x45, 0xbe, 0x93, 0x6b, 0x32,
	0x4f, 0x06, 0xda, 0xb0, 0x7b, 0x73, 0x69, 0x1d, 0xdd, 0xd4, 0x0a, 0x14, 0xe0, 0xd7, 0x20, 0xbe,
	0x84, 0x66, 0xc2, 0x94, 0x96, 0x86, 0x0d, 0x65, 0x68, 0x94, 0x47, 0x37, 0xc6, 0x6b, 0x38, 0x57,
	0x0b, 0xe1, 0xff, 0xa9, 0xa7, 0x0a, 0x12, 0x6a, 0x34, 0x3b, 0x88, 0x7e, 0x05, 0xed, 0x5c, 0x26,
	0x9b, 0x24, 0x2b, 0x21, 0x43, 0x41, 0xad, 0x4a, 0x70, 0x63, 0x7c, 0x0f, 0xed, 0x82, 0x23, 0xc9,
	0x45, 0x18, 0xb1, 0xd9, 0x1c, 0x68, 0xc3, 0xce, 0x4d, 0xdf, 0xaa, 0xba, 0xb1, 0xf6, 0xdd, 0x58,
	0x8b, 0x7d, 0x37, 0x7e, 0xab, 0x82, 0x6d, 0xc6, 0x5b, 0x68, 0x52, 0x16, 0xab, 0xb5, 0xd6, 0xa3,
	0x6b, 0x46, 0x89, 0xda, 0x8c, 0x08, 0x0d, 0xfe, 0xb1, 0x25, 0xb3, 0xad, 0x6e, 0xa1, 0xbe, 0x3f,
	0xf4, 0x7e, 0xfd, 0x36, 0xcf, 0x98, 0xa2, 0xf4, 0x7a, 0x9d, 0xa7, 0x29, 0xc9, 0x35, 0xbd, 0xfd,
	0xa9, 0x81, 0x51, 0x95, 0x81, 0x08, 0xdd, 0x60, 0xb6, 0xf4, 0x27, 0x4e, 0xe8, 0x7a, 0x1f, 0xed,
	0x7b, 0x77, 0x2a, 0x9e, 0xe0, 0x25, 0x5c, 0xd4, 0xda, 0xe4, 0xce, 0xf6, 0x3c, 0xe7, 0x3e, 0x9c,
	0xcf, 0x5c, 0x6f, 0x11, 0x08, 0x0d, 0x9f, 0x41, 0xa7, 0x1e, 0x05, 0xcb, 0x71, 0x20, 0xf4, 0x03,
	0x61, 0xec, 0x2e, 0x02, 0x71, 0x82, 0x17, 0xd0, 0xab, 0x85, 0xbb, 0xcf, 0x73, 0x27, 0x5c, 0xf8,
	0xb6, 0xeb, 0x89, 0x06, 0x0a, 0x78, 0x5a, 0xcb, 0x53, 0x7f, 0x36, 0x0f, 0xc4, 0xe9, 0x41, 0xb2,
	0xef, 0x7c, 0xb2, 0xfd, 0x69, 0x20, 0x8c, 0xf1, 0xf9, 0x97, 0xe3, 0x07, 0xb6, 0x32, 0xd4, 0x0f,
	0xdf, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xc3, 0xb3, 0xe2, 0xd5, 0x9c, 0x02, 0x00, 0x00,
}
