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

package channel_points_community_goal

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

// 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

// Type is the type of community goal for the event.
type Type int32

const (
	Type_TYPE_INVALID Type = 0
	Type_TYPE_CREATOR Type = 1
	Type_TYPE_BOOST   Type = 2
)

var Type_name = map[int32]string{
	0: "TYPE_INVALID",
	1: "TYPE_CREATOR",
	2: "TYPE_BOOST",
}
var Type_value = map[string]int32{
	"TYPE_INVALID": 0,
	"TYPE_CREATOR": 1,
	"TYPE_BOOST":   2,
}

func (x Type) String() string {
	return proto.EnumName(Type_name, int32(x))
}
func (Type) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_update_6c75fe8c8a5276cc, []int{0}
}

// Status is the status of the community goal.
type Status int32

const (
	Status_STATUS_INVALID   Status = 0
	Status_STATUS_UNSTARTED Status = 1
	Status_STATUS_STARTED   Status = 2
	Status_STATUS_ENDED     Status = 3
	Status_STATUS_FULFILLED Status = 4
	Status_STATUS_ARCHIVED  Status = 5
)

var Status_name = map[int32]string{
	0: "STATUS_INVALID",
	1: "STATUS_UNSTARTED",
	2: "STATUS_STARTED",
	3: "STATUS_ENDED",
	4: "STATUS_FULFILLED",
	5: "STATUS_ARCHIVED",
}
var Status_value = map[string]int32{
	"STATUS_INVALID":   0,
	"STATUS_UNSTARTED": 1,
	"STATUS_STARTED":   2,
	"STATUS_ENDED":     3,
	"STATUS_FULFILLED": 4,
	"STATUS_ARCHIVED":  5,
}

func (x Status) String() string {
	return proto.EnumName(Status_name, int32(x))
}
func (Status) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_update_6c75fe8c8a5276cc, []int{1}
}

// ChannelPointsCommunityGoalUpdate triggers when a community goal has been updated.
type ChannelPointsCommunityGoalUpdate struct {
	// The community goal's unique ID.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The ID of the channel the reward belongs to.
	UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// The community goal's type.
	Type Type `protobuf:"varint,3,opt,name=type,proto3,enum=channel_points_community_goal.Type" json:"type,omitempty"`
	// The community goal's status.
	Status               *StatusChange `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

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

var xxx_messageInfo_ChannelPointsCommunityGoalUpdate proto.InternalMessageInfo

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

func (m *ChannelPointsCommunityGoalUpdate) GetUserId() string {
	if m != nil {
		return m.UserId
	}
	return ""
}

func (m *ChannelPointsCommunityGoalUpdate) GetType() Type {
	if m != nil {
		return m.Type
	}
	return Type_TYPE_INVALID
}

func (m *ChannelPointsCommunityGoalUpdate) GetStatus() *StatusChange {
	if m != nil {
		return m.Status
	}
	return nil
}

// An object representing the state change for Status.
type StatusChange struct {
	Updated              bool     `protobuf:"varint,1,opt,name=updated,proto3" json:"updated,omitempty"`
	Value                Status   `protobuf:"varint,2,opt,name=value,proto3,enum=channel_points_community_goal.Status" json:"value,omitempty"`
	HasOldValue          bool     `protobuf:"varint,3,opt,name=has_old_value,json=hasOldValue,proto3" json:"has_old_value,omitempty"`
	OldValue             Status   `protobuf:"varint,4,opt,name=old_value,json=oldValue,proto3,enum=channel_points_community_goal.Status" json:"old_value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_StatusChange proto.InternalMessageInfo

func (m *StatusChange) GetUpdated() bool {
	if m != nil {
		return m.Updated
	}
	return false
}

func (m *StatusChange) GetValue() Status {
	if m != nil {
		return m.Value
	}
	return Status_STATUS_INVALID
}

func (m *StatusChange) GetHasOldValue() bool {
	if m != nil {
		return m.HasOldValue
	}
	return false
}

func (m *StatusChange) GetOldValue() Status {
	if m != nil {
		return m.OldValue
	}
	return Status_STATUS_INVALID
}

func init() {
	proto.RegisterType((*ChannelPointsCommunityGoalUpdate)(nil), "channel_points_community_goal.ChannelPointsCommunityGoalUpdate")
	proto.RegisterType((*StatusChange)(nil), "channel_points_community_goal.StatusChange")
	proto.RegisterEnum("channel_points_community_goal.Type", Type_name, Type_value)
	proto.RegisterEnum("channel_points_community_goal.Status", Status_name, Status_value)
}

func init() {
	proto.RegisterFile("channel_points_community_goal/update.proto", fileDescriptor_update_6c75fe8c8a5276cc)
}

var fileDescriptor_update_6c75fe8c8a5276cc = []byte{
	// 389 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xcf, 0x8b, 0xd3, 0x40,
	0x14, 0xc7, 0x9d, 0x34, 0x9b, 0xdd, 0x7d, 0xbb, 0xc6, 0x61, 0x14, 0xcc, 0x45, 0x0c, 0x15, 0xa1,
	0x54, 0xa8, 0x50, 0x0f, 0x82, 0x9e, 0xd2, 0x24, 0xd5, 0x40, 0x68, 0xca, 0x64, 0x52, 0xd0, 0x4b,
	0x18, 0x9b, 0xd0, 0x06, 0xd2, 0x4c, 0x68, 0x12, 0xa1, 0x67, 0xff, 0x3a, 0x0f, 0xfe, 0x4f, 0x92,
	0x49, 0xaa, 0x39, 0x55, 0xf7, 0x38, 0x9f, 0xf7, 0xfd, 0xf1, 0x18, 0x1e, 0x4c, 0xb7, 0x7b, 0x5e,
	0x14, 0x69, 0x1e, 0x97, 0x22, 0x2b, 0xea, 0x2a, 0xde, 0x8a, 0xc3, 0xa1, 0x29, 0xb2, 0xfa, 0x14,
	0xef, 0x04, 0xcf, 0xdf, 0x36, 0x65, 0xc2, 0xeb, 0x74, 0x56, 0x1e, 0x45, 0x2d, 0xc8, 0x8b, 0x8b,
	0xda, 0xf1, 0x4f, 0x04, 0xa6, 0xdd, 0x29, 0xd6, 0x52, 0x60, 0x9f, 0xe7, 0x9f, 0x04, 0xcf, 0x23,
	0x99, 0x44, 0x74, 0x50, 0xb2, 0xc4, 0x40, 0x26, 0x9a, 0xdc, 0x52, 0x25, 0x4b, 0xc8, 0x73, 0xb8,
	0x6e, 0xaa, 0xf4, 0x18, 0x67, 0x89, 0xa1, 0x48, 0xa8, 0xb5, 0x4f, 0x2f, 0x21, 0xef, 0x41, 0xad,
	0x4f, 0x65, 0x6a, 0x8c, 0x4c, 0x34, 0xd1, 0xe7, 0xaf, 0x66, 0x17, 0xbb, 0x67, 0xec, 0x54, 0xa6,
	0x54, 0x1a, 0x88, 0x0d, 0x5a, 0x55, 0xf3, 0xba, 0xa9, 0x0c, 0xd5, 0x44, 0x93, 0xbb, 0xf9, 0x9b,
	0x7f, 0x58, 0x43, 0x29, 0x6e, 0x17, 0xdf, 0xa5, 0xb4, 0xb7, 0x8e, 0x7f, 0x21, 0xb8, 0x1f, 0x0e,
	0x88, 0x01, 0xd7, 0xdd, 0x5f, 0x74, 0xcb, 0xdf, 0xd0, 0xf3, 0x93, 0x7c, 0x84, 0xab, 0xef, 0x3c,
	0x6f, 0x52, 0xb9, 0xbf, 0x3e, 0x7f, 0xfd, 0x5f, 0x75, 0xb4, 0xf3, 0x90, 0x31, 0x3c, 0xde, 0xf3,
	0x2a, 0x16, 0x79, 0x12, 0x77, 0x21, 0x23, 0x19, 0x7e, 0xb7, 0xe7, 0x55, 0x90, 0x27, 0x1b, 0xa9,
	0x59, 0xc0, 0xed, 0xdf, 0xb9, 0xfa, 0x90, 0x92, 0x1b, 0xd1, 0x67, 0x4c, 0x3f, 0x80, 0xda, 0x7e,
	0x11, 0xc1, 0x70, 0xcf, 0xbe, 0xac, 0xdd, 0xd8, 0x5b, 0x6d, 0x2c, 0xdf, 0x73, 0xf0, 0xa3, 0x3f,
	0xc4, 0xa6, 0xae, 0xc5, 0x02, 0x8a, 0x11, 0xd1, 0x01, 0x24, 0x59, 0x04, 0x41, 0xc8, 0xb0, 0x32,
	0xfd, 0x81, 0x40, 0xeb, 0x02, 0x09, 0x01, 0x3d, 0x64, 0x16, 0x8b, 0xc2, 0x41, 0xc0, 0x33, 0xc0,
	0x3d, 0x8b, 0x56, 0x21, 0xb3, 0x28, 0x73, 0x1d, 0x8c, 0x06, 0xca, 0x33, 0x53, 0xda, 0xaa, 0x9e,
	0xb9, 0x2b, 0xc7, 0x75, 0xf0, 0x68, 0xe0, 0x5d, 0x46, 0xfe, 0xd2, 0xf3, 0x7d, 0xd7, 0xc1, 0x2a,
	0x79, 0x0a, 0x4f, 0x7a, 0x6a, 0x51, 0xfb, 0xb3, 0xb7, 0x71, 0x1d, 0x7c, 0xb5, 0x78, 0xf9, 0xf5,
	0xf2, 0xf9, 0x7d, 0xd3, 0xe4, 0x91, 0xbe, 0xfb, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xad, 0xcb, 0xa7,
	0x1a, 0xd2, 0x02, 0x00, 0x00,
}
