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

package chat_unban_request

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "code.justin.tv/eventbus/schema/pkg/eventbus/owner"

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

// ChatUnbanRequestModeratorResolutionAction is the action taken by a moderator to resolve this request.
type ChatUnbanRequestModeratorResolutionAction int32

const (
	// An invalid resolution.
	ChatUnbanRequestModeratorResolutionAction_CHAT_UNBAN_REQUEST_MODERATOR_RESOLUTION_ACTION_INVALID ChatUnbanRequestModeratorResolutionAction = 0
	// The request is approved.
	ChatUnbanRequestModeratorResolutionAction_CHAT_UNBAN_REQUEST_MODERATOR_RESOLUTION_ACTION_APPROVED ChatUnbanRequestModeratorResolutionAction = 1
	// The request is denied.
	ChatUnbanRequestModeratorResolutionAction_CHAT_UNBAN_REQUEST_MODERATOR_RESOLUTION_ACTION_DENIED ChatUnbanRequestModeratorResolutionAction = 2
)

var ChatUnbanRequestModeratorResolutionAction_name = map[int32]string{
	0: "CHAT_UNBAN_REQUEST_MODERATOR_RESOLUTION_ACTION_INVALID",
	1: "CHAT_UNBAN_REQUEST_MODERATOR_RESOLUTION_ACTION_APPROVED",
	2: "CHAT_UNBAN_REQUEST_MODERATOR_RESOLUTION_ACTION_DENIED",
}
var ChatUnbanRequestModeratorResolutionAction_value = map[string]int32{
	"CHAT_UNBAN_REQUEST_MODERATOR_RESOLUTION_ACTION_INVALID":  0,
	"CHAT_UNBAN_REQUEST_MODERATOR_RESOLUTION_ACTION_APPROVED": 1,
	"CHAT_UNBAN_REQUEST_MODERATOR_RESOLUTION_ACTION_DENIED":   2,
}

func (x ChatUnbanRequestModeratorResolutionAction) String() string {
	return proto.EnumName(ChatUnbanRequestModeratorResolutionAction_name, int32(x))
}
func (ChatUnbanRequestModeratorResolutionAction) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_update_e58a5d9222bd5c3e, []int{0}
}

// ChatUnbanRequestUpdate is triggered when a user's ban appeal request is resolved by a moderator in the channel in which they were banned.
type ChatUnbanRequestUpdate struct {
	// The id of the channel in which the user requested an appeal.
	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// The user that made the appeal request.
	RequesterId string `protobuf:"bytes,2,opt,name=requester_id,json=requesterId,proto3" json:"requester_id,omitempty"`
	// Types that are valid to be assigned to Resolution:
	//	*ChatUnbanRequestUpdate_ModeratorResolution
	//	*ChatUnbanRequestUpdate_UserCancelResolution
	Resolution isChatUnbanRequestUpdate_Resolution `protobuf_oneof:"resolution"`
	// The ID of the ban appeal request.
	RequestId            string   `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_ChatUnbanRequestUpdate proto.InternalMessageInfo

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

func (m *ChatUnbanRequestUpdate) GetRequesterId() string {
	if m != nil {
		return m.RequesterId
	}
	return ""
}

type isChatUnbanRequestUpdate_Resolution interface {
	isChatUnbanRequestUpdate_Resolution()
}

type ChatUnbanRequestUpdate_ModeratorResolution struct {
	ModeratorResolution *ChatUnbanRequestModeratorResolution `protobuf:"bytes,3,opt,name=moderator_resolution,json=moderatorResolution,proto3,oneof"`
}

type ChatUnbanRequestUpdate_UserCancelResolution struct {
	UserCancelResolution *ChatUnbanRequestUserCancelResolution `protobuf:"bytes,4,opt,name=user_cancel_resolution,json=userCancelResolution,proto3,oneof"`
}

func (*ChatUnbanRequestUpdate_ModeratorResolution) isChatUnbanRequestUpdate_Resolution() {}

func (*ChatUnbanRequestUpdate_UserCancelResolution) isChatUnbanRequestUpdate_Resolution() {}

func (m *ChatUnbanRequestUpdate) GetResolution() isChatUnbanRequestUpdate_Resolution {
	if m != nil {
		return m.Resolution
	}
	return nil
}

func (m *ChatUnbanRequestUpdate) GetModeratorResolution() *ChatUnbanRequestModeratorResolution {
	if x, ok := m.GetResolution().(*ChatUnbanRequestUpdate_ModeratorResolution); ok {
		return x.ModeratorResolution
	}
	return nil
}

func (m *ChatUnbanRequestUpdate) GetUserCancelResolution() *ChatUnbanRequestUserCancelResolution {
	if x, ok := m.GetResolution().(*ChatUnbanRequestUpdate_UserCancelResolution); ok {
		return x.UserCancelResolution
	}
	return nil
}

func (m *ChatUnbanRequestUpdate) GetRequestId() string {
	if m != nil {
		return m.RequestId
	}
	return ""
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*ChatUnbanRequestUpdate) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _ChatUnbanRequestUpdate_OneofMarshaler, _ChatUnbanRequestUpdate_OneofUnmarshaler, _ChatUnbanRequestUpdate_OneofSizer, []interface{}{
		(*ChatUnbanRequestUpdate_ModeratorResolution)(nil),
		(*ChatUnbanRequestUpdate_UserCancelResolution)(nil),
	}
}

func _ChatUnbanRequestUpdate_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*ChatUnbanRequestUpdate)
	// resolution
	switch x := m.Resolution.(type) {
	case *ChatUnbanRequestUpdate_ModeratorResolution:
		b.EncodeVarint(3<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.ModeratorResolution); err != nil {
			return err
		}
	case *ChatUnbanRequestUpdate_UserCancelResolution:
		b.EncodeVarint(4<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.UserCancelResolution); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("ChatUnbanRequestUpdate.Resolution has unexpected type %T", x)
	}
	return nil
}

func _ChatUnbanRequestUpdate_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*ChatUnbanRequestUpdate)
	switch tag {
	case 3: // resolution.moderator_resolution
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ChatUnbanRequestModeratorResolution)
		err := b.DecodeMessage(msg)
		m.Resolution = &ChatUnbanRequestUpdate_ModeratorResolution{msg}
		return true, err
	case 4: // resolution.user_cancel_resolution
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ChatUnbanRequestUserCancelResolution)
		err := b.DecodeMessage(msg)
		m.Resolution = &ChatUnbanRequestUpdate_UserCancelResolution{msg}
		return true, err
	default:
		return false, nil
	}
}

func _ChatUnbanRequestUpdate_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*ChatUnbanRequestUpdate)
	// resolution
	switch x := m.Resolution.(type) {
	case *ChatUnbanRequestUpdate_ModeratorResolution:
		s := proto.Size(x.ModeratorResolution)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ChatUnbanRequestUpdate_UserCancelResolution:
		s := proto.Size(x.UserCancelResolution)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

// ChatUnbanRequestUserCancelResolution is when a user cancels their unban request.
type ChatUnbanRequestUserCancelResolution struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_ChatUnbanRequestUserCancelResolution proto.InternalMessageInfo

// ChatUnbanRequestModeratorResolution is when a moderator approves or denies an unban request.
type ChatUnbanRequestModeratorResolution struct {
	// The moderator (or channel owner) that resolves a ban appeal request.
	ResolverId string `protobuf:"bytes,1,opt,name=resolver_id,json=resolverId,proto3" json:"resolver_id,omitempty"`
	// The message included by the resolver explaining their approval/denial.
	ResolverMessage string `protobuf:"bytes,2,opt,name=resolver_message,json=resolverMessage,proto3" json:"resolver_message,omitempty"`
	// The action taken to resolve the request.
	Action               ChatUnbanRequestModeratorResolutionAction `protobuf:"varint,3,opt,name=action,proto3,enum=chat_unban_request.ChatUnbanRequestModeratorResolutionAction" json:"action,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                  `json:"-"`
	XXX_unrecognized     []byte                                    `json:"-"`
	XXX_sizecache        int32                                     `json:"-"`
}

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

var xxx_messageInfo_ChatUnbanRequestModeratorResolution proto.InternalMessageInfo

func (m *ChatUnbanRequestModeratorResolution) GetResolverId() string {
	if m != nil {
		return m.ResolverId
	}
	return ""
}

func (m *ChatUnbanRequestModeratorResolution) GetResolverMessage() string {
	if m != nil {
		return m.ResolverMessage
	}
	return ""
}

func (m *ChatUnbanRequestModeratorResolution) GetAction() ChatUnbanRequestModeratorResolutionAction {
	if m != nil {
		return m.Action
	}
	return ChatUnbanRequestModeratorResolutionAction_CHAT_UNBAN_REQUEST_MODERATOR_RESOLUTION_ACTION_INVALID
}

func init() {
	proto.RegisterType((*ChatUnbanRequestUpdate)(nil), "chat_unban_request.ChatUnbanRequestUpdate")
	proto.RegisterType((*ChatUnbanRequestUserCancelResolution)(nil), "chat_unban_request.ChatUnbanRequestUserCancelResolution")
	proto.RegisterType((*ChatUnbanRequestModeratorResolution)(nil), "chat_unban_request.ChatUnbanRequestModeratorResolution")
	proto.RegisterEnum("chat_unban_request.ChatUnbanRequestModeratorResolutionAction", ChatUnbanRequestModeratorResolutionAction_name, ChatUnbanRequestModeratorResolutionAction_value)
}

func init() {
	proto.RegisterFile("chat_unban_request/update.proto", fileDescriptor_update_e58a5d9222bd5c3e)
}

var fileDescriptor_update_e58a5d9222bd5c3e = []byte{
	// 432 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0xdd, 0x6a, 0xd4, 0x40,
	0x14, 0x6e, 0x56, 0x5d, 0xe9, 0xd9, 0x62, 0xc3, 0x18, 0xea, 0x22, 0x48, 0xeb, 0x2a, 0xd2, 0x0a,
	0x6e, 0xa1, 0xa2, 0xd5, 0x8a, 0x17, 0xd9, 0x24, 0xd0, 0x81, 0x6e, 0x52, 0xa7, 0x49, 0x2f, 0xbc,
	0x19, 0x66, 0x93, 0xd1, 0x16, 0x36, 0xc9, 0x3a, 0x33, 0xa9, 0xf8, 0x2a, 0xbe, 0x87, 0xef, 0xe0,
	0x5b, 0xf8, 0x0e, 0x3e, 0x81, 0x64, 0xf2, 0x43, 0x75, 0x7b, 0x91, 0xf5, 0x2a, 0xe4, 0x9b, 0xef,
	0xe7, 0x70, 0x3e, 0x0e, 0x6c, 0xc7, 0x17, 0x4c, 0xd1, 0x22, 0x9b, 0xb1, 0x8c, 0x0a, 0xfe, 0xa5,
	0xe0, 0x52, 0xed, 0x17, 0x8b, 0x84, 0x29, 0x3e, 0x5e, 0x88, 0x5c, 0xe5, 0x08, 0x2d, 0x13, 0x1e,
	0x5a, 0xfc, 0x8a, 0x67, 0x6a, 0x56, 0xc8, 0xfd, 0xfc, 0x6b, 0xc6, 0x45, 0xc5, 0x1c, 0xfd, 0xee,
	0xc1, 0x96, 0x73, 0xc1, 0x54, 0x54, 0x72, 0x49, 0x45, 0x8d, 0xb4, 0x15, 0x7a, 0x00, 0x77, 0x0b,
	0xc9, 0x05, 0xbd, 0x4c, 0x86, 0xc6, 0x8e, 0xb1, 0xbb, 0x4e, 0xfa, 0xe5, 0x2f, 0x4e, 0xd0, 0x63,
	0xd8, 0xa8, 0x4d, 0xab, 0xd7, 0x9e, 0x7e, 0x1d, 0xb4, 0x18, 0x4e, 0xd0, 0x1c, 0xac, 0x34, 0x4f,
	0xb8, 0x60, 0x2a, 0x17, 0x54, 0x70, 0x99, 0xcf, 0x0b, 0x75, 0x99, 0x67, 0xc3, 0x5b, 0x3b, 0xc6,
	0xee, 0xe0, 0xe0, 0x70, 0xbc, 0x3c, 0xdf, 0xf8, 0xdf, 0x29, 0xa6, 0x8d, 0x9e, 0xb4, 0xf2, 0xe3,
	0x35, 0x72, 0x3f, 0x5d, 0x86, 0xd1, 0x02, 0xb6, 0xf4, 0xa4, 0x31, 0xcb, 0x62, 0x3e, 0xbf, 0x9e,
	0x77, 0x5b, 0xe7, 0xbd, 0xe9, 0x92, 0x17, 0x49, 0x2e, 0x1c, 0x6d, 0xf0, 0x57, 0xa0, 0x55, 0xdc,
	0x80, 0xa3, 0x47, 0x00, 0xb5, 0x4f, 0xb9, 0x80, 0x3b, 0x7a, 0x01, 0xeb, 0x35, 0x82, 0x93, 0xa3,
	0xcd, 0xef, 0x3f, 0x86, 0x03, 0xc5, 0x59, 0xfa, 0x42, 0xb2, 0x4f, 0x5c, 0x7d, 0x9b, 0x6c, 0x94,
	0xfc, 0x46, 0x3d, 0x7a, 0x06, 0x4f, 0xbb, 0xa4, 0x8f, 0x7e, 0x1a, 0xf0, 0xa4, 0xc3, 0x5a, 0xd0,
	0x36, 0x0c, 0xb4, 0xfb, 0xd5, 0xf5, 0xb6, 0xa0, 0x81, 0x70, 0x82, 0xf6, 0xc0, 0x6c, 0x09, 0x29,
	0x97, 0x92, 0x7d, 0xe6, 0x75, 0x6b, 0x9b, 0x0d, 0x3e, 0xad, 0x60, 0x14, 0x41, 0x9f, 0xc5, 0x6d,
	0x57, 0xf7, 0x0e, 0xde, 0xff, 0x67, 0x57, 0xb6, 0x36, 0x21, 0xb5, 0xd9, 0xf3, 0x5f, 0x06, 0xec,
	0x75, 0x56, 0xa1, 0x23, 0x78, 0xed, 0x1c, 0xdb, 0x21, 0x8d, 0xfc, 0x89, 0xed, 0x53, 0xe2, 0x7d,
	0x88, 0xbc, 0xb3, 0x90, 0x4e, 0x03, 0xd7, 0x23, 0x76, 0x18, 0x10, 0x4a, 0xbc, 0xb3, 0xe0, 0x24,
	0x0a, 0x71, 0xe0, 0x53, 0xdb, 0xd1, 0x1f, 0xec, 0x9f, 0xdb, 0x27, 0xd8, 0x35, 0xd7, 0xd0, 0x3b,
	0x38, 0x5c, 0x51, 0x6b, 0x9f, 0x9e, 0x92, 0xe0, 0xdc, 0x73, 0x4d, 0x03, 0xbd, 0x85, 0x57, 0x2b,
	0x8a, 0x5d, 0xcf, 0xc7, 0x9e, 0x6b, 0xf6, 0x26, 0xd6, 0xc7, 0x1b, 0xae, 0x6e, 0xd6, 0xd7, 0x67,
	0xf6, 0xf2, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcd, 0xb9, 0xd1, 0xbb, 0xb3, 0x03, 0x00, 0x00,
}
