From 3cdbbf12390138e7dca97dd07cc914eababa120d Mon Sep 17 00:00:00 2001 From: tzwang Date: Wed, 10 May 2023 16:51:11 +0800 Subject: [PATCH] =?UTF-8?q?octopus=20=E6=B7=BB=E5=8A=A0=E6=88=91=E7=9A=84?= =?UTF-8?q?=E7=AE=97=E6=B3=95=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?notebook=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PCM-OCTOPUS/rpc/internal/config/config.go | 6 - .../rpc/internal/config/octopusConfig.go | 4 +- .../internal/logic/getmyalgorithmlistlogic.go | 51 + .../internal/logic/getnotebooklistlogic.go | 51 + .../internal/logic/getuserimagelistlogic.go | 2 +- .../rpc/internal/server/octopusserver.go | 12 + .../PCM-OCTOPUS/rpc/octopus/octopus.pb.go | 1518 ++++++++++++++--- .../rpc/octopus/octopus_grpc.pb.go | 78 + .../PCM-OCTOPUS/rpc/octopusclient/octopus.go | 47 +- .../PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto | 104 +- 10 files changed, 1635 insertions(+), 238 deletions(-) create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmyalgorithmlistlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getnotebooklistlogic.go diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/config.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/config.go index 42522dfe..d4dd6c87 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/config.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/config.go @@ -45,11 +45,5 @@ func getConfig() Config { // 注册到nacos nacosConfig.Discovery(&c.RpcServerConf) - //OctopusUrls = map[string]string{ - // common.Hanwuji: c.OctopusConfig.HanwujiUrl, - // common.Suiyuan: c.OctopusConfig.SuiyuanUrl, - // common.Sailingsi: c.OctopusConfig.SailingsiUrl, - //} - return c } diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go index 2a743d2f..f77f6ca3 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go @@ -14,5 +14,7 @@ type OctopusConfig struct { } type OctopusApi struct { - GetUserImageList string + GetUserImageList string + GetMyAlgorithmList string + GetNotebookList string } diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmyalgorithmlistlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmyalgorithmlistlogic.go new file mode 100644 index 00000000..f259359b --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmyalgorithmlistlogic.go @@ -0,0 +1,51 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + "strconv" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type GetMyAlgorithmListLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewGetMyAlgorithmListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetMyAlgorithmListLogic { + return &GetMyAlgorithmListLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// Algorithm +func (l *GetMyAlgorithmListLogic) GetMyAlgorithmList(in *octopus.GetMyAlgorithmListReq) (*octopus.GetMyAlgorithmListResp, error) { + resp := &octopus.GetMyAlgorithmListResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetMyAlgorithmList + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))). + SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))). + SetResult(&resp). + Get(reqUrl) + + if err != nil { + return nil, err + } + + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getnotebooklistlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getnotebooklistlogic.go new file mode 100644 index 00000000..49919c3e --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getnotebooklistlogic.go @@ -0,0 +1,51 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + "strconv" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type GetNotebookListLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewGetNotebookListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetNotebookListLogic { + return &GetNotebookListLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// ModelDeployService +func (l *GetNotebookListLogic) GetNotebookList(in *octopus.GetNotebookListReq) (*octopus.GetNotebookListResp, error) { + resp := &octopus.GetNotebookListResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetNotebookList + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))). + SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))). + SetResult(&resp). + Get(reqUrl) + + if err != nil { + return nil, err + } + + return &octopus.GetNotebookListResp{}, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getuserimagelistlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getuserimagelistlogic.go index bf05c301..3f0742e7 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getuserimagelistlogic.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getuserimagelistlogic.go @@ -35,7 +35,7 @@ func (l *GetUserImageListLogic) GetUserImageList(in *octopus.GetUserImageListReq token := common.GetToken(in.Platform) req := tool.GetACHttpRequest() - _, err := /*req.SetHeader(tool.ContentType, tool.ApplicationJson).*/ req. + _, err := req. SetHeader("Authorization", "Bearer "+token). SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))). SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))). diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go index 5b5515ed..3054fa5f 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go @@ -37,6 +37,18 @@ func (s *OctopusServer) CreateDataSet(ctx context.Context, in *octopus.CreateDat return l.CreateDataSet(in) } +// Algorithm +func (s *OctopusServer) GetMyAlgorithmList(ctx context.Context, in *octopus.GetMyAlgorithmListReq) (*octopus.GetMyAlgorithmListResp, error) { + l := logic.NewGetMyAlgorithmListLogic(ctx, s.svcCtx) + return l.GetMyAlgorithmList(in) +} + +// ModelDeployService +func (s *OctopusServer) GetNotebookList(ctx context.Context, in *octopus.GetNotebookListReq) (*octopus.GetNotebookListResp, error) { + l := logic.NewGetNotebookListLogic(ctx, s.svcCtx) + return l.GetNotebookList(in) +} + // ImageService func (s *OctopusServer) GetUserImageList(ctx context.Context, in *octopus.GetUserImageListReq) (*octopus.GetUserImageListResp, error) { l := logic.NewGetUserImageListLogic(ctx, s.svcCtx) diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go index ae6e517d..0007fd47 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go @@ -286,6 +286,831 @@ func (x *CreateDataSetResq) GetVersion() string { return "" } +// *****************Algorithm Start************************ +type GetMyAlgorithmListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + PageIndex int32 `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *GetMyAlgorithmListReq) Reset() { + *x = GetMyAlgorithmListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMyAlgorithmListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMyAlgorithmListReq) ProtoMessage() {} + +func (x *GetMyAlgorithmListReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 GetMyAlgorithmListReq.ProtoReflect.Descriptor instead. +func (*GetMyAlgorithmListReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{5} +} + +func (x *GetMyAlgorithmListReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GetMyAlgorithmListReq) GetPageIndex() int32 { + if x != nil { + return x.PageIndex + } + return 0 +} + +func (x *GetMyAlgorithmListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type GetMyAlgorithmListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadMyAlgorithmList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *GetMyAlgorithmListResp) Reset() { + *x = GetMyAlgorithmListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMyAlgorithmListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMyAlgorithmListResp) ProtoMessage() {} + +func (x *GetMyAlgorithmListResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 GetMyAlgorithmListResp.ProtoReflect.Descriptor instead. +func (*GetMyAlgorithmListResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{6} +} + +func (x *GetMyAlgorithmListResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetMyAlgorithmListResp) GetPayload() *PayloadMyAlgorithmList { + if x != nil { + return x.Payload + } + return nil +} + +func (x *GetMyAlgorithmListResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadMyAlgorithmList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalSize int32 `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"` + Algorithms []*Algorithms `protobuf:"bytes,2,rep,name=algorithms,proto3" json:"algorithms,omitempty"` +} + +func (x *PayloadMyAlgorithmList) Reset() { + *x = PayloadMyAlgorithmList{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadMyAlgorithmList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadMyAlgorithmList) ProtoMessage() {} + +func (x *PayloadMyAlgorithmList) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadMyAlgorithmList.ProtoReflect.Descriptor instead. +func (*PayloadMyAlgorithmList) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{7} +} + +func (x *PayloadMyAlgorithmList) GetTotalSize() int32 { + if x != nil { + return x.TotalSize + } + return 0 +} + +func (x *PayloadMyAlgorithmList) GetAlgorithms() []*Algorithms { + if x != nil { + return x.Algorithms + } + return nil +} + +type Algorithms struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AlgorithmId string `protobuf:"bytes,1,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"` + AlgorithmVersion string `protobuf:"bytes,2,opt,name=algorithmVersion,proto3" json:"algorithmVersion,omitempty"` + SpaceId string `protobuf:"bytes,3,opt,name=spaceId,proto3" json:"spaceId,omitempty"` + SpaceName string `protobuf:"bytes,4,opt,name=spaceName,proto3" json:"spaceName,omitempty"` + UserId string `protobuf:"bytes,5,opt,name=userId,proto3" json:"userId,omitempty"` + UserName string `protobuf:"bytes,6,opt,name=userName,proto3" json:"userName,omitempty"` + AlgorithmName string `protobuf:"bytes,7,opt,name=algorithmName,proto3" json:"algorithmName,omitempty"` + ModelName string `protobuf:"bytes,8,opt,name=modelName,proto3" json:"modelName,omitempty"` + FileStatus int32 `protobuf:"varint,9,opt,name=fileStatus,proto3" json:"fileStatus,omitempty"` + LatestCompressed int32 `protobuf:"varint,10,opt,name=latestCompressed,proto3" json:"latestCompressed,omitempty"` + AlgorithmDescript string `protobuf:"bytes,11,opt,name=algorithmDescript,proto3" json:"algorithmDescript,omitempty"` + Path string `protobuf:"bytes,12,opt,name=path,proto3" json:"path,omitempty"` + IsPrefab bool `protobuf:"varint,13,opt,name=isPrefab,proto3" json:"isPrefab,omitempty"` + CreatedAt int64 `protobuf:"varint,14,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + ApplyId string `protobuf:"bytes,15,opt,name=applyId,proto3" json:"applyId,omitempty"` + ApplyName string `protobuf:"bytes,16,opt,name=applyName,proto3" json:"applyName,omitempty"` + FrameworkId string `protobuf:"bytes,17,opt,name=frameworkId,proto3" json:"frameworkId,omitempty"` + FrameworkName string `protobuf:"bytes,18,opt,name=frameworkName,proto3" json:"frameworkName,omitempty"` +} + +func (x *Algorithms) Reset() { + *x = Algorithms{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Algorithms) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Algorithms) ProtoMessage() {} + +func (x *Algorithms) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 Algorithms.ProtoReflect.Descriptor instead. +func (*Algorithms) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{8} +} + +func (x *Algorithms) GetAlgorithmId() string { + if x != nil { + return x.AlgorithmId + } + return "" +} + +func (x *Algorithms) GetAlgorithmVersion() string { + if x != nil { + return x.AlgorithmVersion + } + return "" +} + +func (x *Algorithms) GetSpaceId() string { + if x != nil { + return x.SpaceId + } + return "" +} + +func (x *Algorithms) GetSpaceName() string { + if x != nil { + return x.SpaceName + } + return "" +} + +func (x *Algorithms) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *Algorithms) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *Algorithms) GetAlgorithmName() string { + if x != nil { + return x.AlgorithmName + } + return "" +} + +func (x *Algorithms) GetModelName() string { + if x != nil { + return x.ModelName + } + return "" +} + +func (x *Algorithms) GetFileStatus() int32 { + if x != nil { + return x.FileStatus + } + return 0 +} + +func (x *Algorithms) GetLatestCompressed() int32 { + if x != nil { + return x.LatestCompressed + } + return 0 +} + +func (x *Algorithms) GetAlgorithmDescript() string { + if x != nil { + return x.AlgorithmDescript + } + return "" +} + +func (x *Algorithms) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *Algorithms) GetIsPrefab() bool { + if x != nil { + return x.IsPrefab + } + return false +} + +func (x *Algorithms) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *Algorithms) GetApplyId() string { + if x != nil { + return x.ApplyId + } + return "" +} + +func (x *Algorithms) GetApplyName() string { + if x != nil { + return x.ApplyName + } + return "" +} + +func (x *Algorithms) GetFrameworkId() string { + if x != nil { + return x.FrameworkId + } + return "" +} + +func (x *Algorithms) GetFrameworkName() string { + if x != nil { + return x.FrameworkName + } + return "" +} + +// *****************Develop Start************************ +type GetNotebookListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + PageIndex int32 `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *GetNotebookListReq) Reset() { + *x = GetNotebookListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotebookListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotebookListReq) ProtoMessage() {} + +func (x *GetNotebookListReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 GetNotebookListReq.ProtoReflect.Descriptor instead. +func (*GetNotebookListReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{9} +} + +func (x *GetNotebookListReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GetNotebookListReq) GetPageIndex() int32 { + if x != nil { + return x.PageIndex + } + return 0 +} + +func (x *GetNotebookListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type GetNotebookListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadNotebookList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *GetNotebookListResp) Reset() { + *x = GetNotebookListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotebookListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotebookListResp) ProtoMessage() {} + +func (x *GetNotebookListResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 GetNotebookListResp.ProtoReflect.Descriptor instead. +func (*GetNotebookListResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{10} +} + +func (x *GetNotebookListResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetNotebookListResp) GetPayload() *PayloadNotebookList { + if x != nil { + return x.Payload + } + return nil +} + +func (x *GetNotebookListResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadNotebookList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalSize int32 `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"` + Notebooks []*Notebooks `protobuf:"bytes,2,rep,name=notebooks,proto3" json:"notebooks,omitempty"` +} + +func (x *PayloadNotebookList) Reset() { + *x = PayloadNotebookList{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadNotebookList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadNotebookList) ProtoMessage() {} + +func (x *PayloadNotebookList) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadNotebookList.ProtoReflect.Descriptor instead. +func (*PayloadNotebookList) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{11} +} + +func (x *PayloadNotebookList) GetTotalSize() int32 { + if x != nil { + return x.TotalSize + } + return 0 +} + +func (x *PayloadNotebookList) GetNotebooks() []*Notebooks { + if x != nil { + return x.Notebooks + } + return nil +} + +type Notebooks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CreatedAt int64 `protobuf:"varint,1,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt int64 `protobuf:"varint,2,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + UserId string `protobuf:"bytes,4,opt,name=userId,proto3" json:"userId,omitempty"` + WorkspaceId string `protobuf:"bytes,5,opt,name=workspaceId,proto3" json:"workspaceId,omitempty"` + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + Desc string `protobuf:"bytes,7,opt,name=desc,proto3" json:"desc,omitempty"` + ImageId string `protobuf:"bytes,8,opt,name=imageId,proto3" json:"imageId,omitempty"` + ImageName string `protobuf:"bytes,9,opt,name=imageName,proto3" json:"imageName,omitempty"` + AlgorithmId string `protobuf:"bytes,10,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"` + AlgorithmVersion string `protobuf:"bytes,11,opt,name=algorithmVersion,proto3" json:"algorithmVersion,omitempty"` + AlgorithmName string `protobuf:"bytes,12,opt,name=algorithmName,proto3" json:"algorithmName,omitempty"` + ResourceSpecId string `protobuf:"bytes,13,opt,name=resourceSpecId,proto3" json:"resourceSpecId,omitempty"` + ResourceSpecName string `protobuf:"bytes,14,opt,name=resourceSpecName,proto3" json:"resourceSpecName,omitempty"` + Status string `protobuf:"bytes,15,opt,name=status,proto3" json:"status,omitempty"` + DatasetId string `protobuf:"bytes,16,opt,name=datasetId,proto3" json:"datasetId,omitempty"` + DatasetVersion string `protobuf:"bytes,17,opt,name=datasetVersion,proto3" json:"datasetVersion,omitempty"` + DatasetName string `protobuf:"bytes,18,opt,name=datasetName,proto3" json:"datasetName,omitempty"` + ResourceSpecPrice int32 `protobuf:"varint,19,opt,name=resourceSpecPrice,proto3" json:"resourceSpecPrice,omitempty"` + NotebookJobId string `protobuf:"bytes,20,opt,name=notebookJobId,proto3" json:"notebookJobId,omitempty"` + ImageVersion string `protobuf:"bytes,21,opt,name=imageVersion,proto3" json:"imageVersion,omitempty"` + Tasks []*Tasks `protobuf:"bytes,22,rep,name=tasks,proto3" json:"tasks,omitempty"` + ImageUrl string `protobuf:"bytes,23,opt,name=imageUrl,proto3" json:"imageUrl,omitempty"` +} + +func (x *Notebooks) Reset() { + *x = Notebooks{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Notebooks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Notebooks) ProtoMessage() {} + +func (x *Notebooks) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 Notebooks.ProtoReflect.Descriptor instead. +func (*Notebooks) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{12} +} + +func (x *Notebooks) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *Notebooks) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *Notebooks) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Notebooks) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *Notebooks) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +func (x *Notebooks) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Notebooks) GetDesc() string { + if x != nil { + return x.Desc + } + return "" +} + +func (x *Notebooks) GetImageId() string { + if x != nil { + return x.ImageId + } + return "" +} + +func (x *Notebooks) GetImageName() string { + if x != nil { + return x.ImageName + } + return "" +} + +func (x *Notebooks) GetAlgorithmId() string { + if x != nil { + return x.AlgorithmId + } + return "" +} + +func (x *Notebooks) GetAlgorithmVersion() string { + if x != nil { + return x.AlgorithmVersion + } + return "" +} + +func (x *Notebooks) GetAlgorithmName() string { + if x != nil { + return x.AlgorithmName + } + return "" +} + +func (x *Notebooks) GetResourceSpecId() string { + if x != nil { + return x.ResourceSpecId + } + return "" +} + +func (x *Notebooks) GetResourceSpecName() string { + if x != nil { + return x.ResourceSpecName + } + return "" +} + +func (x *Notebooks) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Notebooks) GetDatasetId() string { + if x != nil { + return x.DatasetId + } + return "" +} + +func (x *Notebooks) GetDatasetVersion() string { + if x != nil { + return x.DatasetVersion + } + return "" +} + +func (x *Notebooks) GetDatasetName() string { + if x != nil { + return x.DatasetName + } + return "" +} + +func (x *Notebooks) GetResourceSpecPrice() int32 { + if x != nil { + return x.ResourceSpecPrice + } + return 0 +} + +func (x *Notebooks) GetNotebookJobId() string { + if x != nil { + return x.NotebookJobId + } + return "" +} + +func (x *Notebooks) GetImageVersion() string { + if x != nil { + return x.ImageVersion + } + return "" +} + +func (x *Notebooks) GetTasks() []*Tasks { + if x != nil { + return x.Tasks + } + return nil +} + +func (x *Notebooks) GetImageUrl() string { + if x != nil { + return x.ImageUrl + } + return "" +} + +type Tasks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Tasks) Reset() { + *x = Tasks{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Tasks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Tasks) ProtoMessage() {} + +func (x *Tasks) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 Tasks.ProtoReflect.Descriptor instead. +func (*Tasks) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{13} +} + +func (x *Tasks) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *Tasks) GetName() string { + if x != nil { + return x.Name + } + return "" +} + // *****************ImageService Start************************ type GetUserImageListReq struct { state protoimpl.MessageState @@ -300,7 +1125,7 @@ type GetUserImageListReq struct { func (x *GetUserImageListReq) Reset() { *x = GetUserImageListReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[5] + mi := &file_octopus_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -313,7 +1138,7 @@ func (x *GetUserImageListReq) String() string { func (*GetUserImageListReq) ProtoMessage() {} func (x *GetUserImageListReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[5] + mi := &file_octopus_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -326,7 +1151,7 @@ func (x *GetUserImageListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserImageListReq.ProtoReflect.Descriptor instead. func (*GetUserImageListReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{5} + return file_octopus_proto_rawDescGZIP(), []int{14} } func (x *GetUserImageListReq) GetPlatform() string { @@ -355,15 +1180,15 @@ type GetUserImageListResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` - Payload *Payload `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` - Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadUserImageList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` } func (x *GetUserImageListResp) Reset() { *x = GetUserImageListResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[6] + mi := &file_octopus_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -376,7 +1201,7 @@ func (x *GetUserImageListResp) String() string { func (*GetUserImageListResp) ProtoMessage() {} func (x *GetUserImageListResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[6] + mi := &file_octopus_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -389,7 +1214,7 @@ func (x *GetUserImageListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserImageListResp.ProtoReflect.Descriptor instead. func (*GetUserImageListResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{6} + return file_octopus_proto_rawDescGZIP(), []int{15} } func (x *GetUserImageListResp) GetSuccess() bool { @@ -399,7 +1224,7 @@ func (x *GetUserImageListResp) GetSuccess() bool { return false } -func (x *GetUserImageListResp) GetPayload() *Payload { +func (x *GetUserImageListResp) GetPayload() *PayloadUserImageList { if x != nil { return x.Payload } @@ -413,78 +1238,7 @@ func (x *GetUserImageListResp) GetError() *Error { return nil } -type Error struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - Subcode int32 `protobuf:"varint,2,opt,name=subcode,proto3" json:"subcode,omitempty"` - Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` - SubMessage string `protobuf:"bytes,4,opt,name=subMessage,proto3" json:"subMessage,omitempty"` -} - -func (x *Error) Reset() { - *x = Error{} - if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Error) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Error) ProtoMessage() {} - -func (x *Error) ProtoReflect() protoreflect.Message { - mi := &file_octopus_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 Error.ProtoReflect.Descriptor instead. -func (*Error) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{7} -} - -func (x *Error) GetCode() int32 { - if x != nil { - return x.Code - } - return 0 -} - -func (x *Error) GetSubcode() int32 { - if x != nil { - return x.Subcode - } - return 0 -} - -func (x *Error) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *Error) GetSubMessage() string { - if x != nil { - return x.SubMessage - } - return "" -} - -type Payload struct { +type PayloadUserImageList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -493,23 +1247,23 @@ type Payload struct { Images []*Images `protobuf:"bytes,2,rep,name=images,proto3" json:"images,omitempty"` } -func (x *Payload) Reset() { - *x = Payload{} +func (x *PayloadUserImageList) Reset() { + *x = PayloadUserImageList{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[8] + mi := &file_octopus_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Payload) String() string { +func (x *PayloadUserImageList) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Payload) ProtoMessage() {} +func (*PayloadUserImageList) ProtoMessage() {} -func (x *Payload) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[8] +func (x *PayloadUserImageList) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -520,19 +1274,19 @@ func (x *Payload) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Payload.ProtoReflect.Descriptor instead. -func (*Payload) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{8} +// Deprecated: Use PayloadUserImageList.ProtoReflect.Descriptor instead. +func (*PayloadUserImageList) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{16} } -func (x *Payload) GetTotalSize() int32 { +func (x *PayloadUserImageList) GetTotalSize() int32 { if x != nil { return x.TotalSize } return 0 } -func (x *Payload) GetImages() []*Images { +func (x *PayloadUserImageList) GetImages() []*Images { if x != nil { return x.Images } @@ -551,7 +1305,7 @@ type Images struct { func (x *Images) Reset() { *x = Images{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[9] + mi := &file_octopus_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -564,7 +1318,7 @@ func (x *Images) String() string { func (*Images) ProtoMessage() {} func (x *Images) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[9] + mi := &file_octopus_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -577,7 +1331,7 @@ func (x *Images) ProtoReflect() protoreflect.Message { // Deprecated: Use Images.ProtoReflect.Descriptor instead. func (*Images) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{9} + return file_octopus_proto_rawDescGZIP(), []int{17} } func (x *Images) GetIsShared() bool { @@ -617,7 +1371,7 @@ type Image struct { func (x *Image) Reset() { *x = Image{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[10] + mi := &file_octopus_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -630,7 +1384,7 @@ func (x *Image) String() string { func (*Image) ProtoMessage() {} func (x *Image) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[10] + mi := &file_octopus_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -643,7 +1397,7 @@ func (x *Image) ProtoReflect() protoreflect.Message { // Deprecated: Use Image.ProtoReflect.Descriptor instead. func (*Image) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{10} + return file_octopus_proto_rawDescGZIP(), []int{18} } func (x *Image) GetId() string { @@ -737,6 +1491,77 @@ func (x *Image) GetImageFullAddr() string { return "" } +type Error struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Subcode int32 `protobuf:"varint,2,opt,name=subcode,proto3" json:"subcode,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + SubMessage string `protobuf:"bytes,4,opt,name=subMessage,proto3" json:"subMessage,omitempty"` +} + +func (x *Error) Reset() { + *x = Error{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Error) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Error) ProtoMessage() {} + +func (x *Error) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 Error.ProtoReflect.Descriptor instead. +func (*Error) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{19} +} + +func (x *Error) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *Error) GetSubcode() int32 { + if x != nil { + return x.Subcode + } + return 0 +} + +func (x *Error) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *Error) GetSubMessage() string { + if x != nil { + return x.SubMessage + } + return "" +} + var File_octopus_proto protoreflect.FileDescriptor var file_octopus_proto_rawDesc = []byte{ @@ -760,83 +1585,228 @@ var file_octopus_proto_rawDesc = []byte{ 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x13, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, - 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, - 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6f, - 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x75, - 0x62, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, - 0x50, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, - 0x75, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x73, 0x22, 0x4a, 0x0a, 0x06, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, - 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, - 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x87, 0x03, - 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, - 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, - 0x65, 0x73, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x20, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, - 0x64, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, - 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x32, 0x97, 0x02, 0x0a, 0x07, 0x4f, 0x63, 0x74, 0x6f, - 0x70, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, - 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x63, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x37, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, - 0x73, 0x2e, 0x67, 0x69, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, - 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x71, - 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x12, 0x39, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x22, 0x6b, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x41, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x61, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x73, 0x52, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x22, 0xd2, + 0x04, 0x0a, 0x0a, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x12, 0x20, 0x0a, + 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, + 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, + 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, + 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, + 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, + 0x72, 0x65, 0x66, 0x61, 0x62, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, + 0x72, 0x65, 0x66, 0x61, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, + 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, + 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0x6a, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, + 0x8d, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, + 0x65, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x09, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0xf3, 0x05, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, + 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, + 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, + 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4a, 0x6f, 0x62, 0x49, + 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x74, 0x61, + 0x73, 0x6b, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x2d, 0x0a, 0x05, + 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2f, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x5d, 0x0a, 0x14, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x06, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, + 0x24, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x87, 0x03, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x22, + 0x6f, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x32, 0xbc, 0x03, 0x0a, 0x07, 0x4f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x77, 0x65, + 0x72, 0x12, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x63, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x1a, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x67, 0x69, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x71, 0x12, 0x55, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, + 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, + 0x0a, 0x5a, 0x08, 0x2f, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -851,38 +1821,58 @@ func file_octopus_proto_rawDescGZIP() []byte { return file_octopus_proto_rawDescData } -var file_octopus_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_octopus_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_octopus_proto_goTypes = []interface{}{ - (*ResourceReq)(nil), // 0: octopus.resourceReq - (*CpResp)(nil), // 1: octopus.cpResp - (*GiResp)(nil), // 2: octopus.giResp - (*CreateDataSetReq)(nil), // 3: octopus.CreateDataSetReq - (*CreateDataSetResq)(nil), // 4: octopus.CreateDataSetResq - (*GetUserImageListReq)(nil), // 5: octopus.GetUserImageListReq - (*GetUserImageListResp)(nil), // 6: octopus.GetUserImageListResp - (*Error)(nil), // 7: octopus.Error - (*Payload)(nil), // 8: octopus.Payload - (*Images)(nil), // 9: octopus.Images - (*Image)(nil), // 10: octopus.Image + (*ResourceReq)(nil), // 0: octopus.resourceReq + (*CpResp)(nil), // 1: octopus.cpResp + (*GiResp)(nil), // 2: octopus.giResp + (*CreateDataSetReq)(nil), // 3: octopus.CreateDataSetReq + (*CreateDataSetResq)(nil), // 4: octopus.CreateDataSetResq + (*GetMyAlgorithmListReq)(nil), // 5: octopus.GetMyAlgorithmListReq + (*GetMyAlgorithmListResp)(nil), // 6: octopus.GetMyAlgorithmListResp + (*PayloadMyAlgorithmList)(nil), // 7: octopus.PayloadMyAlgorithmList + (*Algorithms)(nil), // 8: octopus.Algorithms + (*GetNotebookListReq)(nil), // 9: octopus.GetNotebookListReq + (*GetNotebookListResp)(nil), // 10: octopus.GetNotebookListResp + (*PayloadNotebookList)(nil), // 11: octopus.PayloadNotebookList + (*Notebooks)(nil), // 12: octopus.Notebooks + (*Tasks)(nil), // 13: octopus.Tasks + (*GetUserImageListReq)(nil), // 14: octopus.GetUserImageListReq + (*GetUserImageListResp)(nil), // 15: octopus.GetUserImageListResp + (*PayloadUserImageList)(nil), // 16: octopus.PayloadUserImageList + (*Images)(nil), // 17: octopus.Images + (*Image)(nil), // 18: octopus.Image + (*Error)(nil), // 19: octopus.Error } var file_octopus_proto_depIdxs = []int32{ - 8, // 0: octopus.GetUserImageListResp.payload:type_name -> octopus.Payload - 7, // 1: octopus.GetUserImageListResp.error:type_name -> octopus.Error - 9, // 2: octopus.Payload.images:type_name -> octopus.Images - 10, // 3: octopus.Images.image:type_name -> octopus.Image - 0, // 4: octopus.Octopus.GetComputingPower:input_type -> octopus.resourceReq - 0, // 5: octopus.Octopus.GetGeneralInfo:input_type -> octopus.resourceReq - 3, // 6: octopus.Octopus.CreateDataSet:input_type -> octopus.CreateDataSetReq - 5, // 7: octopus.Octopus.GetUserImageList:input_type -> octopus.GetUserImageListReq - 1, // 8: octopus.Octopus.GetComputingPower:output_type -> octopus.cpResp - 2, // 9: octopus.Octopus.GetGeneralInfo:output_type -> octopus.giResp - 4, // 10: octopus.Octopus.CreateDataSet:output_type -> octopus.CreateDataSetResq - 6, // 11: octopus.Octopus.GetUserImageList:output_type -> octopus.GetUserImageListResp - 8, // [8:12] is the sub-list for method output_type - 4, // [4:8] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 7, // 0: octopus.GetMyAlgorithmListResp.payload:type_name -> octopus.PayloadMyAlgorithmList + 19, // 1: octopus.GetMyAlgorithmListResp.error:type_name -> octopus.Error + 8, // 2: octopus.PayloadMyAlgorithmList.algorithms:type_name -> octopus.Algorithms + 11, // 3: octopus.GetNotebookListResp.payload:type_name -> octopus.PayloadNotebookList + 19, // 4: octopus.GetNotebookListResp.error:type_name -> octopus.Error + 12, // 5: octopus.PayloadNotebookList.notebooks:type_name -> octopus.Notebooks + 13, // 6: octopus.Notebooks.tasks:type_name -> octopus.Tasks + 16, // 7: octopus.GetUserImageListResp.payload:type_name -> octopus.PayloadUserImageList + 19, // 8: octopus.GetUserImageListResp.error:type_name -> octopus.Error + 17, // 9: octopus.PayloadUserImageList.images:type_name -> octopus.Images + 18, // 10: octopus.Images.image:type_name -> octopus.Image + 0, // 11: octopus.Octopus.GetComputingPower:input_type -> octopus.resourceReq + 0, // 12: octopus.Octopus.GetGeneralInfo:input_type -> octopus.resourceReq + 3, // 13: octopus.Octopus.CreateDataSet:input_type -> octopus.CreateDataSetReq + 5, // 14: octopus.Octopus.GetMyAlgorithmList:input_type -> octopus.GetMyAlgorithmListReq + 9, // 15: octopus.Octopus.GetNotebookList:input_type -> octopus.GetNotebookListReq + 14, // 16: octopus.Octopus.GetUserImageList:input_type -> octopus.GetUserImageListReq + 1, // 17: octopus.Octopus.GetComputingPower:output_type -> octopus.cpResp + 2, // 18: octopus.Octopus.GetGeneralInfo:output_type -> octopus.giResp + 4, // 19: octopus.Octopus.CreateDataSet:output_type -> octopus.CreateDataSetResq + 6, // 20: octopus.Octopus.GetMyAlgorithmList:output_type -> octopus.GetMyAlgorithmListResp + 10, // 21: octopus.Octopus.GetNotebookList:output_type -> octopus.GetNotebookListResp + 15, // 22: octopus.Octopus.GetUserImageList:output_type -> octopus.GetUserImageListResp + 17, // [17:23] is the sub-list for method output_type + 11, // [11:17] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_octopus_proto_init() } @@ -952,7 +1942,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserImageListReq); i { + switch v := v.(*GetMyAlgorithmListReq); i { case 0: return &v.state case 1: @@ -964,7 +1954,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserImageListResp); i { + switch v := v.(*GetMyAlgorithmListResp); i { case 0: return &v.state case 1: @@ -976,7 +1966,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Error); i { + switch v := v.(*PayloadMyAlgorithmList); i { case 0: return &v.state case 1: @@ -988,7 +1978,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Payload); i { + switch v := v.(*Algorithms); i { case 0: return &v.state case 1: @@ -1000,7 +1990,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Images); i { + switch v := v.(*GetNotebookListReq); i { case 0: return &v.state case 1: @@ -1012,6 +2002,102 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotebookListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadNotebookList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Notebooks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Tasks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserImageListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserImageListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadUserImageList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Images); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Image); i { case 0: return &v.state @@ -1023,6 +2109,18 @@ func file_octopus_proto_init() { return nil } } + file_octopus_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Error); 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{ @@ -1030,7 +2128,7 @@ func file_octopus_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_octopus_proto_rawDesc, NumEnums: 0, - NumMessages: 11, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go index 9c2a1334..bb19f1e1 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go @@ -25,6 +25,11 @@ type OctopusClient interface { GetComputingPower(ctx context.Context, in *ResourceReq, opts ...grpc.CallOption) (*CpResp, error) GetGeneralInfo(ctx context.Context, in *ResourceReq, opts ...grpc.CallOption) (*GiResp, error) CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResq, error) + // Algorithm + GetMyAlgorithmList(ctx context.Context, in *GetMyAlgorithmListReq, opts ...grpc.CallOption) (*GetMyAlgorithmListResp, error) + // ModelDeployService + // Develop + GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) // ImageService GetUserImageList(ctx context.Context, in *GetUserImageListReq, opts ...grpc.CallOption) (*GetUserImageListResp, error) } @@ -64,6 +69,24 @@ func (c *octopusClient) CreateDataSet(ctx context.Context, in *CreateDataSetReq, return out, nil } +func (c *octopusClient) GetMyAlgorithmList(ctx context.Context, in *GetMyAlgorithmListReq, opts ...grpc.CallOption) (*GetMyAlgorithmListResp, error) { + out := new(GetMyAlgorithmListResp) + err := c.cc.Invoke(ctx, "/octopus.Octopus/GetMyAlgorithmList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) { + out := new(GetNotebookListResp) + err := c.cc.Invoke(ctx, "/octopus.Octopus/GetNotebookList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *octopusClient) GetUserImageList(ctx context.Context, in *GetUserImageListReq, opts ...grpc.CallOption) (*GetUserImageListResp, error) { out := new(GetUserImageListResp) err := c.cc.Invoke(ctx, "/octopus.Octopus/GetUserImageList", in, out, opts...) @@ -80,6 +103,11 @@ type OctopusServer interface { GetComputingPower(context.Context, *ResourceReq) (*CpResp, error) GetGeneralInfo(context.Context, *ResourceReq) (*GiResp, error) CreateDataSet(context.Context, *CreateDataSetReq) (*CreateDataSetResq, error) + // Algorithm + GetMyAlgorithmList(context.Context, *GetMyAlgorithmListReq) (*GetMyAlgorithmListResp, error) + // ModelDeployService + // Develop + GetNotebookList(context.Context, *GetNotebookListReq) (*GetNotebookListResp, error) // ImageService GetUserImageList(context.Context, *GetUserImageListReq) (*GetUserImageListResp, error) mustEmbedUnimplementedOctopusServer() @@ -98,6 +126,12 @@ func (UnimplementedOctopusServer) GetGeneralInfo(context.Context, *ResourceReq) func (UnimplementedOctopusServer) CreateDataSet(context.Context, *CreateDataSetReq) (*CreateDataSetResq, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateDataSet not implemented") } +func (UnimplementedOctopusServer) GetMyAlgorithmList(context.Context, *GetMyAlgorithmListReq) (*GetMyAlgorithmListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMyAlgorithmList not implemented") +} +func (UnimplementedOctopusServer) GetNotebookList(context.Context, *GetNotebookListReq) (*GetNotebookListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotebookList not implemented") +} func (UnimplementedOctopusServer) GetUserImageList(context.Context, *GetUserImageListReq) (*GetUserImageListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserImageList not implemented") } @@ -168,6 +202,42 @@ func _Octopus_CreateDataSet_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Octopus_GetMyAlgorithmList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMyAlgorithmListReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).GetMyAlgorithmList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/octopus.Octopus/GetMyAlgorithmList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).GetMyAlgorithmList(ctx, req.(*GetMyAlgorithmListReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_GetNotebookList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNotebookListReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).GetNotebookList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/octopus.Octopus/GetNotebookList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).GetNotebookList(ctx, req.(*GetNotebookListReq)) + } + return interceptor(ctx, in, info, handler) +} + func _Octopus_GetUserImageList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetUserImageListReq) if err := dec(in); err != nil { @@ -205,6 +275,14 @@ var Octopus_ServiceDesc = grpc.ServiceDesc{ MethodName: "CreateDataSet", Handler: _Octopus_CreateDataSet_Handler, }, + { + MethodName: "GetMyAlgorithmList", + Handler: _Octopus_GetMyAlgorithmList_Handler, + }, + { + MethodName: "GetNotebookList", + Handler: _Octopus_GetNotebookList_Handler, + }, { MethodName: "GetUserImageList", Handler: _Octopus_GetUserImageList_Handler, diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go index 586969a6..c5f8bc67 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go @@ -13,22 +13,35 @@ import ( ) type ( - CpResp = octopus.CpResp - CreateDataSetReq = octopus.CreateDataSetReq - CreateDataSetResq = octopus.CreateDataSetResq - Error = octopus.Error - GetUserImageListReq = octopus.GetUserImageListReq - GetUserImageListResp = octopus.GetUserImageListResp - GiResp = octopus.GiResp - Image = octopus.Image - Images = octopus.Images - Payload = octopus.Payload - ResourceReq = octopus.ResourceReq + Algorithms = octopus.Algorithms + CpResp = octopus.CpResp + CreateDataSetReq = octopus.CreateDataSetReq + CreateDataSetResq = octopus.CreateDataSetResq + Error = octopus.Error + GetMyAlgorithmListReq = octopus.GetMyAlgorithmListReq + GetMyAlgorithmListResp = octopus.GetMyAlgorithmListResp + GetNotebookListReq = octopus.GetNotebookListReq + GetNotebookListResp = octopus.GetNotebookListResp + GetUserImageListReq = octopus.GetUserImageListReq + GetUserImageListResp = octopus.GetUserImageListResp + GiResp = octopus.GiResp + Image = octopus.Image + Images = octopus.Images + Notebooks = octopus.Notebooks + PayloadMyAlgorithmList = octopus.PayloadMyAlgorithmList + PayloadNotebookList = octopus.PayloadNotebookList + PayloadUserImageList = octopus.PayloadUserImageList + ResourceReq = octopus.ResourceReq + Tasks = octopus.Tasks Octopus interface { GetComputingPower(ctx context.Context, in *ResourceReq, opts ...grpc.CallOption) (*CpResp, error) GetGeneralInfo(ctx context.Context, in *ResourceReq, opts ...grpc.CallOption) (*GiResp, error) CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResq, error) + // Algorithm + GetMyAlgorithmList(ctx context.Context, in *GetMyAlgorithmListReq, opts ...grpc.CallOption) (*GetMyAlgorithmListResp, error) + // ModelDeployService + GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) // ImageService GetUserImageList(ctx context.Context, in *GetUserImageListReq, opts ...grpc.CallOption) (*GetUserImageListResp, error) } @@ -59,6 +72,18 @@ func (m *defaultOctopus) CreateDataSet(ctx context.Context, in *CreateDataSetReq return client.CreateDataSet(ctx, in, opts...) } +// Algorithm +func (m *defaultOctopus) GetMyAlgorithmList(ctx context.Context, in *GetMyAlgorithmListReq, opts ...grpc.CallOption) (*GetMyAlgorithmListResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.GetMyAlgorithmList(ctx, in, opts...) +} + +// ModelDeployService +func (m *defaultOctopus) GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.GetNotebookList(ctx, in, opts...) +} + // ImageService func (m *defaultOctopus) GetUserImageList(ctx context.Context, in *GetUserImageListReq, opts ...grpc.CallOption) (*GetUserImageListResp, error) { client := octopus.NewOctopusClient(m.cli.Conn()) diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto index 73707235..1595b9ef 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto @@ -31,6 +31,43 @@ message CreateDataSetResq{ } /******************Algorithm Start*************************/ +message GetMyAlgorithmListReq{ + string platform =1; + int32 pageIndex =2; + int32 pageSize =3; +} + +message GetMyAlgorithmListResp{ + bool success =1; + PayloadMyAlgorithmList payload =2; + Error error = 3; +} + +message PayloadMyAlgorithmList{ + int32 totalSize =1; + repeated Algorithms algorithms = 2; +} + +message Algorithms{ + string algorithmId =1; + string algorithmVersion = 2; + string spaceId = 3; + string spaceName = 4; + string userId = 5; + string userName=6; + string algorithmName=7; + string modelName=8; + int32 fileStatus=9; + int32 latestCompressed=10; + string algorithmDescript=11; + string path=12; + bool isPrefab=13; + int64 createdAt=14; + string applyId=15; + string applyName=16; + string frameworkId=17; + string frameworkName=18; +} /******************Algorithm End*************************/ /******************DatasetService Start*************************/ @@ -40,6 +77,53 @@ message CreateDataSetResq{ /******************ModelDeployService End*************************/ /******************Develop Start*************************/ +message GetNotebookListReq{ + string platform =1; + int32 pageIndex =2; + int32 pageSize =3; +} + +message GetNotebookListResp{ + bool success =1; + PayloadNotebookList payload =2; + Error error = 3; +} + +message PayloadNotebookList{ + int32 totalSize =1; + repeated Notebooks notebooks = 2; +} + +message Notebooks{ + int64 createdAt =1; + int64 updatedAt =2; + string id = 3; + string userId =4; + string workspaceId=5; + string name=6; + string desc=7; + string imageId=8; + string imageName=9; + string algorithmId=10; + string algorithmVersion=11; + string algorithmName=12; + string resourceSpecId=13; + string resourceSpecName=14; + string status=15; + string datasetId=16; + string datasetVersion=17; + string datasetName=18; + int32 resourceSpecPrice=19; + string notebookJobId=20; + string imageVersion=21; + repeated Tasks tasks=22; + string imageUrl=23; +} + +message Tasks{ + string url =1; + string name= 2; +} /******************Develop End*************************/ /******************ImageService Start*************************/ @@ -51,18 +135,11 @@ message GetUserImageListReq{ message GetUserImageListResp{ bool success =1; - Payload payload =2; + PayloadUserImageList payload =2; Error error = 3; } -message Error{ - int32 code =1; - int32 subcode =2; - string message =3; - string subMessage =4; -} - -message Payload{ +message PayloadUserImageList{ int32 totalSize =1; repeated Images images =2; } @@ -96,6 +173,13 @@ message Image{ /******************TrainJobService Start*************************/ /******************TrainJobService End*************************/ +message Error{ + int32 code =1; + int32 subcode =2; + string message =3; + string subMessage =4; +} + service Octopus { @@ -106,11 +190,13 @@ service Octopus { rpc CreateDataSet(CreateDataSetReq) returns (CreateDataSetResq); //Algorithm + rpc GetMyAlgorithmList(GetMyAlgorithmListReq) returns (GetMyAlgorithmListResp); //DatasetService //ModelDeployService //Develop + rpc GetNotebookList(GetNotebookListReq) returns (GetNotebookListResp); //ImageService rpc GetUserImageList(GetUserImageListReq) returns (GetUserImageListResp);