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

package automod_terms_moderation_action

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

// AutomodTermsModerationAction represents the possible combinations of adding to/removing from blocked/permitted terms lists.
type AutomodTermsModerationAction int32

const (
	// An invalid action.
	AutomodTermsModerationAction_AUTOMOD_TERMS_MODERATION_ACTION_INVALID AutomodTermsModerationAction = 0
	// A new term is added to the Automod blocked terms list.
	AutomodTermsModerationAction_AUTOMOD_TERMS_MODERATION_ACTION_ADD_BLOCKED_TERM AutomodTermsModerationAction = 1
	// A term is removed from the Automod blocked terms list.
	AutomodTermsModerationAction_AUTOMOD_TERMS_MODERATION_ACTION_REMOVE_BLOCKED_TERM AutomodTermsModerationAction = 2
	// A new term is added to the Automod permitted terms list.
	AutomodTermsModerationAction_AUTOMOD_TERMS_MODERATION_ACTION_ADD_PERMITTED_TERM AutomodTermsModerationAction = 3
	// A term is removed from the Automod permitted terms list.
	AutomodTermsModerationAction_AUTOMOD_TERMS_MODERATION_ACTION_REMOVE_PERMITTED_TERM AutomodTermsModerationAction = 4
)

var AutomodTermsModerationAction_name = map[int32]string{
	0: "AUTOMOD_TERMS_MODERATION_ACTION_INVALID",
	1: "AUTOMOD_TERMS_MODERATION_ACTION_ADD_BLOCKED_TERM",
	2: "AUTOMOD_TERMS_MODERATION_ACTION_REMOVE_BLOCKED_TERM",
	3: "AUTOMOD_TERMS_MODERATION_ACTION_ADD_PERMITTED_TERM",
	4: "AUTOMOD_TERMS_MODERATION_ACTION_REMOVE_PERMITTED_TERM",
}
var AutomodTermsModerationAction_value = map[string]int32{
	"AUTOMOD_TERMS_MODERATION_ACTION_INVALID":               0,
	"AUTOMOD_TERMS_MODERATION_ACTION_ADD_BLOCKED_TERM":      1,
	"AUTOMOD_TERMS_MODERATION_ACTION_REMOVE_BLOCKED_TERM":   2,
	"AUTOMOD_TERMS_MODERATION_ACTION_ADD_PERMITTED_TERM":    3,
	"AUTOMOD_TERMS_MODERATION_ACTION_REMOVE_PERMITTED_TERM": 4,
}

func (x AutomodTermsModerationAction) String() string {
	return proto.EnumName(AutomodTermsModerationAction_name, int32(x))
}
func (AutomodTermsModerationAction) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_create_f02e7beccf4c9b06, []int{0}
}

// AutomodTermsModerationActionCreate is triggered when terms have been added to or removed from an automod list, either blocked or permitted.
type AutomodTermsModerationActionCreate struct {
	// The id of the channel in which automod terms are being defined or deleted.
	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// The moderator making changes to channel automod terms.
	ModeratorId string `protobuf:"bytes,2,opt,name=moderator_id,json=moderatorId,proto3" json:"moderator_id,omitempty"`
	// Exactly which action was taken regarding the list and removing vs adding.
	Action AutomodTermsModerationAction `protobuf:"varint,3,opt,name=action,proto3,enum=automod_terms_moderation_action.AutomodTermsModerationAction" json:"action,omitempty"`
	// The terms being added or removed.
	Terms []*Term `protobuf:"bytes,4,rep,name=terms,proto3" json:"terms,omitempty"`
	// Whether this term was added due to an Automod message approve/deny action.
	FromAutomod bool `protobuf:"varint,5,opt,name=from_automod,json=fromAutomod,proto3" json:"from_automod,omitempty"`
	// The time at which a term was added or removed.
	ModifiedAt           *timestamp.Timestamp `protobuf:"bytes,6,opt,name=modified_at,json=modifiedAt,proto3" json:"modified_at,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

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

var xxx_messageInfo_AutomodTermsModerationActionCreate proto.InternalMessageInfo

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

func (m *AutomodTermsModerationActionCreate) GetModeratorId() string {
	if m != nil {
		return m.ModeratorId
	}
	return ""
}

func (m *AutomodTermsModerationActionCreate) GetAction() AutomodTermsModerationAction {
	if m != nil {
		return m.Action
	}
	return AutomodTermsModerationAction_AUTOMOD_TERMS_MODERATION_ACTION_INVALID
}

func (m *AutomodTermsModerationActionCreate) GetTerms() []*Term {
	if m != nil {
		return m.Terms
	}
	return nil
}

func (m *AutomodTermsModerationActionCreate) GetFromAutomod() bool {
	if m != nil {
		return m.FromAutomod
	}
	return false
}

func (m *AutomodTermsModerationActionCreate) GetModifiedAt() *timestamp.Timestamp {
	if m != nil {
		return m.ModifiedAt
	}
	return nil
}

// Term is an authorized string representing a term being added/removed from a list, these are an authorized field as they may include customer data (this is a workaround as authorized fields do not support repeated types).
type Term struct {
	TermString           *authorization.String `protobuf:"bytes,1,opt,name=term_string,json=termString,proto3" json:"term_string,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

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

var xxx_messageInfo_Term proto.InternalMessageInfo

func (m *Term) GetTermString() *authorization.String {
	if m != nil {
		return m.TermString
	}
	return nil
}

func init() {
	proto.RegisterType((*AutomodTermsModerationActionCreate)(nil), "automod_terms_moderation_action.AutomodTermsModerationActionCreate")
	proto.RegisterType((*Term)(nil), "automod_terms_moderation_action.Term")
	proto.RegisterEnum("automod_terms_moderation_action.AutomodTermsModerationAction", AutomodTermsModerationAction_name, AutomodTermsModerationAction_value)
}

func init() {
	proto.RegisterFile("automod_terms_moderation_action/create.proto", fileDescriptor_create_f02e7beccf4c9b06)
}

var fileDescriptor_create_f02e7beccf4c9b06 = []byte{
	// 444 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0xcf, 0x6e, 0xd3, 0x30,
	0x18, 0x27, 0x6d, 0x57, 0xe0, 0x0b, 0x9a, 0x26, 0x5f, 0x88, 0xaa, 0x89, 0x65, 0x95, 0x10, 0x11,
	0xa0, 0x14, 0x65, 0xfc, 0x11, 0x9a, 0x38, 0xb8, 0x4d, 0x0e, 0x11, 0xcb, 0x82, 0xbc, 0x6c, 0x48,
	0x5c, 0xac, 0xb4, 0x71, 0x4b, 0x24, 0x52, 0x4f, 0x8e, 0xc3, 0x81, 0xc7, 0xe0, 0x3d, 0x38, 0xf2,
	0x26, 0x3c, 0x10, 0xb2, 0x9d, 0x4c, 0xda, 0x0e, 0x4b, 0x4f, 0x91, 0xfd, 0xfd, 0xfe, 0xf9, 0xf7,
	0x29, 0xf0, 0x3a, 0x6f, 0x24, 0xaf, 0x78, 0x41, 0x25, 0x13, 0x55, 0x4d, 0x2b, 0x5e, 0x30, 0x91,
	0xcb, 0x92, 0x6f, 0x69, 0xbe, 0x52, 0x9f, 0xd9, 0x4a, 0xb0, 0x5c, 0x32, 0xff, 0x5a, 0x70, 0xc9,
	0xd1, 0x51, 0x0f, 0x7a, 0x72, 0xc8, 0x7e, 0xb2, 0xad, 0x5c, 0x36, 0xf5, 0x2c, 0x6f, 0xe4, 0x77,
	0x2e, 0xca, 0x5f, 0x7a, 0x6c, 0xe8, 0x93, 0xa3, 0x0d, 0xe7, 0x9b, 0x1f, 0x6c, 0xa6, 0x4f, 0xcb,
	0x66, 0x3d, 0x93, 0x65, 0xc5, 0x6a, 0x99, 0x57, 0xd7, 0x06, 0x30, 0xfd, 0x37, 0x80, 0x29, 0x36,
	0x16, 0x99, 0x72, 0x48, 0x6e, 0x0c, 0xb0, 0xd6, 0x5f, 0xe8, 0x30, 0xe8, 0x29, 0x3c, 0x6c, 0x6a,
	0x26, 0x68, 0x59, 0x38, 0x96, 0x6b, 0x79, 0x8f, 0xc9, 0x58, 0x1d, 0xe3, 0x02, 0x1d, 0xc3, 0x93,
	0x36, 0x13, 0xd7, 0xd3, 0x81, 0x9e, 0xda, 0x37, 0x77, 0x71, 0x81, 0x2e, 0x61, 0x6c, 0xb2, 0x3a,
	0x43, 0xd7, 0xf2, 0xf6, 0x83, 0x4f, 0x7e, 0xcf, 0x9b, 0xfc, 0xfb, 0x02, 0x91, 0x56, 0x0c, 0x9d,
	0xc2, 0x9e, 0xe6, 0x3b, 0x23, 0x77, 0xe8, 0xd9, 0xc1, 0xf3, 0x5e, 0x55, 0x25, 0x47, 0x0c, 0x47,
	0xc5, 0x5e, 0x0b, 0x5e, 0xd1, 0x96, 0xe3, 0xec, 0xb9, 0x96, 0xf7, 0x88, 0xd8, 0xea, 0xae, 0x35,
	0x47, 0xa7, 0xa0, 0x5e, 0x51, 0xae, 0x4b, 0x56, 0xd0, 0x5c, 0x3a, 0x63, 0xd7, 0xf2, 0xec, 0x60,
	0xe2, 0x9b, 0x42, 0xfd, 0xae, 0x50, 0x3f, 0xeb, 0x0a, 0x25, 0xd0, 0xc1, 0xb1, 0x9c, 0x7e, 0x85,
	0x91, 0xb2, 0x43, 0x29, 0xd8, 0xca, 0x90, 0xd6, 0x52, 0x94, 0xdb, 0x8d, 0xee, 0xce, 0x0e, 0x9e,
	0xf9, 0xdd, 0xce, 0xfc, 0xdb, 0x3b, 0xbb, 0xd0, 0xa8, 0xf9, 0xfe, 0xef, 0xbf, 0x0e, 0x08, 0xa6,
	0x38, 0x2b, 0xc9, 0x0a, 0x02, 0x4a, 0xc2, 0xcc, 0x5e, 0xfe, 0x19, 0xc0, 0xe1, 0x7d, 0xf5, 0xa0,
	0x57, 0xf0, 0x02, 0x5f, 0x66, 0x69, 0x92, 0x86, 0x34, 0x8b, 0x48, 0x72, 0x41, 0x93, 0x34, 0x8c,
	0x08, 0xce, 0xe2, 0xf4, 0x9c, 0xe2, 0x85, 0xfe, 0xc4, 0xe7, 0x57, 0xf8, 0x2c, 0x0e, 0x0f, 0x1e,
	0xa0, 0xb7, 0xf0, 0xa6, 0x0f, 0x8c, 0xc3, 0x90, 0xce, 0xcf, 0xd2, 0xc5, 0xe7, 0xc8, 0x60, 0x0e,
	0x2c, 0xf4, 0x01, 0x4e, 0xfa, 0x58, 0x24, 0x4a, 0xd2, 0xab, 0xe8, 0x36, 0x71, 0x80, 0xde, 0x43,
	0xb0, 0x8b, 0xdd, 0x97, 0x88, 0x24, 0x71, 0x96, 0x75, 0xbc, 0x21, 0xfa, 0x08, 0xef, 0x76, 0x34,
	0xbc, 0x43, 0x1d, 0xcd, 0x8f, 0xbf, 0xf5, 0xfd, 0x41, 0xcb, 0xb1, 0xde, 0xe5, 0xc9, 0xff, 0x00,
	0x00, 0x00, 0xff, 0xff, 0x94, 0xdc, 0x9c, 0x6d, 0x99, 0x03, 0x00, 0x00,
}
