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

package entitlement_badge

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import change "code.justin.tv/eventbus/schema/pkg/eventbus/change"
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

// EntitlementBadgeUpdate triggers when a user's badge entitlement's ends_at value changes.
// ends_at is the only possible value that can change.
type EntitlementBadgeUpdate 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. This value can be updated.
	EndsAt *change.TimestampChange `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 *EntitlementBadgeUpdate) Reset()         { *m = EntitlementBadgeUpdate{} }
func (m *EntitlementBadgeUpdate) String() string { return proto.CompactTextString(m) }
func (*EntitlementBadgeUpdate) ProtoMessage()    {}
func (*EntitlementBadgeUpdate) Descriptor() ([]byte, []int) {
	return fileDescriptor_update_4ca369f040e2e50b, []int{0}
}
func (m *EntitlementBadgeUpdate) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EntitlementBadgeUpdate.Unmarshal(m, b)
}
func (m *EntitlementBadgeUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EntitlementBadgeUpdate.Marshal(b, m, deterministic)
}
func (dst *EntitlementBadgeUpdate) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EntitlementBadgeUpdate.Merge(dst, src)
}
func (m *EntitlementBadgeUpdate) XXX_Size() int {
	return xxx_messageInfo_EntitlementBadgeUpdate.Size(m)
}
func (m *EntitlementBadgeUpdate) XXX_DiscardUnknown() {
	xxx_messageInfo_EntitlementBadgeUpdate.DiscardUnknown(m)
}

var xxx_messageInfo_EntitlementBadgeUpdate proto.InternalMessageInfo

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

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

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

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

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

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

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

func (m *EntitlementBadgeUpdate) GetEndsAt() *change.TimestampChange {
	if m != nil {
		return m.EndsAt
	}
	return nil
}

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

func init() {
	proto.RegisterType((*EntitlementBadgeUpdate)(nil), "entitlement_badge.EntitlementBadgeUpdate")
}

func init() {
	proto.RegisterFile("entitlement_badge/update.proto", fileDescriptor_update_4ca369f040e2e50b)
}

var fileDescriptor_update_4ca369f040e2e50b = []byte{
	// 327 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x4f, 0x4b, 0xc3, 0x40,
	0x10, 0xc5, 0x49, 0xac, 0x69, 0xb3, 0xc5, 0xa2, 0x5b, 0xd4, 0x58, 0x41, 0x43, 0x4f, 0xbd, 0xb8,
	0xc1, 0x7a, 0x10, 0x8f, 0xad, 0x78, 0xe8, 0x49, 0x88, 0xf6, 0xe2, 0x25, 0x24, 0xdd, 0x31, 0x2e,
	0x34, 0x7f, 0xd8, 0x9d, 0x28, 0x7e, 0x67, 0x3f, 0x84, 0x64, 0xd2, 0x54, 0xa5, 0xde, 0x32, 0x33,
	0xef, 0xf7, 0xf6, 0xf1, 0xc2, 0x2e, 0x20, 0x47, 0x85, 0x6b, 0xc8, 0x20, 0xc7, 0x28, 0x89, 0x65,
	0x0a, 0x41, 0x55, 0xca, 0x18, 0x41, 0x94, 0xba, 0xc0, 0x82, 0x1f, 0xed, 0xdc, 0x47, 0xff, 0x20,
	0x2b, 0x0d, 0x5b, 0x64, 0x74, 0x0c, 0xef, 0x90, 0x63, 0x52, 0x99, 0x60, 0xf5, 0x16, 0xe7, 0x69,
	0xbb, 0xbe, 0x4c, 0x8b, 0x22, 0x5d, 0x43, 0x40, 0x53, 0x52, 0xbd, 0x06, 0xa8, 0x32, 0x30, 0x18,
	0x67, 0x65, 0x23, 0x18, 0x7f, 0xd9, 0xec, 0xe4, 0xe1, 0xc7, 0x7a, 0x5e, 0x3b, 0x2f, 0x29, 0x0b,
	0x1f, 0x30, 0x5b, 0x49, 0xcf, 0xf2, 0xad, 0x89, 0x1b, 0xda, 0x4a, 0xf2, 0x31, 0x3b, 0x28, 0x3e,
	0x72, 0xd0, 0x51, 0x65, 0x40, 0x47, 0x4a, 0x7a, 0x36, 0x9d, 0xfa, 0xb4, 0x5c, 0x1a, 0xd0, 0x0b,
	0xc9, 0xaf, 0x99, 0x63, 0x8a, 0x4a, 0xaf, 0xc0, 0xdb, 0xf3, 0xad, 0xc9, 0x60, 0x7a, 0x26, 0x76,
	0x72, 0x8b, 0x27, 0x12, 0x84, 0x1b, 0x21, 0x3f, 0x65, 0x5d, 0x85, 0x90, 0xd5, 0x86, 0x1d, 0x32,
	0x74, 0xea, 0x71, 0x21, 0xf9, 0x15, 0x1b, 0x12, 0x10, 0xfd, 0x7d, 0x75, 0x9f, 0x44, 0x87, 0x74,
	0x7a, 0xfc, 0xf5, 0xf4, 0x39, 0x73, 0x0b, 0xad, 0x52, 0x95, 0xd7, 0x22, 0x87, 0x44, 0xbd, 0x66,
	0xb1, 0x90, 0xfc, 0x96, 0xb9, 0x06, 0x63, 0x8d, 0x26, 0x8a, 0xd1, 0xeb, 0xfa, 0xd6, 0xa4, 0x3f,
	0x1d, 0x89, 0xa6, 0x1b, 0xd1, 0x76, 0x23, 0x9e, 0xdb, 0x6e, 0xc2, 0x5e, 0x23, 0x9e, 0x21, 0xbf,
	0x63, 0x5d, 0xc8, 0x25, 0x61, 0x3d, 0xc2, 0x7c, 0xd1, 0x36, 0x2d, 0x36, 0x4d, 0x6f, 0xb1, 0x7b,
	0x9a, 0x43, 0xa7, 0x06, 0x66, 0xc8, 0x39, 0xeb, 0xe0, 0x67, 0x09, 0x9e, 0x4b, 0x59, 0xe8, 0x7b,
	0x3e, 0x7c, 0xd9, 0xfd, 0xb7, 0x89, 0x43, 0x09, 0x6e, 0xbe, 0x03, 0x00, 0x00, 0xff, 0xff, 0xeb,
	0xc9, 0xd4, 0x11, 0x17, 0x02, 0x00, 0x00,
}
