func (*Session) Descriptor() ([]byte, []int) {
	return file_session_proto_rawDescGZIP(), []int{3}
}
Deprecated: Use Session.ProtoReflect.Descriptor instead.
package session
import (
	capabilities "github.com/bobvawter/cacheroach/api/capabilities"
	principal "github.com/bobvawter/cacheroach/api/principal"
	tenant "github.com/bobvawter/cacheroach/api/tenant"
	proto "github.com/golang/protobuf/proto"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	_ "google.golang.org/protobuf/types/descriptorpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
)
const (
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
const _ = proto.ProtoPackageIsVersion4
type ID struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Data []byte `protobuf:"bytes,1,opt,name=data,json=d,proto3" json:"data,omitempty"`
}
func (x *ID) Reset() {
	*x = ID{}
	if protoimpl.UnsafeEnabled {
		mi := &file_session_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *ID) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*ID) ProtoMessage() {}
func (x *ID) ProtoReflect() protoreflect.Message {
	mi := &file_session_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*ID) Descriptor() ([]byte, []int) {
	return file_session_proto_rawDescGZIP(), []int{0}
}
func (x *ID) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}
type Location struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	TenantId *tenant.ID `protobuf:"bytes,1,opt,name=tenant_id,json=t,proto3" json:"tenant_id,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path,json=p,proto3" json:"path,omitempty"`
	Version int64 `protobuf:"varint,3,opt,name=version,json=v,proto3" json:"version,omitempty"`
}
func (x *Location) Reset() {
	*x = Location{}
	if protoimpl.UnsafeEnabled {
		mi := &file_session_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Location) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Location) ProtoMessage() {}
func (x *Location) ProtoReflect() protoreflect.Message {
	mi := &file_session_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*Location) Descriptor() ([]byte, []int) {
	return file_session_proto_rawDescGZIP(), []int{1}
}
func (x *Location) GetTenantId() *tenant.ID {
	if x != nil {
		return x.TenantId
	}
	return nil
}
func (x *Location) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}
func (x *Location) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}
type Scope struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Kind isScope_Kind `protobuf_oneof:"Kind"`
}
func (x *Scope) Reset() {
	*x = Scope{}
	if protoimpl.UnsafeEnabled {
		mi := &file_session_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Scope) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Scope) ProtoMessage() {}
func (x *Scope) ProtoReflect() protoreflect.Message {
	mi := &file_session_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*Scope) Descriptor() ([]byte, []int) {
	return file_session_proto_rawDescGZIP(), []int{2}
}
func (m *Scope) GetKind() isScope_Kind {
	if m != nil {
		return m.Kind
	}
	return nil
}
func (x *Scope) GetSuperToken() bool {
	if x, ok := x.GetKind().(*Scope_SuperToken); ok {
		return x.SuperToken
	}
	return false
}
func (x *Scope) GetOnPrincipal() *principal.ID {
	if x, ok := x.GetKind().(*Scope_OnPrincipal); ok {
		return x.OnPrincipal
	}
	return nil
}
func (x *Scope) GetOnLocation() *Location {
	if x, ok := x.GetKind().(*Scope_OnLocation); ok {
		return x.OnLocation
	}
	return nil
}
type isScope_Kind interface {
	isScope_Kind()
}
type Scope_SuperToken struct {
	SuperToken bool `protobuf:"varint,1,opt,name=super_token,json=s,proto3,oneof"`
}
type Scope_OnPrincipal struct {
	OnPrincipal *principal.ID `protobuf:"bytes,2,opt,name=on_principal,json=p,proto3,oneof"`
}
type Scope_OnLocation struct {
	OnLocation *Location `protobuf:"bytes,3,opt,name=on_location,json=l,proto3,oneof"`
}
func (*Scope_SuperToken) isScope_Kind() {}
func (*Scope_OnPrincipal) isScope_Kind() {}
func (*Scope_OnLocation) isScope_Kind() {}
type Session struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	ID           *ID                        `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Capabilities *capabilities.Capabilities `protobuf:"bytes,2,opt,name=capabilities,json=c,proto3" json:"capabilities,omitempty"`
	PrincipalId  *principal.ID              `protobuf:"bytes,3,opt,name=principal_id,json=p,proto3" json:"principal_id,omitempty"`
	Scope        *Scope                     `protobuf:"bytes,4,opt,name=scope,json=s,proto3" json:"scope,omitempty"`
	ExpiresAt    *timestamppb.Timestamp     `protobuf:"bytes,5,opt,name=expires_at,json=x,proto3" json:"expires_at,omitempty"`
	Note string `protobuf:"bytes,6,opt,name=note,proto3" json:"note,omitempty"`
	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *Session) Reset() {
	*x = Session{}
	if protoimpl.UnsafeEnabled {
		mi := &file_session_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Session) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Session) ProtoMessage() {}
func (x *Session) ProtoReflect() protoreflect.Message {
	mi := &file_session_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}