From 951791ea9a08e3642800625ea378ff28b7f2ee14 Mon Sep 17 00:00:00 2001 From: dorlolo <428192774@qq.com> Date: Fri, 3 Mar 2023 09:12:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=94=BB=E5=AE=B6=E6=8C=87?= =?UTF-8?q?=E6=95=B0=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/controller/artistinfo_artshow.go | 81 + cmd/internal/controller/artshowVideo.go | 46 - .../dao/artistinfo_artshow_artistIndex.go | 124 ++ ...artshow.go => artistinfo_artshow_video.go} | 38 +- .../logic/artistinfo_artshowArtistIndex.go | 141 ++ cmd/internal/logic/artistinfo_artshowVideo.go | 27 + cmd/model/artshow_artistIndex.go | 27 + cmd/model/artshow_video.go | 2 +- cmd/model/{ => old}/artwork_ex_exam.go | 6 +- pb/artistinfoArtshow.proto | 85 +- pb/artistinfoArtshow/artistinfoArtshow.pb.go | 1386 ++++++++++++++--- .../artistinfoArtshow.pb.validate.go | 1154 ++++++++++++++ .../artistinfoArtshow_triple.pb.go | 341 +++- pkg/db/init.go | 3 +- 14 files changed, 3190 insertions(+), 271 deletions(-) create mode 100644 cmd/internal/controller/artistinfo_artshow.go delete mode 100644 cmd/internal/controller/artshowVideo.go create mode 100644 cmd/internal/dao/artistinfo_artshow_artistIndex.go rename cmd/internal/dao/{artistinfo_artshow.go => artistinfo_artshow_video.go} (73%) create mode 100644 cmd/internal/logic/artistinfo_artshowArtistIndex.go create mode 100644 cmd/model/artshow_artistIndex.go rename cmd/model/{ => old}/artwork_ex_exam.go (91%) diff --git a/cmd/internal/controller/artistinfo_artshow.go b/cmd/internal/controller/artistinfo_artshow.go new file mode 100644 index 0000000..bc4d99d --- /dev/null +++ b/cmd/internal/controller/artistinfo_artshow.go @@ -0,0 +1,81 @@ +// Package controller ----------------------------- +// @file : artshowVideo.go +// @author : JJXu +// @contact : wavingbear@163.com +// @time : 2023/3/2 10:52 +// ------------------------------------------- +package controller + +import ( + context "context" + "github.com/fonchain/fonchain-artistinfo/cmd/internal/logic" + "github.com/fonchain/fonchain-artistinfo/pb/artistinfoArtshow" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// 画展包视频 +var _ artistinfoArtshow.ArtistInfoArtshowServer = new(ArtistInfoArtshowProvider) + +type ArtistInfoArtshowProvider struct { + artistinfoArtshow.UnimplementedArtistInfoArtshowServer + videoLogic logic.ArtshowVideoLogic + artistIndexLogic logic.ArtshowArtistIndexLogic +} + +// ----------------- 画展包-画家指数 +func (a ArtistInfoArtshowProvider) GetArtistIndexDetail(ctx context.Context, request *artistinfoArtshow.GetArtistIndexDetailRequest) (*artistinfoArtshow.ArtistIndexInfo, error) { + return a.artistIndexLogic.GetArtistIndexDetail(request) +} + +func (a ArtistInfoArtshowProvider) GetArtistIndexList(ctx context.Context, request *artistinfoArtshow.GetArtistIndexListRequest) (*artistinfoArtshow.GetArtistIndexListResponse, error) { + return a.artistIndexLogic.GetArtistIndexList(request) +} + +func (a ArtistInfoArtshowProvider) CreateArtistIndex(ctx context.Context, info *artistinfoArtshow.ArtistIndexInfo) (*emptypb.Empty, error) { + return nil, a.artistIndexLogic.CreateArtistIndex(info) +} + +func (a ArtistInfoArtshowProvider) BatchCreateArtistIndex(ctx context.Context, request *artistinfoArtshow.BatchCreateArtistIndexRequest) (*emptypb.Empty, error) { + return nil, a.artistIndexLogic.BatchCreateArtistIndex(request) +} + +func (a ArtistInfoArtshowProvider) AuditArtistIndex(ctx context.Context, request *artistinfoArtshow.AuditArtistIndexRequest) (*emptypb.Empty, error) { + return a.artistIndexLogic.AuditArtistIndex(request) +} + +func (a ArtistInfoArtshowProvider) UpdateArtistIndex(ctx context.Context, request *artistinfoArtshow.UpdateArtistIndexRequest) (*emptypb.Empty, error) { + return a.artistIndexLogic.UpdateArtistIndex(request) +} + +func (a ArtistInfoArtshowProvider) DeletedArtistIndex(ctx context.Context, request *artistinfoArtshow.DeletedArtistIndexRequest) (*emptypb.Empty, error) { + return a.artistIndexLogic.DeletedArtistIndex(request) +} + +// ----------------- 画展包-视频资料 +func (a ArtistInfoArtshowProvider) GetArtshowVideoDetail(ctx context.Context, request *artistinfoArtshow.GetArtshowVideoDetailRequest) (*artistinfoArtshow.ArtshowVideoInfo, error) { + return a.videoLogic.GetArtshowVideoDetail(request) +} + +func (a ArtistInfoArtshowProvider) BatchCreateArtshowVideo(ctx context.Context, request *artistinfoArtshow.BatchCreateArtshowVideoRequest) (*emptypb.Empty, error) { + return nil, a.videoLogic.BatchCreateArtshowVideo(request) +} + +func (a ArtistInfoArtshowProvider) CreateArtshowVideo(ctx context.Context, info *artistinfoArtshow.ArtshowVideoInfo) (*emptypb.Empty, error) { + return nil, a.videoLogic.CreateArtshowVideo(info) +} + +func (a ArtistInfoArtshowProvider) GetArtshowVideoList(ctx context.Context, requst *artistinfoArtshow.GetArtshowVideoListRequst) (*artistinfoArtshow.GetArtshowVideoListResponse, error) { + return a.videoLogic.GetArtshowVideoList(requst) +} + +func (a ArtistInfoArtshowProvider) AuditArtshowVideo(ctx context.Context, request *artistinfoArtshow.AuditArtshowVideoRequest) (*emptypb.Empty, error) { + return a.videoLogic.AuditArtshowVideo(request) +} + +func (a ArtistInfoArtshowProvider) UpdateArtshowVideo(ctx context.Context, request *artistinfoArtshow.UpdateArtshowVideoRequest) (*emptypb.Empty, error) { + return a.videoLogic.UpdateArtshowVideo(request) +} + +func (a ArtistInfoArtshowProvider) DeletedArtshowVideo(ctx context.Context, request *artistinfoArtshow.DeletedArtshowVideoRequest) (*emptypb.Empty, error) { + return a.videoLogic.DeletedArtshowVideo(request) +} diff --git a/cmd/internal/controller/artshowVideo.go b/cmd/internal/controller/artshowVideo.go deleted file mode 100644 index 6030520..0000000 --- a/cmd/internal/controller/artshowVideo.go +++ /dev/null @@ -1,46 +0,0 @@ -// Package controller ----------------------------- -// @file : artshowVideo.go -// @author : JJXu -// @contact : wavingbear@163.com -// @time : 2023/3/2 10:52 -// ------------------------------------------- -package controller - -import ( - context "context" - "github.com/fonchain/fonchain-artistinfo/cmd/internal/logic" - "github.com/fonchain/fonchain-artistinfo/pb/artistinfoArtshow" - emptypb "google.golang.org/protobuf/types/known/emptypb" -) - -// 画展包视频 -var _ artistinfoArtshow.ArtistInfoArtshowServer = new(ArtistInfoArtshowProvider) - -type ArtistInfoArtshowProvider struct { - artistinfoArtshow.UnimplementedArtistInfoArtshowServer - logic logic.ArtshowVideoLogic -} - -func (a ArtistInfoArtshowProvider) BatchCreateArtshowVideo(ctx context.Context, request *artistinfoArtshow.BatchCreateArtshowVideoRequest) (*emptypb.Empty, error) { - return nil, a.logic.BatchCreateArtshowVideo(request) -} - -func (a ArtistInfoArtshowProvider) CreateArtshowVideo(ctx context.Context, info *artistinfoArtshow.ArtshowVideoInfo) (*emptypb.Empty, error) { - return nil, a.logic.CreateArtshowVideo(info) -} - -func (a ArtistInfoArtshowProvider) GetArtshowVideoList(ctx context.Context, requst *artistinfoArtshow.GetArtshowVideoListRequst) (*artistinfoArtshow.GetArtshowVideoListResponse, error) { - return a.logic.GetArtshowVideoList(requst) -} - -func (a ArtistInfoArtshowProvider) AuditArtshowVideo(ctx context.Context, request *artistinfoArtshow.AuditArtshowVideoRequest) (*emptypb.Empty, error) { - return a.logic.AuditArtshowVideo(request) -} - -func (a ArtistInfoArtshowProvider) UpdateArtshowVideo(ctx context.Context, request *artistinfoArtshow.UpdateArtshowVideoRequest) (*emptypb.Empty, error) { - return a.logic.UpdateArtshowVideo(request) -} - -func (a ArtistInfoArtshowProvider) DeletedArtshowVideo(ctx context.Context, request *artistinfoArtshow.DeletedArtshowVideoRequest) (*emptypb.Empty, error) { - return a.logic.DeletedArtshowVideo(request) -} diff --git a/cmd/internal/dao/artistinfo_artshow_artistIndex.go b/cmd/internal/dao/artistinfo_artshow_artistIndex.go new file mode 100644 index 0000000..2861c63 --- /dev/null +++ b/cmd/internal/dao/artistinfo_artshow_artistIndex.go @@ -0,0 +1,124 @@ +// Package dao ----------------------------- +// @file : artistinfo_artshow_artistIndex.go +// @author : JJXu +// @contact : wavingbear@163.com +// @time : 2023/3/3 0:20 +// ------------------------------------------- +package dao + +import ( + "errors" + "fmt" + "github.com/fonchain/fonchain-artistinfo/cmd/model" + "github.com/fonchain/fonchain-artistinfo/pb/artistinfoArtshow" + db "github.com/fonchain/fonchain-artistinfo/pkg/db" + "gorm.io/gorm" +) + +var ArtistinfoArtshowArtistIndex = new(artistinfoArtshowArtistIndex) + +type artistinfoArtshowArtistIndex struct{} + +func (a artistinfoArtshowArtistIndex) BatchCreateData(datas []model.ArtshowArtistIndex) error { + //return db.DB.Create(&datas).Error + tx := db.DB.Begin() + for _, v := range datas { + err := a.CreateData(&v, tx) + if err != nil { + return err + } + } + tx.Commit() + return nil +} +func (a artistinfoArtshowArtistIndex) CreateData(data *model.ArtshowArtistIndex, tx ...*gorm.DB) error { + var txdb *gorm.DB + if tx != nil { + txdb = tx[0] + } else { + txdb = db.DB + } + var exist = model.ArtshowArtistIndex{} + db.DB.Where("artist_uid = ? AND status = 2 AND class= ?", data.ArtistUid, data.Class).Find(&exist) + if exist.ID != 0 { + return errors.New(fmt.Sprintf("主题[%s]已存在", data.Title)) + } + return txdb.Create(&data).Error +} + +func (a artistinfoArtshowArtistIndex) UpdateData(data *model.ArtshowArtistIndex) error { + return db.DB.Updates(&data).Error + +} + +func (a artistinfoArtshowArtistIndex) DeletedData(id ...int64) (err error) { + if len(id) == 1 { + err = db.DB.Where("id = ?", id[0]).Delete(&model.ArtshowArtistIndex{}).Error + } else if len(id) > 0 { + err = db.DB.Where("id = ?", id).Delete(&model.ArtshowArtistIndex{}).Error + } + return err +} + +func (a artistinfoArtshowArtistIndex) GetData(id int64) (data *model.ArtshowArtistIndex, err error) { + err = db.DB.Where("id = ?", id).First(data).Error + return +} + +func (a artistinfoArtshowArtistIndex) GetDataList(req *artistinfoArtshow.GetArtistIndexListRequest) (datas []model.ArtshowArtistIndex, total int64, err error) { + datas = []model.ArtshowArtistIndex{} + var tx = db.DB.Model(model.ArtshowArtistIndex{}) + if req.ArtistUid != "" { + tx = tx.Where("artist_uid = ?", req.ArtistUid) + } + if req.LockTime != "" { + tx = tx.Where("lock_time = ?", req.LockTime) + } + if req.Status != 0 { + tx = tx.Where("status = ?", req.Status) + } + if req.AuditStatus != 0 { + tx = tx.Where("audit_status = ?", req.AuditStatus) + } + //if req.AuditMark1 != "" { + // tx = tx.Where("audit_mark1 = ?", req.AuditMark1) + //} + //if req.AuditMark2 != "" { + // tx = tx.Where("audit_mark2 = ?", req.AuditMark2) + //} + err = tx.Count(&total).Scopes(db.Pagination(req.Page, req.PageSize)).Find(&datas).Error + return +} +func (a artistinfoArtshowArtistIndex) Audit(auditStatus model.AuditStatus, mark1, mark2 string, ids ...int64) (err error) { + tx := db.DB.Begin() + err = tx.Model(model.ArtshowArtistIndex{}).Where("id in ?", ids).Update("audit_status", auditStatus).Error + if err != nil { + return err + } + err = tx.Model(model.ArtshowArtistIndex{}).Where("id in ?", ids).Update("audit_mark1", mark1).Error + if err != nil { + return err + } + err = tx.Model(model.ArtshowArtistIndex{}).Where("id in ?", ids).Update("audit_mark2", mark2).Error + if err != nil { + return err + } + tx.Commit() + return +} + +func (a artistinfoArtshowArtistIndex) GetArtshowVideoDetail(in *artistinfoArtshow.GetArtshowVideoDetailRequest) (rep model.ArtshowArtistIndex, err error) { + var tx = db.DB.Model(model.ArtshowArtistIndex{}) + if in.ArtistUid != "" { + tx = tx.Where("artist_uid =?", in.ArtistUid) + } + if in.LockTime != "" { + tx = tx.Where("lock_time", in.LockTime) + } + if in.Status != 0 { + tx = tx.Where("status", in.Status) + } + var data model.ArtshowArtistIndex + err = tx.First(&data).Error + return +} diff --git a/cmd/internal/dao/artistinfo_artshow.go b/cmd/internal/dao/artistinfo_artshow_video.go similarity index 73% rename from cmd/internal/dao/artistinfo_artshow.go rename to cmd/internal/dao/artistinfo_artshow_video.go index 4c49849..2c571be 100644 --- a/cmd/internal/dao/artistinfo_artshow.go +++ b/cmd/internal/dao/artistinfo_artshow_video.go @@ -47,7 +47,7 @@ func (a artistinfoArtshowVideo) CreateData(data *model.ArtshowRecord, tx ...*gor } func (a artistinfoArtshowVideo) UpdateData(data *model.ArtshowRecord) error { - return db.DB.Create(&data).Error + return db.DB.Updates(&data).Error } @@ -98,9 +98,35 @@ func (a artistinfoArtshowVideo) GetDataList(req *artistinfoArtshow.GetArtshowVid err = tx.Count(&total).Scopes(db.Pagination(req.Page, req.PageSize)).Find(&datas).Error return } -func (a artistinfoArtshowVideo) Audit(auditStatus model.AuditStatus, mark1, mark2 string, ids ...int64) error { - return db.DB.Model(model.ArtshowRecord{}).Where("id in ?", ids). - Update("audit_status", auditStatus). - Update("audit_mark1", mark1). - Update("audit_mark2", mark2).Error +func (a artistinfoArtshowVideo) Audit(auditStatus model.AuditStatus, mark1, mark2 string, ids ...int64) (err error) { + tx := db.DB.Begin() + err = tx.Model(model.ArtshowRecord{}).Where("id in ?", ids).Update("audit_status", auditStatus).Error + if err != nil { + return err + } + err = tx.Model(model.ArtshowRecord{}).Where("id in ?", ids).Update("audit_mark1", mark1).Error + if err != nil { + return err + } + err = tx.Model(model.ArtshowRecord{}).Where("id in ?", ids).Update("audit_mark2", mark2).Error + if err != nil { + return err + } + tx.Commit() + return +} +func (a artistinfoArtshowVideo) GetArtshowVideoDetail(in *artistinfoArtshow.GetArtshowVideoDetailRequest) (rep model.ArtshowRecord, err error) { + var tx = db.DB.Model(model.ArtshowRecord{}) + if in.ArtistUid != "" { + tx = tx.Where("artist_uid =?", in.ArtistUid) + } + if in.LockTime != "" { + tx = tx.Where("lock_time", in.LockTime) + } + if in.Status != 0 { + tx = tx.Where("status", in.Status) + } + var data model.ArtshowRecord + err = tx.First(&data).Error + return } diff --git a/cmd/internal/logic/artistinfo_artshowArtistIndex.go b/cmd/internal/logic/artistinfo_artshowArtistIndex.go new file mode 100644 index 0000000..2ecec96 --- /dev/null +++ b/cmd/internal/logic/artistinfo_artshowArtistIndex.go @@ -0,0 +1,141 @@ +// Package logic ----------------------------- +// @file : artistinfo_artshowVideo.go +// @author : JJXu +// @contact : wavingbear@163.com +// @time : 2023/3/2 11:51 +// ------------------------------------------- +package logic + +import ( + "errors" + "fmt" + "github.com/fonchain/fonchain-artistinfo/cmd/internal/dao" + "github.com/fonchain/fonchain-artistinfo/cmd/model" + "github.com/fonchain/fonchain-artistinfo/pb/artistInfoUser" + "github.com/fonchain/fonchain-artistinfo/pb/artistinfoArtshow" + "google.golang.org/protobuf/types/known/emptypb" + "gorm.io/gorm" +) + +type ArtshowArtistIndexLogic struct{} + +func (a ArtshowArtistIndexLogic) BatchCreateArtistIndex(request *artistinfoArtshow.BatchCreateArtistIndexRequest) error { + var datas = []model.ArtshowArtistIndex{} + for _, v := range request.ArtistUids { + userInfo, err := NewArtistInfo().FindUser(&artistInfoUser.FindUserRequest{ + MgmtArtistUid: v, + IsArtist: true, + }) + if err != nil { + return err + } + if userInfo.Id == 0 { + return errors.New(fmt.Sprintf("用户%s不存在", v)) + } + datas = append(datas, + model.ArtshowArtistIndex{LockTime: userInfo.LatestLockTime, ArtistUid: v, Class: "exhibition", Title: "艺术家-展览", Types: "2", Status: 2}, + model.ArtshowArtistIndex{LockTime: userInfo.LatestLockTime, ArtistUid: v, Class: "seniority", Title: "艺术家-资历", Types: "1", Status: 2}, + model.ArtshowArtistIndex{LockTime: userInfo.LatestLockTime, ArtistUid: v, Class: "specialized", Title: "艺术家-专业", Types: "1", Status: 2}, + model.ArtshowArtistIndex{LockTime: userInfo.LatestLockTime, ArtistUid: v, Class: "Influence", Title: "艺术家-影响力", Types: "1", Status: 2}, + model.ArtshowArtistIndex{LockTime: userInfo.LatestLockTime, ArtistUid: v, Class: "collect", Title: "艺术家-收藏", Types: "1", Status: 2}, + ) + } + return dao.ArtistinfoArtshowArtistIndex.BatchCreateData(datas) +} + +func (a ArtshowArtistIndexLogic) CreateArtistIndex(request *artistinfoArtshow.ArtistIndexInfo) error { + return dao.ArtistinfoArtshowArtistIndex.CreateData(&model.ArtshowArtistIndex{ + LockTime: request.LockTime, + ArtistUid: request.ArtistUid, + Class: request.Class, + Title: request.Title, + Types: request.Types, + Status: 2, + }) +} +func (a ArtshowArtistIndexLogic) GetArtistIndexDetail(request *artistinfoArtshow.GetArtistIndexDetailRequest) (rep *artistinfoArtshow.ArtistIndexInfo, err error) { + data, err := dao.ArtistinfoArtshowArtistIndex.GetData(request.Id) + if err != nil { + if gorm.ErrRecordNotFound == err { + err = errors.New("找不到数据") + } + return nil, err + } + rep = &artistinfoArtshow.ArtistIndexInfo{ + ArtistUid: data.ArtistUid, + Title: data.Title, + Class: data.Class, + TitleScore: data.TitleScore, + Score: data.Score, + Types: data.Types, + Status: data.Status, + LockTime: data.LockTime, + AuditMark1: data.AuditMark1, + AuditMark2: data.AuditMark2, + AuditStatus: int64(data.AuditStatus), + Id: data.ID, + CreatedAt: data.CreatedAt.Unix(), + UpdatedAt: data.UpdatedAt.Unix(), + DeletedAt: int64(data.DeletedAt), + } + return nil, nil +} + +func (a ArtshowArtistIndexLogic) GetArtistIndexList(request *artistinfoArtshow.GetArtistIndexListRequest) (res *artistinfoArtshow.GetArtistIndexListResponse, err error) { + res = &artistinfoArtshow.GetArtistIndexListResponse{} + datas, total, err := dao.ArtistinfoArtshowArtistIndex.GetDataList(request) + if err != nil { + return nil, err + } + res.Page = &artistinfoArtshow.VideoPagination{ + Page: request.Page, + PageSize: request.PageSize, + Total: total, + } + for _, v := range datas { + res.Data = append(res.Data, &artistinfoArtshow.ArtistIndexInfo{ + ArtistUid: v.ArtistUid, + Title: v.Title, + Class: v.Class, + TitleScore: v.TitleScore, + Score: v.Score, + Types: v.Types, + Status: v.Status, + LockTime: v.LockTime, + AuditMark1: v.AuditMark1, + AuditMark2: v.AuditMark2, + AuditStatus: int64(v.AuditStatus), + Id: v.ID, + CreatedAt: v.CreatedAt.Unix(), + UpdatedAt: v.UpdatedAt.Unix(), + DeletedAt: int64(v.DeletedAt), + }) + } + return +} + +func (a ArtshowArtistIndexLogic) AuditArtistIndex(request *artistinfoArtshow.AuditArtistIndexRequest) (*emptypb.Empty, error) { + err := dao.ArtistinfoArtshowArtistIndex.Audit(model.AuditStatus(request.AuditStatus), request.AuditMark1, request.AuditMark2, request.ArtistIndexIds...) + return nil, err +} + +func (a ArtshowArtistIndexLogic) UpdateArtistIndex(request *artistinfoArtshow.UpdateArtistIndexRequest) (*emptypb.Empty, error) { + err := dao.ArtistinfoArtshowArtistIndex.UpdateData(&model.ArtshowArtistIndex{ + Model: model.Model{ID: request.Id}, + TitleScore: request.TitleScore, + Score: request.Score, + AuditStatus: model.AuditType_Pending, + }) + return nil, err +} + +func (a ArtshowArtistIndexLogic) DeletedArtistIndex(request *artistinfoArtshow.DeletedArtistIndexRequest) (*emptypb.Empty, error) { + var ids = []int64{} + if request.Id != 0 { + ids = append(ids, request.Id) + } else if len(request.Ids) > 0 { + ids = append(ids, request.Ids...) + } + err := dao.ArtistinfoArtshowArtistIndex.DeletedData(ids...) + return nil, err +} diff --git a/cmd/internal/logic/artistinfo_artshowVideo.go b/cmd/internal/logic/artistinfo_artshowVideo.go index 18415b0..cdc8db0 100644 --- a/cmd/internal/logic/artistinfo_artshowVideo.go +++ b/cmd/internal/logic/artistinfo_artshowVideo.go @@ -7,10 +7,12 @@ package logic import ( + "errors" "github.com/fonchain/fonchain-artistinfo/cmd/internal/dao" "github.com/fonchain/fonchain-artistinfo/cmd/model" "github.com/fonchain/fonchain-artistinfo/pb/artistinfoArtshow" "google.golang.org/protobuf/types/known/emptypb" + "gorm.io/gorm" ) type ArtshowVideoLogic struct{} @@ -43,6 +45,31 @@ func (a ArtshowVideoLogic) CreateArtshowVideo(request *artistinfoArtshow.Artshow Status: request.Status, }) } +func (a ArtshowVideoLogic) GetArtshowVideoDetail(request *artistinfoArtshow.GetArtshowVideoDetailRequest) (rep *artistinfoArtshow.ArtshowVideoInfo, err error) { + data, err := dao.ArtistinfoArtshowVideo.GetArtshowVideoDetail(request) + if err != nil { + if gorm.ErrRecordNotFound == err { + err = errors.New("找不到数据") + } + return nil, err + } + rep = &artistinfoArtshow.ArtshowVideoInfo{ + Id: data.ID, + ArtistUid: data.ArtistUid, + LockTime: data.LockTime, + VideoUrl: data.VideoUrl, + AuditStatus: int64(data.AuditStatus), + AuditMark1: data.AuditMark1, + AuditMark2: data.AuditMark2, + CreatedAt: data.CreatedAt.Unix(), + UpdatedAt: data.UpdatedAt.Unix(), + DeletedAt: int64(data.DeletedAt), + ArtistName: data.ArtistName, + Status: data.Status, + } + return nil, nil +} + func (a ArtshowVideoLogic) GetArtshowVideoList(request *artistinfoArtshow.GetArtshowVideoListRequst) (res *artistinfoArtshow.GetArtshowVideoListResponse, err error) { res = &artistinfoArtshow.GetArtshowVideoListResponse{} datas, total, err := dao.ArtistinfoArtshowVideo.GetDataList(request) diff --git a/cmd/model/artshow_artistIndex.go b/cmd/model/artshow_artistIndex.go new file mode 100644 index 0000000..abf787c --- /dev/null +++ b/cmd/model/artshow_artistIndex.go @@ -0,0 +1,27 @@ +// Package model ----------------------------- +// @file : artshow_artistIndex.go +// @author : JJXu +// @contact : wavingbear@163.com +// @time : 2023/3/2 23:11 +// ------------------------------------------- +package model + +// 画家指数 +type ArtshowArtistIndex struct { + Model + ArtistUid string `gorm:"column:artist_uid;comment:画家uid" json:"artistUid"` + Title string `gorm:"column:title;comment:" json:"title"` //艺术家-展览(exhibition) 、 艺术家-资历(seniority) 、艺术家-专业(specialized) 、艺术家-影响力(Influence)、艺术家-收藏(collect) + Class string `gorm:"column:class;comment:指数类别" json:"class"` //exhibition 、seniority 、specialized 、Influence 、collect + TitleScore int64 `gorm:"column:title_score;comment:总分" json:"titleScore"` + Score string `gorm:"column:score;comment:前端定义的分数列表" json:"score"` // + Types string `gorm:"column:types;comment:" json:"types"` + Status int64 `json:"status" gorm:"column:status;default:2;comment:2=锁定 3=解锁"` //跟随用户的锁定和解锁状态,用于控制数据的展示 + LockTime string `json:"lockTime" gorm:"column:lock_time;comment:锁定时间"` + AuditStatus AuditStatus `json:"auditStatus" gorm:"column:audit_status;default:5;comment:审核状态:2= 待审核,3= 审核失败,4= 审核通过,5= 待补充"` + AuditMark1 string `json:"auditMark1" gorm:"column:audit_mark1;comment:审核备注1"` + AuditMark2 string `json:"auditMark2" gorm:"column:audit_mark2;comment:审核备注2"` +} + +func (a ArtshowArtistIndex) TableName() string { + return "artshow_artist_index" +} diff --git a/cmd/model/artshow_video.go b/cmd/model/artshow_video.go index fef6829..ae8d99c 100644 --- a/cmd/model/artshow_video.go +++ b/cmd/model/artshow_video.go @@ -10,7 +10,7 @@ type ArtshowRecord struct { Model //通过这两个字段弱关联 artwork_lock_record表中对应的画作 ArtistUid string `json:"artistUid" gorm:"column:artist_uid;comment:"` - Status int64 `json:"status" gorm:"column:status;default:1;comment:2=锁定 3=解锁"` //跟随用户的锁定和解锁状态,用于控制数据的展示 + Status int64 `json:"status" gorm:"column:status;default:2;comment:2=锁定 3=解锁"` //跟随用户的锁定和解锁状态,用于控制数据的展示 LockTime string `json:"lockTime" gorm:"column:lock_time;comment:"` //AccountId int64 `json:"accountId" gorm:"column:account_id;comment:"` diff --git a/cmd/model/artwork_ex_exam.go b/cmd/model/old/artwork_ex_exam.go similarity index 91% rename from cmd/model/artwork_ex_exam.go rename to cmd/model/old/artwork_ex_exam.go index f6afada..799aa4c 100644 --- a/cmd/model/artwork_ex_exam.go +++ b/cmd/model/old/artwork_ex_exam.go @@ -1,8 +1,10 @@ -package model +package old + +import "github.com/fonchain/fonchain-artistinfo/cmd/model" // 画家指数 type ArtworkExExam struct { - Model + model.Model UserId uint `gorm:"column:user_id;default:0;comment:账号id" json:"userId"` ArtistUid string `json:"artistUid" gorm:"column:artist_uid;comment:"` Title string `gorm:"column:title;type:varchar(64);default:''" json:"title"` diff --git a/pb/artistinfoArtshow.proto b/pb/artistinfoArtshow.proto index b61fff0..d0a2710 100644 --- a/pb/artistinfoArtshow.proto +++ b/pb/artistinfoArtshow.proto @@ -9,15 +9,30 @@ import "google/protobuf/empty.proto"; //使用 google.protobuf.Empty // protoc -I . -I ./pb --proto_path=. --go_out=./pb/artistinfoArtshow --go-triple_out=./pb/artistinfoArtshow --validate_out="lang=go:./pb/artistinfoArtshow" ./pb/artistinfoArtshow.proto service ArtistInfoArtshow { //画展视频 + rpc GetArtshowVideoDetail(GetArtshowVideoDetailRequest)returns(ArtshowVideoInfo){} //获取视频详情 rpc GetArtshowVideoList(GetArtshowVideoListRequst)returns(GetArtshowVideoListResponse){}//获取画展视频列表 rpc CreateArtshowVideo(ArtshowVideoInfo)returns(google.protobuf.Empty){} rpc BatchCreateArtshowVideo(BatchCreateArtshowVideoRequest)returns(google.protobuf.Empty){} rpc AuditArtshowVideo(AuditArtshowVideoRequest)returns(google.protobuf.Empty){} //审批画展视频 rpc UpdateArtshowVideo(UpdateArtshowVideoRequest)returns(google.protobuf.Empty){} //更新或创建画展视频 rpc DeletedArtshowVideo(DeletedArtshowVideoRequest)returns(google.protobuf.Empty){} //删除画展视频 - rpc CheckeExists(CheckeExistsRequest)returns(google.protobuf.Empty){} //删除画展视频 +// rpc CheckeExists(CheckeExistsRequest)returns(google.protobuf.Empty){} //删除画展视频 +// rpc GetArtistListOfVideo(ArtistListRequest)returns(){}//获取后台画家指数审批的画家列表 + + //画家指数 + rpc GetArtistIndexDetail(GetArtistIndexDetailRequest)returns(ArtistIndexInfo){} //获取视频详情 + rpc GetArtistIndexList(GetArtistIndexListRequest)returns(GetArtistIndexListResponse){}//获取画展视频列表 + rpc CreateArtistIndex(ArtistIndexInfo)returns(google.protobuf.Empty){} + rpc BatchCreateArtistIndex(BatchCreateArtistIndexRequest)returns(google.protobuf.Empty){} + rpc AuditArtistIndex(AuditArtistIndexRequest)returns(google.protobuf.Empty){} //审批画展视频 + rpc UpdateArtistIndex(UpdateArtistIndexRequest)returns(google.protobuf.Empty){} //更新或创建画展视频 + rpc DeletedArtistIndex(DeletedArtistIndexRequest)returns(google.protobuf.Empty){} //删除画展视频 +// rpc GetArtistListOfArtistIndex(ArtistListRequest)returns(){}//获取后台画家指数审批的画家列表 + +} +message ArtistListRequest{ + string artistName =1; } - message videoPagination{ int64 page =1; int64 pageSize=2; @@ -80,4 +95,68 @@ message BatchCreateArtshowVideoRequest{ message CheckeExistsRequest{ string artistUid =1; string lockTime =2; -} \ No newline at end of file +} + +message GetArtshowVideoDetailRequest{ + string artistUid=1; + string lockTime=2; + int32 status=3; +} + +//-------------------画家指数请求参数 +message ArtistIndexInfo{ + string artistUid=1; + string title=2; + string class=3; + int64 titleScore=4; + string score=5; + string types=6; + int64 status=7; + string lockTime=8; + string auditMark1=9; + string auditMark2=10; + int64 auditStatus=11; + int64 id=12; + int64 createdAt=13; + int64 updatedAt=14; + int64 deletedAt=15; +} +message GetArtistIndexListResponse{ + repeated ArtistIndexInfo Data=1; + videoPagination page=2; +} + message GetArtistIndexDetailRequest{ + int64 id =1; + } + message GetArtistIndexListRequest{ + string artistUid =1; + string artistName =3; + string lockTime=4; + int64 auditStatus=5; + int64 status=6; //锁定状态 2=锁定 3=解锁 + int64 page=7; + int64 pageSize=8; + } + + message BatchCreateArtistIndexRequest{ + repeated string artistUids =1; +// string lockTime=2; + } + message AuditArtistIndexRequest{ + repeated int64 artistIndexIds =1; + int64 auditStatus =5; + string auditMark1 =6; + string auditMark2 =7; + + } + message UpdateArtistIndexRequest{ + int64 id=12; + int64 titleScore=4; + string score=5; + int64 status=7; + } + + message DeletedArtistIndexRequest{ + int64 Id=1; //单个删除 + repeated int64 Ids =2; //批量删除 + } \ No newline at end of file diff --git a/pb/artistinfoArtshow/artistinfoArtshow.pb.go b/pb/artistinfoArtshow/artistinfoArtshow.pb.go index 6ff6fc6..bcf3c29 100644 --- a/pb/artistinfoArtshow/artistinfoArtshow.pb.go +++ b/pb/artistinfoArtshow/artistinfoArtshow.pb.go @@ -26,6 +26,53 @@ const ( type Timestamp = timestamppb.Timestamp +type ArtistListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName,omitempty"` +} + +func (x *ArtistListRequest) Reset() { + *x = ArtistListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistListRequest) ProtoMessage() {} + +func (x *ArtistListRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_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 ArtistListRequest.ProtoReflect.Descriptor instead. +func (*ArtistListRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{0} +} + +func (x *ArtistListRequest) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + type VideoPagination struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -39,7 +86,7 @@ type VideoPagination struct { func (x *VideoPagination) Reset() { *x = VideoPagination{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[0] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52,7 +99,7 @@ func (x *VideoPagination) String() string { func (*VideoPagination) ProtoMessage() {} func (x *VideoPagination) ProtoReflect() protoreflect.Message { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[0] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65,7 +112,7 @@ func (x *VideoPagination) ProtoReflect() protoreflect.Message { // Deprecated: Use VideoPagination.ProtoReflect.Descriptor instead. func (*VideoPagination) Descriptor() ([]byte, []int) { - return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{0} + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{1} } func (x *VideoPagination) GetPage() int64 { @@ -106,7 +153,7 @@ type GetArtshowVideoListRequst struct { func (x *GetArtshowVideoListRequst) Reset() { *x = GetArtshowVideoListRequst{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[1] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119,7 +166,7 @@ func (x *GetArtshowVideoListRequst) String() string { func (*GetArtshowVideoListRequst) ProtoMessage() {} func (x *GetArtshowVideoListRequst) ProtoReflect() protoreflect.Message { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[1] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -132,7 +179,7 @@ func (x *GetArtshowVideoListRequst) ProtoReflect() protoreflect.Message { // Deprecated: Use GetArtshowVideoListRequst.ProtoReflect.Descriptor instead. func (*GetArtshowVideoListRequst) Descriptor() ([]byte, []int) { - return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{1} + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{2} } func (x *GetArtshowVideoListRequst) GetPage() int64 { @@ -206,7 +253,7 @@ type ArtshowVideoInfo struct { func (x *ArtshowVideoInfo) Reset() { *x = ArtshowVideoInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[2] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -219,7 +266,7 @@ func (x *ArtshowVideoInfo) String() string { func (*ArtshowVideoInfo) ProtoMessage() {} func (x *ArtshowVideoInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[2] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -232,7 +279,7 @@ func (x *ArtshowVideoInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtshowVideoInfo.ProtoReflect.Descriptor instead. func (*ArtshowVideoInfo) Descriptor() ([]byte, []int) { - return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{2} + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{3} } func (x *ArtshowVideoInfo) GetId() int64 { @@ -331,7 +378,7 @@ type GetArtshowVideoListResponse struct { func (x *GetArtshowVideoListResponse) Reset() { *x = GetArtshowVideoListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[3] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -344,7 +391,7 @@ func (x *GetArtshowVideoListResponse) String() string { func (*GetArtshowVideoListResponse) ProtoMessage() {} func (x *GetArtshowVideoListResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[3] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -357,7 +404,7 @@ func (x *GetArtshowVideoListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetArtshowVideoListResponse.ProtoReflect.Descriptor instead. func (*GetArtshowVideoListResponse) Descriptor() ([]byte, []int) { - return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{3} + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{4} } func (x *GetArtshowVideoListResponse) GetData() []*ArtshowVideoInfo { @@ -388,7 +435,7 @@ type AuditArtshowVideoRequest struct { func (x *AuditArtshowVideoRequest) Reset() { *x = AuditArtshowVideoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[4] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -401,7 +448,7 @@ func (x *AuditArtshowVideoRequest) String() string { func (*AuditArtshowVideoRequest) ProtoMessage() {} func (x *AuditArtshowVideoRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[4] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -414,7 +461,7 @@ func (x *AuditArtshowVideoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AuditArtshowVideoRequest.ProtoReflect.Descriptor instead. func (*AuditArtshowVideoRequest) Descriptor() ([]byte, []int) { - return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{4} + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{5} } func (x *AuditArtshowVideoRequest) GetArtshowVideoIds() []int64 { @@ -464,7 +511,7 @@ type UpdateArtshowVideoRequest struct { func (x *UpdateArtshowVideoRequest) Reset() { *x = UpdateArtshowVideoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[5] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -477,7 +524,7 @@ func (x *UpdateArtshowVideoRequest) String() string { func (*UpdateArtshowVideoRequest) ProtoMessage() {} func (x *UpdateArtshowVideoRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[5] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -490,7 +537,7 @@ func (x *UpdateArtshowVideoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateArtshowVideoRequest.ProtoReflect.Descriptor instead. func (*UpdateArtshowVideoRequest) Descriptor() ([]byte, []int) { - return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{5} + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{6} } func (x *UpdateArtshowVideoRequest) GetId() int64 { @@ -568,7 +615,7 @@ type DeletedArtshowVideoRequest struct { func (x *DeletedArtshowVideoRequest) Reset() { *x = DeletedArtshowVideoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[6] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -581,7 +628,7 @@ func (x *DeletedArtshowVideoRequest) String() string { func (*DeletedArtshowVideoRequest) ProtoMessage() {} func (x *DeletedArtshowVideoRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[6] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -594,7 +641,7 @@ func (x *DeletedArtshowVideoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeletedArtshowVideoRequest.ProtoReflect.Descriptor instead. func (*DeletedArtshowVideoRequest) Descriptor() ([]byte, []int) { - return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{6} + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{7} } func (x *DeletedArtshowVideoRequest) GetId() int64 { @@ -622,7 +669,7 @@ type BatchCreateArtshowVideoRequest struct { func (x *BatchCreateArtshowVideoRequest) Reset() { *x = BatchCreateArtshowVideoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[7] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -635,7 +682,7 @@ func (x *BatchCreateArtshowVideoRequest) String() string { func (*BatchCreateArtshowVideoRequest) ProtoMessage() {} func (x *BatchCreateArtshowVideoRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[7] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -648,7 +695,7 @@ func (x *BatchCreateArtshowVideoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchCreateArtshowVideoRequest.ProtoReflect.Descriptor instead. func (*BatchCreateArtshowVideoRequest) Descriptor() ([]byte, []int) { - return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{7} + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{8} } func (x *BatchCreateArtshowVideoRequest) GetData() []*ArtshowVideoInfo { @@ -670,7 +717,7 @@ type CheckeExistsRequest struct { func (x *CheckeExistsRequest) Reset() { *x = CheckeExistsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[8] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -683,7 +730,7 @@ func (x *CheckeExistsRequest) String() string { func (*CheckeExistsRequest) ProtoMessage() {} func (x *CheckeExistsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artistinfoArtshow_proto_msgTypes[8] + mi := &file_pb_artistinfoArtshow_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -696,7 +743,7 @@ func (x *CheckeExistsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CheckeExistsRequest.ProtoReflect.Descriptor instead. func (*CheckeExistsRequest) Descriptor() ([]byte, []int) { - return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{8} + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{9} } func (x *CheckeExistsRequest) GetArtistUid() string { @@ -713,6 +760,670 @@ func (x *CheckeExistsRequest) GetLockTime() string { return "" } +type GetArtshowVideoDetailRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + LockTime string `protobuf:"bytes,2,opt,name=lockTime,proto3" json:"lockTime,omitempty"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *GetArtshowVideoDetailRequest) Reset() { + *x = GetArtshowVideoDetailRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtshowVideoDetailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtshowVideoDetailRequest) ProtoMessage() {} + +func (x *GetArtshowVideoDetailRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_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 GetArtshowVideoDetailRequest.ProtoReflect.Descriptor instead. +func (*GetArtshowVideoDetailRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{10} +} + +func (x *GetArtshowVideoDetailRequest) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *GetArtshowVideoDetailRequest) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *GetArtshowVideoDetailRequest) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +// -------------------画家指数请求参数 +type ArtistIndexInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + Class string `protobuf:"bytes,3,opt,name=class,proto3" json:"class,omitempty"` + TitleScore int64 `protobuf:"varint,4,opt,name=titleScore,proto3" json:"titleScore,omitempty"` + Score string `protobuf:"bytes,5,opt,name=score,proto3" json:"score,omitempty"` + Types string `protobuf:"bytes,6,opt,name=types,proto3" json:"types,omitempty"` + Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` + LockTime string `protobuf:"bytes,8,opt,name=lockTime,proto3" json:"lockTime,omitempty"` + AuditMark1 string `protobuf:"bytes,9,opt,name=auditMark1,proto3" json:"auditMark1,omitempty"` + AuditMark2 string `protobuf:"bytes,10,opt,name=auditMark2,proto3" json:"auditMark2,omitempty"` + AuditStatus int64 `protobuf:"varint,11,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` + Id int64 `protobuf:"varint,12,opt,name=id,proto3" json:"id,omitempty"` + CreatedAt int64 `protobuf:"varint,13,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt int64 `protobuf:"varint,14,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + DeletedAt int64 `protobuf:"varint,15,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` +} + +func (x *ArtistIndexInfo) Reset() { + *x = ArtistIndexInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistIndexInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistIndexInfo) ProtoMessage() {} + +func (x *ArtistIndexInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_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 ArtistIndexInfo.ProtoReflect.Descriptor instead. +func (*ArtistIndexInfo) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{11} +} + +func (x *ArtistIndexInfo) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *ArtistIndexInfo) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ArtistIndexInfo) GetClass() string { + if x != nil { + return x.Class + } + return "" +} + +func (x *ArtistIndexInfo) GetTitleScore() int64 { + if x != nil { + return x.TitleScore + } + return 0 +} + +func (x *ArtistIndexInfo) GetScore() string { + if x != nil { + return x.Score + } + return "" +} + +func (x *ArtistIndexInfo) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +func (x *ArtistIndexInfo) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *ArtistIndexInfo) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *ArtistIndexInfo) GetAuditMark1() string { + if x != nil { + return x.AuditMark1 + } + return "" +} + +func (x *ArtistIndexInfo) GetAuditMark2() string { + if x != nil { + return x.AuditMark2 + } + return "" +} + +func (x *ArtistIndexInfo) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *ArtistIndexInfo) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ArtistIndexInfo) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ArtistIndexInfo) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ArtistIndexInfo) GetDeletedAt() int64 { + if x != nil { + return x.DeletedAt + } + return 0 +} + +type GetArtistIndexListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*ArtistIndexInfo `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` + Page *VideoPagination `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"` +} + +func (x *GetArtistIndexListResponse) Reset() { + *x = GetArtistIndexListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtistIndexListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistIndexListResponse) ProtoMessage() {} + +func (x *GetArtistIndexListResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_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 GetArtistIndexListResponse.ProtoReflect.Descriptor instead. +func (*GetArtistIndexListResponse) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{12} +} + +func (x *GetArtistIndexListResponse) GetData() []*ArtistIndexInfo { + if x != nil { + return x.Data + } + return nil +} + +func (x *GetArtistIndexListResponse) GetPage() *VideoPagination { + if x != nil { + return x.Page + } + return nil +} + +type GetArtistIndexDetailRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *GetArtistIndexDetailRequest) Reset() { + *x = GetArtistIndexDetailRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtistIndexDetailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistIndexDetailRequest) ProtoMessage() {} + +func (x *GetArtistIndexDetailRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_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 GetArtistIndexDetailRequest.ProtoReflect.Descriptor instead. +func (*GetArtistIndexDetailRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{13} +} + +func (x *GetArtistIndexDetailRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +type GetArtistIndexListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName,omitempty"` + LockTime string `protobuf:"bytes,4,opt,name=lockTime,proto3" json:"lockTime,omitempty"` + AuditStatus int64 `protobuf:"varint,5,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` + Status int64 `protobuf:"varint,6,opt,name=status,proto3" json:"status,omitempty"` //锁定状态 2=锁定 3=解锁 + Page int64 `protobuf:"varint,7,opt,name=page,proto3" json:"page,omitempty"` + PageSize int64 `protobuf:"varint,8,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *GetArtistIndexListRequest) Reset() { + *x = GetArtistIndexListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtistIndexListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistIndexListRequest) ProtoMessage() {} + +func (x *GetArtistIndexListRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_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 GetArtistIndexListRequest.ProtoReflect.Descriptor instead. +func (*GetArtistIndexListRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{14} +} + +func (x *GetArtistIndexListRequest) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *GetArtistIndexListRequest) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *GetArtistIndexListRequest) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *GetArtistIndexListRequest) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *GetArtistIndexListRequest) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *GetArtistIndexListRequest) GetPage() int64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetArtistIndexListRequest) GetPageSize() int64 { + if x != nil { + return x.PageSize + } + return 0 +} + +type BatchCreateArtistIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUids []string `protobuf:"bytes,1,rep,name=artistUids,proto3" json:"artistUids,omitempty"` // string lockTime=2; +} + +func (x *BatchCreateArtistIndexRequest) Reset() { + *x = BatchCreateArtistIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateArtistIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateArtistIndexRequest) ProtoMessage() {} + +func (x *BatchCreateArtistIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_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 BatchCreateArtistIndexRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateArtistIndexRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{15} +} + +func (x *BatchCreateArtistIndexRequest) GetArtistUids() []string { + if x != nil { + return x.ArtistUids + } + return nil +} + +type AuditArtistIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistIndexIds []int64 `protobuf:"varint,1,rep,packed,name=artistIndexIds,proto3" json:"artistIndexIds,omitempty"` + AuditStatus int64 `protobuf:"varint,5,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` + AuditMark1 string `protobuf:"bytes,6,opt,name=auditMark1,proto3" json:"auditMark1,omitempty"` + AuditMark2 string `protobuf:"bytes,7,opt,name=auditMark2,proto3" json:"auditMark2,omitempty"` +} + +func (x *AuditArtistIndexRequest) Reset() { + *x = AuditArtistIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuditArtistIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuditArtistIndexRequest) ProtoMessage() {} + +func (x *AuditArtistIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_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 AuditArtistIndexRequest.ProtoReflect.Descriptor instead. +func (*AuditArtistIndexRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{16} +} + +func (x *AuditArtistIndexRequest) GetArtistIndexIds() []int64 { + if x != nil { + return x.ArtistIndexIds + } + return nil +} + +func (x *AuditArtistIndexRequest) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *AuditArtistIndexRequest) GetAuditMark1() string { + if x != nil { + return x.AuditMark1 + } + return "" +} + +func (x *AuditArtistIndexRequest) GetAuditMark2() string { + if x != nil { + return x.AuditMark2 + } + return "" +} + +type UpdateArtistIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,12,opt,name=id,proto3" json:"id,omitempty"` + TitleScore int64 `protobuf:"varint,4,opt,name=titleScore,proto3" json:"titleScore,omitempty"` + Score string `protobuf:"bytes,5,opt,name=score,proto3" json:"score,omitempty"` + Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *UpdateArtistIndexRequest) Reset() { + *x = UpdateArtistIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateArtistIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateArtistIndexRequest) ProtoMessage() {} + +func (x *UpdateArtistIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_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 UpdateArtistIndexRequest.ProtoReflect.Descriptor instead. +func (*UpdateArtistIndexRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{17} +} + +func (x *UpdateArtistIndexRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UpdateArtistIndexRequest) GetTitleScore() int64 { + if x != nil { + return x.TitleScore + } + return 0 +} + +func (x *UpdateArtistIndexRequest) GetScore() string { + if x != nil { + return x.Score + } + return "" +} + +func (x *UpdateArtistIndexRequest) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +type DeletedArtistIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` //单个删除 + Ids []int64 `protobuf:"varint,2,rep,packed,name=Ids,proto3" json:"Ids,omitempty"` //批量删除 +} + +func (x *DeletedArtistIndexRequest) Reset() { + *x = DeletedArtistIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletedArtistIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletedArtistIndexRequest) ProtoMessage() {} + +func (x *DeletedArtistIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_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 DeletedArtistIndexRequest.ProtoReflect.Descriptor instead. +func (*DeletedArtistIndexRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{18} +} + +func (x *DeletedArtistIndexRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *DeletedArtistIndexRequest) GetIds() []int64 { + if x != nil { + return x.Ids + } + return nil +} + var File_pb_artistinfoArtshow_proto protoreflect.FileDescriptor var file_pb_artistinfoArtshow_proto_rawDesc = []byte{ @@ -722,142 +1433,271 @@ var file_pb_artistinfoArtshow_proto_rawDesc = []byte{ 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x0f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, - 0xdf, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, - 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, - 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0xec, 0x02, 0x0a, 0x10, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, - 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x12, 0x1e, - 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 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, 0x1c, 0x0a, 0x09, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0x80, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x73, - 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x76, 0x69, - 0x64, 0x65, 0x6f, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x18, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, - 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0f, 0x61, 0x72, 0x74, 0x73, 0x68, - 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, - 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, - 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x12, 0x1e, 0x0a, 0x0a, - 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x22, 0x9b, 0x02, 0x0a, - 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, - 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x57, 0x0a, 0x0f, 0x76, + 0x69, 0x64, 0x65, 0x6f, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xdf, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, + 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xec, 0x02, 0x0a, 0x10, 0x41, 0x72, 0x74, 0x73, 0x68, + 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, + 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, + 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, + 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, + 0x72, 0x6b, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, + 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, + 0x72, 0x6b, 0x32, 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, + 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, + 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x18, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0f, + 0x61, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x64, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, + 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, + 0x32, 0x22, 0x9b, 0x02, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, + 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x3e, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, + 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, + 0x03, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x49, 0x64, 0x73, 0x22, + 0x52, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, + 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, + 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x4f, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, - 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, - 0x6b, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, - 0x6b, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x3e, 0x0a, 0x1a, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x49, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x49, 0x64, 0x73, 0x22, 0x52, 0x0a, 0x1e, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x72, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, + 0x54, 0x69, 0x6d, 0x65, 0x22, 0x70, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, + 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, + 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xa7, 0x03, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 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, 0x14, + 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, + 0x6b, 0x31, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, + 0x61, 0x72, 0x6b, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, + 0x6b, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, + 0x61, 0x72, 0x6b, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x0d, 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, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x22, 0x7e, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, + 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x2f, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x22, 0x2d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, + 0xdf, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x22, 0x3f, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, + 0x64, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, + 0x0a, 0x0e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x22, 0x78, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x3d, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, + 0x10, 0x0a, 0x03, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x49, 0x64, + 0x73, 0x32, 0x84, 0x0a, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x12, 0x61, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4f, - 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x55, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x32, - 0xfb, 0x04, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x72, - 0x74, 0x73, 0x68, 0x6f, 0x77, 0x12, 0x67, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, - 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, - 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, - 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, - 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x17, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, - 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x2a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x53, 0x0a, - 0x11, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, + 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, + 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0x00, 0x12, 0x5f, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x2a, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, - 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, - 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x00, 0x12, 0x53, 0x0a, 0x11, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, + 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, + 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x25, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x57, + 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, + 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, + 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, + 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x16, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x29, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x13, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x16, 0x5a, - 0x14, 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x41, 0x72, - 0x74, 0x73, 0x68, 0x6f, 0x77, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x11, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0x00, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x16, 0x5a, 0x14, 0x2e, 0x2f, 0x3b, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, + 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -872,42 +1712,68 @@ func file_pb_artistinfoArtshow_proto_rawDescGZIP() []byte { return file_pb_artistinfoArtshow_proto_rawDescData } -var file_pb_artistinfoArtshow_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_pb_artistinfoArtshow_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_pb_artistinfoArtshow_proto_goTypes = []interface{}{ - (*VideoPagination)(nil), // 0: artistinfo.videoPagination - (*GetArtshowVideoListRequst)(nil), // 1: artistinfo.GetArtshowVideoListRequst - (*ArtshowVideoInfo)(nil), // 2: artistinfo.ArtshowVideoInfo - (*GetArtshowVideoListResponse)(nil), // 3: artistinfo.GetArtshowVideoListResponse - (*AuditArtshowVideoRequest)(nil), // 4: artistinfo.AuditArtshowVideoRequest - (*UpdateArtshowVideoRequest)(nil), // 5: artistinfo.UpdateArtshowVideoRequest - (*DeletedArtshowVideoRequest)(nil), // 6: artistinfo.DeletedArtshowVideoRequest - (*BatchCreateArtshowVideoRequest)(nil), // 7: artistinfo.BatchCreateArtshowVideoRequest - (*CheckeExistsRequest)(nil), // 8: artistinfo.CheckeExistsRequest - (*emptypb.Empty)(nil), // 9: google.protobuf.Empty + (*ArtistListRequest)(nil), // 0: artistinfo.ArtistListRequest + (*VideoPagination)(nil), // 1: artistinfo.videoPagination + (*GetArtshowVideoListRequst)(nil), // 2: artistinfo.GetArtshowVideoListRequst + (*ArtshowVideoInfo)(nil), // 3: artistinfo.ArtshowVideoInfo + (*GetArtshowVideoListResponse)(nil), // 4: artistinfo.GetArtshowVideoListResponse + (*AuditArtshowVideoRequest)(nil), // 5: artistinfo.AuditArtshowVideoRequest + (*UpdateArtshowVideoRequest)(nil), // 6: artistinfo.UpdateArtshowVideoRequest + (*DeletedArtshowVideoRequest)(nil), // 7: artistinfo.DeletedArtshowVideoRequest + (*BatchCreateArtshowVideoRequest)(nil), // 8: artistinfo.BatchCreateArtshowVideoRequest + (*CheckeExistsRequest)(nil), // 9: artistinfo.CheckeExistsRequest + (*GetArtshowVideoDetailRequest)(nil), // 10: artistinfo.GetArtshowVideoDetailRequest + (*ArtistIndexInfo)(nil), // 11: artistinfo.ArtistIndexInfo + (*GetArtistIndexListResponse)(nil), // 12: artistinfo.GetArtistIndexListResponse + (*GetArtistIndexDetailRequest)(nil), // 13: artistinfo.GetArtistIndexDetailRequest + (*GetArtistIndexListRequest)(nil), // 14: artistinfo.GetArtistIndexListRequest + (*BatchCreateArtistIndexRequest)(nil), // 15: artistinfo.BatchCreateArtistIndexRequest + (*AuditArtistIndexRequest)(nil), // 16: artistinfo.AuditArtistIndexRequest + (*UpdateArtistIndexRequest)(nil), // 17: artistinfo.UpdateArtistIndexRequest + (*DeletedArtistIndexRequest)(nil), // 18: artistinfo.DeletedArtistIndexRequest + (*emptypb.Empty)(nil), // 19: google.protobuf.Empty } var file_pb_artistinfoArtshow_proto_depIdxs = []int32{ - 2, // 0: artistinfo.GetArtshowVideoListResponse.data:type_name -> artistinfo.ArtshowVideoInfo - 0, // 1: artistinfo.GetArtshowVideoListResponse.page:type_name -> artistinfo.videoPagination - 2, // 2: artistinfo.BatchCreateArtshowVideoRequest.data:type_name -> artistinfo.ArtshowVideoInfo - 1, // 3: artistinfo.ArtistInfoArtshow.GetArtshowVideoList:input_type -> artistinfo.GetArtshowVideoListRequst - 2, // 4: artistinfo.ArtistInfoArtshow.CreateArtshowVideo:input_type -> artistinfo.ArtshowVideoInfo - 7, // 5: artistinfo.ArtistInfoArtshow.BatchCreateArtshowVideo:input_type -> artistinfo.BatchCreateArtshowVideoRequest - 4, // 6: artistinfo.ArtistInfoArtshow.AuditArtshowVideo:input_type -> artistinfo.AuditArtshowVideoRequest - 5, // 7: artistinfo.ArtistInfoArtshow.UpdateArtshowVideo:input_type -> artistinfo.UpdateArtshowVideoRequest - 6, // 8: artistinfo.ArtistInfoArtshow.DeletedArtshowVideo:input_type -> artistinfo.DeletedArtshowVideoRequest - 8, // 9: artistinfo.ArtistInfoArtshow.CheckeExists:input_type -> artistinfo.CheckeExistsRequest - 3, // 10: artistinfo.ArtistInfoArtshow.GetArtshowVideoList:output_type -> artistinfo.GetArtshowVideoListResponse - 9, // 11: artistinfo.ArtistInfoArtshow.CreateArtshowVideo:output_type -> google.protobuf.Empty - 9, // 12: artistinfo.ArtistInfoArtshow.BatchCreateArtshowVideo:output_type -> google.protobuf.Empty - 9, // 13: artistinfo.ArtistInfoArtshow.AuditArtshowVideo:output_type -> google.protobuf.Empty - 9, // 14: artistinfo.ArtistInfoArtshow.UpdateArtshowVideo:output_type -> google.protobuf.Empty - 9, // 15: artistinfo.ArtistInfoArtshow.DeletedArtshowVideo:output_type -> google.protobuf.Empty - 9, // 16: artistinfo.ArtistInfoArtshow.CheckeExists:output_type -> google.protobuf.Empty - 10, // [10:17] is the sub-list for method output_type - 3, // [3:10] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name + 3, // 0: artistinfo.GetArtshowVideoListResponse.data:type_name -> artistinfo.ArtshowVideoInfo + 1, // 1: artistinfo.GetArtshowVideoListResponse.page:type_name -> artistinfo.videoPagination + 3, // 2: artistinfo.BatchCreateArtshowVideoRequest.data:type_name -> artistinfo.ArtshowVideoInfo + 11, // 3: artistinfo.GetArtistIndexListResponse.Data:type_name -> artistinfo.ArtistIndexInfo + 1, // 4: artistinfo.GetArtistIndexListResponse.page:type_name -> artistinfo.videoPagination + 10, // 5: artistinfo.ArtistInfoArtshow.GetArtshowVideoDetail:input_type -> artistinfo.GetArtshowVideoDetailRequest + 2, // 6: artistinfo.ArtistInfoArtshow.GetArtshowVideoList:input_type -> artistinfo.GetArtshowVideoListRequst + 3, // 7: artistinfo.ArtistInfoArtshow.CreateArtshowVideo:input_type -> artistinfo.ArtshowVideoInfo + 8, // 8: artistinfo.ArtistInfoArtshow.BatchCreateArtshowVideo:input_type -> artistinfo.BatchCreateArtshowVideoRequest + 5, // 9: artistinfo.ArtistInfoArtshow.AuditArtshowVideo:input_type -> artistinfo.AuditArtshowVideoRequest + 6, // 10: artistinfo.ArtistInfoArtshow.UpdateArtshowVideo:input_type -> artistinfo.UpdateArtshowVideoRequest + 7, // 11: artistinfo.ArtistInfoArtshow.DeletedArtshowVideo:input_type -> artistinfo.DeletedArtshowVideoRequest + 13, // 12: artistinfo.ArtistInfoArtshow.GetArtistIndexDetail:input_type -> artistinfo.GetArtistIndexDetailRequest + 14, // 13: artistinfo.ArtistInfoArtshow.GetArtistIndexList:input_type -> artistinfo.GetArtistIndexListRequest + 11, // 14: artistinfo.ArtistInfoArtshow.CreateArtistIndex:input_type -> artistinfo.ArtistIndexInfo + 15, // 15: artistinfo.ArtistInfoArtshow.BatchCreateArtistIndex:input_type -> artistinfo.BatchCreateArtistIndexRequest + 16, // 16: artistinfo.ArtistInfoArtshow.AuditArtistIndex:input_type -> artistinfo.AuditArtistIndexRequest + 17, // 17: artistinfo.ArtistInfoArtshow.UpdateArtistIndex:input_type -> artistinfo.UpdateArtistIndexRequest + 18, // 18: artistinfo.ArtistInfoArtshow.DeletedArtistIndex:input_type -> artistinfo.DeletedArtistIndexRequest + 3, // 19: artistinfo.ArtistInfoArtshow.GetArtshowVideoDetail:output_type -> artistinfo.ArtshowVideoInfo + 4, // 20: artistinfo.ArtistInfoArtshow.GetArtshowVideoList:output_type -> artistinfo.GetArtshowVideoListResponse + 19, // 21: artistinfo.ArtistInfoArtshow.CreateArtshowVideo:output_type -> google.protobuf.Empty + 19, // 22: artistinfo.ArtistInfoArtshow.BatchCreateArtshowVideo:output_type -> google.protobuf.Empty + 19, // 23: artistinfo.ArtistInfoArtshow.AuditArtshowVideo:output_type -> google.protobuf.Empty + 19, // 24: artistinfo.ArtistInfoArtshow.UpdateArtshowVideo:output_type -> google.protobuf.Empty + 19, // 25: artistinfo.ArtistInfoArtshow.DeletedArtshowVideo:output_type -> google.protobuf.Empty + 11, // 26: artistinfo.ArtistInfoArtshow.GetArtistIndexDetail:output_type -> artistinfo.ArtistIndexInfo + 12, // 27: artistinfo.ArtistInfoArtshow.GetArtistIndexList:output_type -> artistinfo.GetArtistIndexListResponse + 19, // 28: artistinfo.ArtistInfoArtshow.CreateArtistIndex:output_type -> google.protobuf.Empty + 19, // 29: artistinfo.ArtistInfoArtshow.BatchCreateArtistIndex:output_type -> google.protobuf.Empty + 19, // 30: artistinfo.ArtistInfoArtshow.AuditArtistIndex:output_type -> google.protobuf.Empty + 19, // 31: artistinfo.ArtistInfoArtshow.UpdateArtistIndex:output_type -> google.protobuf.Empty + 19, // 32: artistinfo.ArtistInfoArtshow.DeletedArtistIndex:output_type -> google.protobuf.Empty + 19, // [19:33] is the sub-list for method output_type + 5, // [5:19] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_pb_artistinfoArtshow_proto_init() } @@ -917,7 +1783,7 @@ func file_pb_artistinfoArtshow_proto_init() { } if !protoimpl.UnsafeEnabled { file_pb_artistinfoArtshow_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VideoPagination); i { + switch v := v.(*ArtistListRequest); i { case 0: return &v.state case 1: @@ -929,7 +1795,7 @@ func file_pb_artistinfoArtshow_proto_init() { } } file_pb_artistinfoArtshow_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetArtshowVideoListRequst); i { + switch v := v.(*VideoPagination); i { case 0: return &v.state case 1: @@ -941,7 +1807,7 @@ func file_pb_artistinfoArtshow_proto_init() { } } file_pb_artistinfoArtshow_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtshowVideoInfo); i { + switch v := v.(*GetArtshowVideoListRequst); i { case 0: return &v.state case 1: @@ -953,7 +1819,7 @@ func file_pb_artistinfoArtshow_proto_init() { } } file_pb_artistinfoArtshow_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetArtshowVideoListResponse); i { + switch v := v.(*ArtshowVideoInfo); i { case 0: return &v.state case 1: @@ -965,7 +1831,7 @@ func file_pb_artistinfoArtshow_proto_init() { } } file_pb_artistinfoArtshow_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuditArtshowVideoRequest); i { + switch v := v.(*GetArtshowVideoListResponse); i { case 0: return &v.state case 1: @@ -977,7 +1843,7 @@ func file_pb_artistinfoArtshow_proto_init() { } } file_pb_artistinfoArtshow_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateArtshowVideoRequest); i { + switch v := v.(*AuditArtshowVideoRequest); i { case 0: return &v.state case 1: @@ -989,7 +1855,7 @@ func file_pb_artistinfoArtshow_proto_init() { } } file_pb_artistinfoArtshow_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeletedArtshowVideoRequest); i { + switch v := v.(*UpdateArtshowVideoRequest); i { case 0: return &v.state case 1: @@ -1001,7 +1867,7 @@ func file_pb_artistinfoArtshow_proto_init() { } } file_pb_artistinfoArtshow_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchCreateArtshowVideoRequest); i { + switch v := v.(*DeletedArtshowVideoRequest); i { case 0: return &v.state case 1: @@ -1013,6 +1879,18 @@ func file_pb_artistinfoArtshow_proto_init() { } } file_pb_artistinfoArtshow_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateArtshowVideoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckeExistsRequest); i { case 0: return &v.state @@ -1024,6 +1902,114 @@ func file_pb_artistinfoArtshow_proto_init() { return nil } } + file_pb_artistinfoArtshow_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtshowVideoDetailRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtistIndexInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtistIndexListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtistIndexDetailRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtistIndexListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateArtistIndexRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuditArtistIndexRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateArtistIndexRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletedArtistIndexRequest); 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{ @@ -1031,7 +2017,7 @@ func file_pb_artistinfoArtshow_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_artistinfoArtshow_proto_rawDesc, NumEnums: 0, - NumMessages: 9, + NumMessages: 19, NumExtensions: 0, NumServices: 1, }, diff --git a/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go b/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go index c9f64be..cf843f2 100644 --- a/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go +++ b/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go @@ -35,6 +35,110 @@ var ( _ = sort.Sort ) +// Validate checks the field values on ArtistListRequest with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *ArtistListRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistListRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ArtistListRequestMultiError, or nil if none found. +func (m *ArtistListRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistListRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistName + + if len(errors) > 0 { + return ArtistListRequestMultiError(errors) + } + + return nil +} + +// ArtistListRequestMultiError is an error wrapping multiple validation errors +// returned by ArtistListRequest.ValidateAll() if the designated constraints +// aren't met. +type ArtistListRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistListRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistListRequestMultiError) AllErrors() []error { return m } + +// ArtistListRequestValidationError is the validation error returned by +// ArtistListRequest.Validate if the designated constraints aren't met. +type ArtistListRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistListRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistListRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistListRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistListRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistListRequestValidationError) ErrorName() string { + return "ArtistListRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistListRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sArtistListRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistListRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistListRequestValidationError{} + // Validate checks the field values on VideoPagination with the rules defined // in the proto definition for this message. If any rules are violated, the // first error encountered is returned, or nil if there are no violations. @@ -1121,3 +1225,1053 @@ var _ interface { Cause() error ErrorName() string } = CheckeExistsRequestValidationError{} + +// Validate checks the field values on GetArtshowVideoDetailRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GetArtshowVideoDetailRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtshowVideoDetailRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// GetArtshowVideoDetailRequestMultiError, or nil if none found. +func (m *GetArtshowVideoDetailRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtshowVideoDetailRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUid + + // no validation rules for LockTime + + // no validation rules for Status + + if len(errors) > 0 { + return GetArtshowVideoDetailRequestMultiError(errors) + } + + return nil +} + +// GetArtshowVideoDetailRequestMultiError is an error wrapping multiple +// validation errors returned by GetArtshowVideoDetailRequest.ValidateAll() if +// the designated constraints aren't met. +type GetArtshowVideoDetailRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtshowVideoDetailRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtshowVideoDetailRequestMultiError) AllErrors() []error { return m } + +// GetArtshowVideoDetailRequestValidationError is the validation error returned +// by GetArtshowVideoDetailRequest.Validate if the designated constraints +// aren't met. +type GetArtshowVideoDetailRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtshowVideoDetailRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtshowVideoDetailRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtshowVideoDetailRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtshowVideoDetailRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtshowVideoDetailRequestValidationError) ErrorName() string { + return "GetArtshowVideoDetailRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtshowVideoDetailRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGetArtshowVideoDetailRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtshowVideoDetailRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtshowVideoDetailRequestValidationError{} + +// Validate checks the field values on ArtistIndexInfo with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *ArtistIndexInfo) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistIndexInfo with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ArtistIndexInfoMultiError, or nil if none found. +func (m *ArtistIndexInfo) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistIndexInfo) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUid + + // no validation rules for Title + + // no validation rules for Class + + // no validation rules for TitleScore + + // no validation rules for Score + + // no validation rules for Types + + // no validation rules for Status + + // no validation rules for LockTime + + // no validation rules for AuditMark1 + + // no validation rules for AuditMark2 + + // no validation rules for AuditStatus + + // no validation rules for Id + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + // no validation rules for DeletedAt + + if len(errors) > 0 { + return ArtistIndexInfoMultiError(errors) + } + + return nil +} + +// ArtistIndexInfoMultiError is an error wrapping multiple validation errors +// returned by ArtistIndexInfo.ValidateAll() if the designated constraints +// aren't met. +type ArtistIndexInfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistIndexInfoMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistIndexInfoMultiError) AllErrors() []error { return m } + +// ArtistIndexInfoValidationError is the validation error returned by +// ArtistIndexInfo.Validate if the designated constraints aren't met. +type ArtistIndexInfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistIndexInfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistIndexInfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistIndexInfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistIndexInfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistIndexInfoValidationError) ErrorName() string { return "ArtistIndexInfoValidationError" } + +// Error satisfies the builtin error interface +func (e ArtistIndexInfoValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sArtistIndexInfo.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistIndexInfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistIndexInfoValidationError{} + +// Validate checks the field values on GetArtistIndexListResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GetArtistIndexListResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtistIndexListResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// GetArtistIndexListResponseMultiError, or nil if none found. +func (m *GetArtistIndexListResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtistIndexListResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetData() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetArtistIndexListResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetArtistIndexListResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetArtistIndexListResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if all { + switch v := interface{}(m.GetPage()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetArtistIndexListResponseValidationError{ + field: "Page", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetArtistIndexListResponseValidationError{ + field: "Page", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetPage()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetArtistIndexListResponseValidationError{ + field: "Page", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return GetArtistIndexListResponseMultiError(errors) + } + + return nil +} + +// GetArtistIndexListResponseMultiError is an error wrapping multiple +// validation errors returned by GetArtistIndexListResponse.ValidateAll() if +// the designated constraints aren't met. +type GetArtistIndexListResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtistIndexListResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtistIndexListResponseMultiError) AllErrors() []error { return m } + +// GetArtistIndexListResponseValidationError is the validation error returned +// by GetArtistIndexListResponse.Validate if the designated constraints aren't met. +type GetArtistIndexListResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtistIndexListResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtistIndexListResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtistIndexListResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtistIndexListResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtistIndexListResponseValidationError) ErrorName() string { + return "GetArtistIndexListResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtistIndexListResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGetArtistIndexListResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtistIndexListResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtistIndexListResponseValidationError{} + +// Validate checks the field values on GetArtistIndexDetailRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GetArtistIndexDetailRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtistIndexDetailRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// GetArtistIndexDetailRequestMultiError, or nil if none found. +func (m *GetArtistIndexDetailRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtistIndexDetailRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Id + + if len(errors) > 0 { + return GetArtistIndexDetailRequestMultiError(errors) + } + + return nil +} + +// GetArtistIndexDetailRequestMultiError is an error wrapping multiple +// validation errors returned by GetArtistIndexDetailRequest.ValidateAll() if +// the designated constraints aren't met. +type GetArtistIndexDetailRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtistIndexDetailRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtistIndexDetailRequestMultiError) AllErrors() []error { return m } + +// GetArtistIndexDetailRequestValidationError is the validation error returned +// by GetArtistIndexDetailRequest.Validate if the designated constraints +// aren't met. +type GetArtistIndexDetailRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtistIndexDetailRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtistIndexDetailRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtistIndexDetailRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtistIndexDetailRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtistIndexDetailRequestValidationError) ErrorName() string { + return "GetArtistIndexDetailRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtistIndexDetailRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGetArtistIndexDetailRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtistIndexDetailRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtistIndexDetailRequestValidationError{} + +// Validate checks the field values on GetArtistIndexListRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GetArtistIndexListRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtistIndexListRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// GetArtistIndexListRequestMultiError, or nil if none found. +func (m *GetArtistIndexListRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtistIndexListRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUid + + // no validation rules for ArtistName + + // no validation rules for LockTime + + // no validation rules for AuditStatus + + // no validation rules for Status + + // no validation rules for Page + + // no validation rules for PageSize + + if len(errors) > 0 { + return GetArtistIndexListRequestMultiError(errors) + } + + return nil +} + +// GetArtistIndexListRequestMultiError is an error wrapping multiple validation +// errors returned by GetArtistIndexListRequest.ValidateAll() if the +// designated constraints aren't met. +type GetArtistIndexListRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtistIndexListRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtistIndexListRequestMultiError) AllErrors() []error { return m } + +// GetArtistIndexListRequestValidationError is the validation error returned by +// GetArtistIndexListRequest.Validate if the designated constraints aren't met. +type GetArtistIndexListRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtistIndexListRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtistIndexListRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtistIndexListRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtistIndexListRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtistIndexListRequestValidationError) ErrorName() string { + return "GetArtistIndexListRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtistIndexListRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGetArtistIndexListRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtistIndexListRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtistIndexListRequestValidationError{} + +// Validate checks the field values on BatchCreateArtistIndexRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *BatchCreateArtistIndexRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on BatchCreateArtistIndexRequest with +// the rules defined in the proto definition for this message. If any rules +// are violated, the result is a list of violation errors wrapped in +// BatchCreateArtistIndexRequestMultiError, or nil if none found. +func (m *BatchCreateArtistIndexRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *BatchCreateArtistIndexRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return BatchCreateArtistIndexRequestMultiError(errors) + } + + return nil +} + +// BatchCreateArtistIndexRequestMultiError is an error wrapping multiple +// validation errors returned by BatchCreateArtistIndexRequest.ValidateAll() +// if the designated constraints aren't met. +type BatchCreateArtistIndexRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m BatchCreateArtistIndexRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m BatchCreateArtistIndexRequestMultiError) AllErrors() []error { return m } + +// BatchCreateArtistIndexRequestValidationError is the validation error +// returned by BatchCreateArtistIndexRequest.Validate if the designated +// constraints aren't met. +type BatchCreateArtistIndexRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e BatchCreateArtistIndexRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e BatchCreateArtistIndexRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e BatchCreateArtistIndexRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e BatchCreateArtistIndexRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e BatchCreateArtistIndexRequestValidationError) ErrorName() string { + return "BatchCreateArtistIndexRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e BatchCreateArtistIndexRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sBatchCreateArtistIndexRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = BatchCreateArtistIndexRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = BatchCreateArtistIndexRequestValidationError{} + +// Validate checks the field values on AuditArtistIndexRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *AuditArtistIndexRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on AuditArtistIndexRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// AuditArtistIndexRequestMultiError, or nil if none found. +func (m *AuditArtistIndexRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *AuditArtistIndexRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for AuditStatus + + // no validation rules for AuditMark1 + + // no validation rules for AuditMark2 + + if len(errors) > 0 { + return AuditArtistIndexRequestMultiError(errors) + } + + return nil +} + +// AuditArtistIndexRequestMultiError is an error wrapping multiple validation +// errors returned by AuditArtistIndexRequest.ValidateAll() if the designated +// constraints aren't met. +type AuditArtistIndexRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m AuditArtistIndexRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m AuditArtistIndexRequestMultiError) AllErrors() []error { return m } + +// AuditArtistIndexRequestValidationError is the validation error returned by +// AuditArtistIndexRequest.Validate if the designated constraints aren't met. +type AuditArtistIndexRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e AuditArtistIndexRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e AuditArtistIndexRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e AuditArtistIndexRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e AuditArtistIndexRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e AuditArtistIndexRequestValidationError) ErrorName() string { + return "AuditArtistIndexRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e AuditArtistIndexRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sAuditArtistIndexRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = AuditArtistIndexRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = AuditArtistIndexRequestValidationError{} + +// Validate checks the field values on UpdateArtistIndexRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *UpdateArtistIndexRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateArtistIndexRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// UpdateArtistIndexRequestMultiError, or nil if none found. +func (m *UpdateArtistIndexRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateArtistIndexRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Id + + // no validation rules for TitleScore + + // no validation rules for Score + + // no validation rules for Status + + if len(errors) > 0 { + return UpdateArtistIndexRequestMultiError(errors) + } + + return nil +} + +// UpdateArtistIndexRequestMultiError is an error wrapping multiple validation +// errors returned by UpdateArtistIndexRequest.ValidateAll() if the designated +// constraints aren't met. +type UpdateArtistIndexRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateArtistIndexRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateArtistIndexRequestMultiError) AllErrors() []error { return m } + +// UpdateArtistIndexRequestValidationError is the validation error returned by +// UpdateArtistIndexRequest.Validate if the designated constraints aren't met. +type UpdateArtistIndexRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateArtistIndexRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateArtistIndexRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateArtistIndexRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateArtistIndexRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateArtistIndexRequestValidationError) ErrorName() string { + return "UpdateArtistIndexRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateArtistIndexRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUpdateArtistIndexRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateArtistIndexRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateArtistIndexRequestValidationError{} + +// Validate checks the field values on DeletedArtistIndexRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *DeletedArtistIndexRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DeletedArtistIndexRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// DeletedArtistIndexRequestMultiError, or nil if none found. +func (m *DeletedArtistIndexRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *DeletedArtistIndexRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Id + + if len(errors) > 0 { + return DeletedArtistIndexRequestMultiError(errors) + } + + return nil +} + +// DeletedArtistIndexRequestMultiError is an error wrapping multiple validation +// errors returned by DeletedArtistIndexRequest.ValidateAll() if the +// designated constraints aren't met. +type DeletedArtistIndexRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DeletedArtistIndexRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m DeletedArtistIndexRequestMultiError) AllErrors() []error { return m } + +// DeletedArtistIndexRequestValidationError is the validation error returned by +// DeletedArtistIndexRequest.Validate if the designated constraints aren't met. +type DeletedArtistIndexRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DeletedArtistIndexRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DeletedArtistIndexRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DeletedArtistIndexRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DeletedArtistIndexRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DeletedArtistIndexRequestValidationError) ErrorName() string { + return "DeletedArtistIndexRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e DeletedArtistIndexRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sDeletedArtistIndexRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DeletedArtistIndexRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DeletedArtistIndexRequestValidationError{} diff --git a/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go b/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go index 39c8c77..a655a99 100644 --- a/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go +++ b/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go @@ -30,13 +30,21 @@ const _ = grpc_go.SupportPackageIsVersion7 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type ArtistInfoArtshowClient interface { // 画展视频 + GetArtshowVideoDetail(ctx context.Context, in *GetArtshowVideoDetailRequest, opts ...grpc_go.CallOption) (*ArtshowVideoInfo, common.ErrorWithAttachment) GetArtshowVideoList(ctx context.Context, in *GetArtshowVideoListRequst, opts ...grpc_go.CallOption) (*GetArtshowVideoListResponse, common.ErrorWithAttachment) CreateArtshowVideo(ctx context.Context, in *ArtshowVideoInfo, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) BatchCreateArtshowVideo(ctx context.Context, in *BatchCreateArtshowVideoRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) AuditArtshowVideo(ctx context.Context, in *AuditArtshowVideoRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) UpdateArtshowVideo(ctx context.Context, in *UpdateArtshowVideoRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) DeletedArtshowVideo(ctx context.Context, in *DeletedArtshowVideoRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) - CheckeExists(ctx context.Context, in *CheckeExistsRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + // 画家指数 + GetArtistIndexDetail(ctx context.Context, in *GetArtistIndexDetailRequest, opts ...grpc_go.CallOption) (*ArtistIndexInfo, common.ErrorWithAttachment) + GetArtistIndexList(ctx context.Context, in *GetArtistIndexListRequest, opts ...grpc_go.CallOption) (*GetArtistIndexListResponse, common.ErrorWithAttachment) + CreateArtistIndex(ctx context.Context, in *ArtistIndexInfo, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + BatchCreateArtistIndex(ctx context.Context, in *BatchCreateArtistIndexRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + AuditArtistIndex(ctx context.Context, in *AuditArtistIndexRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + UpdateArtistIndex(ctx context.Context, in *UpdateArtistIndexRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + DeletedArtistIndex(ctx context.Context, in *DeletedArtistIndexRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) } type artistInfoArtshowClient struct { @@ -44,13 +52,20 @@ type artistInfoArtshowClient struct { } type ArtistInfoArtshowClientImpl struct { + GetArtshowVideoDetail func(ctx context.Context, in *GetArtshowVideoDetailRequest) (*ArtshowVideoInfo, error) GetArtshowVideoList func(ctx context.Context, in *GetArtshowVideoListRequst) (*GetArtshowVideoListResponse, error) CreateArtshowVideo func(ctx context.Context, in *ArtshowVideoInfo) (*emptypb.Empty, error) BatchCreateArtshowVideo func(ctx context.Context, in *BatchCreateArtshowVideoRequest) (*emptypb.Empty, error) AuditArtshowVideo func(ctx context.Context, in *AuditArtshowVideoRequest) (*emptypb.Empty, error) UpdateArtshowVideo func(ctx context.Context, in *UpdateArtshowVideoRequest) (*emptypb.Empty, error) DeletedArtshowVideo func(ctx context.Context, in *DeletedArtshowVideoRequest) (*emptypb.Empty, error) - CheckeExists func(ctx context.Context, in *CheckeExistsRequest) (*emptypb.Empty, error) + GetArtistIndexDetail func(ctx context.Context, in *GetArtistIndexDetailRequest) (*ArtistIndexInfo, error) + GetArtistIndexList func(ctx context.Context, in *GetArtistIndexListRequest) (*GetArtistIndexListResponse, error) + CreateArtistIndex func(ctx context.Context, in *ArtistIndexInfo) (*emptypb.Empty, error) + BatchCreateArtistIndex func(ctx context.Context, in *BatchCreateArtistIndexRequest) (*emptypb.Empty, error) + AuditArtistIndex func(ctx context.Context, in *AuditArtistIndexRequest) (*emptypb.Empty, error) + UpdateArtistIndex func(ctx context.Context, in *UpdateArtistIndexRequest) (*emptypb.Empty, error) + DeletedArtistIndex func(ctx context.Context, in *DeletedArtistIndexRequest) (*emptypb.Empty, error) } func (c *ArtistInfoArtshowClientImpl) GetDubboStub(cc *triple.TripleConn) ArtistInfoArtshowClient { @@ -65,6 +80,12 @@ func NewArtistInfoArtshowClient(cc *triple.TripleConn) ArtistInfoArtshowClient { return &artistInfoArtshowClient{cc} } +func (c *artistInfoArtshowClient) GetArtshowVideoDetail(ctx context.Context, in *GetArtshowVideoDetailRequest, opts ...grpc_go.CallOption) (*ArtshowVideoInfo, common.ErrorWithAttachment) { + out := new(ArtshowVideoInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtshowVideoDetail", in, out) +} + func (c *artistInfoArtshowClient) GetArtshowVideoList(ctx context.Context, in *GetArtshowVideoListRequst, opts ...grpc_go.CallOption) (*GetArtshowVideoListResponse, common.ErrorWithAttachment) { out := new(GetArtshowVideoListResponse) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -101,10 +122,46 @@ func (c *artistInfoArtshowClient) DeletedArtshowVideo(ctx context.Context, in *D return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeletedArtshowVideo", in, out) } -func (c *artistInfoArtshowClient) CheckeExists(ctx context.Context, in *CheckeExistsRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) { +func (c *artistInfoArtshowClient) GetArtistIndexDetail(ctx context.Context, in *GetArtistIndexDetailRequest, opts ...grpc_go.CallOption) (*ArtistIndexInfo, common.ErrorWithAttachment) { + out := new(ArtistIndexInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtistIndexDetail", in, out) +} + +func (c *artistInfoArtshowClient) GetArtistIndexList(ctx context.Context, in *GetArtistIndexListRequest, opts ...grpc_go.CallOption) (*GetArtistIndexListResponse, common.ErrorWithAttachment) { + out := new(GetArtistIndexListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtistIndexList", in, out) +} + +func (c *artistInfoArtshowClient) CreateArtistIndex(ctx context.Context, in *ArtistIndexInfo, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) { out := new(emptypb.Empty) interfaceKey := ctx.Value(constant.InterfaceKey).(string) - return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckeExists", in, out) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateArtistIndex", in, out) +} + +func (c *artistInfoArtshowClient) BatchCreateArtistIndex(ctx context.Context, in *BatchCreateArtistIndexRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) { + out := new(emptypb.Empty) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/BatchCreateArtistIndex", in, out) +} + +func (c *artistInfoArtshowClient) AuditArtistIndex(ctx context.Context, in *AuditArtistIndexRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) { + out := new(emptypb.Empty) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AuditArtistIndex", in, out) +} + +func (c *artistInfoArtshowClient) UpdateArtistIndex(ctx context.Context, in *UpdateArtistIndexRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) { + out := new(emptypb.Empty) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateArtistIndex", in, out) +} + +func (c *artistInfoArtshowClient) DeletedArtistIndex(ctx context.Context, in *DeletedArtistIndexRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) { + out := new(emptypb.Empty) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeletedArtistIndex", in, out) } // ArtistInfoArtshowServer is the server API for ArtistInfoArtshow service. @@ -112,13 +169,21 @@ func (c *artistInfoArtshowClient) CheckeExists(ctx context.Context, in *CheckeEx // for forward compatibility type ArtistInfoArtshowServer interface { // 画展视频 + GetArtshowVideoDetail(context.Context, *GetArtshowVideoDetailRequest) (*ArtshowVideoInfo, error) GetArtshowVideoList(context.Context, *GetArtshowVideoListRequst) (*GetArtshowVideoListResponse, error) CreateArtshowVideo(context.Context, *ArtshowVideoInfo) (*emptypb.Empty, error) BatchCreateArtshowVideo(context.Context, *BatchCreateArtshowVideoRequest) (*emptypb.Empty, error) AuditArtshowVideo(context.Context, *AuditArtshowVideoRequest) (*emptypb.Empty, error) UpdateArtshowVideo(context.Context, *UpdateArtshowVideoRequest) (*emptypb.Empty, error) DeletedArtshowVideo(context.Context, *DeletedArtshowVideoRequest) (*emptypb.Empty, error) - CheckeExists(context.Context, *CheckeExistsRequest) (*emptypb.Empty, error) + // 画家指数 + GetArtistIndexDetail(context.Context, *GetArtistIndexDetailRequest) (*ArtistIndexInfo, error) + GetArtistIndexList(context.Context, *GetArtistIndexListRequest) (*GetArtistIndexListResponse, error) + CreateArtistIndex(context.Context, *ArtistIndexInfo) (*emptypb.Empty, error) + BatchCreateArtistIndex(context.Context, *BatchCreateArtistIndexRequest) (*emptypb.Empty, error) + AuditArtistIndex(context.Context, *AuditArtistIndexRequest) (*emptypb.Empty, error) + UpdateArtistIndex(context.Context, *UpdateArtistIndexRequest) (*emptypb.Empty, error) + DeletedArtistIndex(context.Context, *DeletedArtistIndexRequest) (*emptypb.Empty, error) mustEmbedUnimplementedArtistInfoArtshowServer() } @@ -127,6 +192,9 @@ type UnimplementedArtistInfoArtshowServer struct { proxyImpl protocol.Invoker } +func (UnimplementedArtistInfoArtshowServer) GetArtshowVideoDetail(context.Context, *GetArtshowVideoDetailRequest) (*ArtshowVideoInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtshowVideoDetail not implemented") +} func (UnimplementedArtistInfoArtshowServer) GetArtshowVideoList(context.Context, *GetArtshowVideoListRequst) (*GetArtshowVideoListResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetArtshowVideoList not implemented") } @@ -145,8 +213,26 @@ func (UnimplementedArtistInfoArtshowServer) UpdateArtshowVideo(context.Context, func (UnimplementedArtistInfoArtshowServer) DeletedArtshowVideo(context.Context, *DeletedArtshowVideoRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeletedArtshowVideo not implemented") } -func (UnimplementedArtistInfoArtshowServer) CheckeExists(context.Context, *CheckeExistsRequest) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method CheckeExists not implemented") +func (UnimplementedArtistInfoArtshowServer) GetArtistIndexDetail(context.Context, *GetArtistIndexDetailRequest) (*ArtistIndexInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtistIndexDetail not implemented") +} +func (UnimplementedArtistInfoArtshowServer) GetArtistIndexList(context.Context, *GetArtistIndexListRequest) (*GetArtistIndexListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtistIndexList not implemented") +} +func (UnimplementedArtistInfoArtshowServer) CreateArtistIndex(context.Context, *ArtistIndexInfo) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateArtistIndex not implemented") +} +func (UnimplementedArtistInfoArtshowServer) BatchCreateArtistIndex(context.Context, *BatchCreateArtistIndexRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchCreateArtistIndex not implemented") +} +func (UnimplementedArtistInfoArtshowServer) AuditArtistIndex(context.Context, *AuditArtistIndexRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AuditArtistIndex not implemented") +} +func (UnimplementedArtistInfoArtshowServer) UpdateArtistIndex(context.Context, *UpdateArtistIndexRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateArtistIndex not implemented") +} +func (UnimplementedArtistInfoArtshowServer) DeletedArtistIndex(context.Context, *DeletedArtistIndexRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletedArtistIndex not implemented") } func (s *UnimplementedArtistInfoArtshowServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl @@ -176,6 +262,35 @@ func RegisterArtistInfoArtshowServer(s grpc_go.ServiceRegistrar, srv ArtistInfoA s.RegisterService(&ArtistInfoArtshow_ServiceDesc, srv) } +func _ArtistInfoArtshow_GetArtshowVideoDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtshowVideoDetailRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetArtshowVideoDetail", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _ArtistInfoArtshow_GetArtshowVideoList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(GetArtshowVideoListRequst) if err := dec(in); err != nil { @@ -350,8 +465,8 @@ func _ArtistInfoArtshow_DeletedArtshowVideo_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } -func _ArtistInfoArtshow_CheckeExists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { - in := new(CheckeExistsRequest) +func _ArtistInfoArtshow_GetArtistIndexDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtistIndexDetailRequest) if err := dec(in); err != nil { return nil, err } @@ -363,7 +478,181 @@ func _ArtistInfoArtshow_CheckeExists_Handler(srv interface{}, ctx context.Contex for k, v := range md { invAttachment[k] = v } - invo := invocation.NewRPCInvocation("CheckeExists", args, invAttachment) + invo := invocation.NewRPCInvocation("GetArtistIndexDetail", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfoArtshow_GetArtistIndexList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtistIndexListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetArtistIndexList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfoArtshow_CreateArtistIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ArtistIndexInfo) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CreateArtistIndex", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfoArtshow_BatchCreateArtistIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchCreateArtistIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("BatchCreateArtistIndex", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfoArtshow_AuditArtistIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AuditArtistIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AuditArtistIndex", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfoArtshow_UpdateArtistIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateArtistIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdateArtistIndex", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _ArtistInfoArtshow_DeletedArtistIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletedArtistIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DeletedArtistIndex", args, invAttachment) if interceptor == nil { result := base.XXX_GetProxyImpl().Invoke(ctx, invo) return result, result.Error() @@ -386,6 +675,10 @@ var ArtistInfoArtshow_ServiceDesc = grpc_go.ServiceDesc{ ServiceName: "artistinfo.ArtistInfoArtshow", HandlerType: (*ArtistInfoArtshowServer)(nil), Methods: []grpc_go.MethodDesc{ + { + MethodName: "GetArtshowVideoDetail", + Handler: _ArtistInfoArtshow_GetArtshowVideoDetail_Handler, + }, { MethodName: "GetArtshowVideoList", Handler: _ArtistInfoArtshow_GetArtshowVideoList_Handler, @@ -411,8 +704,32 @@ var ArtistInfoArtshow_ServiceDesc = grpc_go.ServiceDesc{ Handler: _ArtistInfoArtshow_DeletedArtshowVideo_Handler, }, { - MethodName: "CheckeExists", - Handler: _ArtistInfoArtshow_CheckeExists_Handler, + MethodName: "GetArtistIndexDetail", + Handler: _ArtistInfoArtshow_GetArtistIndexDetail_Handler, + }, + { + MethodName: "GetArtistIndexList", + Handler: _ArtistInfoArtshow_GetArtistIndexList_Handler, + }, + { + MethodName: "CreateArtistIndex", + Handler: _ArtistInfoArtshow_CreateArtistIndex_Handler, + }, + { + MethodName: "BatchCreateArtistIndex", + Handler: _ArtistInfoArtshow_BatchCreateArtistIndex_Handler, + }, + { + MethodName: "AuditArtistIndex", + Handler: _ArtistInfoArtshow_AuditArtistIndex_Handler, + }, + { + MethodName: "UpdateArtistIndex", + Handler: _ArtistInfoArtshow_UpdateArtistIndex_Handler, + }, + { + MethodName: "DeletedArtistIndex", + Handler: _ArtistInfoArtshow_DeletedArtistIndex_Handler, }, }, Streams: []grpc_go.StreamDesc{}, diff --git a/pkg/db/init.go b/pkg/db/init.go index ef550a3..49db8d4 100644 --- a/pkg/db/init.go +++ b/pkg/db/init.go @@ -110,7 +110,8 @@ func migration() { &old.ArtworkBatch{}, &model.TempArtistInfo{}, &model.ArtworkLockRecord{}, - &model.ArtshowRecord{}, //画展视频记录 + &model.ArtshowRecord{}, //画展视频记录 + &model.ArtshowArtistIndex{}, //画展-画家指数 ) if err != nil { fmt.Println("register table fail")