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

package creator_goal

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

// GoalType specifies the various possible goal types available for the creator.
type GoalType int32

const (
	GoalType_GOAL_TYPE_INVALID GoalType = 0
	// Indicates a goal based on follows points.
	GoalType_GOAL_TYPE_FOLLOWS_POINTS GoalType = 1
	// Indicates a goal based on subscriptions points.
	GoalType_GOAL_TYPE_SUBSCRIPTIONS_POINTS GoalType = 2
)

var GoalType_name = map[int32]string{
	0: "GOAL_TYPE_INVALID",
	1: "GOAL_TYPE_FOLLOWS_POINTS",
	2: "GOAL_TYPE_SUBSCRIPTIONS_POINTS",
}
var GoalType_value = map[string]int32{
	"GOAL_TYPE_INVALID":              0,
	"GOAL_TYPE_FOLLOWS_POINTS":       1,
	"GOAL_TYPE_SUBSCRIPTIONS_POINTS": 2,
}

func (x GoalType) String() string {
	return proto.EnumName(GoalType_name, int32(x))
}
func (GoalType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_create_47bb68bdfb88c269, []int{0}
}

// CreatorGoalCreate triggers when a new goal is created on a channel.
type CreatorGoalCreate struct {
	// The id of the goal.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The user id of the broadcaster who is creating the goal.
	UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// The type of goal being created.
	Type GoalType `protobuf:"varint,3,opt,name=type,proto3,enum=creator_goal.GoalType" json:"type,omitempty"`
	// The description of the goal.
	Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	// The current amount of contributions at the start of the goal.
	CurrentAmount int64 `protobuf:"varint,5,opt,name=current_amount,json=currentAmount,proto3" json:"current_amount,omitempty"`
	// The target amount of points at which the goal will be completed.
	TargetAmount int64 `protobuf:"varint,6,opt,name=target_amount,json=targetAmount,proto3" json:"target_amount,omitempty"`
	// The timestamp of when the goal was started.
	StartedAt            *timestamp.Timestamp `protobuf:"bytes,7,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

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

var xxx_messageInfo_CreatorGoalCreate proto.InternalMessageInfo

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

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

func (m *CreatorGoalCreate) GetType() GoalType {
	if m != nil {
		return m.Type
	}
	return GoalType_GOAL_TYPE_INVALID
}

func (m *CreatorGoalCreate) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *CreatorGoalCreate) GetCurrentAmount() int64 {
	if m != nil {
		return m.CurrentAmount
	}
	return 0
}

func (m *CreatorGoalCreate) GetTargetAmount() int64 {
	if m != nil {
		return m.TargetAmount
	}
	return 0
}

func (m *CreatorGoalCreate) GetStartedAt() *timestamp.Timestamp {
	if m != nil {
		return m.StartedAt
	}
	return nil
}

func init() {
	proto.RegisterType((*CreatorGoalCreate)(nil), "creator_goal.CreatorGoalCreate")
	proto.RegisterEnum("creator_goal.GoalType", GoalType_name, GoalType_value)
}

func init() { proto.RegisterFile("creator_goal/create.proto", fileDescriptor_create_47bb68bdfb88c269) }

var fileDescriptor_create_47bb68bdfb88c269 = []byte{
	// 370 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0xdd, 0xca, 0xd3, 0x40,
	0x10, 0x86, 0x4d, 0xbe, 0xcf, 0xd6, 0x6e, 0xdb, 0xd0, 0xae, 0x3f, 0x5d, 0x8b, 0x68, 0xa8, 0x08,
	0xa1, 0xd0, 0x04, 0xea, 0x91, 0x9e, 0xa5, 0x55, 0x4b, 0x20, 0x34, 0x25, 0x89, 0x8a, 0x9e, 0x84,
	0x6d, 0x32, 0x86, 0x40, 0x93, 0x0d, 0x9b, 0x8d, 0xd2, 0x5b, 0xf1, 0x12, 0x3c, 0xf7, 0xfe, 0xa4,
	0x9b, 0xf4, 0xc7, 0xb3, 0x9d, 0x67, 0x1e, 0x86, 0x99, 0x77, 0xd1, 0xf3, 0x98, 0x03, 0x15, 0x8c,
	0x47, 0x29, 0xa3, 0x07, 0x4b, 0x16, 0x60, 0x96, 0x9c, 0x09, 0x86, 0x07, 0xb7, 0xad, 0xe9, 0x13,
	0xf8, 0x09, 0x85, 0xd8, 0xd7, 0x95, 0xc5, 0x7e, 0x15, 0xc0, 0x1b, 0x67, 0xfa, 0x2a, 0x65, 0x2c,
	0x3d, 0x80, 0x25, 0xab, 0x7d, 0xfd, 0xc3, 0x12, 0x59, 0x0e, 0x95, 0xa0, 0x79, 0xd9, 0x08, 0xb3,
	0x3f, 0x2a, 0x1a, 0xaf, 0x9b, 0x39, 0x1b, 0x46, 0x0f, 0xf2, 0x09, 0x58, 0x43, 0x6a, 0x96, 0x10,
	0x45, 0x57, 0x8c, 0x9e, 0xaf, 0x66, 0x09, 0x9e, 0xa0, 0x6e, 0x5d, 0x01, 0x8f, 0xb2, 0x84, 0xa8,
	0x12, 0x76, 0x4e, 0xa5, 0x93, 0xe0, 0x39, 0xba, 0x17, 0xc7, 0x12, 0xc8, 0x9d, 0xae, 0x18, 0xda,
	0xf2, 0x99, 0x79, 0xbb, 0x92, 0x79, 0x1a, 0x18, 0x1e, 0x4b, 0xf0, 0xa5, 0x83, 0x75, 0xd4, 0x4f,
	0xa0, 0x8a, 0x79, 0x56, 0x8a, 0x8c, 0x15, 0xe4, 0x5e, 0x0e, 0xba, 0x45, 0xf8, 0x0d, 0xd2, 0xe2,
	0x9a, 0x73, 0x28, 0x44, 0x44, 0x73, 0x56, 0x17, 0x82, 0x3c, 0xd4, 0x15, 0xe3, 0xce, 0x1f, 0xb6,
	0xd4, 0x96, 0x10, 0xbf, 0x46, 0x43, 0x41, 0x79, 0x0a, 0x17, 0xab, 0x23, 0xad, 0x41, 0x03, 0x5b,
	0xe9, 0x1d, 0x42, 0x95, 0xa0, 0x5c, 0x40, 0x12, 0x51, 0x41, 0xba, 0xba, 0x62, 0xf4, 0x97, 0x53,
	0xb3, 0x89, 0xc3, 0x3c, 0xc7, 0x61, 0x86, 0xe7, 0x38, 0xfc, 0x5e, 0x6b, 0xdb, 0xe2, 0xfd, 0xe4,
	0xf7, 0x5f, 0xf2, 0x58, 0x00, 0xcd, 0x17, 0xed, 0x39, 0x8b, 0xaa, 0x2e, 0x81, 0x57, 0xf3, 0x18,
	0x3d, 0x3a, 0xdf, 0x84, 0x9f, 0xa2, 0xf1, 0xc6, 0xb3, 0xdd, 0x28, 0xfc, 0xb6, 0xfb, 0x18, 0x39,
	0xdb, 0x2f, 0xb6, 0xeb, 0x7c, 0x18, 0x3d, 0xc0, 0x2f, 0x10, 0xb9, 0xe2, 0x4f, 0x9e, 0xeb, 0x7a,
	0x5f, 0x83, 0x68, 0xe7, 0x39, 0xdb, 0x30, 0x18, 0x29, 0x78, 0x86, 0x5e, 0x5e, 0xbb, 0xc1, 0xe7,
	0x55, 0xb0, 0xf6, 0x9d, 0x5d, 0xe8, 0x78, 0xdb, 0x8b, 0xa3, 0xae, 0xb4, 0xef, 0xff, 0x7d, 0xec,
	0xbe, 0x23, 0x97, 0x7d, 0xfb, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x87, 0x08, 0xed, 0xca, 0x0a, 0x02,
	0x00, 0x00,
}
