diff --git a/cmd/internal/controller/artistinfo_artshow.go b/cmd/internal/controller/artistinfo_artshow.go index bc4d99d..cdb60e0 100644 --- a/cmd/internal/controller/artistinfo_artshow.go +++ b/cmd/internal/controller/artistinfo_artshow.go @@ -18,8 +18,38 @@ var _ artistinfoArtshow.ArtistInfoArtshowServer = new(ArtistInfoArtshowProvider) type ArtistInfoArtshowProvider struct { artistinfoArtshow.UnimplementedArtistInfoArtshowServer - videoLogic logic.ArtshowVideoLogic - artistIndexLogic logic.ArtshowArtistIndexLogic + videoLogic logic.ArtshowVideoLogic + artistIndexLogic logic.ArtshowArtistIndexLogic + artistSupplementLogic logic.ArtshowArtistSupplementLogic +} + +// ----------------- 画展包-画家补充信息 +func (a ArtistInfoArtshowProvider) GetArtistSupplementDetail(ctx context.Context, request *artistinfoArtshow.GetArtistSupplementDetailRequest) (*artistinfoArtshow.ArtistSupplementInfo, error) { + return a.artistSupplementLogic.GetSupplementDetail(request) +} + +func (a ArtistInfoArtshowProvider) GetArtistSupplementList(ctx context.Context, request *artistinfoArtshow.GetArtistSupplementListRequest) (*artistinfoArtshow.GetArtistSupplementListResponse, error) { + return a.artistSupplementLogic.GetSupplementList(request) +} + +func (a ArtistInfoArtshowProvider) CreateArtistSupplement(ctx context.Context, info *artistinfoArtshow.ArtistSupplementInfo) (*emptypb.Empty, error) { + return nil, a.artistSupplementLogic.CreateSupplement(info) +} + +func (a ArtistInfoArtshowProvider) BatchCreateArtistSupplement(ctx context.Context, request *artistinfoArtshow.BatchCreateArtistSupplementRequest) (*emptypb.Empty, error) { + return nil, a.artistSupplementLogic.BatchCreateSupplement(request) +} + +func (a ArtistInfoArtshowProvider) AuditArtistSupplement(ctx context.Context, request *artistinfoArtshow.AuditArtistSupplementRequest) (*emptypb.Empty, error) { + return a.artistSupplementLogic.AuditSupplement(request) +} + +func (a ArtistInfoArtshowProvider) UpdateArtistSupplement(ctx context.Context, request *artistinfoArtshow.UpdateArtistSupplementRequest) (*emptypb.Empty, error) { + return a.artistSupplementLogic.UpdateSupplement(request) +} + +func (a ArtistInfoArtshowProvider) DeletedArtistSupplement(ctx context.Context, request *artistinfoArtshow.DeletedArtistSupplementRequest) (*emptypb.Empty, error) { + return a.artistSupplementLogic.DeletedSupplement(request) } // ----------------- 画展包-画家指数 diff --git a/cmd/internal/dao/artistInfo_user.go b/cmd/internal/dao/artistInfo_user.go index 64f5589..65f35f1 100644 --- a/cmd/internal/dao/artistInfo_user.go +++ b/cmd/internal/dao/artistInfo_user.go @@ -524,6 +524,7 @@ func FindUserList(req *artistInfoUser.FindUsersRequest) (rep []*artistInfoUser.U var ( datas = []model.User{} tx = db.DB.Model(model.User{}). + Joins("LEFT JOIN real_name rn ON rn.id = sys_user.real_name_id"). Preload("RealNameInfo").Preload("InvitedBy.UserInfo.RealNameInfo").Where("sys_user.mgmt_artist_uid!=''") ) if req.InvitedCode != "" { @@ -536,7 +537,7 @@ func FindUserList(req *artistInfoUser.FindUsersRequest) (rep []*artistInfoUser.U tx = tx.Where("mgmt_artist_uid in ?", req.MgmtArtistUids) } if req.InviterName != "" { - tx = tx.Joins("LEFT JOIN real_name rn ON rn.id = sys_user.real_name_id").Clauses(clause.Like{ + tx = tx.Clauses(clause.Like{ Column: "rn.name", Value: "%" + req.InviterName + "%", }) @@ -544,6 +545,15 @@ func FindUserList(req *artistInfoUser.FindUsersRequest) (rep []*artistInfoUser.U if req.IsArtist { tx = tx.Where("mgmt_artist_uid !='' ") } + if req.IsLock { + tx = tx.Where("is_lock=true") + } + if req.ArtistRealName != "" { + tx = tx.Where("").Clauses(clause.Like{ + Column: "rn.name", + Value: "%" + req.ArtistRealName + "%", + }) + } err = tx.Count(&total).Scopes(db.Pagination(req.Page, req.PageSize)).Find(&datas).Error if err != nil { diff --git a/cmd/internal/dao/artistinfo_artshow_artistIndex.go b/cmd/internal/dao/artistinfo_artshow_artistIndex.go index 2861c63..46e2c45 100644 --- a/cmd/internal/dao/artistinfo_artshow_artistIndex.go +++ b/cmd/internal/dao/artistinfo_artshow_artistIndex.go @@ -107,16 +107,10 @@ func (a artistinfoArtshowArtistIndex) Audit(auditStatus model.AuditStatus, mark1 return } -func (a artistinfoArtshowArtistIndex) GetArtshowVideoDetail(in *artistinfoArtshow.GetArtshowVideoDetailRequest) (rep model.ArtshowArtistIndex, err error) { +func (a artistinfoArtshowArtistIndex) GetArtistIndexDetail(in *artistinfoArtshow.GetArtistIndexDetailRequest) (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) + if in.Id != 0 { + tx = tx.Where("id = ?", in.Id) } var data model.ArtshowArtistIndex err = tx.First(&data).Error diff --git a/cmd/internal/dao/artistinfo_artshow_artistSupplement.go b/cmd/internal/dao/artistinfo_artshow_artistSupplement.go new file mode 100644 index 0000000..6af211e --- /dev/null +++ b/cmd/internal/dao/artistinfo_artshow_artistSupplement.go @@ -0,0 +1,118 @@ +// 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 ArtistSupplement = new(artistSupplement) + +type artistSupplement struct{} + +func (a artistSupplement) BatchCreateData(datas []model.ArtshowArtistSupplement) 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 artistSupplement) CreateData(data *model.ArtshowArtistSupplement, tx ...*gorm.DB) error { + var txdb *gorm.DB + if tx != nil { + txdb = tx[0] + } else { + txdb = db.DB + } + var exist = model.ArtshowArtistSupplement{} + db.DB.Where("artist_uid = ? AND status = 2", data.ArtistUid).Find(&exist) + if exist.ID != 0 { + return errors.New(fmt.Sprintf("画家补充信息已存在")) + } + return txdb.Create(&data).Error +} + +func (a artistSupplement) UpdateData(data *model.ArtshowArtistSupplement) error { + return db.DB.Updates(&data).Error + +} + +func (a artistSupplement) DeletedData(id ...int64) (err error) { + if len(id) == 1 { + err = db.DB.Where("id = ?", id[0]).Delete(&model.ArtshowArtistSupplement{}).Error + } else if len(id) > 0 { + err = db.DB.Where("id = ?", id).Delete(&model.ArtshowArtistSupplement{}).Error + } + return err +} + +func (a artistSupplement) GetData(id int64) (data *model.ArtshowArtistSupplement, err error) { + err = db.DB.Where("id = ?", id).First(data).Error + return +} + +func (a artistSupplement) GetDataList(req *artistinfoArtshow.GetArtistSupplementListRequest) (datas []model.ArtshowArtistSupplement, total int64, err error) { + datas = []model.ArtshowArtistSupplement{} + var tx = db.DB.Model(model.ArtshowArtistSupplement{}) + 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 artistSupplement) Audit(auditStatus model.AuditStatus, mark1, mark2 string, ids ...int64) (err error) { + tx := db.DB.Begin() + err = tx.Model(model.ArtshowArtistSupplement{}).Where("id in ?", ids).Update("audit_status", auditStatus).Error + if err != nil { + return err + } + err = tx.Model(model.ArtshowArtistSupplement{}).Where("id in ?", ids).Update("audit_mark1", mark1).Error + if err != nil { + return err + } + err = tx.Model(model.ArtshowArtistSupplement{}).Where("id in ?", ids).Update("audit_mark2", mark2).Error + if err != nil { + return err + } + tx.Commit() + return +} + +func (a artistSupplement) GetSupplementDetail(in *artistinfoArtshow.GetArtistSupplementDetailRequest) (rep model.ArtshowArtistSupplement, err error) { + var tx = db.DB.Model(model.ArtshowArtistSupplement{}) + if in.Id != 0 { + tx = tx.Where("id = ?", in.Id) + } + var data model.ArtshowArtistSupplement + err = tx.First(&data).Error + return +} diff --git a/cmd/internal/logic/artistinfo_artshowArtistIndex.go b/cmd/internal/logic/artistinfo_artshowArtistIndex.go index 2ecec96..e3ed5ec 100644 --- a/cmd/internal/logic/artistinfo_artshowArtistIndex.go +++ b/cmd/internal/logic/artistinfo_artshowArtistIndex.go @@ -33,11 +33,12 @@ func (a ArtshowArtistIndexLogic) BatchCreateArtistIndex(request *artistinfoArtsh 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}, + //Status=2(锁定) AuditStatus=5(待补充) + model.ArtshowArtistIndex{LockTime: userInfo.LatestLockTime, ArtistUid: v, Class: "exhibition", Title: "艺术家-展览", Types: "2", Status: 2, AuditStatus: 5}, + model.ArtshowArtistIndex{LockTime: userInfo.LatestLockTime, ArtistUid: v, Class: "seniority", Title: "艺术家-资历", Types: "1", Status: 2, AuditStatus: 5}, + model.ArtshowArtistIndex{LockTime: userInfo.LatestLockTime, ArtistUid: v, Class: "specialized", Title: "艺术家-专业", Types: "1", Status: 2, AuditStatus: 5}, + model.ArtshowArtistIndex{LockTime: userInfo.LatestLockTime, ArtistUid: v, Class: "Influence", Title: "艺术家-影响力", Types: "1", Status: 2, AuditStatus: 5}, + model.ArtshowArtistIndex{LockTime: userInfo.LatestLockTime, ArtistUid: v, Class: "collect", Title: "艺术家-收藏", Types: "1", Status: 2, AuditStatus: 5}, ) } return dao.ArtistinfoArtshowArtistIndex.BatchCreateData(datas) diff --git a/cmd/internal/logic/artistinfo_artshowArtistSupplement.go b/cmd/internal/logic/artistinfo_artshowArtistSupplement.go new file mode 100644 index 0000000..57e681e --- /dev/null +++ b/cmd/internal/logic/artistinfo_artshowArtistSupplement.go @@ -0,0 +1,146 @@ +// 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 ArtshowArtistSupplementLogic struct{} + +func (a ArtshowArtistSupplementLogic) BatchCreateSupplement(request *artistinfoArtshow.BatchCreateArtistSupplementRequest) error { + var datas = []model.ArtshowArtistSupplement{} + 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.ArtshowArtistSupplement{LockTime: userInfo.LatestLockTime, ArtistUid: v, ArtistName: userInfo.RealName.Name, Status: 2}, + ) + } + return dao.ArtistSupplement.BatchCreateData(datas) +} + +func (a ArtshowArtistSupplementLogic) CreateSupplement(request *artistinfoArtshow.ArtistSupplementInfo) error { + return dao.ArtistSupplement.CreateData(&model.ArtshowArtistSupplement{ + ArtistUid: request.ArtistUid, + Status: 2, //锁定 + AuditStatus: 5, //待补充 + LockTime: request.LockTime, + ArtistName: request.ArtistName, + ArtistProfile: request.ArtistProfile, + CountryArtLevel: request.CountryArtLevel, + ArtistCertPic: request.ArtistCertPic, + BankNum: request.BankNum, + BankName: request.BankName, + }) +} +func (a ArtshowArtistSupplementLogic) GetSupplementDetail(request *artistinfoArtshow.GetArtistSupplementDetailRequest) (rep *artistinfoArtshow.ArtistSupplementInfo, err error) { + data, err := dao.ArtistSupplement.GetData(request.Id) + if err != nil { + if gorm.ErrRecordNotFound == err { + err = errors.New("找不到数据") + } + return nil, err + } + rep = &artistinfoArtshow.ArtistSupplementInfo{ + ArtistUid: data.ArtistUid, + Status: data.Status, + LockTime: data.LockTime, + AuditStatus: int64(data.AuditStatus), + AuditMark1: data.AuditMark1, + AuditMark2: data.AuditMark2, + ArtistName: data.ArtistName, + ArtistProfile: data.ArtistProfile, + CountryArtLevel: data.CountryArtLevel, + ArtistCertPic: data.ArtistCertPic, + BankNum: data.BankNum, + BankName: data.BankName, + Id: data.ID, + CreatedAt: data.CreatedAt.Unix(), + UpdatedAt: data.UpdatedAt.Unix(), + DeletedAt: int64(data.DeletedAt), + } + return nil, nil +} + +func (a ArtshowArtistSupplementLogic) GetSupplementList(request *artistinfoArtshow.GetArtistSupplementListRequest) (res *artistinfoArtshow.GetArtistSupplementListResponse, err error) { + res = &artistinfoArtshow.GetArtistSupplementListResponse{} + datas, total, err := dao.ArtistSupplement.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.ArtistSupplementInfo{ + ArtistUid: v.ArtistUid, + ArtistName: v.ArtistName, + ArtistProfile: v.ArtistProfile, + CountryArtLevel: v.CountryArtLevel, + ArtistCertPic: v.ArtistCertPic, + BankNum: v.BankNum, + BankName: v.BankName, + 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 ArtshowArtistSupplementLogic) AuditSupplement(request *artistinfoArtshow.AuditArtistSupplementRequest) (*emptypb.Empty, error) { + err := dao.ArtistSupplement.Audit(model.AuditStatus(request.AuditStatus), request.AuditMark1, request.AuditMark2, request.ArtistSupplementIds...) + return nil, err +} + +func (a ArtshowArtistSupplementLogic) UpdateSupplement(request *artistinfoArtshow.UpdateArtistSupplementRequest) (*emptypb.Empty, error) { + err := dao.ArtistSupplement.UpdateData(&model.ArtshowArtistSupplement{ + Model: model.Model{ID: request.Id}, + ArtistProfile: request.ArtistProfile, + CountryArtLevel: request.CountryArtLevel, + ArtistCertPic: request.ArtistCertPic, + BankNum: request.BankNum, + BankName: request.BankName, + AuditStatus: model.AuditType_Pending, + }) + return nil, err +} + +func (a ArtshowArtistSupplementLogic) DeletedSupplement(request *artistinfoArtshow.DeletedArtistSupplementRequest) (*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.ArtistSupplement.DeletedData(ids...) + return nil, err +} diff --git a/cmd/internal/logic/artistinfo_artshowVideo.go b/cmd/internal/logic/artistinfo_artshowVideo.go index cdc8db0..2ca48d2 100644 --- a/cmd/internal/logic/artistinfo_artshowVideo.go +++ b/cmd/internal/logic/artistinfo_artshowVideo.go @@ -94,6 +94,7 @@ func (a ArtshowVideoLogic) GetArtshowVideoList(request *artistinfoArtshow.GetArt UpdatedAt: v.UpdatedAt.Unix(), DeletedAt: int64(v.DeletedAt), Status: v.Status, + ArtistName: v.ArtistName, }) } return diff --git a/cmd/model/artshow_artist_supplement.go b/cmd/model/artshow_artist_supplement.go new file mode 100644 index 0000000..9c2f01d --- /dev/null +++ b/cmd/model/artshow_artist_supplement.go @@ -0,0 +1,31 @@ +// Package model ----------------------------- +// @file : artshow.go +// @author : JJXu +// @contact : wavingbear@163.com +// @time : 2023/3/2 9:32 +// ------------------------------------------- +package model + +type ArtshowArtistSupplement struct { + Model + //通过这两个字段弱关联 artwork_lock_record表中对应的画作 + ArtistUid string `json:"artistUid" gorm:"column:artist_uid;comment:"` + 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;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"` + + ArtistName string `json:"artistName" gorm:"column:artist_name;comment:"` + ArtistProfile string `json:"artistProfile" gorm:"column:artist_profile;comment:个人简介"` + CountryArtLevel int64 `json:"countryArtLevel" gorm:"column:country_art_level;comment:国家美术师级别: 1=无 2=1级 3=2级"` + ArtistCertPic string `json:"artistCertPic" gorm:"column:artist_cert_pic;comment:国家美术师证书"` + BankNum string `json:"bank_num" gorm:"column:bank_num;comment:开户行"` + BankName string `json:"bank_name" gorm:"column:bank_name;comment:银行卡账号"` +} + +func (a ArtshowArtistSupplement) TableName() string { + return "artshow_artist_supplement" +} diff --git a/pb/artistInfoUser/artistinfoUser.pb.go b/pb/artistInfoUser/artistinfoUser.pb.go index 3a33727..3811315 100644 --- a/pb/artistInfoUser/artistinfoUser.pb.go +++ b/pb/artistInfoUser/artistinfoUser.pb.go @@ -3302,6 +3302,7 @@ type FindUsersRequest struct { PageSize int32 `protobuf:"varint,6,opt,name=pageSize,proto3" json:"pageSize,omitempty"` IsArtist bool `protobuf:"varint,9,opt,name=isArtist,proto3" json:"isArtist,omitempty"` //查询有艺术家uid的数据 MgmtArtistUids []string `protobuf:"bytes,10,rep,name=mgmtArtistUids,proto3" json:"mgmtArtistUids,omitempty"` + IsLock bool `protobuf:"varint,11,opt,name=isLock,proto3" json:"isLock,omitempty"` } func (x *FindUsersRequest) Reset() { @@ -3392,6 +3393,13 @@ func (x *FindUsersRequest) GetMgmtArtistUids() []string { return nil } +func (x *FindUsersRequest) GetIsLock() bool { + if x != nil { + return x.IsLock + } + return false +} + type FindUsersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4767,7 +4775,7 @@ var file_pb_artistinfoUser_proto_rawDesc = []byte{ 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x22, 0x98, 0x02, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, + 0x74, 0x69, 0x73, 0x74, 0x22, 0xb0, 0x02, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, @@ -4784,289 +4792,291 @@ var file_pb_artistinfoUser_proto_rawDesc = []byte{ 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0e, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x73, 0x22, - 0x71, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, - 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x64, 0x4e, 0x75, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, - 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, - 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, - 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x49, 0x64, 0x43, 0x61, - 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x64, 0x43, 0x61, 0x72, - 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x64, 0x43, - 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x41, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x42, - 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, - 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, - 0x64, 0x22, 0xe2, 0x06, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, - 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, - 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, - 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, - 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, - 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x73, - 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, - 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, - 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, - 0x65, 0x6e, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, - 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, - 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, - 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x12, 0x14, 0x0a, 0x05, - 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, - 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x19, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x67, 0x6d, 0x74, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, - 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xf3, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x65, 0x53, 0x61, - 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, - 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x63, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x20, - 0x0a, 0x0b, 0x63, 0x61, 0x61, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x61, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x3b, 0x0a, 0x1b, - 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, - 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x22, 0xb4, 0x06, 0x0a, 0x08, 0x55, 0x73, - 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, - 0x63, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, - 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, - 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, - 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, + 0x0e, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x61, - 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x63, 0x61, 0x72, - 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x63, - 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x64, 0x63, 0x61, 0x72, - 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, - 0x64, 0x63, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, - 0x6f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e, 0x6b, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0x79, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x73, 0x65, - 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, - 0x77, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x32, 0xbc, 0x0e, 0x0a, 0x0e, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x12, 0x52, - 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1f, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x43, 0x61, - 0x72, 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, - 0x00, 0x12, 0x43, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, - 0x52, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, - 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, - 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x64, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, - 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x10, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x08, 0x55, 0x73, - 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x22, 0x00, 0x12, 0x55, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, - 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x55, 0x6e, 0x46, - 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4c, 0x0a, - 0x0a, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x09, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x18, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, - 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4f, - 0x0a, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, - 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, - 0x3f, 0x0a, 0x08, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, - 0x12, 0x4a, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x11, - 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, - 0x77, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, - 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x2e, 0x61, 0x72, 0x74, + 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x22, 0x71, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x54, - 0x0a, 0x11, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x53, 0x61, - 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, - 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x42, 0x13, 0x5a, 0x11, 0x2e, 0x2f, - 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x50, - 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x0c, 0x52, + 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, + 0x0b, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, + 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x41, 0x67, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x53, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x22, 0xe2, 0x06, 0x0a, 0x08, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x24, + 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x64, + 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x65, + 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, + 0x52, 0x65, 0x61, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, + 0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x17, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x49, 0x6d, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x18, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x74, + 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, + 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, + 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4c, 0x6f, + 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xf3, + 0x02, 0x0a, 0x15, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, + 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, + 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x61, 0x43, 0x65, 0x72, + 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x61, 0x43, + 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x61, 0x4a, 0x6f, 0x69, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x61, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, + 0x53, 0x68, 0x6f, 0x77, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, + 0x53, 0x68, 0x6f, 0x77, 0x22, 0x3b, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x53, 0x61, + 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, + 0x64, 0x22, 0xb4, 0x06, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x16, + 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, + 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, + 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, + 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, + 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, + 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x73, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, + 0x21, 0x0a, 0x0c, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, + 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x1a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e, 0x6b, + 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e, 0x6b, + 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x79, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x32, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x32, 0xbc, 0x0e, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, + 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x07, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4f, + 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1e, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, + 0x4c, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x58, 0x0a, + 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0d, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x10, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, + 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x22, 0x00, 0x12, 0x46, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x1b, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x10, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, + 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, + 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x64, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, + 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x76, + 0x0a, 0x18, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x08, 0x46, 0x69, 0x6e, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, + 0x73, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x73, + 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x44, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, + 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x1a, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x65, 0x53, 0x61, + 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, + 0x22, 0x00, 0x42, 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/pb/artistinfoArtshow.proto b/pb/artistinfoArtshow.proto index d0a2710..886352c 100644 --- a/pb/artistinfoArtshow.proto +++ b/pb/artistinfoArtshow.proto @@ -28,10 +28,22 @@ service ArtistInfoArtshow { rpc UpdateArtistIndex(UpdateArtistIndexRequest)returns(google.protobuf.Empty){} //更新或创建画展视频 rpc DeletedArtistIndex(DeletedArtistIndexRequest)returns(google.protobuf.Empty){} //删除画展视频 // rpc GetArtistListOfArtistIndex(ArtistListRequest)returns(){}//获取后台画家指数审批的画家列表 + + + //画家补充信息 + rpc GetArtistSupplementDetail(GetArtistSupplementDetailRequest)returns(ArtistSupplementInfo){} //获取视频详情 + rpc GetArtistSupplementList(GetArtistSupplementListRequest)returns(GetArtistSupplementListResponse){}//获取画展视频列表 + rpc CreateArtistSupplement(ArtistSupplementInfo)returns(google.protobuf.Empty){} + rpc BatchCreateArtistSupplement(BatchCreateArtistSupplementRequest)returns(google.protobuf.Empty){} + rpc AuditArtistSupplement(AuditArtistSupplementRequest)returns(google.protobuf.Empty){} //审批画展视频 + rpc UpdateArtistSupplement(UpdateArtistSupplementRequest)returns(google.protobuf.Empty){} //更新或创建画展视频 + rpc DeletedArtistSupplement(DeletedArtistSupplementRequest)returns(google.protobuf.Empty){} //删除画展视频 } -message ArtistListRequest{ - string artistName =1; +message ArtistListRequest{//勿删 + int64 page =1; + int64 pageSize=2; + string artistName =3; } message videoPagination{ int64 page =1; @@ -125,38 +137,100 @@ message GetArtistIndexListResponse{ repeated ArtistIndexInfo Data=1; videoPagination page=2; } - message GetArtistIndexDetailRequest{ - int64 id =1; - } - message GetArtistIndexListRequest{ +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; - } + int64 page=7; + int64 pageSize=8; +} - message BatchCreateArtistIndexRequest{ - repeated string artistUids =1; +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 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 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 +message DeletedArtistIndexRequest{ + int64 Id=1; //单个删除 + repeated int64 Ids =2; //批量删除 +} + + +//画家补充信息------------ +message ArtistSupplementInfo{ + string ArtistUid=1; + int64 Status=2; + string LockTime=3; + int64 AuditStatus=4; + string AuditMark1=5; + string AuditMark2=6; + string ArtistName=7; + string ArtistProfile=8; + int64 CountryArtLevel=9; + string ArtistCertPic=10; + string BankNum=11; + string BankName=12; + int64 id=13; + int64 createdAt=14; + int64 updatedAt=15; + int64 deletedAt=16; +} +message GetArtistSupplementListResponse{ + repeated ArtistSupplementInfo Data=1; + videoPagination page=2; +} +message GetArtistSupplementDetailRequest{ + int64 id =1; +} +message GetArtistSupplementListRequest{ + string artistUid =1; + string artistName =3; + string lockTime=4; + int64 auditStatus=5; + int64 status=6; //锁定状态 2=锁定 3=解锁 + int64 page=7; + int64 pageSize=8; +} + +message BatchCreateArtistSupplementRequest{ + repeated string artistUids =1; +} + +message AuditArtistSupplementRequest{ + repeated int64 artistSupplementIds =1; + int64 auditStatus =5; + string auditMark1 =6; + string auditMark2 =7; + +} +message UpdateArtistSupplementRequest{ + int64 id=1; + string ArtistProfile=2; + int64 CountryArtLevel=3; + string ArtistCertPic=4; + string BankNum=5; + string BankName=6; +} + +message DeletedArtistSupplementRequest{ + 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 bcf3c29..ab8df67 100644 --- a/pb/artistinfoArtshow/artistinfoArtshow.pb.go +++ b/pb/artistinfoArtshow/artistinfoArtshow.pb.go @@ -31,7 +31,9 @@ type ArtistListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName,omitempty"` + Page int64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` + PageSize int64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName,omitempty"` } func (x *ArtistListRequest) Reset() { @@ -66,6 +68,20 @@ func (*ArtistListRequest) Descriptor() ([]byte, []int) { return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{0} } +func (x *ArtistListRequest) GetPage() int64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ArtistListRequest) GetPageSize() int64 { + if x != nil { + return x.PageSize + } + return 0 +} + func (x *ArtistListRequest) GetArtistName() string { if x != nil { return x.ArtistName @@ -1424,6 +1440,631 @@ func (x *DeletedArtistIndexRequest) GetIds() []int64 { return nil } +// 画家补充信息------------ +type ArtistSupplementInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUid string `protobuf:"bytes,1,opt,name=ArtistUid,proto3" json:"ArtistUid,omitempty"` + Status int64 `protobuf:"varint,2,opt,name=Status,proto3" json:"Status,omitempty"` + LockTime string `protobuf:"bytes,3,opt,name=LockTime,proto3" json:"LockTime,omitempty"` + AuditStatus int64 `protobuf:"varint,4,opt,name=AuditStatus,proto3" json:"AuditStatus,omitempty"` + AuditMark1 string `protobuf:"bytes,5,opt,name=AuditMark1,proto3" json:"AuditMark1,omitempty"` + AuditMark2 string `protobuf:"bytes,6,opt,name=AuditMark2,proto3" json:"AuditMark2,omitempty"` + ArtistName string `protobuf:"bytes,7,opt,name=ArtistName,proto3" json:"ArtistName,omitempty"` + ArtistProfile string `protobuf:"bytes,8,opt,name=ArtistProfile,proto3" json:"ArtistProfile,omitempty"` + CountryArtLevel int64 `protobuf:"varint,9,opt,name=CountryArtLevel,proto3" json:"CountryArtLevel,omitempty"` + ArtistCertPic string `protobuf:"bytes,10,opt,name=ArtistCertPic,proto3" json:"ArtistCertPic,omitempty"` + BankNum string `protobuf:"bytes,11,opt,name=BankNum,proto3" json:"BankNum,omitempty"` + BankName string `protobuf:"bytes,12,opt,name=BankName,proto3" json:"BankName,omitempty"` + Id int64 `protobuf:"varint,13,opt,name=id,proto3" json:"id,omitempty"` + CreatedAt int64 `protobuf:"varint,14,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt int64 `protobuf:"varint,15,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + DeletedAt int64 `protobuf:"varint,16,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` +} + +func (x *ArtistSupplementInfo) Reset() { + *x = ArtistSupplementInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistSupplementInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistSupplementInfo) ProtoMessage() {} + +func (x *ArtistSupplementInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistSupplementInfo.ProtoReflect.Descriptor instead. +func (*ArtistSupplementInfo) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{19} +} + +func (x *ArtistSupplementInfo) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *ArtistSupplementInfo) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *ArtistSupplementInfo) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *ArtistSupplementInfo) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *ArtistSupplementInfo) GetAuditMark1() string { + if x != nil { + return x.AuditMark1 + } + return "" +} + +func (x *ArtistSupplementInfo) GetAuditMark2() string { + if x != nil { + return x.AuditMark2 + } + return "" +} + +func (x *ArtistSupplementInfo) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *ArtistSupplementInfo) GetArtistProfile() string { + if x != nil { + return x.ArtistProfile + } + return "" +} + +func (x *ArtistSupplementInfo) GetCountryArtLevel() int64 { + if x != nil { + return x.CountryArtLevel + } + return 0 +} + +func (x *ArtistSupplementInfo) GetArtistCertPic() string { + if x != nil { + return x.ArtistCertPic + } + return "" +} + +func (x *ArtistSupplementInfo) GetBankNum() string { + if x != nil { + return x.BankNum + } + return "" +} + +func (x *ArtistSupplementInfo) GetBankName() string { + if x != nil { + return x.BankName + } + return "" +} + +func (x *ArtistSupplementInfo) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ArtistSupplementInfo) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ArtistSupplementInfo) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *ArtistSupplementInfo) GetDeletedAt() int64 { + if x != nil { + return x.DeletedAt + } + return 0 +} + +type GetArtistSupplementListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*ArtistSupplementInfo `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` + Page *VideoPagination `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"` +} + +func (x *GetArtistSupplementListResponse) Reset() { + *x = GetArtistSupplementListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtistSupplementListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistSupplementListResponse) ProtoMessage() {} + +func (x *GetArtistSupplementListResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistSupplementListResponse.ProtoReflect.Descriptor instead. +func (*GetArtistSupplementListResponse) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{20} +} + +func (x *GetArtistSupplementListResponse) GetData() []*ArtistSupplementInfo { + if x != nil { + return x.Data + } + return nil +} + +func (x *GetArtistSupplementListResponse) GetPage() *VideoPagination { + if x != nil { + return x.Page + } + return nil +} + +type GetArtistSupplementDetailRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *GetArtistSupplementDetailRequest) Reset() { + *x = GetArtistSupplementDetailRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtistSupplementDetailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistSupplementDetailRequest) ProtoMessage() {} + +func (x *GetArtistSupplementDetailRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistSupplementDetailRequest.ProtoReflect.Descriptor instead. +func (*GetArtistSupplementDetailRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{21} +} + +func (x *GetArtistSupplementDetailRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +type GetArtistSupplementListRequest 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 *GetArtistSupplementListRequest) Reset() { + *x = GetArtistSupplementListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtistSupplementListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistSupplementListRequest) ProtoMessage() {} + +func (x *GetArtistSupplementListRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistSupplementListRequest.ProtoReflect.Descriptor instead. +func (*GetArtistSupplementListRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{22} +} + +func (x *GetArtistSupplementListRequest) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *GetArtistSupplementListRequest) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *GetArtistSupplementListRequest) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *GetArtistSupplementListRequest) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *GetArtistSupplementListRequest) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *GetArtistSupplementListRequest) GetPage() int64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetArtistSupplementListRequest) GetPageSize() int64 { + if x != nil { + return x.PageSize + } + return 0 +} + +type BatchCreateArtistSupplementRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUids []string `protobuf:"bytes,1,rep,name=artistUids,proto3" json:"artistUids,omitempty"` +} + +func (x *BatchCreateArtistSupplementRequest) Reset() { + *x = BatchCreateArtistSupplementRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateArtistSupplementRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateArtistSupplementRequest) ProtoMessage() {} + +func (x *BatchCreateArtistSupplementRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateArtistSupplementRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateArtistSupplementRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{23} +} + +func (x *BatchCreateArtistSupplementRequest) GetArtistUids() []string { + if x != nil { + return x.ArtistUids + } + return nil +} + +type AuditArtistSupplementRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistSupplementIds []int64 `protobuf:"varint,1,rep,packed,name=artistSupplementIds,proto3" json:"artistSupplementIds,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 *AuditArtistSupplementRequest) Reset() { + *x = AuditArtistSupplementRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuditArtistSupplementRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuditArtistSupplementRequest) ProtoMessage() {} + +func (x *AuditArtistSupplementRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuditArtistSupplementRequest.ProtoReflect.Descriptor instead. +func (*AuditArtistSupplementRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{24} +} + +func (x *AuditArtistSupplementRequest) GetArtistSupplementIds() []int64 { + if x != nil { + return x.ArtistSupplementIds + } + return nil +} + +func (x *AuditArtistSupplementRequest) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *AuditArtistSupplementRequest) GetAuditMark1() string { + if x != nil { + return x.AuditMark1 + } + return "" +} + +func (x *AuditArtistSupplementRequest) GetAuditMark2() string { + if x != nil { + return x.AuditMark2 + } + return "" +} + +type UpdateArtistSupplementRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + ArtistProfile string `protobuf:"bytes,2,opt,name=ArtistProfile,proto3" json:"ArtistProfile,omitempty"` + CountryArtLevel int64 `protobuf:"varint,3,opt,name=CountryArtLevel,proto3" json:"CountryArtLevel,omitempty"` + ArtistCertPic string `protobuf:"bytes,4,opt,name=ArtistCertPic,proto3" json:"ArtistCertPic,omitempty"` + BankNum string `protobuf:"bytes,5,opt,name=BankNum,proto3" json:"BankNum,omitempty"` + BankName string `protobuf:"bytes,6,opt,name=BankName,proto3" json:"BankName,omitempty"` +} + +func (x *UpdateArtistSupplementRequest) Reset() { + *x = UpdateArtistSupplementRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateArtistSupplementRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateArtistSupplementRequest) ProtoMessage() {} + +func (x *UpdateArtistSupplementRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateArtistSupplementRequest.ProtoReflect.Descriptor instead. +func (*UpdateArtistSupplementRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{25} +} + +func (x *UpdateArtistSupplementRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UpdateArtistSupplementRequest) GetArtistProfile() string { + if x != nil { + return x.ArtistProfile + } + return "" +} + +func (x *UpdateArtistSupplementRequest) GetCountryArtLevel() int64 { + if x != nil { + return x.CountryArtLevel + } + return 0 +} + +func (x *UpdateArtistSupplementRequest) GetArtistCertPic() string { + if x != nil { + return x.ArtistCertPic + } + return "" +} + +func (x *UpdateArtistSupplementRequest) GetBankNum() string { + if x != nil { + return x.BankNum + } + return "" +} + +func (x *UpdateArtistSupplementRequest) GetBankName() string { + if x != nil { + return x.BankName + } + return "" +} + +type DeletedArtistSupplementRequest 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 *DeletedArtistSupplementRequest) Reset() { + *x = DeletedArtistSupplementRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletedArtistSupplementRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletedArtistSupplementRequest) ProtoMessage() {} + +func (x *DeletedArtistSupplementRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletedArtistSupplementRequest.ProtoReflect.Descriptor instead. +func (*DeletedArtistSupplementRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{26} +} + +func (x *DeletedArtistSupplementRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *DeletedArtistSupplementRequest) GetIds() []int64 { + if x != nil { + return x.Ids + } + return nil +} + var File_pb_artistinfoArtshow_proto protoreflect.FileDescriptor var file_pb_artistinfoArtshow_proto_rawDesc = []byte{ @@ -1433,9 +2074,12 @@ 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, 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, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 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, 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, @@ -1615,89 +2259,226 @@ var file_pb_artistinfoArtshow_proto_rawDesc = []byte{ 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, 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, 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, + 0x73, 0x22, 0x80, 0x04, 0x0a, 0x14, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x12, 0x1e, + 0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x1e, + 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, + 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, + 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, + 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x50, 0x69, 0x63, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x65, 0x72, + 0x74, 0x50, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x1a, + 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0f, 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, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x22, 0x88, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 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, + 0x32, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0xe4, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x44, 0x0a, 0x22, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0xb2, 0x01, 0x0a, 0x1c, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x13, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 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, 0xdb, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x28, 0x0a, + 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, + 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x43, 0x65, 0x72, 0x74, 0x50, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x50, 0x69, 0x63, 0x12, 0x18, 0x0a, + 0x07, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0x42, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0xc5, 0x0f, 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, 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, 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, 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, + 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, 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, + 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, 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, + 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, 0x12, 0x6d, + 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, + 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x74, 0x0a, + 0x17, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x67, 0x0a, 0x1b, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, + 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 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, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 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, 0x5b, 0x0a, 0x15, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, + 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 0x5f, + 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 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, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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 ( @@ -1712,28 +2493,36 @@ func file_pb_artistinfoArtshow_proto_rawDescGZIP() []byte { return file_pb_artistinfoArtshow_proto_rawDescData } -var file_pb_artistinfoArtshow_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_pb_artistinfoArtshow_proto_msgTypes = make([]protoimpl.MessageInfo, 27) var file_pb_artistinfoArtshow_proto_goTypes = []interface{}{ - (*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 + (*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 + (*ArtistSupplementInfo)(nil), // 19: artistinfo.ArtistSupplementInfo + (*GetArtistSupplementListResponse)(nil), // 20: artistinfo.GetArtistSupplementListResponse + (*GetArtistSupplementDetailRequest)(nil), // 21: artistinfo.GetArtistSupplementDetailRequest + (*GetArtistSupplementListRequest)(nil), // 22: artistinfo.GetArtistSupplementListRequest + (*BatchCreateArtistSupplementRequest)(nil), // 23: artistinfo.BatchCreateArtistSupplementRequest + (*AuditArtistSupplementRequest)(nil), // 24: artistinfo.AuditArtistSupplementRequest + (*UpdateArtistSupplementRequest)(nil), // 25: artistinfo.UpdateArtistSupplementRequest + (*DeletedArtistSupplementRequest)(nil), // 26: artistinfo.DeletedArtistSupplementRequest + (*emptypb.Empty)(nil), // 27: google.protobuf.Empty } var file_pb_artistinfoArtshow_proto_depIdxs = []int32{ 3, // 0: artistinfo.GetArtshowVideoListResponse.data:type_name -> artistinfo.ArtshowVideoInfo @@ -1741,39 +2530,55 @@ var file_pb_artistinfoArtshow_proto_depIdxs = []int32{ 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 + 19, // 5: artistinfo.GetArtistSupplementListResponse.Data:type_name -> artistinfo.ArtistSupplementInfo + 1, // 6: artistinfo.GetArtistSupplementListResponse.page:type_name -> artistinfo.videoPagination + 10, // 7: artistinfo.ArtistInfoArtshow.GetArtshowVideoDetail:input_type -> artistinfo.GetArtshowVideoDetailRequest + 2, // 8: artistinfo.ArtistInfoArtshow.GetArtshowVideoList:input_type -> artistinfo.GetArtshowVideoListRequst + 3, // 9: artistinfo.ArtistInfoArtshow.CreateArtshowVideo:input_type -> artistinfo.ArtshowVideoInfo + 8, // 10: artistinfo.ArtistInfoArtshow.BatchCreateArtshowVideo:input_type -> artistinfo.BatchCreateArtshowVideoRequest + 5, // 11: artistinfo.ArtistInfoArtshow.AuditArtshowVideo:input_type -> artistinfo.AuditArtshowVideoRequest + 6, // 12: artistinfo.ArtistInfoArtshow.UpdateArtshowVideo:input_type -> artistinfo.UpdateArtshowVideoRequest + 7, // 13: artistinfo.ArtistInfoArtshow.DeletedArtshowVideo:input_type -> artistinfo.DeletedArtshowVideoRequest + 13, // 14: artistinfo.ArtistInfoArtshow.GetArtistIndexDetail:input_type -> artistinfo.GetArtistIndexDetailRequest + 14, // 15: artistinfo.ArtistInfoArtshow.GetArtistIndexList:input_type -> artistinfo.GetArtistIndexListRequest + 11, // 16: artistinfo.ArtistInfoArtshow.CreateArtistIndex:input_type -> artistinfo.ArtistIndexInfo + 15, // 17: artistinfo.ArtistInfoArtshow.BatchCreateArtistIndex:input_type -> artistinfo.BatchCreateArtistIndexRequest + 16, // 18: artistinfo.ArtistInfoArtshow.AuditArtistIndex:input_type -> artistinfo.AuditArtistIndexRequest + 17, // 19: artistinfo.ArtistInfoArtshow.UpdateArtistIndex:input_type -> artistinfo.UpdateArtistIndexRequest + 18, // 20: artistinfo.ArtistInfoArtshow.DeletedArtistIndex:input_type -> artistinfo.DeletedArtistIndexRequest + 21, // 21: artistinfo.ArtistInfoArtshow.GetArtistSupplementDetail:input_type -> artistinfo.GetArtistSupplementDetailRequest + 22, // 22: artistinfo.ArtistInfoArtshow.GetArtistSupplementList:input_type -> artistinfo.GetArtistSupplementListRequest + 19, // 23: artistinfo.ArtistInfoArtshow.CreateArtistSupplement:input_type -> artistinfo.ArtistSupplementInfo + 23, // 24: artistinfo.ArtistInfoArtshow.BatchCreateArtistSupplement:input_type -> artistinfo.BatchCreateArtistSupplementRequest + 24, // 25: artistinfo.ArtistInfoArtshow.AuditArtistSupplement:input_type -> artistinfo.AuditArtistSupplementRequest + 25, // 26: artistinfo.ArtistInfoArtshow.UpdateArtistSupplement:input_type -> artistinfo.UpdateArtistSupplementRequest + 26, // 27: artistinfo.ArtistInfoArtshow.DeletedArtistSupplement:input_type -> artistinfo.DeletedArtistSupplementRequest + 3, // 28: artistinfo.ArtistInfoArtshow.GetArtshowVideoDetail:output_type -> artistinfo.ArtshowVideoInfo + 4, // 29: artistinfo.ArtistInfoArtshow.GetArtshowVideoList:output_type -> artistinfo.GetArtshowVideoListResponse + 27, // 30: artistinfo.ArtistInfoArtshow.CreateArtshowVideo:output_type -> google.protobuf.Empty + 27, // 31: artistinfo.ArtistInfoArtshow.BatchCreateArtshowVideo:output_type -> google.protobuf.Empty + 27, // 32: artistinfo.ArtistInfoArtshow.AuditArtshowVideo:output_type -> google.protobuf.Empty + 27, // 33: artistinfo.ArtistInfoArtshow.UpdateArtshowVideo:output_type -> google.protobuf.Empty + 27, // 34: artistinfo.ArtistInfoArtshow.DeletedArtshowVideo:output_type -> google.protobuf.Empty + 11, // 35: artistinfo.ArtistInfoArtshow.GetArtistIndexDetail:output_type -> artistinfo.ArtistIndexInfo + 12, // 36: artistinfo.ArtistInfoArtshow.GetArtistIndexList:output_type -> artistinfo.GetArtistIndexListResponse + 27, // 37: artistinfo.ArtistInfoArtshow.CreateArtistIndex:output_type -> google.protobuf.Empty + 27, // 38: artistinfo.ArtistInfoArtshow.BatchCreateArtistIndex:output_type -> google.protobuf.Empty + 27, // 39: artistinfo.ArtistInfoArtshow.AuditArtistIndex:output_type -> google.protobuf.Empty + 27, // 40: artistinfo.ArtistInfoArtshow.UpdateArtistIndex:output_type -> google.protobuf.Empty + 27, // 41: artistinfo.ArtistInfoArtshow.DeletedArtistIndex:output_type -> google.protobuf.Empty + 19, // 42: artistinfo.ArtistInfoArtshow.GetArtistSupplementDetail:output_type -> artistinfo.ArtistSupplementInfo + 20, // 43: artistinfo.ArtistInfoArtshow.GetArtistSupplementList:output_type -> artistinfo.GetArtistSupplementListResponse + 27, // 44: artistinfo.ArtistInfoArtshow.CreateArtistSupplement:output_type -> google.protobuf.Empty + 27, // 45: artistinfo.ArtistInfoArtshow.BatchCreateArtistSupplement:output_type -> google.protobuf.Empty + 27, // 46: artistinfo.ArtistInfoArtshow.AuditArtistSupplement:output_type -> google.protobuf.Empty + 27, // 47: artistinfo.ArtistInfoArtshow.UpdateArtistSupplement:output_type -> google.protobuf.Empty + 27, // 48: artistinfo.ArtistInfoArtshow.DeletedArtistSupplement:output_type -> google.protobuf.Empty + 28, // [28:49] is the sub-list for method output_type + 7, // [7:28] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_pb_artistinfoArtshow_proto_init() } @@ -2010,6 +2815,102 @@ func file_pb_artistinfoArtshow_proto_init() { return nil } } + file_pb_artistinfoArtshow_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtistSupplementInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtistSupplementListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtistSupplementDetailRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtistSupplementListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateArtistSupplementRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuditArtistSupplementRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateArtistSupplementRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletedArtistSupplementRequest); 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{ @@ -2017,7 +2918,7 @@ func file_pb_artistinfoArtshow_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_artistinfoArtshow_proto_rawDesc, NumEnums: 0, - NumMessages: 19, + NumMessages: 27, NumExtensions: 0, NumServices: 1, }, diff --git a/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go b/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go index cf843f2..a61e7b9 100644 --- a/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go +++ b/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go @@ -57,6 +57,10 @@ func (m *ArtistListRequest) validate(all bool) error { var errors []error + // no validation rules for Page + + // no validation rules for PageSize + // no validation rules for ArtistName if len(errors) > 0 { @@ -2275,3 +2279,961 @@ var _ interface { Cause() error ErrorName() string } = DeletedArtistIndexRequestValidationError{} + +// Validate checks the field values on ArtistSupplementInfo 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 *ArtistSupplementInfo) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistSupplementInfo 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 +// ArtistSupplementInfoMultiError, or nil if none found. +func (m *ArtistSupplementInfo) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistSupplementInfo) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUid + + // no validation rules for Status + + // no validation rules for LockTime + + // no validation rules for AuditStatus + + // no validation rules for AuditMark1 + + // no validation rules for AuditMark2 + + // no validation rules for ArtistName + + // no validation rules for ArtistProfile + + // no validation rules for CountryArtLevel + + // no validation rules for ArtistCertPic + + // no validation rules for BankNum + + // no validation rules for BankName + + // 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 ArtistSupplementInfoMultiError(errors) + } + + return nil +} + +// ArtistSupplementInfoMultiError is an error wrapping multiple validation +// errors returned by ArtistSupplementInfo.ValidateAll() if the designated +// constraints aren't met. +type ArtistSupplementInfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistSupplementInfoMultiError) 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 ArtistSupplementInfoMultiError) AllErrors() []error { return m } + +// ArtistSupplementInfoValidationError is the validation error returned by +// ArtistSupplementInfo.Validate if the designated constraints aren't met. +type ArtistSupplementInfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistSupplementInfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistSupplementInfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistSupplementInfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistSupplementInfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistSupplementInfoValidationError) ErrorName() string { + return "ArtistSupplementInfoValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistSupplementInfoValidationError) 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 %sArtistSupplementInfo.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistSupplementInfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistSupplementInfoValidationError{} + +// Validate checks the field values on GetArtistSupplementListResponse 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 *GetArtistSupplementListResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtistSupplementListResponse 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 +// GetArtistSupplementListResponseMultiError, or nil if none found. +func (m *GetArtistSupplementListResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtistSupplementListResponse) 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, GetArtistSupplementListResponseValidationError{ + 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, GetArtistSupplementListResponseValidationError{ + 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 GetArtistSupplementListResponseValidationError{ + 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, GetArtistSupplementListResponseValidationError{ + field: "Page", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetArtistSupplementListResponseValidationError{ + 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 GetArtistSupplementListResponseValidationError{ + field: "Page", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return GetArtistSupplementListResponseMultiError(errors) + } + + return nil +} + +// GetArtistSupplementListResponseMultiError is an error wrapping multiple +// validation errors returned by GetArtistSupplementListResponse.ValidateAll() +// if the designated constraints aren't met. +type GetArtistSupplementListResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtistSupplementListResponseMultiError) 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 GetArtistSupplementListResponseMultiError) AllErrors() []error { return m } + +// GetArtistSupplementListResponseValidationError is the validation error +// returned by GetArtistSupplementListResponse.Validate if the designated +// constraints aren't met. +type GetArtistSupplementListResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtistSupplementListResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtistSupplementListResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtistSupplementListResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtistSupplementListResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtistSupplementListResponseValidationError) ErrorName() string { + return "GetArtistSupplementListResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtistSupplementListResponseValidationError) 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 %sGetArtistSupplementListResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtistSupplementListResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtistSupplementListResponseValidationError{} + +// Validate checks the field values on GetArtistSupplementDetailRequest 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 *GetArtistSupplementDetailRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtistSupplementDetailRequest 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 +// GetArtistSupplementDetailRequestMultiError, or nil if none found. +func (m *GetArtistSupplementDetailRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtistSupplementDetailRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Id + + if len(errors) > 0 { + return GetArtistSupplementDetailRequestMultiError(errors) + } + + return nil +} + +// GetArtistSupplementDetailRequestMultiError is an error wrapping multiple +// validation errors returned by +// GetArtistSupplementDetailRequest.ValidateAll() if the designated +// constraints aren't met. +type GetArtistSupplementDetailRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtistSupplementDetailRequestMultiError) 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 GetArtistSupplementDetailRequestMultiError) AllErrors() []error { return m } + +// GetArtistSupplementDetailRequestValidationError is the validation error +// returned by GetArtistSupplementDetailRequest.Validate if the designated +// constraints aren't met. +type GetArtistSupplementDetailRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtistSupplementDetailRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtistSupplementDetailRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtistSupplementDetailRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtistSupplementDetailRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtistSupplementDetailRequestValidationError) ErrorName() string { + return "GetArtistSupplementDetailRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtistSupplementDetailRequestValidationError) 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 %sGetArtistSupplementDetailRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtistSupplementDetailRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtistSupplementDetailRequestValidationError{} + +// Validate checks the field values on GetArtistSupplementListRequest 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 *GetArtistSupplementListRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtistSupplementListRequest 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 +// GetArtistSupplementListRequestMultiError, or nil if none found. +func (m *GetArtistSupplementListRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtistSupplementListRequest) 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 GetArtistSupplementListRequestMultiError(errors) + } + + return nil +} + +// GetArtistSupplementListRequestMultiError is an error wrapping multiple +// validation errors returned by GetArtistSupplementListRequest.ValidateAll() +// if the designated constraints aren't met. +type GetArtistSupplementListRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtistSupplementListRequestMultiError) 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 GetArtistSupplementListRequestMultiError) AllErrors() []error { return m } + +// GetArtistSupplementListRequestValidationError is the validation error +// returned by GetArtistSupplementListRequest.Validate if the designated +// constraints aren't met. +type GetArtistSupplementListRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtistSupplementListRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtistSupplementListRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtistSupplementListRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtistSupplementListRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtistSupplementListRequestValidationError) ErrorName() string { + return "GetArtistSupplementListRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtistSupplementListRequestValidationError) 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 %sGetArtistSupplementListRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtistSupplementListRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtistSupplementListRequestValidationError{} + +// Validate checks the field values on BatchCreateArtistSupplementRequest 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 *BatchCreateArtistSupplementRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on BatchCreateArtistSupplementRequest +// 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 +// BatchCreateArtistSupplementRequestMultiError, or nil if none found. +func (m *BatchCreateArtistSupplementRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *BatchCreateArtistSupplementRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return BatchCreateArtistSupplementRequestMultiError(errors) + } + + return nil +} + +// BatchCreateArtistSupplementRequestMultiError is an error wrapping multiple +// validation errors returned by +// BatchCreateArtistSupplementRequest.ValidateAll() if the designated +// constraints aren't met. +type BatchCreateArtistSupplementRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m BatchCreateArtistSupplementRequestMultiError) 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 BatchCreateArtistSupplementRequestMultiError) AllErrors() []error { return m } + +// BatchCreateArtistSupplementRequestValidationError is the validation error +// returned by BatchCreateArtistSupplementRequest.Validate if the designated +// constraints aren't met. +type BatchCreateArtistSupplementRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e BatchCreateArtistSupplementRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e BatchCreateArtistSupplementRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e BatchCreateArtistSupplementRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e BatchCreateArtistSupplementRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e BatchCreateArtistSupplementRequestValidationError) ErrorName() string { + return "BatchCreateArtistSupplementRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e BatchCreateArtistSupplementRequestValidationError) 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 %sBatchCreateArtistSupplementRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = BatchCreateArtistSupplementRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = BatchCreateArtistSupplementRequestValidationError{} + +// Validate checks the field values on AuditArtistSupplementRequest 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 *AuditArtistSupplementRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on AuditArtistSupplementRequest 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 +// AuditArtistSupplementRequestMultiError, or nil if none found. +func (m *AuditArtistSupplementRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *AuditArtistSupplementRequest) 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 AuditArtistSupplementRequestMultiError(errors) + } + + return nil +} + +// AuditArtistSupplementRequestMultiError is an error wrapping multiple +// validation errors returned by AuditArtistSupplementRequest.ValidateAll() if +// the designated constraints aren't met. +type AuditArtistSupplementRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m AuditArtistSupplementRequestMultiError) 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 AuditArtistSupplementRequestMultiError) AllErrors() []error { return m } + +// AuditArtistSupplementRequestValidationError is the validation error returned +// by AuditArtistSupplementRequest.Validate if the designated constraints +// aren't met. +type AuditArtistSupplementRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e AuditArtistSupplementRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e AuditArtistSupplementRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e AuditArtistSupplementRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e AuditArtistSupplementRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e AuditArtistSupplementRequestValidationError) ErrorName() string { + return "AuditArtistSupplementRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e AuditArtistSupplementRequestValidationError) 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 %sAuditArtistSupplementRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = AuditArtistSupplementRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = AuditArtistSupplementRequestValidationError{} + +// Validate checks the field values on UpdateArtistSupplementRequest 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 *UpdateArtistSupplementRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateArtistSupplementRequest 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 +// UpdateArtistSupplementRequestMultiError, or nil if none found. +func (m *UpdateArtistSupplementRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateArtistSupplementRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Id + + // no validation rules for ArtistProfile + + // no validation rules for CountryArtLevel + + // no validation rules for ArtistCertPic + + // no validation rules for BankNum + + // no validation rules for BankName + + if len(errors) > 0 { + return UpdateArtistSupplementRequestMultiError(errors) + } + + return nil +} + +// UpdateArtistSupplementRequestMultiError is an error wrapping multiple +// validation errors returned by UpdateArtistSupplementRequest.ValidateAll() +// if the designated constraints aren't met. +type UpdateArtistSupplementRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateArtistSupplementRequestMultiError) 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 UpdateArtistSupplementRequestMultiError) AllErrors() []error { return m } + +// UpdateArtistSupplementRequestValidationError is the validation error +// returned by UpdateArtistSupplementRequest.Validate if the designated +// constraints aren't met. +type UpdateArtistSupplementRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateArtistSupplementRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateArtistSupplementRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateArtistSupplementRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateArtistSupplementRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateArtistSupplementRequestValidationError) ErrorName() string { + return "UpdateArtistSupplementRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateArtistSupplementRequestValidationError) 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 %sUpdateArtistSupplementRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateArtistSupplementRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateArtistSupplementRequestValidationError{} + +// Validate checks the field values on DeletedArtistSupplementRequest 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 *DeletedArtistSupplementRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DeletedArtistSupplementRequest 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 +// DeletedArtistSupplementRequestMultiError, or nil if none found. +func (m *DeletedArtistSupplementRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *DeletedArtistSupplementRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Id + + if len(errors) > 0 { + return DeletedArtistSupplementRequestMultiError(errors) + } + + return nil +} + +// DeletedArtistSupplementRequestMultiError is an error wrapping multiple +// validation errors returned by DeletedArtistSupplementRequest.ValidateAll() +// if the designated constraints aren't met. +type DeletedArtistSupplementRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DeletedArtistSupplementRequestMultiError) 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 DeletedArtistSupplementRequestMultiError) AllErrors() []error { return m } + +// DeletedArtistSupplementRequestValidationError is the validation error +// returned by DeletedArtistSupplementRequest.Validate if the designated +// constraints aren't met. +type DeletedArtistSupplementRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DeletedArtistSupplementRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DeletedArtistSupplementRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DeletedArtistSupplementRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DeletedArtistSupplementRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DeletedArtistSupplementRequestValidationError) ErrorName() string { + return "DeletedArtistSupplementRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e DeletedArtistSupplementRequestValidationError) 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 %sDeletedArtistSupplementRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DeletedArtistSupplementRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DeletedArtistSupplementRequestValidationError{} diff --git a/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go b/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go index a655a99..e94a2f4 100644 --- a/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go +++ b/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go @@ -45,6 +45,14 @@ type ArtistInfoArtshowClient interface { 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) + // 画家补充信息 + GetArtistSupplementDetail(ctx context.Context, in *GetArtistSupplementDetailRequest, opts ...grpc_go.CallOption) (*ArtistSupplementInfo, common.ErrorWithAttachment) + GetArtistSupplementList(ctx context.Context, in *GetArtistSupplementListRequest, opts ...grpc_go.CallOption) (*GetArtistSupplementListResponse, common.ErrorWithAttachment) + CreateArtistSupplement(ctx context.Context, in *ArtistSupplementInfo, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + BatchCreateArtistSupplement(ctx context.Context, in *BatchCreateArtistSupplementRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + AuditArtistSupplement(ctx context.Context, in *AuditArtistSupplementRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + UpdateArtistSupplement(ctx context.Context, in *UpdateArtistSupplementRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + DeletedArtistSupplement(ctx context.Context, in *DeletedArtistSupplementRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) } type artistInfoArtshowClient struct { @@ -52,20 +60,27 @@ 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) - 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) + 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) + 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) + GetArtistSupplementDetail func(ctx context.Context, in *GetArtistSupplementDetailRequest) (*ArtistSupplementInfo, error) + GetArtistSupplementList func(ctx context.Context, in *GetArtistSupplementListRequest) (*GetArtistSupplementListResponse, error) + CreateArtistSupplement func(ctx context.Context, in *ArtistSupplementInfo) (*emptypb.Empty, error) + BatchCreateArtistSupplement func(ctx context.Context, in *BatchCreateArtistSupplementRequest) (*emptypb.Empty, error) + AuditArtistSupplement func(ctx context.Context, in *AuditArtistSupplementRequest) (*emptypb.Empty, error) + UpdateArtistSupplement func(ctx context.Context, in *UpdateArtistSupplementRequest) (*emptypb.Empty, error) + DeletedArtistSupplement func(ctx context.Context, in *DeletedArtistSupplementRequest) (*emptypb.Empty, error) } func (c *ArtistInfoArtshowClientImpl) GetDubboStub(cc *triple.TripleConn) ArtistInfoArtshowClient { @@ -164,6 +179,48 @@ func (c *artistInfoArtshowClient) DeletedArtistIndex(ctx context.Context, in *De return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeletedArtistIndex", in, out) } +func (c *artistInfoArtshowClient) GetArtistSupplementDetail(ctx context.Context, in *GetArtistSupplementDetailRequest, opts ...grpc_go.CallOption) (*ArtistSupplementInfo, common.ErrorWithAttachment) { + out := new(ArtistSupplementInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtistSupplementDetail", in, out) +} + +func (c *artistInfoArtshowClient) GetArtistSupplementList(ctx context.Context, in *GetArtistSupplementListRequest, opts ...grpc_go.CallOption) (*GetArtistSupplementListResponse, common.ErrorWithAttachment) { + out := new(GetArtistSupplementListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtistSupplementList", in, out) +} + +func (c *artistInfoArtshowClient) CreateArtistSupplement(ctx context.Context, in *ArtistSupplementInfo, 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+"/CreateArtistSupplement", in, out) +} + +func (c *artistInfoArtshowClient) BatchCreateArtistSupplement(ctx context.Context, in *BatchCreateArtistSupplementRequest, 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+"/BatchCreateArtistSupplement", in, out) +} + +func (c *artistInfoArtshowClient) AuditArtistSupplement(ctx context.Context, in *AuditArtistSupplementRequest, 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+"/AuditArtistSupplement", in, out) +} + +func (c *artistInfoArtshowClient) UpdateArtistSupplement(ctx context.Context, in *UpdateArtistSupplementRequest, 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+"/UpdateArtistSupplement", in, out) +} + +func (c *artistInfoArtshowClient) DeletedArtistSupplement(ctx context.Context, in *DeletedArtistSupplementRequest, 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+"/DeletedArtistSupplement", in, out) +} + // ArtistInfoArtshowServer is the server API for ArtistInfoArtshow service. // All implementations must embed UnimplementedArtistInfoArtshowServer // for forward compatibility @@ -184,6 +241,14 @@ type ArtistInfoArtshowServer interface { AuditArtistIndex(context.Context, *AuditArtistIndexRequest) (*emptypb.Empty, error) UpdateArtistIndex(context.Context, *UpdateArtistIndexRequest) (*emptypb.Empty, error) DeletedArtistIndex(context.Context, *DeletedArtistIndexRequest) (*emptypb.Empty, error) + // 画家补充信息 + GetArtistSupplementDetail(context.Context, *GetArtistSupplementDetailRequest) (*ArtistSupplementInfo, error) + GetArtistSupplementList(context.Context, *GetArtistSupplementListRequest) (*GetArtistSupplementListResponse, error) + CreateArtistSupplement(context.Context, *ArtistSupplementInfo) (*emptypb.Empty, error) + BatchCreateArtistSupplement(context.Context, *BatchCreateArtistSupplementRequest) (*emptypb.Empty, error) + AuditArtistSupplement(context.Context, *AuditArtistSupplementRequest) (*emptypb.Empty, error) + UpdateArtistSupplement(context.Context, *UpdateArtistSupplementRequest) (*emptypb.Empty, error) + DeletedArtistSupplement(context.Context, *DeletedArtistSupplementRequest) (*emptypb.Empty, error) mustEmbedUnimplementedArtistInfoArtshowServer() } @@ -234,6 +299,27 @@ func (UnimplementedArtistInfoArtshowServer) UpdateArtistIndex(context.Context, * func (UnimplementedArtistInfoArtshowServer) DeletedArtistIndex(context.Context, *DeletedArtistIndexRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeletedArtistIndex not implemented") } +func (UnimplementedArtistInfoArtshowServer) GetArtistSupplementDetail(context.Context, *GetArtistSupplementDetailRequest) (*ArtistSupplementInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtistSupplementDetail not implemented") +} +func (UnimplementedArtistInfoArtshowServer) GetArtistSupplementList(context.Context, *GetArtistSupplementListRequest) (*GetArtistSupplementListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtistSupplementList not implemented") +} +func (UnimplementedArtistInfoArtshowServer) CreateArtistSupplement(context.Context, *ArtistSupplementInfo) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateArtistSupplement not implemented") +} +func (UnimplementedArtistInfoArtshowServer) BatchCreateArtistSupplement(context.Context, *BatchCreateArtistSupplementRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchCreateArtistSupplement not implemented") +} +func (UnimplementedArtistInfoArtshowServer) AuditArtistSupplement(context.Context, *AuditArtistSupplementRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AuditArtistSupplement not implemented") +} +func (UnimplementedArtistInfoArtshowServer) UpdateArtistSupplement(context.Context, *UpdateArtistSupplementRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateArtistSupplement not implemented") +} +func (UnimplementedArtistInfoArtshowServer) DeletedArtistSupplement(context.Context, *DeletedArtistSupplementRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletedArtistSupplement not implemented") +} func (s *UnimplementedArtistInfoArtshowServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } @@ -668,6 +754,209 @@ func _ArtistInfoArtshow_DeletedArtistIndex_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _ArtistInfoArtshow_GetArtistSupplementDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtistSupplementDetailRequest) + 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("GetArtistSupplementDetail", 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_GetArtistSupplementList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtistSupplementListRequest) + 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("GetArtistSupplementList", 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_CreateArtistSupplement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ArtistSupplementInfo) + 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("CreateArtistSupplement", 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_BatchCreateArtistSupplement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchCreateArtistSupplementRequest) + 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("BatchCreateArtistSupplement", 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_AuditArtistSupplement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AuditArtistSupplementRequest) + 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("AuditArtistSupplement", 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_UpdateArtistSupplement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateArtistSupplementRequest) + 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("UpdateArtistSupplement", 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_DeletedArtistSupplement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletedArtistSupplementRequest) + 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("DeletedArtistSupplement", 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) +} + // ArtistInfoArtshow_ServiceDesc is the grpc_go.ServiceDesc for ArtistInfoArtshow service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) @@ -731,6 +1020,34 @@ var ArtistInfoArtshow_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "DeletedArtistIndex", Handler: _ArtistInfoArtshow_DeletedArtistIndex_Handler, }, + { + MethodName: "GetArtistSupplementDetail", + Handler: _ArtistInfoArtshow_GetArtistSupplementDetail_Handler, + }, + { + MethodName: "GetArtistSupplementList", + Handler: _ArtistInfoArtshow_GetArtistSupplementList_Handler, + }, + { + MethodName: "CreateArtistSupplement", + Handler: _ArtistInfoArtshow_CreateArtistSupplement_Handler, + }, + { + MethodName: "BatchCreateArtistSupplement", + Handler: _ArtistInfoArtshow_BatchCreateArtistSupplement_Handler, + }, + { + MethodName: "AuditArtistSupplement", + Handler: _ArtistInfoArtshow_AuditArtistSupplement_Handler, + }, + { + MethodName: "UpdateArtistSupplement", + Handler: _ArtistInfoArtshow_UpdateArtistSupplement_Handler, + }, + { + MethodName: "DeletedArtistSupplement", + Handler: _ArtistInfoArtshow_DeletedArtistSupplement_Handler, + }, }, Streams: []grpc_go.StreamDesc{}, Metadata: "pb/artistinfoArtshow.proto", diff --git a/pb/artistinfoUser.proto b/pb/artistinfoUser.proto index c4a24fe..0106cc7 100644 --- a/pb/artistinfoUser.proto +++ b/pb/artistinfoUser.proto @@ -391,6 +391,7 @@ message FindUsersRequest{ int32 pageSize=6; bool isArtist=9; //查询有艺术家uid的数据 repeated string mgmtArtistUids =10; + bool isLock =11; // string Account = 3; // string TelNum = 4; // bool IsLock = 5; diff --git a/pkg/db/init.go b/pkg/db/init.go index 49db8d4..c21e09c 100644 --- a/pkg/db/init.go +++ b/pkg/db/init.go @@ -110,8 +110,9 @@ func migration() { &old.ArtworkBatch{}, &model.TempArtistInfo{}, &model.ArtworkLockRecord{}, - &model.ArtshowRecord{}, //画展视频记录 - &model.ArtshowArtistIndex{}, //画展-画家指数 + &model.ArtshowRecord{}, //画展视频记录 + &model.ArtshowArtistIndex{}, //画展-画家指数 + &model.ArtshowArtistSupplement{}, //画展-画家补充信息 ) if err != nil { fmt.Println("register table fail")