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

package content_tags

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

// ContentType represents the different types of content.
type ContentType int32

const (
	// Present because proto3 specifies enums must start with value 0
	ContentType_CONTENT_TYPE_INVALID      ContentType = 0
	ContentType_CONTENT_TYPE_LIVE_CHANNEL ContentType = 1
	ContentType_CONTENT_TYPE_VOD          ContentType = 2
	ContentType_CONTENT_TYPE_CLIP         ContentType = 3
	ContentType_CONTENT_TYPE_CATEGORY     ContentType = 4
)

var ContentType_name = map[int32]string{
	0: "CONTENT_TYPE_INVALID",
	1: "CONTENT_TYPE_LIVE_CHANNEL",
	2: "CONTENT_TYPE_VOD",
	3: "CONTENT_TYPE_CLIP",
	4: "CONTENT_TYPE_CATEGORY",
}
var ContentType_value = map[string]int32{
	"CONTENT_TYPE_INVALID":      0,
	"CONTENT_TYPE_LIVE_CHANNEL": 1,
	"CONTENT_TYPE_VOD":          2,
	"CONTENT_TYPE_CLIP":         3,
	"CONTENT_TYPE_CATEGORY":     4,
}

func (x ContentType) String() string {
	return proto.EnumName(ContentType_name, int32(x))
}
func (ContentType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_update_f1963f927e9df069, []int{0}
}

// ContentTagsUpdate triggers when the tags applied to a specific piece of content are changed.
type ContentTagsUpdate struct {
	// ID of modified content, e.g. user ID for content type LIVE_CHANNEL
	ContentId string `protobuf:"bytes,1,opt,name=content_id,json=contentId,proto3" json:"content_id,omitempty"`
	// ContentType of modified content
	ContentType ContentType `protobuf:"varint,2,opt,name=content_type,json=contentType,proto3,enum=content_tags.ContentType" json:"content_type,omitempty"`
	// The tags that are currently applied to the content. Could be empty if all were removed.
	Tags                 []*Tag   `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_ContentTagsUpdate proto.InternalMessageInfo

func (m *ContentTagsUpdate) GetContentId() string {
	if m != nil {
		return m.ContentId
	}
	return ""
}

func (m *ContentTagsUpdate) GetContentType() ContentType {
	if m != nil {
		return m.ContentType
	}
	return ContentType_CONTENT_TYPE_INVALID
}

func (m *ContentTagsUpdate) GetTags() []*Tag {
	if m != nil {
		return m.Tags
	}
	return nil
}

// The Tag that is still applied to the specific content.
type Tag struct {
	Id   string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Map of locale -> localized name of tag for the content tag
	Localizations        map[string]string `protobuf:"bytes,3,rep,name=localizations,proto3" json:"localizations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

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

var xxx_messageInfo_Tag proto.InternalMessageInfo

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

func (m *Tag) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Tag) GetLocalizations() map[string]string {
	if m != nil {
		return m.Localizations
	}
	return nil
}

func init() {
	proto.RegisterType((*ContentTagsUpdate)(nil), "content_tags.ContentTagsUpdate")
	proto.RegisterType((*Tag)(nil), "content_tags.Tag")
	proto.RegisterMapType((map[string]string)(nil), "content_tags.Tag.LocalizationsEntry")
	proto.RegisterEnum("content_tags.ContentType", ContentType_name, ContentType_value)
}

func init() { proto.RegisterFile("content_tags/update.proto", fileDescriptor_update_f1963f927e9df069) }

var fileDescriptor_update_f1963f927e9df069 = []byte{
	// 338 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x92, 0xc1, 0x6a, 0xea, 0x40,
	0x14, 0x86, 0xef, 0x24, 0xde, 0x0b, 0x1e, 0xef, 0x95, 0xf1, 0xa0, 0x90, 0x5c, 0x10, 0x44, 0x5a,
	0x90, 0x2e, 0x52, 0xb0, 0x9b, 0x52, 0xba, 0xa8, 0x8d, 0xa1, 0x4d, 0x09, 0x51, 0xc2, 0x54, 0xb0,
	0x9b, 0x30, 0x35, 0x21, 0x84, 0xda, 0x24, 0xe8, 0x58, 0x48, 0x1f, 0xa2, 0xdb, 0x3e, 0x4a, 0x5f,
	0xaf, 0x18, 0x4d, 0xcd, 0xe0, 0xee, 0x9c, 0xff, 0xff, 0xcf, 0x37, 0x67, 0x98, 0x01, 0x7d, 0x91,
	0x26, 0x22, 0x4c, 0x84, 0x2f, 0x78, 0xb4, 0x3e, 0xdf, 0x64, 0x01, 0x17, 0xa1, 0x91, 0xad, 0x52,
	0x91, 0xe2, 0xdf, 0xaa, 0xd5, 0xff, 0x24, 0xd0, 0x32, 0x77, 0x02, 0xe3, 0xd1, 0xfa, 0xb1, 0x48,
	0x62, 0x17, 0xa0, 0x4c, 0xc5, 0x81, 0x46, 0x7a, 0x64, 0x50, 0xf7, 0xea, 0x7b, 0xc5, 0x0e, 0xf0,
	0x1a, 0x0e, 0x90, 0x3c, 0x0b, 0x35, 0xa5, 0x47, 0x06, 0xcd, 0xa1, 0x6e, 0x54, 0xc9, 0x46, 0x49,
	0xcd, 0xb3, 0xd0, 0x6b, 0x2c, 0x0e, 0x0d, 0x9e, 0x42, 0x6d, 0x1b, 0xd0, 0xd4, 0x9e, 0x3a, 0x68,
	0x0c, 0x5b, 0xf2, 0x14, 0xe3, 0x91, 0x57, 0xd8, 0xfd, 0x2f, 0x02, 0x2a, 0xe3, 0x11, 0x36, 0x41,
	0xf9, 0xd9, 0x41, 0x89, 0x03, 0x44, 0xa8, 0x25, 0xfc, 0x75, 0x77, 0x68, 0xdd, 0x2b, 0x6a, 0x7c,
	0x80, 0x7f, 0xcb, 0x74, 0xc1, 0x97, 0xf1, 0x3b, 0x17, 0x71, 0x9a, 0x94, 0xec, 0x93, 0x23, 0xb6,
	0xe1, 0x54, 0x63, 0x56, 0x22, 0x56, 0xb9, 0x27, 0x8f, 0xfe, 0xbf, 0x01, 0x3c, 0x0e, 0x21, 0x05,
	0xf5, 0x25, 0xcc, 0xf7, 0x6b, 0x6c, 0x4b, 0x6c, 0xc3, 0xef, 0x37, 0xbe, 0xdc, 0x94, 0x8b, 0xec,
	0x9a, 0x2b, 0xe5, 0x92, 0x9c, 0x7d, 0x10, 0x68, 0x54, 0x6e, 0x8f, 0x1a, 0xb4, 0xcd, 0x89, 0xcb,
	0x2c, 0x97, 0xf9, 0x6c, 0x3e, 0xb5, 0x7c, 0xdb, 0x9d, 0x8d, 0x1c, 0x7b, 0x4c, 0x7f, 0x61, 0x17,
	0x74, 0xc9, 0x71, 0xec, 0x99, 0xe5, 0x9b, 0xf7, 0x23, 0xd7, 0xb5, 0x1c, 0x4a, 0xb0, 0x0d, 0x54,
	0xb2, 0x67, 0x93, 0x31, 0x55, 0xb0, 0x03, 0x2d, 0x49, 0x35, 0x1d, 0x7b, 0x4a, 0x55, 0xd4, 0xa1,
	0x23, 0xcb, 0x23, 0x66, 0xdd, 0x4d, 0xbc, 0x39, 0xad, 0xdd, 0x36, 0x9f, 0xa4, 0x47, 0x7f, 0xfe,
	0x53, 0xfc, 0x84, 0x8b, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x86, 0xda, 0x3a, 0x16, 0x26, 0x02,
	0x00, 0x00,
}
