You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2862 lines
96 KiB
Go

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.33.0
// protoc v5.29.1
// source: w_library.proto
package w_librarypb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type QaGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` //当前页
PerPage int32 `protobuf:"varint,3,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"` //每页条数
Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` //标题
}
func (x *QaGroupReq) Reset() {
*x = QaGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaGroupReq) ProtoMessage() {}
func (x *QaGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_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)
}
// Deprecated: Use QaGroupReq.ProtoReflect.Descriptor instead.
func (*QaGroupReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{0}
}
func (x *QaGroupReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
func (x *QaGroupReq) GetPage() int32 {
if x != nil {
return x.Page
}
return 0
}
func (x *QaGroupReq) GetPerPage() int32 {
if x != nil {
return x.PerPage
}
return 0
}
func (x *QaGroupReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
type QaGroupRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*QaGroupRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据
Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` //列表总数
}
func (x *QaGroupRes) Reset() {
*x = QaGroupRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaGroupRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaGroupRes) ProtoMessage() {}
func (x *QaGroupRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_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)
}
// Deprecated: Use QaGroupRes.ProtoReflect.Descriptor instead.
func (*QaGroupRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{1}
}
func (x *QaGroupRes) GetList() []*QaGroupRes_One {
if x != nil {
return x.List
}
return nil
}
func (x *QaGroupRes) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
type StoreQaGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //标题
}
func (x *StoreQaGroupReq) Reset() {
*x = StoreQaGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StoreQaGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StoreQaGroupReq) ProtoMessage() {}
func (x *StoreQaGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_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)
}
// Deprecated: Use StoreQaGroupReq.ProtoReflect.Descriptor instead.
func (*StoreQaGroupReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{2}
}
func (x *StoreQaGroupReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
func (x *StoreQaGroupReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
type StoreQaGroupRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *StoreQaGroupRes) Reset() {
*x = StoreQaGroupRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StoreQaGroupRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StoreQaGroupRes) ProtoMessage() {}
func (x *StoreQaGroupRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_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)
}
// Deprecated: Use StoreQaGroupRes.ProtoReflect.Descriptor instead.
func (*StoreQaGroupRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{3}
}
type UpdateQaGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
HashId string `protobuf:"bytes,2,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //题库对外id
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //标题
}
func (x *UpdateQaGroupReq) Reset() {
*x = UpdateQaGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateQaGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateQaGroupReq) ProtoMessage() {}
func (x *UpdateQaGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[4]
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)
}
// Deprecated: Use UpdateQaGroupReq.ProtoReflect.Descriptor instead.
func (*UpdateQaGroupReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{4}
}
func (x *UpdateQaGroupReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
func (x *UpdateQaGroupReq) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
func (x *UpdateQaGroupReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
type UpdateQaGroupRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateQaGroupRes) Reset() {
*x = UpdateQaGroupRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateQaGroupRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateQaGroupRes) ProtoMessage() {}
func (x *UpdateQaGroupRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[5]
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)
}
// Deprecated: Use UpdateQaGroupRes.ProtoReflect.Descriptor instead.
func (*UpdateQaGroupRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{5}
}
type DestroyQaGroupReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
HashId string `protobuf:"bytes,2,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //题库对外id
}
func (x *DestroyQaGroupReq) Reset() {
*x = DestroyQaGroupReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DestroyQaGroupReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DestroyQaGroupReq) ProtoMessage() {}
func (x *DestroyQaGroupReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[6]
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)
}
// Deprecated: Use DestroyQaGroupReq.ProtoReflect.Descriptor instead.
func (*DestroyQaGroupReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{6}
}
func (x *DestroyQaGroupReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
func (x *DestroyQaGroupReq) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
type DestroyQaGroupRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DestroyQaGroupRes) Reset() {
*x = DestroyQaGroupRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DestroyQaGroupRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DestroyQaGroupRes) ProtoMessage() {}
func (x *DestroyQaGroupRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[7]
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)
}
// Deprecated: Use DestroyQaGroupRes.ProtoReflect.Descriptor instead.
func (*DestroyQaGroupRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{7}
}
type QaListReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupHashId string `protobuf:"bytes,1,opt,name=group_hash_id,json=groupHashId,proto3" json:"group_hash_id,omitempty"` //题库对外id
Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` //当前页
PerPage int32 `protobuf:"varint,3,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"` //每页条数
Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` //题目
Mark string `protobuf:"bytes,5,opt,name=mark,proto3" json:"mark,omitempty"` //问题类型(image_text-图文,video-视频,audio-音频)
}
func (x *QaListReq) Reset() {
*x = QaListReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaListReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaListReq) ProtoMessage() {}
func (x *QaListReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[8]
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)
}
// Deprecated: Use QaListReq.ProtoReflect.Descriptor instead.
func (*QaListReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{8}
}
func (x *QaListReq) GetGroupHashId() string {
if x != nil {
return x.GroupHashId
}
return ""
}
func (x *QaListReq) GetPage() int32 {
if x != nil {
return x.Page
}
return 0
}
func (x *QaListReq) GetPerPage() int32 {
if x != nil {
return x.PerPage
}
return 0
}
func (x *QaListReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *QaListReq) GetMark() string {
if x != nil {
return x.Mark
}
return ""
}
type QaListRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*QaListRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据
Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` //列表总数
}
func (x *QaListRes) Reset() {
*x = QaListRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaListRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaListRes) ProtoMessage() {}
func (x *QaListRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[9]
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)
}
// Deprecated: Use QaListRes.ProtoReflect.Descriptor instead.
func (*QaListRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{9}
}
func (x *QaListRes) GetList() []*QaListRes_One {
if x != nil {
return x.List
}
return nil
}
func (x *QaListRes) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
type StoreQaReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupHashId string `protobuf:"bytes,1,opt,name=group_hash_id,json=groupHashId,proto3" json:"group_hash_id,omitempty"` //题库对外id
Mark string `protobuf:"bytes,2,opt,name=mark,proto3" json:"mark,omitempty"` //问题类型(image_text-图文,video-视频,audio-音频)
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //题目
CoverUrl string `protobuf:"bytes,4,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"` //封面图
LinkUrl string `protobuf:"bytes,5,opt,name=link_url,json=linkUrl,proto3" json:"link_url,omitempty"` //附件地址
ExplainText string `protobuf:"bytes,6,opt,name=explain_text,json=explainText,proto3" json:"explain_text,omitempty"` //答案解析
ExplainImg string `protobuf:"bytes,7,opt,name=explain_img,json=explainImg,proto3" json:"explain_img,omitempty"` //答案解析图
Options []*StoreQaReq_Option `protobuf:"bytes,8,rep,name=options,proto3" json:"options,omitempty"` //选项
AnswerMark string `protobuf:"bytes,9,opt,name=answer_mark,json=answerMark,proto3" json:"answer_mark,omitempty"` //答案类型(image_text-图文,text-文本)
}
func (x *StoreQaReq) Reset() {
*x = StoreQaReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StoreQaReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StoreQaReq) ProtoMessage() {}
func (x *StoreQaReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[10]
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)
}
// Deprecated: Use StoreQaReq.ProtoReflect.Descriptor instead.
func (*StoreQaReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{10}
}
func (x *StoreQaReq) GetGroupHashId() string {
if x != nil {
return x.GroupHashId
}
return ""
}
func (x *StoreQaReq) GetMark() string {
if x != nil {
return x.Mark
}
return ""
}
func (x *StoreQaReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *StoreQaReq) GetCoverUrl() string {
if x != nil {
return x.CoverUrl
}
return ""
}
func (x *StoreQaReq) GetLinkUrl() string {
if x != nil {
return x.LinkUrl
}
return ""
}
func (x *StoreQaReq) GetExplainText() string {
if x != nil {
return x.ExplainText
}
return ""
}
func (x *StoreQaReq) GetExplainImg() string {
if x != nil {
return x.ExplainImg
}
return ""
}
func (x *StoreQaReq) GetOptions() []*StoreQaReq_Option {
if x != nil {
return x.Options
}
return nil
}
func (x *StoreQaReq) GetAnswerMark() string {
if x != nil {
return x.AnswerMark
}
return ""
}
type StoreQaRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *StoreQaRes) Reset() {
*x = StoreQaRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StoreQaRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StoreQaRes) ProtoMessage() {}
func (x *StoreQaRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[11]
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)
}
// Deprecated: Use StoreQaRes.ProtoReflect.Descriptor instead.
func (*StoreQaRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{11}
}
type UpdateQaReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HashId string `protobuf:"bytes,1,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //问题对外id
Mark string `protobuf:"bytes,2,opt,name=mark,proto3" json:"mark,omitempty"` //问题类型(image_text-图文,video-视频,audio-音频)
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //题目
CoverUrl string `protobuf:"bytes,4,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"` //封面图
LinkUrl string `protobuf:"bytes,5,opt,name=link_url,json=linkUrl,proto3" json:"link_url,omitempty"` //附件地址
ExplainText string `protobuf:"bytes,6,opt,name=explain_text,json=explainText,proto3" json:"explain_text,omitempty"` //答案解析
ExplainImg string `protobuf:"bytes,7,opt,name=explain_img,json=explainImg,proto3" json:"explain_img,omitempty"` //答案解析图
Options []*UpdateQaReq_Option `protobuf:"bytes,8,rep,name=options,proto3" json:"options,omitempty"` //选项
AnswerMark string `protobuf:"bytes,9,opt,name=answer_mark,json=answerMark,proto3" json:"answer_mark,omitempty"` //答案类型(image_text-图文,text-文本)
}
func (x *UpdateQaReq) Reset() {
*x = UpdateQaReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateQaReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateQaReq) ProtoMessage() {}
func (x *UpdateQaReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[12]
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)
}
// Deprecated: Use UpdateQaReq.ProtoReflect.Descriptor instead.
func (*UpdateQaReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{12}
}
func (x *UpdateQaReq) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
func (x *UpdateQaReq) GetMark() string {
if x != nil {
return x.Mark
}
return ""
}
func (x *UpdateQaReq) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *UpdateQaReq) GetCoverUrl() string {
if x != nil {
return x.CoverUrl
}
return ""
}
func (x *UpdateQaReq) GetLinkUrl() string {
if x != nil {
return x.LinkUrl
}
return ""
}
func (x *UpdateQaReq) GetExplainText() string {
if x != nil {
return x.ExplainText
}
return ""
}
func (x *UpdateQaReq) GetExplainImg() string {
if x != nil {
return x.ExplainImg
}
return ""
}
func (x *UpdateQaReq) GetOptions() []*UpdateQaReq_Option {
if x != nil {
return x.Options
}
return nil
}
func (x *UpdateQaReq) GetAnswerMark() string {
if x != nil {
return x.AnswerMark
}
return ""
}
type UpdateQaRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateQaRes) Reset() {
*x = UpdateQaRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateQaRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateQaRes) ProtoMessage() {}
func (x *UpdateQaRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[13]
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)
}
// Deprecated: Use UpdateQaRes.ProtoReflect.Descriptor instead.
func (*UpdateQaRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{13}
}
type DestroyQaReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HashId string `protobuf:"bytes,1,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //问题对外id
}
func (x *DestroyQaReq) Reset() {
*x = DestroyQaReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DestroyQaReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DestroyQaReq) ProtoMessage() {}
func (x *DestroyQaReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[14]
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)
}
// Deprecated: Use DestroyQaReq.ProtoReflect.Descriptor instead.
func (*DestroyQaReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{14}
}
func (x *DestroyQaReq) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
type DestroyQaRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DestroyQaRes) Reset() {
*x = DestroyQaRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DestroyQaRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DestroyQaRes) ProtoMessage() {}
func (x *DestroyQaRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[15]
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)
}
// Deprecated: Use DestroyQaRes.ProtoReflect.Descriptor instead.
func (*DestroyQaRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{15}
}
type QaGroupSelectReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id
Mark string `protobuf:"bytes,2,opt,name=mark,proto3" json:"mark,omitempty"` //问题类型(image_text-图文,video-视频,audio-音频)
}
func (x *QaGroupSelectReq) Reset() {
*x = QaGroupSelectReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaGroupSelectReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaGroupSelectReq) ProtoMessage() {}
func (x *QaGroupSelectReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[16]
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)
}
// Deprecated: Use QaGroupSelectReq.ProtoReflect.Descriptor instead.
func (*QaGroupSelectReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{16}
}
func (x *QaGroupSelectReq) GetProjectHashId() string {
if x != nil {
return x.ProjectHashId
}
return ""
}
func (x *QaGroupSelectReq) GetMark() string {
if x != nil {
return x.Mark
}
return ""
}
type QaGroupSelectRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*QaGroupSelectRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据
}
func (x *QaGroupSelectRes) Reset() {
*x = QaGroupSelectRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaGroupSelectRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaGroupSelectRes) ProtoMessage() {}
func (x *QaGroupSelectRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[17]
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)
}
// Deprecated: Use QaGroupSelectRes.ProtoReflect.Descriptor instead.
func (*QaGroupSelectRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{17}
}
func (x *QaGroupSelectRes) GetList() []*QaGroupSelectRes_One {
if x != nil {
return x.List
}
return nil
}
type QaRandReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CampaignId int64 `protobuf:"varint,1,opt,name=campaign_id,json=campaignId,proto3" json:"campaign_id,omitempty"` //活动id
GroupHashId string `protobuf:"bytes,2,opt,name=group_hash_id,json=groupHashId,proto3" json:"group_hash_id,omitempty"` //题库对外id
LangMark string `protobuf:"bytes,3,opt,name=lang_mark,json=langMark,proto3" json:"lang_mark,omitempty"` //用户语言
UserId int64 `protobuf:"varint,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` //获得取题库的用户id
}
func (x *QaRandReq) Reset() {
*x = QaRandReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaRandReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaRandReq) ProtoMessage() {}
func (x *QaRandReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[18]
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)
}
// Deprecated: Use QaRandReq.ProtoReflect.Descriptor instead.
func (*QaRandReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{18}
}
func (x *QaRandReq) GetCampaignId() int64 {
if x != nil {
return x.CampaignId
}
return 0
}
func (x *QaRandReq) GetGroupHashId() string {
if x != nil {
return x.GroupHashId
}
return ""
}
func (x *QaRandReq) GetLangMark() string {
if x != nil {
return x.LangMark
}
return ""
}
func (x *QaRandReq) GetUserId() int64 {
if x != nil {
return x.UserId
}
return 0
}
type QaRandRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
List []*QaRandRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据
}
func (x *QaRandRes) Reset() {
*x = QaRandRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaRandRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaRandRes) ProtoMessage() {}
func (x *QaRandRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[19]
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)
}
// Deprecated: Use QaRandRes.ProtoReflect.Descriptor instead.
func (*QaRandRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{19}
}
func (x *QaRandRes) GetList() []*QaRandRes_One {
if x != nil {
return x.List
}
return nil
}
type QaShowReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
HashId string `protobuf:"bytes,1,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //题目对外id
}
func (x *QaShowReq) Reset() {
*x = QaShowReq{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaShowReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaShowReq) ProtoMessage() {}
func (x *QaShowReq) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[20]
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)
}
// Deprecated: Use QaShowReq.ProtoReflect.Descriptor instead.
func (*QaShowReq) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{20}
}
func (x *QaShowReq) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
type QaShowRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //问题ID
HashId string `protobuf:"bytes,2,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //问题对外id
Mark string `protobuf:"bytes,3,opt,name=mark,proto3" json:"mark,omitempty"` //问题类型(image_text-图文,video-视频,audio-音频)
Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` //题目
CoverUrl string `protobuf:"bytes,5,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"` //封面图
LinkUrl string `protobuf:"bytes,6,opt,name=link_url,json=linkUrl,proto3" json:"link_url,omitempty"` //附件地址
ExplainText string `protobuf:"bytes,7,opt,name=explain_text,json=explainText,proto3" json:"explain_text,omitempty"` //答案解析
ExplainImg string `protobuf:"bytes,8,opt,name=explain_img,json=explainImg,proto3" json:"explain_img,omitempty"` //答案解析图
Options []*QaShowRes_Option `protobuf:"bytes,9,rep,name=options,proto3" json:"options,omitempty"` //选项
CreatedAt int64 `protobuf:"varint,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` //创建时间
AnswerMark string `protobuf:"bytes,11,opt,name=answer_mark,json=answerMark,proto3" json:"answer_mark,omitempty"` //答案类型(image_text-图文,text-文本)
}
func (x *QaShowRes) Reset() {
*x = QaShowRes{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaShowRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaShowRes) ProtoMessage() {}
func (x *QaShowRes) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[21]
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)
}
// Deprecated: Use QaShowRes.ProtoReflect.Descriptor instead.
func (*QaShowRes) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{21}
}
func (x *QaShowRes) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *QaShowRes) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
func (x *QaShowRes) GetMark() string {
if x != nil {
return x.Mark
}
return ""
}
func (x *QaShowRes) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *QaShowRes) GetCoverUrl() string {
if x != nil {
return x.CoverUrl
}
return ""
}
func (x *QaShowRes) GetLinkUrl() string {
if x != nil {
return x.LinkUrl
}
return ""
}
func (x *QaShowRes) GetExplainText() string {
if x != nil {
return x.ExplainText
}
return ""
}
func (x *QaShowRes) GetExplainImg() string {
if x != nil {
return x.ExplainImg
}
return ""
}
func (x *QaShowRes) GetOptions() []*QaShowRes_Option {
if x != nil {
return x.Options
}
return nil
}
func (x *QaShowRes) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
func (x *QaShowRes) GetAnswerMark() string {
if x != nil {
return x.AnswerMark
}
return ""
}
type QaGroupRes_One struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //题库ID
HashId string `protobuf:"bytes,2,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //题库对外id
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //标题
CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` //创建时间
QaCount int64 `protobuf:"varint,5,opt,name=qa_count,json=qaCount,proto3" json:"qa_count,omitempty"` //问题数量
}
func (x *QaGroupRes_One) Reset() {
*x = QaGroupRes_One{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaGroupRes_One) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaGroupRes_One) ProtoMessage() {}
func (x *QaGroupRes_One) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[22]
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)
}
// Deprecated: Use QaGroupRes_One.ProtoReflect.Descriptor instead.
func (*QaGroupRes_One) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{1, 0}
}
func (x *QaGroupRes_One) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *QaGroupRes_One) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
func (x *QaGroupRes_One) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *QaGroupRes_One) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
func (x *QaGroupRes_One) GetQaCount() int64 {
if x != nil {
return x.QaCount
}
return 0
}
type QaListRes_One struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //问题ID
HashId string `protobuf:"bytes,2,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //问题对外id
Mark string `protobuf:"bytes,3,opt,name=mark,proto3" json:"mark,omitempty"` //问题类型(image_text-图文,video-视频,audio-音频)
Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` //题目
CoverUrl string `protobuf:"bytes,5,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"` //封面图
LinkUrl string `protobuf:"bytes,6,opt,name=link_url,json=linkUrl,proto3" json:"link_url,omitempty"` //附件地址
ExplainText string `protobuf:"bytes,7,opt,name=explain_text,json=explainText,proto3" json:"explain_text,omitempty"` //答案解析
ExplainImg string `protobuf:"bytes,8,opt,name=explain_img,json=explainImg,proto3" json:"explain_img,omitempty"` //答案解析图
Options []*QaListRes_Option `protobuf:"bytes,9,rep,name=options,proto3" json:"options,omitempty"` //选项
CreatedAt int64 `protobuf:"varint,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` //创建时间
AnswerMark string `protobuf:"bytes,11,opt,name=answer_mark,json=answerMark,proto3" json:"answer_mark,omitempty"` //答案类型(image_text-图文,text-文本)
}
func (x *QaListRes_One) Reset() {
*x = QaListRes_One{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaListRes_One) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaListRes_One) ProtoMessage() {}
func (x *QaListRes_One) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[23]
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)
}
// Deprecated: Use QaListRes_One.ProtoReflect.Descriptor instead.
func (*QaListRes_One) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{9, 0}
}
func (x *QaListRes_One) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *QaListRes_One) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
func (x *QaListRes_One) GetMark() string {
if x != nil {
return x.Mark
}
return ""
}
func (x *QaListRes_One) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *QaListRes_One) GetCoverUrl() string {
if x != nil {
return x.CoverUrl
}
return ""
}
func (x *QaListRes_One) GetLinkUrl() string {
if x != nil {
return x.LinkUrl
}
return ""
}
func (x *QaListRes_One) GetExplainText() string {
if x != nil {
return x.ExplainText
}
return ""
}
func (x *QaListRes_One) GetExplainImg() string {
if x != nil {
return x.ExplainImg
}
return ""
}
func (x *QaListRes_One) GetOptions() []*QaListRes_Option {
if x != nil {
return x.Options
}
return nil
}
func (x *QaListRes_One) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
func (x *QaListRes_One) GetAnswerMark() string {
if x != nil {
return x.AnswerMark
}
return ""
}
type QaListRes_Option struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //选项id
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //答案内容
ImgUrl string `protobuf:"bytes,3,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //答案图片
IsRight int32 `protobuf:"varint,4,opt,name=is_right,json=isRight,proto3" json:"is_right,omitempty"` //是否正确答案(1-是,0-否)
}
func (x *QaListRes_Option) Reset() {
*x = QaListRes_Option{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaListRes_Option) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaListRes_Option) ProtoMessage() {}
func (x *QaListRes_Option) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[24]
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)
}
// Deprecated: Use QaListRes_Option.ProtoReflect.Descriptor instead.
func (*QaListRes_Option) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{9, 1}
}
func (x *QaListRes_Option) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *QaListRes_Option) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *QaListRes_Option) GetImgUrl() string {
if x != nil {
return x.ImgUrl
}
return ""
}
func (x *QaListRes_Option) GetIsRight() int32 {
if x != nil {
return x.IsRight
}
return 0
}
type StoreQaReq_Option struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` //答案内容
ImgUrl string `protobuf:"bytes,2,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //答案图片
IsRight int32 `protobuf:"varint,3,opt,name=is_right,json=isRight,proto3" json:"is_right,omitempty"` //是否正确答案(1-是,0-否)
}
func (x *StoreQaReq_Option) Reset() {
*x = StoreQaReq_Option{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StoreQaReq_Option) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StoreQaReq_Option) ProtoMessage() {}
func (x *StoreQaReq_Option) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[25]
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)
}
// Deprecated: Use StoreQaReq_Option.ProtoReflect.Descriptor instead.
func (*StoreQaReq_Option) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{10, 0}
}
func (x *StoreQaReq_Option) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *StoreQaReq_Option) GetImgUrl() string {
if x != nil {
return x.ImgUrl
}
return ""
}
func (x *StoreQaReq_Option) GetIsRight() int32 {
if x != nil {
return x.IsRight
}
return 0
}
type UpdateQaReq_Option struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //选项id
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //答案内容
ImgUrl string `protobuf:"bytes,3,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //答案图片
IsRight int32 `protobuf:"varint,4,opt,name=is_right,json=isRight,proto3" json:"is_right,omitempty"` //是否正确答案(1-是,0-否)
}
func (x *UpdateQaReq_Option) Reset() {
*x = UpdateQaReq_Option{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateQaReq_Option) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateQaReq_Option) ProtoMessage() {}
func (x *UpdateQaReq_Option) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[26]
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)
}
// Deprecated: Use UpdateQaReq_Option.ProtoReflect.Descriptor instead.
func (*UpdateQaReq_Option) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{12, 0}
}
func (x *UpdateQaReq_Option) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *UpdateQaReq_Option) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *UpdateQaReq_Option) GetImgUrl() string {
if x != nil {
return x.ImgUrl
}
return ""
}
func (x *UpdateQaReq_Option) GetIsRight() int32 {
if x != nil {
return x.IsRight
}
return 0
}
type QaGroupSelectRes_One struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //题库ID
HashId string `protobuf:"bytes,2,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //题库对外id
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //标题
QaNum int64 `protobuf:"varint,4,opt,name=qa_num,json=qaNum,proto3" json:"qa_num,omitempty"` //题目数量
}
func (x *QaGroupSelectRes_One) Reset() {
*x = QaGroupSelectRes_One{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaGroupSelectRes_One) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaGroupSelectRes_One) ProtoMessage() {}
func (x *QaGroupSelectRes_One) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[27]
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)
}
// Deprecated: Use QaGroupSelectRes_One.ProtoReflect.Descriptor instead.
func (*QaGroupSelectRes_One) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{17, 0}
}
func (x *QaGroupSelectRes_One) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *QaGroupSelectRes_One) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
func (x *QaGroupSelectRes_One) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *QaGroupSelectRes_One) GetQaNum() int64 {
if x != nil {
return x.QaNum
}
return 0
}
type QaRandRes_One struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //问题ID
HashId string `protobuf:"bytes,2,opt,name=hash_id,json=hashId,proto3" json:"hash_id,omitempty"` //问题对外id
Mark string `protobuf:"bytes,3,opt,name=mark,proto3" json:"mark,omitempty"` //问题类型(image_text-图文,video-视频,audio-音频)
Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` //题目
CoverUrl string `protobuf:"bytes,5,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"` //封面图
LinkUrl string `protobuf:"bytes,6,opt,name=link_url,json=linkUrl,proto3" json:"link_url,omitempty"` //附件地址
ExplainText string `protobuf:"bytes,7,opt,name=explain_text,json=explainText,proto3" json:"explain_text,omitempty"` //答案解析
ExplainImg string `protobuf:"bytes,8,opt,name=explain_img,json=explainImg,proto3" json:"explain_img,omitempty"` //答案解析图
Options []*QaRandRes_Option `protobuf:"bytes,9,rep,name=options,proto3" json:"options,omitempty"` //选项
CreatedAt int64 `protobuf:"varint,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` //创建时间
AnswerMark string `protobuf:"bytes,11,opt,name=answer_mark,json=answerMark,proto3" json:"answer_mark,omitempty"` //答案类型(image_text-图文,text-文本)
}
func (x *QaRandRes_One) Reset() {
*x = QaRandRes_One{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaRandRes_One) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaRandRes_One) ProtoMessage() {}
func (x *QaRandRes_One) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[28]
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)
}
// Deprecated: Use QaRandRes_One.ProtoReflect.Descriptor instead.
func (*QaRandRes_One) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{19, 0}
}
func (x *QaRandRes_One) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *QaRandRes_One) GetHashId() string {
if x != nil {
return x.HashId
}
return ""
}
func (x *QaRandRes_One) GetMark() string {
if x != nil {
return x.Mark
}
return ""
}
func (x *QaRandRes_One) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *QaRandRes_One) GetCoverUrl() string {
if x != nil {
return x.CoverUrl
}
return ""
}
func (x *QaRandRes_One) GetLinkUrl() string {
if x != nil {
return x.LinkUrl
}
return ""
}
func (x *QaRandRes_One) GetExplainText() string {
if x != nil {
return x.ExplainText
}
return ""
}
func (x *QaRandRes_One) GetExplainImg() string {
if x != nil {
return x.ExplainImg
}
return ""
}
func (x *QaRandRes_One) GetOptions() []*QaRandRes_Option {
if x != nil {
return x.Options
}
return nil
}
func (x *QaRandRes_One) GetCreatedAt() int64 {
if x != nil {
return x.CreatedAt
}
return 0
}
func (x *QaRandRes_One) GetAnswerMark() string {
if x != nil {
return x.AnswerMark
}
return ""
}
type QaRandRes_Option struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //选项id
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //答案内容
ImgUrl string `protobuf:"bytes,3,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //答案图片
IsRight int32 `protobuf:"varint,4,opt,name=is_right,json=isRight,proto3" json:"is_right,omitempty"` //是否正确答案(1-是,0-否)
}
func (x *QaRandRes_Option) Reset() {
*x = QaRandRes_Option{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaRandRes_Option) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaRandRes_Option) ProtoMessage() {}
func (x *QaRandRes_Option) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[29]
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)
}
// Deprecated: Use QaRandRes_Option.ProtoReflect.Descriptor instead.
func (*QaRandRes_Option) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{19, 1}
}
func (x *QaRandRes_Option) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *QaRandRes_Option) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *QaRandRes_Option) GetImgUrl() string {
if x != nil {
return x.ImgUrl
}
return ""
}
func (x *QaRandRes_Option) GetIsRight() int32 {
if x != nil {
return x.IsRight
}
return 0
}
type QaShowRes_Option struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //选项id
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //答案内容
ImgUrl string `protobuf:"bytes,3,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //答案图片
IsRight int32 `protobuf:"varint,4,opt,name=is_right,json=isRight,proto3" json:"is_right,omitempty"` //是否正确答案(1-是,0-否)
}
func (x *QaShowRes_Option) Reset() {
*x = QaShowRes_Option{}
if protoimpl.UnsafeEnabled {
mi := &file_w_library_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QaShowRes_Option) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QaShowRes_Option) ProtoMessage() {}
func (x *QaShowRes_Option) ProtoReflect() protoreflect.Message {
mi := &file_w_library_proto_msgTypes[30]
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)
}
// Deprecated: Use QaShowRes_Option.ProtoReflect.Descriptor instead.
func (*QaShowRes_Option) Descriptor() ([]byte, []int) {
return file_w_library_proto_rawDescGZIP(), []int{21, 0}
}
func (x *QaShowRes_Option) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *QaShowRes_Option) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *QaShowRes_Option) GetImgUrl() string {
if x != nil {
return x.ImgUrl
}
return ""
}
func (x *QaShowRes_Option) GetIsRight() int32 {
if x != nil {
return x.IsRight
}
return 0
}
var File_w_library_proto protoreflect.FileDescriptor
var file_w_library_proto_rawDesc = []byte{
0x0a, 0x0f, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x0b, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x22, 0x79,
0x0a, 0x0a, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f,
0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61,
0x73, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f,
0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50,
0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x0a, 0x51, 0x61,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61,
0x72, 0x79, 0x70, 0x62, 0x2e, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x2e,
0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74,
0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a,
0x7e, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12,
0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x71, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22,
0x4f, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61,
0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69,
0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
0x22, 0x11, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x52, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x61, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12,
0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x12,
0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
0x65, 0x73, 0x22, 0x54, 0x0a, 0x11, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x51, 0x61, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12,
0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x73, 0x74,
0x72, 0x6f, 0x79, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x22, 0x88, 0x01,
0x0a, 0x09, 0x51, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70,
0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x85, 0x04, 0x0a, 0x09, 0x51, 0x61, 0x4c,
0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79,
0x70, 0x62, 0x2e, 0x51, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65,
0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18,
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0xcd, 0x02, 0x0a,
0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a,
0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72,
0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x76, 0x65, 0x72,
0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x75, 0x72, 0x6c,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x6e, 0x6b, 0x55, 0x72, 0x6c, 0x12,
0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18,
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x54, 0x65,
0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6d,
0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e,
0x49, 0x6d, 0x67, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79,
0x70, 0x62, 0x2e, 0x51, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x1a, 0x62, 0x0a, 0x06,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07,
0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69,
0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x72, 0x69, 0x67, 0x68,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x73, 0x52, 0x69, 0x67, 0x68, 0x74,
0x22, 0x85, 0x03, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x51, 0x61, 0x52, 0x65, 0x71, 0x12,
0x22, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x61, 0x73,
0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1b, 0x0a,
0x09, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69,
0x6e, 0x6b, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69,
0x6e, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e,
0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70,
0x6c, 0x61, 0x69, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c,
0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6d, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65,
0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x49, 0x6d, 0x67, 0x12, 0x38, 0x0a, 0x07, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x5f, 0x6c,
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x51, 0x61,
0x52, 0x65, 0x71, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x61,
0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72,
0x4d, 0x61, 0x72, 0x6b, 0x1a, 0x52, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14,
0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a,
0x08, 0x69, 0x73, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x69, 0x73, 0x52, 0x69, 0x67, 0x68, 0x74, 0x22, 0x0c, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x72,
0x65, 0x51, 0x61, 0x52, 0x65, 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x51, 0x61, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12,
0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d,
0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x76,
0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x75,
0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x6e, 0x6b, 0x55, 0x72,
0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x65, 0x78,
0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e,
0x54, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f,
0x69, 0x6d, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x6c, 0x61,
0x69, 0x6e, 0x49, 0x6d, 0x67, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61,
0x72, 0x79, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x61, 0x52, 0x65, 0x71,
0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18,
0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x4d, 0x61, 0x72,
0x6b, 0x1a, 0x62, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74,
0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c,
0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73,
0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x73,
0x52, 0x69, 0x67, 0x68, 0x74, 0x22, 0x0d, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51,
0x61, 0x52, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x0c, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x51,
0x61, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x22, 0x0e, 0x0a,
0x0c, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x51, 0x61, 0x52, 0x65, 0x73, 0x22, 0x4e, 0x0a,
0x10, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65,
0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73,
0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72,
0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0xa6, 0x01,
0x0a, 0x10, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52,
0x65, 0x73, 0x12, 0x35, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x21, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x51,
0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x2e,
0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x5b, 0x0a, 0x03, 0x4f, 0x6e, 0x65,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64,
0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74,
0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12,
0x15, 0x0a, 0x06, 0x71, 0x61, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
0x05, 0x71, 0x61, 0x4e, 0x75, 0x6d, 0x22, 0x86, 0x01, 0x0a, 0x09, 0x51, 0x61, 0x52, 0x61, 0x6e,
0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x70, 0x61,
0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x68,
0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x6e,
0x67, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61,
0x6e, 0x67, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22,
0xef, 0x03, 0x0a, 0x09, 0x51, 0x61, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x12, 0x2e, 0x0a,
0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x5f,
0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x51, 0x61, 0x52, 0x61, 0x6e, 0x64,
0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0xcd, 0x02,
0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61,
0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x76,
0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x75, 0x72,
0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x6e, 0x6b, 0x55, 0x72, 0x6c,
0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74,
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x54,
0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x69,
0x6d, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69,
0x6e, 0x49, 0x6d, 0x67, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72,
0x79, 0x70, 0x62, 0x2e, 0x51, 0x61, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x1a, 0x62, 0x0a,
0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a,
0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x72, 0x69, 0x67,
0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x73, 0x52, 0x69, 0x67, 0x68,
0x74, 0x22, 0x24, 0x0a, 0x09, 0x51, 0x61, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x12, 0x17,
0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x22, 0xb7, 0x03, 0x0a, 0x09, 0x51, 0x61, 0x53, 0x68,
0x6f, 0x77, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x61,
0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x76, 0x65,
0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x76,
0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x75, 0x72,
0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x6e, 0x6b, 0x55, 0x72, 0x6c,
0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74,
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x54,
0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x69,
0x6d, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69,
0x6e, 0x49, 0x6d, 0x67, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72,
0x79, 0x70, 0x62, 0x2e, 0x51, 0x61, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a,
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x1a, 0x62, 0x0a,
0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a,
0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x72, 0x69, 0x67,
0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x73, 0x52, 0x69, 0x67, 0x68,
0x74, 0x32, 0x87, 0x06, 0x0a, 0x08, 0x57, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x3d,
0x0a, 0x07, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x17, 0x2e, 0x77, 0x5f, 0x6c, 0x69,
0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
0x65, 0x71, 0x1a, 0x17, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62,
0x2e, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x4c, 0x0a,
0x0c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x2e,
0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72,
0x65, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x77, 0x5f,
0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x51,
0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0d, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x2e, 0x77,
0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x77, 0x5f,
0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0e,
0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1e,
0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73,
0x74, 0x72, 0x6f, 0x79, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x1e,
0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73,
0x74, 0x72, 0x6f, 0x79, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x22, 0x00,
0x12, 0x3a, 0x0a, 0x06, 0x51, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x77, 0x5f, 0x6c,
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x51, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52,
0x65, 0x71, 0x1a, 0x16, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62,
0x2e, 0x51, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x07,
0x53, 0x74, 0x6f, 0x72, 0x65, 0x51, 0x61, 0x12, 0x17, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72,
0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x51, 0x61, 0x52, 0x65, 0x71,
0x1a, 0x17, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x53,
0x74, 0x6f, 0x72, 0x65, 0x51, 0x61, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x08, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x61, 0x12, 0x18, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72,
0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x61, 0x52, 0x65,
0x71, 0x1a, 0x18, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x61, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x43, 0x0a,
0x09, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x51, 0x61, 0x12, 0x19, 0x2e, 0x77, 0x5f, 0x6c,
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79,
0x51, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72,
0x79, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x51, 0x61, 0x52, 0x65, 0x73,
0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0d, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x6c,
0x65, 0x63, 0x74, 0x12, 0x1d, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70,
0x62, 0x2e, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52,
0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62,
0x2e, 0x51, 0x61, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65,
0x73, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x06, 0x51, 0x61, 0x52, 0x61, 0x6e, 0x64, 0x12, 0x16, 0x2e,
0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x51, 0x61, 0x52, 0x61,
0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72,
0x79, 0x70, 0x62, 0x2e, 0x51, 0x61, 0x52, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12,
0x3a, 0x0a, 0x06, 0x51, 0x61, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x16, 0x2e, 0x77, 0x5f, 0x6c, 0x69,
0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e, 0x51, 0x61, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65,
0x71, 0x1a, 0x16, 0x2e, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x2e,
0x51, 0x61, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x22, 0x00, 0x42, 0x10, 0x5a, 0x0e, 0x2e,
0x2f, 0x3b, 0x77, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_w_library_proto_rawDescOnce sync.Once
file_w_library_proto_rawDescData = file_w_library_proto_rawDesc
)
func file_w_library_proto_rawDescGZIP() []byte {
file_w_library_proto_rawDescOnce.Do(func() {
file_w_library_proto_rawDescData = protoimpl.X.CompressGZIP(file_w_library_proto_rawDescData)
})
return file_w_library_proto_rawDescData
}
var file_w_library_proto_msgTypes = make([]protoimpl.MessageInfo, 31)
var file_w_library_proto_goTypes = []interface{}{
(*QaGroupReq)(nil), // 0: w_librarypb.QaGroupReq
(*QaGroupRes)(nil), // 1: w_librarypb.QaGroupRes
(*StoreQaGroupReq)(nil), // 2: w_librarypb.StoreQaGroupReq
(*StoreQaGroupRes)(nil), // 3: w_librarypb.StoreQaGroupRes
(*UpdateQaGroupReq)(nil), // 4: w_librarypb.UpdateQaGroupReq
(*UpdateQaGroupRes)(nil), // 5: w_librarypb.UpdateQaGroupRes
(*DestroyQaGroupReq)(nil), // 6: w_librarypb.DestroyQaGroupReq
(*DestroyQaGroupRes)(nil), // 7: w_librarypb.DestroyQaGroupRes
(*QaListReq)(nil), // 8: w_librarypb.QaListReq
(*QaListRes)(nil), // 9: w_librarypb.QaListRes
(*StoreQaReq)(nil), // 10: w_librarypb.StoreQaReq
(*StoreQaRes)(nil), // 11: w_librarypb.StoreQaRes
(*UpdateQaReq)(nil), // 12: w_librarypb.UpdateQaReq
(*UpdateQaRes)(nil), // 13: w_librarypb.UpdateQaRes
(*DestroyQaReq)(nil), // 14: w_librarypb.DestroyQaReq
(*DestroyQaRes)(nil), // 15: w_librarypb.DestroyQaRes
(*QaGroupSelectReq)(nil), // 16: w_librarypb.QaGroupSelectReq
(*QaGroupSelectRes)(nil), // 17: w_librarypb.QaGroupSelectRes
(*QaRandReq)(nil), // 18: w_librarypb.QaRandReq
(*QaRandRes)(nil), // 19: w_librarypb.QaRandRes
(*QaShowReq)(nil), // 20: w_librarypb.QaShowReq
(*QaShowRes)(nil), // 21: w_librarypb.QaShowRes
(*QaGroupRes_One)(nil), // 22: w_librarypb.QaGroupRes.One
(*QaListRes_One)(nil), // 23: w_librarypb.QaListRes.One
(*QaListRes_Option)(nil), // 24: w_librarypb.QaListRes.Option
(*StoreQaReq_Option)(nil), // 25: w_librarypb.StoreQaReq.Option
(*UpdateQaReq_Option)(nil), // 26: w_librarypb.UpdateQaReq.Option
(*QaGroupSelectRes_One)(nil), // 27: w_librarypb.QaGroupSelectRes.One
(*QaRandRes_One)(nil), // 28: w_librarypb.QaRandRes.One
(*QaRandRes_Option)(nil), // 29: w_librarypb.QaRandRes.Option
(*QaShowRes_Option)(nil), // 30: w_librarypb.QaShowRes.Option
}
var file_w_library_proto_depIdxs = []int32{
22, // 0: w_librarypb.QaGroupRes.list:type_name -> w_librarypb.QaGroupRes.One
23, // 1: w_librarypb.QaListRes.list:type_name -> w_librarypb.QaListRes.One
25, // 2: w_librarypb.StoreQaReq.options:type_name -> w_librarypb.StoreQaReq.Option
26, // 3: w_librarypb.UpdateQaReq.options:type_name -> w_librarypb.UpdateQaReq.Option
27, // 4: w_librarypb.QaGroupSelectRes.list:type_name -> w_librarypb.QaGroupSelectRes.One
28, // 5: w_librarypb.QaRandRes.list:type_name -> w_librarypb.QaRandRes.One
30, // 6: w_librarypb.QaShowRes.options:type_name -> w_librarypb.QaShowRes.Option
24, // 7: w_librarypb.QaListRes.One.options:type_name -> w_librarypb.QaListRes.Option
29, // 8: w_librarypb.QaRandRes.One.options:type_name -> w_librarypb.QaRandRes.Option
0, // 9: w_librarypb.WLibrary.QaGroup:input_type -> w_librarypb.QaGroupReq
2, // 10: w_librarypb.WLibrary.StoreQaGroup:input_type -> w_librarypb.StoreQaGroupReq
4, // 11: w_librarypb.WLibrary.UpdateQaGroup:input_type -> w_librarypb.UpdateQaGroupReq
6, // 12: w_librarypb.WLibrary.DestroyQaGroup:input_type -> w_librarypb.DestroyQaGroupReq
8, // 13: w_librarypb.WLibrary.QaList:input_type -> w_librarypb.QaListReq
10, // 14: w_librarypb.WLibrary.StoreQa:input_type -> w_librarypb.StoreQaReq
12, // 15: w_librarypb.WLibrary.UpdateQa:input_type -> w_librarypb.UpdateQaReq
14, // 16: w_librarypb.WLibrary.DestroyQa:input_type -> w_librarypb.DestroyQaReq
16, // 17: w_librarypb.WLibrary.QaGroupSelect:input_type -> w_librarypb.QaGroupSelectReq
18, // 18: w_librarypb.WLibrary.QaRand:input_type -> w_librarypb.QaRandReq
20, // 19: w_librarypb.WLibrary.QaShow:input_type -> w_librarypb.QaShowReq
1, // 20: w_librarypb.WLibrary.QaGroup:output_type -> w_librarypb.QaGroupRes
3, // 21: w_librarypb.WLibrary.StoreQaGroup:output_type -> w_librarypb.StoreQaGroupRes
5, // 22: w_librarypb.WLibrary.UpdateQaGroup:output_type -> w_librarypb.UpdateQaGroupRes
7, // 23: w_librarypb.WLibrary.DestroyQaGroup:output_type -> w_librarypb.DestroyQaGroupRes
9, // 24: w_librarypb.WLibrary.QaList:output_type -> w_librarypb.QaListRes
11, // 25: w_librarypb.WLibrary.StoreQa:output_type -> w_librarypb.StoreQaRes
13, // 26: w_librarypb.WLibrary.UpdateQa:output_type -> w_librarypb.UpdateQaRes
15, // 27: w_librarypb.WLibrary.DestroyQa:output_type -> w_librarypb.DestroyQaRes
17, // 28: w_librarypb.WLibrary.QaGroupSelect:output_type -> w_librarypb.QaGroupSelectRes
19, // 29: w_librarypb.WLibrary.QaRand:output_type -> w_librarypb.QaRandRes
21, // 30: w_librarypb.WLibrary.QaShow:output_type -> w_librarypb.QaShowRes
20, // [20:31] is the sub-list for method output_type
9, // [9:20] is the sub-list for method input_type
9, // [9:9] is the sub-list for extension type_name
9, // [9:9] is the sub-list for extension extendee
0, // [0:9] is the sub-list for field type_name
}
func init() { file_w_library_proto_init() }
func file_w_library_proto_init() {
if File_w_library_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_w_library_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaGroupRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StoreQaGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StoreQaGroupRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateQaGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateQaGroupRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DestroyQaGroupReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DestroyQaGroupRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaListReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaListRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StoreQaReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StoreQaRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateQaReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateQaRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DestroyQaReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DestroyQaRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaGroupSelectReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaGroupSelectRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaRandReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaRandRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaShowReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaShowRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaGroupRes_One); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaListRes_One); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaListRes_Option); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StoreQaReq_Option); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateQaReq_Option); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaGroupSelectRes_One); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaRandRes_One); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaRandRes_Option); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_w_library_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QaShowRes_Option); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_w_library_proto_rawDesc,
NumEnums: 0,
NumMessages: 31,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_w_library_proto_goTypes,
DependencyIndexes: file_w_library_proto_depIdxs,
MessageInfos: file_w_library_proto_msgTypes,
}.Build()
File_w_library_proto = out.File
file_w_library_proto_rawDesc = nil
file_w_library_proto_goTypes = nil
file_w_library_proto_depIdxs = nil
}