diff --git a/api/aryshare/ayrshare.pb.go b/api/aryshare/ayrshare.pb.go new file mode 100644 index 0000000..fd015ab --- /dev/null +++ b/api/aryshare/ayrshare.pb.go @@ -0,0 +1,3258 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.21.1 +// source: pb/ayrshare.proto + +package aryshare + +import ( + _ "github.com/mwitkow/go-proto-validators" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Instagram 用户标签(带坐标) +type UserTag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username"` + X float64 `protobuf:"fixed64,2,opt,name=x,proto3" json:"x"` // Required for images, cannot be used with Reels + Y float64 `protobuf:"fixed64,3,opt,name=y,proto3" json:"y"` // Required for images, cannot be used with Reels +} + +func (x *UserTag) Reset() { + *x = UserTag{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserTag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserTag) ProtoMessage() {} + +func (x *UserTag) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserTag.ProtoReflect.Descriptor instead. +func (*UserTag) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{0} +} + +func (x *UserTag) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *UserTag) GetX() float64 { + if x != nil { + return x.X + } + return 0 +} + +func (x *UserTag) GetY() float64 { + if x != nil { + return x.Y + } + return 0 +} + +// Instagram 特定发布选项 +type InstagramOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ShareReelsFeed bool `protobuf:"varint,1,opt,name=shareReelsFeed,proto3" json:"shareReelsFeed"` // Whether Reel can appear in both Feed and Reels tabs + AudioName string `protobuf:"bytes,2,opt,name=audioName,proto3" json:"audioName"` // Name of the audio music for Reels + ThumbNail string `protobuf:"bytes,3,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of the Reel cover image (thumbnail) + ThumbNailOffset int32 `protobuf:"varint,4,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset"` // Offset in milliseconds of the thumbnail frame + Stories bool `protobuf:"varint,5,opt,name=stories,proto3" json:"stories"` // Whether to post as Instagram Story + AltText []string `protobuf:"bytes,6,rep,name=altText,proto3" json:"altText"` // Array of alternative text for images (up to 1000 chars per image) + LocationId string `protobuf:"bytes,7,opt,name=locationId,proto3" json:"locationId"` // Facebook Page ID or Page name + UserTags []*UserTag `protobuf:"bytes,8,rep,name=userTags,proto3" json:"userTags"` // Array of user tags with username and coordinates + Collaborators []string `protobuf:"bytes,9,rep,name=collaborators,proto3" json:"collaborators"` // Array of Instagram usernames (up to 3) + AutoResize bool `protobuf:"varint,10,opt,name=autoResize,proto3" json:"autoResize"` // Auto resize images to 1080x1080px (Max Pack required) + DisableComments bool `protobuf:"varint,11,opt,name=disableComments,proto3" json:"disableComments"` // Disable comments on the published post +} + +func (x *InstagramOptions) Reset() { + *x = InstagramOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstagramOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstagramOptions) ProtoMessage() {} + +func (x *InstagramOptions) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstagramOptions.ProtoReflect.Descriptor instead. +func (*InstagramOptions) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{1} +} + +func (x *InstagramOptions) GetShareReelsFeed() bool { + if x != nil { + return x.ShareReelsFeed + } + return false +} + +func (x *InstagramOptions) GetAudioName() string { + if x != nil { + return x.AudioName + } + return "" +} + +func (x *InstagramOptions) GetThumbNail() string { + if x != nil { + return x.ThumbNail + } + return "" +} + +func (x *InstagramOptions) GetThumbNailOffset() int32 { + if x != nil { + return x.ThumbNailOffset + } + return 0 +} + +func (x *InstagramOptions) GetStories() bool { + if x != nil { + return x.Stories + } + return false +} + +func (x *InstagramOptions) GetAltText() []string { + if x != nil { + return x.AltText + } + return nil +} + +func (x *InstagramOptions) GetLocationId() string { + if x != nil { + return x.LocationId + } + return "" +} + +func (x *InstagramOptions) GetUserTags() []*UserTag { + if x != nil { + return x.UserTags + } + return nil +} + +func (x *InstagramOptions) GetCollaborators() []string { + if x != nil { + return x.Collaborators + } + return nil +} + +func (x *InstagramOptions) GetAutoResize() bool { + if x != nil { + return x.AutoResize + } + return false +} + +func (x *InstagramOptions) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +// TikTok 特定发布选项 +type TikTokOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AutoAddMusic bool `protobuf:"varint,1,opt,name=autoAddMusic,proto3" json:"autoAddMusic"` // Whether to automatically add recommended music (image only) + DisableComments bool `protobuf:"varint,2,opt,name=disableComments,proto3" json:"disableComments"` // Whether to disable comments on the published post + DisableDuet bool `protobuf:"varint,3,opt,name=disableDuet,proto3" json:"disableDuet"` // Disable duets on the published video (video only) + DisableStitch bool `protobuf:"varint,4,opt,name=disableStitch,proto3" json:"disableStitch"` // Disable stitch on the published video (video only) + Draft bool `protobuf:"varint,5,opt,name=draft,proto3" json:"draft"` // Whether to create a draft post + IsAIGenerated bool `protobuf:"varint,6,opt,name=isAIGenerated,proto3" json:"isAIGenerated"` // Whether to enable AI-generated content toggle (video only) + IsBrandedContent bool `protobuf:"varint,7,opt,name=isBrandedContent,proto3" json:"isBrandedContent"` // Whether to enable Branded Content toggle + IsBrandOrganic bool `protobuf:"varint,8,opt,name=isBrandOrganic,proto3" json:"isBrandOrganic"` // Whether to enable Brand Organic Content toggle + ImageCoverIndex int32 `protobuf:"varint,9,opt,name=imageCoverIndex,proto3" json:"imageCoverIndex"` // Index of mediaUrls to be used as cover (image only, default 0) + Title string `protobuf:"bytes,10,opt,name=title,proto3" json:"title"` // Title of the post (image only) + ThumbNailOffset int32 `protobuf:"varint,11,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset"` // Frame to use for video cover in milliseconds (video only) + ThumbNail string `protobuf:"bytes,12,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of thumbnail image for video (video only) + Visibility string `protobuf:"bytes,13,opt,name=visibility,proto3" json:"visibility"` // How the post is shared: "public", "private", "followers", "friends" (image only, default "public") +} + +func (x *TikTokOptions) Reset() { + *x = TikTokOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TikTokOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TikTokOptions) ProtoMessage() {} + +func (x *TikTokOptions) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TikTokOptions.ProtoReflect.Descriptor instead. +func (*TikTokOptions) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{2} +} + +func (x *TikTokOptions) GetAutoAddMusic() bool { + if x != nil { + return x.AutoAddMusic + } + return false +} + +func (x *TikTokOptions) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +func (x *TikTokOptions) GetDisableDuet() bool { + if x != nil { + return x.DisableDuet + } + return false +} + +func (x *TikTokOptions) GetDisableStitch() bool { + if x != nil { + return x.DisableStitch + } + return false +} + +func (x *TikTokOptions) GetDraft() bool { + if x != nil { + return x.Draft + } + return false +} + +func (x *TikTokOptions) GetIsAIGenerated() bool { + if x != nil { + return x.IsAIGenerated + } + return false +} + +func (x *TikTokOptions) GetIsBrandedContent() bool { + if x != nil { + return x.IsBrandedContent + } + return false +} + +func (x *TikTokOptions) GetIsBrandOrganic() bool { + if x != nil { + return x.IsBrandOrganic + } + return false +} + +func (x *TikTokOptions) GetImageCoverIndex() int32 { + if x != nil { + return x.ImageCoverIndex + } + return 0 +} + +func (x *TikTokOptions) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *TikTokOptions) GetThumbNailOffset() int32 { + if x != nil { + return x.ThumbNailOffset + } + return 0 +} + +func (x *TikTokOptions) GetThumbNail() string { + if x != nil { + return x.ThumbNail + } + return "" +} + +func (x *TikTokOptions) GetVisibility() string { + if x != nil { + return x.Visibility + } + return "" +} + +// 发布帖子到社交媒体平台 +type PostRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Post string `protobuf:"bytes,1,opt,name=post,proto3" json:"post"` + Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"` + MediaUrls []string `protobuf:"bytes,3,rep,name=mediaUrls,proto3" json:"mediaUrls"` + IsVideo bool `protobuf:"varint,4,opt,name=isVideo,proto3" json:"isVideo"` + ScheduleDate string `protobuf:"bytes,5,opt,name=scheduleDate,proto3" json:"scheduleDate"` + ValidateScheduled bool `protobuf:"varint,6,opt,name=validateScheduled,proto3" json:"validateScheduled"` + ShortenLinks bool `protobuf:"varint,7,opt,name=shortenLinks,proto3" json:"shortenLinks"` + DisableComments bool `protobuf:"varint,8,opt,name=disableComments,proto3" json:"disableComments"` + InstagramOptions *InstagramOptions `protobuf:"bytes,9,opt,name=instagramOptions,proto3" json:"instagramOptions"` + TikTokOptions *TikTokOptions `protobuf:"bytes,10,opt,name=tikTokOptions,proto3" json:"tikTokOptions"` + ProfileKey string `protobuf:"bytes,11,opt,name=profileKey,proto3" json:"profileKey"` +} + +func (x *PostRequest) Reset() { + *x = PostRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostRequest) ProtoMessage() {} + +func (x *PostRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostRequest.ProtoReflect.Descriptor instead. +func (*PostRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{3} +} + +func (x *PostRequest) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *PostRequest) GetPlatforms() []string { + if x != nil { + return x.Platforms + } + return nil +} + +func (x *PostRequest) GetMediaUrls() []string { + if x != nil { + return x.MediaUrls + } + return nil +} + +func (x *PostRequest) GetIsVideo() bool { + if x != nil { + return x.IsVideo + } + return false +} + +func (x *PostRequest) GetScheduleDate() string { + if x != nil { + return x.ScheduleDate + } + return "" +} + +func (x *PostRequest) GetValidateScheduled() bool { + if x != nil { + return x.ValidateScheduled + } + return false +} + +func (x *PostRequest) GetShortenLinks() bool { + if x != nil { + return x.ShortenLinks + } + return false +} + +func (x *PostRequest) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +func (x *PostRequest) GetInstagramOptions() *InstagramOptions { + if x != nil { + return x.InstagramOptions + } + return nil +} + +func (x *PostRequest) GetTikTokOptions() *TikTokOptions { + if x != nil { + return x.TikTokOptions + } + return nil +} + +func (x *PostRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +// 单个平台的帖子ID响应 +type PostId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid"` + PostUrl string `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` + Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type"` + Owner string `protobuf:"bytes,7,opt,name=owner,proto3" json:"owner"` + MediaId string `protobuf:"bytes,8,opt,name=mediaId,proto3" json:"mediaId"` + Ended string `protobuf:"bytes,9,opt,name=ended,proto3" json:"ended"` + IdShare string `protobuf:"bytes,10,opt,name=idShare,proto3" json:"idShare"` + IsVideo bool `protobuf:"varint,11,opt,name=isVideo,proto3" json:"isVideo"` + UsedQuota int32 `protobuf:"varint,12,opt,name=usedQuota,proto3" json:"usedQuota"` +} + +func (x *PostId) Reset() { + *x = PostId{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostId) ProtoMessage() {} + +func (x *PostId) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostId.ProtoReflect.Descriptor instead. +func (*PostId) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{4} +} + +func (x *PostId) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostId) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PostId) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +func (x *PostId) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *PostId) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *PostId) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *PostId) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *PostId) GetMediaId() string { + if x != nil { + return x.MediaId + } + return "" +} + +func (x *PostId) GetEnded() string { + if x != nil { + return x.Ended + } + return "" +} + +func (x *PostId) GetIdShare() string { + if x != nil { + return x.IdShare + } + return "" +} + +func (x *PostId) GetIsVideo() bool { + if x != nil { + return x.IsVideo + } + return false +} + +func (x *PostId) GetUsedQuota() int32 { + if x != nil { + return x.UsedQuota + } + return 0 +} + +// 帖子项(使用 profile key 时的响应格式) +type PostItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors"` + PostIds []*PostId `protobuf:"bytes,3,rep,name=postIds,proto3" json:"postIds"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id"` + RefId string `protobuf:"bytes,5,opt,name=refId,proto3" json:"refId"` + ProfileTitle string `protobuf:"bytes,6,opt,name=profileTitle,proto3" json:"profileTitle"` + Post string `protobuf:"bytes,7,opt,name=post,proto3" json:"post"` + TikTokId string `protobuf:"bytes,8,opt,name=tikTokId,proto3" json:"tikTokId"` // TikTok 特定的 ID +} + +func (x *PostItem) Reset() { + *x = PostItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostItem) ProtoMessage() {} + +func (x *PostItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostItem.ProtoReflect.Descriptor instead. +func (*PostItem) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{5} +} + +func (x *PostItem) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostItem) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *PostItem) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *PostItem) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PostItem) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *PostItem) GetProfileTitle() string { + if x != nil { + return x.ProfileTitle + } + return "" +} + +func (x *PostItem) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *PostItem) GetTikTokId() string { + if x != nil { + return x.TikTokId + } + return "" +} + +// 发布帖子响应 +type PostResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Posts []*PostItem `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts"` + // 兼容旧版本响应格式(不使用 profile key 时) + Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors"` + PostIds []*PostId `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id"` + IsValidated bool `protobuf:"varint,6,opt,name=isValidated,json=validate,proto3" json:"isValidated"` // validateScheduled 请求的验证结果 +} + +func (x *PostResponse) Reset() { + *x = PostResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostResponse) ProtoMessage() {} + +func (x *PostResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostResponse.ProtoReflect.Descriptor instead. +func (*PostResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{6} +} + +func (x *PostResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostResponse) GetPosts() []*PostItem { + if x != nil { + return x.Posts + } + return nil +} + +func (x *PostResponse) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *PostResponse) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *PostResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PostResponse) GetIsValidated() bool { + if x != nil { + return x.IsValidated + } + return false +} + +// 获取帖子请求 +type GetPostRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` +} + +func (x *GetPostRequest) Reset() { + *x = GetPostRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPostRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPostRequest) ProtoMessage() {} + +func (x *GetPostRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPostRequest.ProtoReflect.Descriptor instead. +func (*GetPostRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{7} +} + +func (x *GetPostRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetPostRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +// 获取帖子响应 +type GetPostResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created"` + Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` + MediaUrls []string `protobuf:"bytes,4,rep,name=mediaUrls,proto3" json:"mediaUrls"` + Platforms []string `protobuf:"bytes,5,rep,name=platforms,proto3" json:"platforms"` + Post string `protobuf:"bytes,6,opt,name=post,proto3" json:"post"` + PostIds []*PostId `protobuf:"bytes,7,rep,name=postIds,proto3" json:"postIds"` + ProfileTitle string `protobuf:"bytes,8,opt,name=profileTitle,proto3" json:"profileTitle"` + RefId string `protobuf:"bytes,9,opt,name=refId,proto3" json:"refId"` + ScheduleDate string `protobuf:"bytes,10,opt,name=scheduleDate,proto3" json:"scheduleDate"` + ShortenLinks bool `protobuf:"varint,11,opt,name=shortenLinks,proto3" json:"shortenLinks"` + Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status"` + Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type"` +} + +func (x *GetPostResponse) Reset() { + *x = GetPostResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPostResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPostResponse) ProtoMessage() {} + +func (x *GetPostResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPostResponse.ProtoReflect.Descriptor instead. +func (*GetPostResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{8} +} + +func (x *GetPostResponse) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *GetPostResponse) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *GetPostResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetPostResponse) GetMediaUrls() []string { + if x != nil { + return x.MediaUrls + } + return nil +} + +func (x *GetPostResponse) GetPlatforms() []string { + if x != nil { + return x.Platforms + } + return nil +} + +func (x *GetPostResponse) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *GetPostResponse) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *GetPostResponse) GetProfileTitle() string { + if x != nil { + return x.ProfileTitle + } + return "" +} + +func (x *GetPostResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetPostResponse) GetScheduleDate() string { + if x != nil { + return x.ScheduleDate + } + return "" +} + +func (x *GetPostResponse) GetShortenLinks() bool { + if x != nil { + return x.ShortenLinks + } + return false +} + +func (x *GetPostResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *GetPostResponse) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +// 获取用户详情请求 +type GetUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProfileKey string `protobuf:"bytes,1,opt,name=profileKey,proto3" json:"profileKey"` + InstagramDetails bool `protobuf:"varint,2,opt,name=instagramDetails,proto3" json:"instagramDetails"` +} + +func (x *GetUserRequest) Reset() { + *x = GetUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserRequest) ProtoMessage() {} + +func (x *GetUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserRequest.ProtoReflect.Descriptor instead. +func (*GetUserRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{9} +} + +func (x *GetUserRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *GetUserRequest) GetInstagramDetails() bool { + if x != nil { + return x.InstagramDetails + } + return false +} + +// 时间戳 +type Timestamp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Seconds int64 `protobuf:"varint,1,opt,name=seconds,json=_seconds,proto3" json:"seconds"` + Nanoseconds int64 `protobuf:"varint,2,opt,name=nanoseconds,json=_nanoseconds,proto3" json:"nanoseconds"` + Utc string `protobuf:"bytes,3,opt,name=utc,proto3" json:"utc"` +} + +func (x *Timestamp) Reset() { + *x = Timestamp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Timestamp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Timestamp) ProtoMessage() {} + +func (x *Timestamp) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Timestamp.ProtoReflect.Descriptor instead. +func (*Timestamp) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{10} +} + +func (x *Timestamp) GetSeconds() int64 { + if x != nil { + return x.Seconds + } + return 0 +} + +func (x *Timestamp) GetNanoseconds() int64 { + if x != nil { + return x.Nanoseconds + } + return 0 +} + +func (x *Timestamp) GetUtc() string { + if x != nil { + return x.Utc + } + return "" +} + +// Twitter 使用情况 +type TwitterUsage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MonthlyUsage int32 `protobuf:"varint,1,opt,name=monthlyUsage,proto3" json:"monthlyUsage"` + MonthlyLimit int32 `protobuf:"varint,2,opt,name=monthlyLimit,proto3" json:"monthlyLimit"` + MonthlyReset string `protobuf:"bytes,3,opt,name=monthlyReset,proto3" json:"monthlyReset"` +} + +func (x *TwitterUsage) Reset() { + *x = TwitterUsage{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TwitterUsage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TwitterUsage) ProtoMessage() {} + +func (x *TwitterUsage) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TwitterUsage.ProtoReflect.Descriptor instead. +func (*TwitterUsage) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{11} +} + +func (x *TwitterUsage) GetMonthlyUsage() int32 { + if x != nil { + return x.MonthlyUsage + } + return 0 +} + +func (x *TwitterUsage) GetMonthlyLimit() int32 { + if x != nil { + return x.MonthlyLimit + } + return 0 +} + +func (x *TwitterUsage) GetMonthlyReset() string { + if x != nil { + return x.MonthlyReset + } + return "" +} + +// 社交媒体账户显示名称和详情 +type DisplayName struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created"` + DisplayName string `protobuf:"bytes,2,opt,name=displayName,proto3" json:"displayName"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` + ProfileUrl string `protobuf:"bytes,5,opt,name=profileUrl,proto3" json:"profileUrl"` + UserImage string `protobuf:"bytes,6,opt,name=userImage,proto3" json:"userImage"` + Username string `protobuf:"bytes,7,opt,name=username,proto3" json:"username"` + Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description"` + MessagingActive bool `protobuf:"varint,9,opt,name=messagingActive,proto3" json:"messagingActive"` + PageName string `protobuf:"bytes,10,opt,name=pageName,proto3" json:"pageName"` + UserId string `protobuf:"bytes,11,opt,name=userId,proto3" json:"userId"` + MapsUrl string `protobuf:"bytes,12,opt,name=mapsUrl,proto3" json:"mapsUrl"` + PlaceId string `protobuf:"bytes,13,opt,name=placeId,proto3" json:"placeId"` + ReviewUrl string `protobuf:"bytes,14,opt,name=reviewUrl,proto3" json:"reviewUrl"` + IgId string `protobuf:"bytes,15,opt,name=igId,proto3" json:"igId"` + Type string `protobuf:"bytes,16,opt,name=type,proto3" json:"type"` + UsedQuota int32 `protobuf:"varint,17,opt,name=usedQuota,proto3" json:"usedQuota"` + RefreshDaysRemaining int32 `protobuf:"varint,18,opt,name=refreshDaysRemaining,proto3" json:"refreshDaysRemaining"` + RefreshRequired string `protobuf:"bytes,19,opt,name=refreshRequired,proto3" json:"refreshRequired"` + IsEligibleForGeoRestrictions bool `protobuf:"varint,20,opt,name=isEligibleForGeoRestrictions,proto3" json:"isEligibleForGeoRestrictions"` + IsVerified bool `protobuf:"varint,21,opt,name=isVerified,proto3" json:"isVerified"` + SubscriptionType string `protobuf:"bytes,22,opt,name=subscriptionType,proto3" json:"subscriptionType"` + TwitterUsage *TwitterUsage `protobuf:"bytes,23,opt,name=twitterUsage,proto3" json:"twitterUsage"` + VerifiedType string `protobuf:"bytes,24,opt,name=verifiedType,proto3" json:"verifiedType"` +} + +func (x *DisplayName) Reset() { + *x = DisplayName{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayName) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayName) ProtoMessage() {} + +func (x *DisplayName) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisplayName.ProtoReflect.Descriptor instead. +func (*DisplayName) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{12} +} + +func (x *DisplayName) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *DisplayName) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *DisplayName) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DisplayName) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *DisplayName) GetProfileUrl() string { + if x != nil { + return x.ProfileUrl + } + return "" +} + +func (x *DisplayName) GetUserImage() string { + if x != nil { + return x.UserImage + } + return "" +} + +func (x *DisplayName) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *DisplayName) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *DisplayName) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +func (x *DisplayName) GetPageName() string { + if x != nil { + return x.PageName + } + return "" +} + +func (x *DisplayName) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *DisplayName) GetMapsUrl() string { + if x != nil { + return x.MapsUrl + } + return "" +} + +func (x *DisplayName) GetPlaceId() string { + if x != nil { + return x.PlaceId + } + return "" +} + +func (x *DisplayName) GetReviewUrl() string { + if x != nil { + return x.ReviewUrl + } + return "" +} + +func (x *DisplayName) GetIgId() string { + if x != nil { + return x.IgId + } + return "" +} + +func (x *DisplayName) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *DisplayName) GetUsedQuota() int32 { + if x != nil { + return x.UsedQuota + } + return 0 +} + +func (x *DisplayName) GetRefreshDaysRemaining() int32 { + if x != nil { + return x.RefreshDaysRemaining + } + return 0 +} + +func (x *DisplayName) GetRefreshRequired() string { + if x != nil { + return x.RefreshRequired + } + return "" +} + +func (x *DisplayName) GetIsEligibleForGeoRestrictions() bool { + if x != nil { + return x.IsEligibleForGeoRestrictions + } + return false +} + +func (x *DisplayName) GetIsVerified() bool { + if x != nil { + return x.IsVerified + } + return false +} + +func (x *DisplayName) GetSubscriptionType() string { + if x != nil { + return x.SubscriptionType + } + return "" +} + +func (x *DisplayName) GetTwitterUsage() *TwitterUsage { + if x != nil { + return x.TwitterUsage + } + return nil +} + +func (x *DisplayName) GetVerifiedType() string { + if x != nil { + return x.VerifiedType + } + return "" +} + +// 获取用户详情响应 +type GetUserResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActiveSocialAccounts []string `protobuf:"bytes,1,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts"` + Created *Timestamp `protobuf:"bytes,2,opt,name=created,proto3" json:"created"` + DisplayNames []*DisplayName `protobuf:"bytes,3,rep,name=displayNames,proto3" json:"displayNames"` + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email"` + LastApiCall string `protobuf:"bytes,5,opt,name=lastApiCall,proto3" json:"lastApiCall"` + MessagingConversationMonthlyCount int32 `protobuf:"varint,6,opt,name=messagingConversationMonthlyCount,proto3" json:"messagingConversationMonthlyCount"` + MessagingEnabled bool `protobuf:"varint,7,opt,name=messagingEnabled,proto3" json:"messagingEnabled"` + MonthlyApiCalls int32 `protobuf:"varint,8,opt,name=monthlyApiCalls,proto3" json:"monthlyApiCalls"` + MonthlyPostCount int32 `protobuf:"varint,9,opt,name=monthlyPostCount,proto3" json:"monthlyPostCount"` + MonthlyPostQuota int32 `protobuf:"varint,10,opt,name=monthlyPostQuota,proto3" json:"monthlyPostQuota"` + MonthlyApiCallsQuota int32 `protobuf:"varint,11,opt,name=monthlyApiCallsQuota,proto3" json:"monthlyApiCallsQuota"` + RefId string `protobuf:"bytes,12,opt,name=refId,proto3" json:"refId"` + Title string `protobuf:"bytes,13,opt,name=title,proto3" json:"title"` + LastUpdated string `protobuf:"bytes,14,opt,name=lastUpdated,proto3" json:"lastUpdated"` + NextUpdate string `protobuf:"bytes,15,opt,name=nextUpdate,proto3" json:"nextUpdate"` +} + +func (x *GetUserResponse) Reset() { + *x = GetUserResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserResponse) ProtoMessage() {} + +func (x *GetUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserResponse.ProtoReflect.Descriptor instead. +func (*GetUserResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{13} +} + +func (x *GetUserResponse) GetActiveSocialAccounts() []string { + if x != nil { + return x.ActiveSocialAccounts + } + return nil +} + +func (x *GetUserResponse) GetCreated() *Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *GetUserResponse) GetDisplayNames() []*DisplayName { + if x != nil { + return x.DisplayNames + } + return nil +} + +func (x *GetUserResponse) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *GetUserResponse) GetLastApiCall() string { + if x != nil { + return x.LastApiCall + } + return "" +} + +func (x *GetUserResponse) GetMessagingConversationMonthlyCount() int32 { + if x != nil { + return x.MessagingConversationMonthlyCount + } + return 0 +} + +func (x *GetUserResponse) GetMessagingEnabled() bool { + if x != nil { + return x.MessagingEnabled + } + return false +} + +func (x *GetUserResponse) GetMonthlyApiCalls() int32 { + if x != nil { + return x.MonthlyApiCalls + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyPostCount() int32 { + if x != nil { + return x.MonthlyPostCount + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyPostQuota() int32 { + if x != nil { + return x.MonthlyPostQuota + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyApiCallsQuota() int32 { + if x != nil { + return x.MonthlyApiCallsQuota + } + return 0 +} + +func (x *GetUserResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetUserResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetUserResponse) GetLastUpdated() string { + if x != nil { + return x.LastUpdated + } + return "" +} + +func (x *GetUserResponse) GetNextUpdate() string { + if x != nil { + return x.NextUpdate + } + return "" +} + +// 创建用户配置请求 +type CreateProfileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + MessagingActive bool `protobuf:"varint,2,opt,name=messagingActive,proto3" json:"messagingActive"` + HideTopHeader bool `protobuf:"varint,3,opt,name=hideTopHeader,proto3" json:"hideTopHeader"` + TopHeader string `protobuf:"bytes,4,opt,name=topHeader,proto3" json:"topHeader"` + DisableSocial []string `protobuf:"bytes,5,rep,name=disableSocial,proto3" json:"disableSocial"` + Team bool `protobuf:"varint,6,opt,name=team,proto3" json:"team"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email"` + SubHeader string `protobuf:"bytes,8,opt,name=subHeader,proto3" json:"subHeader"` + Tags []string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags"` +} + +func (x *CreateProfileRequest) Reset() { + *x = CreateProfileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProfileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProfileRequest) ProtoMessage() {} + +func (x *CreateProfileRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateProfileRequest.ProtoReflect.Descriptor instead. +func (*CreateProfileRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateProfileRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CreateProfileRequest) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +func (x *CreateProfileRequest) GetHideTopHeader() bool { + if x != nil { + return x.HideTopHeader + } + return false +} + +func (x *CreateProfileRequest) GetTopHeader() string { + if x != nil { + return x.TopHeader + } + return "" +} + +func (x *CreateProfileRequest) GetDisableSocial() []string { + if x != nil { + return x.DisableSocial + } + return nil +} + +func (x *CreateProfileRequest) GetTeam() bool { + if x != nil { + return x.Team + } + return false +} + +func (x *CreateProfileRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *CreateProfileRequest) GetSubHeader() string { + if x != nil { + return x.SubHeader + } + return "" +} + +func (x *CreateProfileRequest) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +// 创建用户配置响应 +type CreateProfileResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + RefId string `protobuf:"bytes,3,opt,name=refId,proto3" json:"refId"` + ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"` + MessagingActive bool `protobuf:"varint,5,opt,name=messagingActive,proto3" json:"messagingActive"` +} + +func (x *CreateProfileResponse) Reset() { + *x = CreateProfileResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProfileResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProfileResponse) ProtoMessage() {} + +func (x *CreateProfileResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateProfileResponse.ProtoReflect.Descriptor instead. +func (*CreateProfileResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{15} +} + +func (x *CreateProfileResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreateProfileResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CreateProfileResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *CreateProfileResponse) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *CreateProfileResponse) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +// 获取用户配置列表请求 +type GetProfilesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + RefId string `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId"` + HasActiveSocialAccounts bool `protobuf:"varint,3,opt,name=hasActiveSocialAccounts,proto3" json:"hasActiveSocialAccounts"` + IncludesActiveSocialAccounts []string `protobuf:"bytes,4,rep,name=includesActiveSocialAccounts,proto3" json:"includesActiveSocialAccounts"` + // Types that are assignable to ActionLog: + // + // *GetProfilesRequest_ActionLogBool + // *GetProfilesRequest_ActionLogInt + ActionLog isGetProfilesRequest_ActionLog `protobuf_oneof:"actionLog"` + Limit int32 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit"` + Cursor string `protobuf:"bytes,8,opt,name=cursor,proto3" json:"cursor"` +} + +func (x *GetProfilesRequest) Reset() { + *x = GetProfilesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProfilesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProfilesRequest) ProtoMessage() {} + +func (x *GetProfilesRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProfilesRequest.ProtoReflect.Descriptor instead. +func (*GetProfilesRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{16} +} + +func (x *GetProfilesRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetProfilesRequest) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetProfilesRequest) GetHasActiveSocialAccounts() bool { + if x != nil { + return x.HasActiveSocialAccounts + } + return false +} + +func (x *GetProfilesRequest) GetIncludesActiveSocialAccounts() []string { + if x != nil { + return x.IncludesActiveSocialAccounts + } + return nil +} + +func (m *GetProfilesRequest) GetActionLog() isGetProfilesRequest_ActionLog { + if m != nil { + return m.ActionLog + } + return nil +} + +func (x *GetProfilesRequest) GetActionLogBool() bool { + if x, ok := x.GetActionLog().(*GetProfilesRequest_ActionLogBool); ok { + return x.ActionLogBool + } + return false +} + +func (x *GetProfilesRequest) GetActionLogInt() int32 { + if x, ok := x.GetActionLog().(*GetProfilesRequest_ActionLogInt); ok { + return x.ActionLogInt + } + return 0 +} + +func (x *GetProfilesRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *GetProfilesRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +type isGetProfilesRequest_ActionLog interface { + isGetProfilesRequest_ActionLog() +} + +type GetProfilesRequest_ActionLogBool struct { + ActionLogBool bool `protobuf:"varint,5,opt,name=actionLogBool,proto3,oneof"` +} + +type GetProfilesRequest_ActionLogInt struct { + ActionLogInt int32 `protobuf:"varint,6,opt,name=actionLogInt,proto3,oneof"` +} + +func (*GetProfilesRequest_ActionLogBool) isGetProfilesRequest_ActionLog() {} + +func (*GetProfilesRequest_ActionLogInt) isGetProfilesRequest_ActionLog() {} + +// 用户配置项 +type ProfileItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + DisplayTitle string `protobuf:"bytes,3,opt,name=displayTitle,proto3" json:"displayTitle"` + Created *Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` + CreatedUTC string `protobuf:"bytes,5,opt,name=createdUTC,proto3" json:"createdUTC"` + RefId string `protobuf:"bytes,6,opt,name=refId,proto3" json:"refId"` + ActiveSocialAccounts []string `protobuf:"bytes,7,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts"` + Suspended bool `protobuf:"varint,8,opt,name=suspended,proto3" json:"suspended"` +} + +func (x *ProfileItem) Reset() { + *x = ProfileItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProfileItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProfileItem) ProtoMessage() {} + +func (x *ProfileItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProfileItem.ProtoReflect.Descriptor instead. +func (*ProfileItem) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{17} +} + +func (x *ProfileItem) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ProfileItem) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ProfileItem) GetDisplayTitle() string { + if x != nil { + return x.DisplayTitle + } + return "" +} + +func (x *ProfileItem) GetCreated() *Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *ProfileItem) GetCreatedUTC() string { + if x != nil { + return x.CreatedUTC + } + return "" +} + +func (x *ProfileItem) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *ProfileItem) GetActiveSocialAccounts() []string { + if x != nil { + return x.ActiveSocialAccounts + } + return nil +} + +func (x *ProfileItem) GetSuspended() bool { + if x != nil { + return x.Suspended + } + return false +} + +// 分页信息 +type Pagination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HasMore bool `protobuf:"varint,1,opt,name=hasMore,proto3" json:"hasMore"` + NextCursor string `protobuf:"bytes,2,opt,name=nextCursor,proto3" json:"nextCursor"` + Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit"` +} + +func (x *Pagination) Reset() { + *x = Pagination{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Pagination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Pagination) ProtoMessage() {} + +func (x *Pagination) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Pagination.ProtoReflect.Descriptor instead. +func (*Pagination) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{18} +} + +func (x *Pagination) GetHasMore() bool { + if x != nil { + return x.HasMore + } + return false +} + +func (x *Pagination) GetNextCursor() string { + if x != nil { + return x.NextCursor + } + return "" +} + +func (x *Pagination) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +// 获取用户配置列表响应 +type GetProfilesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Profiles []*ProfileItem `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles"` + Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` + LastUpdated string `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated"` + NextUpdate string `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate"` + Pagination *Pagination `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination"` +} + +func (x *GetProfilesResponse) Reset() { + *x = GetProfilesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProfilesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProfilesResponse) ProtoMessage() {} + +func (x *GetProfilesResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetProfilesResponse.ProtoReflect.Descriptor instead. +func (*GetProfilesResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{19} +} + +func (x *GetProfilesResponse) GetProfiles() []*ProfileItem { + if x != nil { + return x.Profiles + } + return nil +} + +func (x *GetProfilesResponse) GetCount() int32 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *GetProfilesResponse) GetLastUpdated() string { + if x != nil { + return x.LastUpdated + } + return "" +} + +func (x *GetProfilesResponse) GetNextUpdate() string { + if x != nil { + return x.NextUpdate + } + return "" +} + +func (x *GetProfilesResponse) GetPagination() *Pagination { + if x != nil { + return x.Pagination + } + return nil +} + +// 邮件配置对象 +type Email struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + To string `protobuf:"bytes,1,opt,name=to,proto3" json:"to"` + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject"` + Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body"` +} + +func (x *Email) Reset() { + *x = Email{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Email) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Email) ProtoMessage() {} + +func (x *Email) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 Email.ProtoReflect.Descriptor instead. +func (*Email) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{20} +} + +func (x *Email) GetTo() string { + if x != nil { + return x.To + } + return "" +} + +func (x *Email) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *Email) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +// 生成JWT请求 +type GenerateJWTRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain"` + PrivateKey string `protobuf:"bytes,2,opt,name=privateKey,proto3" json:"privateKey"` + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` + Logout bool `protobuf:"varint,4,opt,name=logout,proto3" json:"logout"` + Redirect string `protobuf:"bytes,5,opt,name=redirect,proto3" json:"redirect"` + AllowedSocial []string `protobuf:"bytes,6,rep,name=allowedSocial,proto3" json:"allowedSocial"` + Verify bool `protobuf:"varint,7,opt,name=verify,proto3" json:"verify"` + Base64 bool `protobuf:"varint,8,opt,name=base64,proto3" json:"base64"` + ExpiresIn int32 `protobuf:"varint,9,opt,name=expiresIn,proto3" json:"expiresIn"` + Email *Email `protobuf:"bytes,10,opt,name=email,proto3" json:"email"` +} + +func (x *GenerateJWTRequest) Reset() { + *x = GenerateJWTRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateJWTRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateJWTRequest) ProtoMessage() {} + +func (x *GenerateJWTRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GenerateJWTRequest.ProtoReflect.Descriptor instead. +func (*GenerateJWTRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{21} +} + +func (x *GenerateJWTRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *GenerateJWTRequest) GetPrivateKey() string { + if x != nil { + return x.PrivateKey + } + return "" +} + +func (x *GenerateJWTRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *GenerateJWTRequest) GetLogout() bool { + if x != nil { + return x.Logout + } + return false +} + +func (x *GenerateJWTRequest) GetRedirect() string { + if x != nil { + return x.Redirect + } + return "" +} + +func (x *GenerateJWTRequest) GetAllowedSocial() []string { + if x != nil { + return x.AllowedSocial + } + return nil +} + +func (x *GenerateJWTRequest) GetVerify() bool { + if x != nil { + return x.Verify + } + return false +} + +func (x *GenerateJWTRequest) GetBase64() bool { + if x != nil { + return x.Base64 + } + return false +} + +func (x *GenerateJWTRequest) GetExpiresIn() int32 { + if x != nil { + return x.ExpiresIn + } + return 0 +} + +func (x *GenerateJWTRequest) GetEmail() *Email { + if x != nil { + return x.Email + } + return nil +} + +// 生成JWT响应 +type GenerateJWTResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token"` + Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url"` + EmailSent bool `protobuf:"varint,5,opt,name=emailSent,proto3" json:"emailSent"` + ExpiresIn string `protobuf:"bytes,6,opt,name=expiresIn,proto3" json:"expiresIn"` +} + +func (x *GenerateJWTResponse) Reset() { + *x = GenerateJWTResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateJWTResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateJWTResponse) ProtoMessage() {} + +func (x *GenerateJWTResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GenerateJWTResponse.ProtoReflect.Descriptor instead. +func (*GenerateJWTResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{22} +} + +func (x *GenerateJWTResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *GenerateJWTResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GenerateJWTResponse) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *GenerateJWTResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GenerateJWTResponse) GetEmailSent() bool { + if x != nil { + return x.EmailSent + } + return false +} + +func (x *GenerateJWTResponse) GetExpiresIn() string { + if x != nil { + return x.ExpiresIn + } + return "" +} + +var File_pb_ayrshare_proto protoreflect.FileDescriptor + +var file_pb_ayrshare_proto_rawDesc = []byte{ + 0x0a, 0x11, 0x70, 0x62, 0x2f, 0x61, 0x79, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x13, 0x70, + 0x62, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x12, 0x70, 0x62, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, + 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0c, 0x0a, + 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x22, 0x93, 0x03, 0x0a, 0x10, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, + 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x65, 0x6c, 0x73, 0x46, 0x65, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x65, + 0x6c, 0x73, 0x46, 0x65, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, + 0x69, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x68, 0x75, + 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, + 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, + 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x2d, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x54, 0x61, 0x67, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x52, + 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, + 0xdd, 0x03, 0x0a, 0x0d, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x75, 0x73, 0x69, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, + 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x65, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x69, 0x74, + 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x69, 0x73, 0x41, 0x49, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x41, 0x49, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, + 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, + 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x12, + 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, + 0x89, 0x04, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x32, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, + 0xdf, 0x1f, 0x1a, 0x2a, 0x16, 0x70, 0x6f, 0x73, 0x74, 0xe5, 0x86, 0x85, 0xe5, 0xae, 0xb9, 0xe4, + 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x04, 0x70, + 0x6f, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x29, 0xe2, 0xdf, 0x1f, 0x25, 0x2a, 0x21, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, 0x88, 0x97, + 0xe8, 0xa1, 0xa8, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x60, + 0x01, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, + 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0d, + 0x74, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, + 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x74, 0x69, + 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xa4, 0x02, 0x0a, 0x06, + 0x50, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, + 0x64, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, + 0x74, 0x61, 0x22, 0xe0, 0x01, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, + 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, + 0x65, 0x66, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6b, + 0x54, 0x6f, 0x6b, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6b, + 0x54, 0x6f, 0x6b, 0x49, 0x64, 0x22, 0xc3, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, + 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0b, + 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x22, 0x5e, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, + 0x14, 0xe5, 0xb8, 0x96, 0xe5, 0xad, 0x90, 0x49, 0x44, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, + 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xfd, 0x02, 0x0a, 0x0f, + 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, + 0x73, 0x74, 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x5c, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, + 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, + 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5b, 0x0a, 0x09, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x74, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x74, 0x63, 0x22, 0x7a, 0x0a, 0x0c, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, + 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, + 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x6f, + 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, + 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x22, + 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x22, 0xb5, 0x06, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x73, 0x55, 0x72, 0x6c, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, + 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x76, + 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x67, 0x49, 0x64, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x14, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x72, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x1c, 0x69, 0x73, + 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x47, 0x65, 0x6f, 0x52, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1c, 0x69, 0x73, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x47, + 0x65, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x2a, + 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x74, 0x77, + 0x69, 0x74, 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x77, 0x69, 0x74, + 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, + 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, + 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, 0x85, 0x05, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, + 0x0a, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x39, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, + 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x70, 0x69, + 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x4c, 0x0a, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, + 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x28, + 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, + 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, + 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, + 0x6f, 0x73, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, + 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x12, 0x32, 0x0a, 0x14, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, 0x69, 0x43, 0x61, + 0x6c, 0x6c, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, + 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x51, + 0x75, 0x6f, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x22, 0xb7, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xe2, 0xdf, 0x1f, 0x15, + 0x2a, 0x11, 0x74, 0x69, 0x74, 0x6c, 0x65, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, + 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x68, 0x69, 0x64, 0x65, 0x54, 0x6f, + 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, + 0x69, 0x64, 0x65, 0x54, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x74, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, + 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, + 0x62, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x75, 0x62, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xa5, 0x01, 0x0a, + 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x22, 0xc7, 0x02, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x17, 0x68, 0x61, 0x73, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x73, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x12, 0x42, 0x0a, 0x1c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x6f, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x24, 0x0a, + 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, + 0x49, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x22, 0x96, + 0x02, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x74, 0x6c, 0x65, + 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x54, 0x43, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x54, 0x43, 0x12, + 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x73, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, + 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x4d, 0x6f, 0x72, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x4d, 0x6f, 0x72, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, + 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, + 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x97, 0x03, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe2, 0xdf, + 0x1f, 0x16, 0x2a, 0x12, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, + 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, 0xdf, 0x1f, 0x1a, 0x2a, 0x16, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, + 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, + 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, 0xdf, 0x1f, 0x1a, 0x2a, 0x16, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, + 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, + 0xa7, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1c, 0x0a, + 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x32, 0xab, 0x03, 0x0a, 0x08, 0x41, 0x79, + 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x15, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, + 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1e, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1c, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, + 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pb_ayrshare_proto_rawDescOnce sync.Once + file_pb_ayrshare_proto_rawDescData = file_pb_ayrshare_proto_rawDesc +) + +func file_pb_ayrshare_proto_rawDescGZIP() []byte { + file_pb_ayrshare_proto_rawDescOnce.Do(func() { + file_pb_ayrshare_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_ayrshare_proto_rawDescData) + }) + return file_pb_ayrshare_proto_rawDescData +} + +var file_pb_ayrshare_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_pb_ayrshare_proto_goTypes = []interface{}{ + (*UserTag)(nil), // 0: aryshare.UserTag + (*InstagramOptions)(nil), // 1: aryshare.InstagramOptions + (*TikTokOptions)(nil), // 2: aryshare.TikTokOptions + (*PostRequest)(nil), // 3: aryshare.PostRequest + (*PostId)(nil), // 4: aryshare.PostId + (*PostItem)(nil), // 5: aryshare.PostItem + (*PostResponse)(nil), // 6: aryshare.PostResponse + (*GetPostRequest)(nil), // 7: aryshare.GetPostRequest + (*GetPostResponse)(nil), // 8: aryshare.GetPostResponse + (*GetUserRequest)(nil), // 9: aryshare.GetUserRequest + (*Timestamp)(nil), // 10: aryshare.Timestamp + (*TwitterUsage)(nil), // 11: aryshare.TwitterUsage + (*DisplayName)(nil), // 12: aryshare.DisplayName + (*GetUserResponse)(nil), // 13: aryshare.GetUserResponse + (*CreateProfileRequest)(nil), // 14: aryshare.CreateProfileRequest + (*CreateProfileResponse)(nil), // 15: aryshare.CreateProfileResponse + (*GetProfilesRequest)(nil), // 16: aryshare.GetProfilesRequest + (*ProfileItem)(nil), // 17: aryshare.ProfileItem + (*Pagination)(nil), // 18: aryshare.Pagination + (*GetProfilesResponse)(nil), // 19: aryshare.GetProfilesResponse + (*Email)(nil), // 20: aryshare.Email + (*GenerateJWTRequest)(nil), // 21: aryshare.GenerateJWTRequest + (*GenerateJWTResponse)(nil), // 22: aryshare.GenerateJWTResponse +} +var file_pb_ayrshare_proto_depIdxs = []int32{ + 0, // 0: aryshare.InstagramOptions.userTags:type_name -> aryshare.UserTag + 1, // 1: aryshare.PostRequest.instagramOptions:type_name -> aryshare.InstagramOptions + 2, // 2: aryshare.PostRequest.tikTokOptions:type_name -> aryshare.TikTokOptions + 4, // 3: aryshare.PostItem.postIds:type_name -> aryshare.PostId + 5, // 4: aryshare.PostResponse.posts:type_name -> aryshare.PostItem + 4, // 5: aryshare.PostResponse.postIds:type_name -> aryshare.PostId + 4, // 6: aryshare.GetPostResponse.postIds:type_name -> aryshare.PostId + 11, // 7: aryshare.DisplayName.twitterUsage:type_name -> aryshare.TwitterUsage + 10, // 8: aryshare.GetUserResponse.created:type_name -> aryshare.Timestamp + 12, // 9: aryshare.GetUserResponse.displayNames:type_name -> aryshare.DisplayName + 10, // 10: aryshare.ProfileItem.created:type_name -> aryshare.Timestamp + 17, // 11: aryshare.GetProfilesResponse.profiles:type_name -> aryshare.ProfileItem + 18, // 12: aryshare.GetProfilesResponse.pagination:type_name -> aryshare.Pagination + 20, // 13: aryshare.GenerateJWTRequest.email:type_name -> aryshare.Email + 3, // 14: aryshare.Ayrshare.Post:input_type -> aryshare.PostRequest + 7, // 15: aryshare.Ayrshare.GetPost:input_type -> aryshare.GetPostRequest + 9, // 16: aryshare.Ayrshare.GetUser:input_type -> aryshare.GetUserRequest + 14, // 17: aryshare.Ayrshare.CreateProfile:input_type -> aryshare.CreateProfileRequest + 16, // 18: aryshare.Ayrshare.GetProfiles:input_type -> aryshare.GetProfilesRequest + 21, // 19: aryshare.Ayrshare.GenerateJWT:input_type -> aryshare.GenerateJWTRequest + 6, // 20: aryshare.Ayrshare.Post:output_type -> aryshare.PostResponse + 8, // 21: aryshare.Ayrshare.GetPost:output_type -> aryshare.GetPostResponse + 13, // 22: aryshare.Ayrshare.GetUser:output_type -> aryshare.GetUserResponse + 15, // 23: aryshare.Ayrshare.CreateProfile:output_type -> aryshare.CreateProfileResponse + 19, // 24: aryshare.Ayrshare.GetProfiles:output_type -> aryshare.GetProfilesResponse + 22, // 25: aryshare.Ayrshare.GenerateJWT:output_type -> aryshare.GenerateJWTResponse + 20, // [20:26] is the sub-list for method output_type + 14, // [14:20] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_pb_ayrshare_proto_init() } +func file_pb_ayrshare_proto_init() { + if File_pb_ayrshare_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pb_ayrshare_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserTag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstagramOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TikTokOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPostRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPostResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Timestamp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TwitterUsage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayName); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProfileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProfileResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProfilesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProfileItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Pagination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProfilesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Email); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateJWTRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateJWTResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_pb_ayrshare_proto_msgTypes[16].OneofWrappers = []interface{}{ + (*GetProfilesRequest_ActionLogBool)(nil), + (*GetProfilesRequest_ActionLogInt)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pb_ayrshare_proto_rawDesc, + NumEnums: 0, + NumMessages: 23, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pb_ayrshare_proto_goTypes, + DependencyIndexes: file_pb_ayrshare_proto_depIdxs, + MessageInfos: file_pb_ayrshare_proto_msgTypes, + }.Build() + File_pb_ayrshare_proto = out.File + file_pb_ayrshare_proto_rawDesc = nil + file_pb_ayrshare_proto_goTypes = nil + file_pb_ayrshare_proto_depIdxs = nil +} diff --git a/api/aryshare/ayrshare.validator.pb.go b/api/aryshare/ayrshare.validator.pb.go new file mode 100644 index 0000000..6cc7e5a --- /dev/null +++ b/api/aryshare/ayrshare.validator.pb.go @@ -0,0 +1,194 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: pb/ayrshare.proto + +package aryshare + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + _ "github.com/mwitkow/go-proto-validators" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" + _ "google.golang.org/protobuf/types/descriptorpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *UserTag) Validate() error { + return nil +} +func (this *InstagramOptions) Validate() error { + for _, item := range this.UserTags { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("UserTags", err) + } + } + } + return nil +} +func (this *TikTokOptions) Validate() error { + return nil +} +func (this *PostRequest) Validate() error { + if this.Post == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Post", fmt.Errorf(`post内容不能为空`)) + } + if len(this.Platforms) < 1 { + return github_com_mwitkow_go_proto_validators.FieldError("Platforms", fmt.Errorf(`platforms平台列表不能为空`)) + } + if this.InstagramOptions != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.InstagramOptions); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("InstagramOptions", err) + } + } + if this.TikTokOptions != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TikTokOptions); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TikTokOptions", err) + } + } + return nil +} +func (this *PostId) Validate() error { + return nil +} +func (this *PostItem) Validate() error { + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *PostResponse) Validate() error { + for _, item := range this.Posts { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Posts", err) + } + } + } + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *GetPostRequest) Validate() error { + if this.Id == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Id", fmt.Errorf(`帖子ID不能为空`)) + } + return nil +} +func (this *GetPostResponse) Validate() error { + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *GetUserRequest) Validate() error { + return nil +} +func (this *Timestamp) Validate() error { + return nil +} +func (this *TwitterUsage) Validate() error { + return nil +} +func (this *DisplayName) Validate() error { + if this.TwitterUsage != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TwitterUsage); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TwitterUsage", err) + } + } + return nil +} +func (this *GetUserResponse) Validate() error { + if this.Created != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Created); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Created", err) + } + } + for _, item := range this.DisplayNames { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DisplayNames", err) + } + } + } + return nil +} +func (this *CreateProfileRequest) Validate() error { + if this.Title == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Title", fmt.Errorf(`title不能为空`)) + } + return nil +} +func (this *CreateProfileResponse) Validate() error { + return nil +} +func (this *GetProfilesRequest) Validate() error { + return nil +} +func (this *ProfileItem) Validate() error { + if this.Created != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Created); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Created", err) + } + } + return nil +} +func (this *Pagination) Validate() error { + return nil +} +func (this *GetProfilesResponse) Validate() error { + for _, item := range this.Profiles { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Profiles", err) + } + } + } + if this.Pagination != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Pagination); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Pagination", err) + } + } + return nil +} +func (this *Email) Validate() error { + return nil +} +func (this *GenerateJWTRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`domain不能为空`)) + } + if this.PrivateKey == "" { + return github_com_mwitkow_go_proto_validators.FieldError("PrivateKey", fmt.Errorf(`privateKey不能为空`)) + } + if this.ProfileKey == "" { + return github_com_mwitkow_go_proto_validators.FieldError("ProfileKey", fmt.Errorf(`profileKey不能为空`)) + } + if this.Email != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Email); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Email", err) + } + } + return nil +} +func (this *GenerateJWTResponse) Validate() error { + return nil +} diff --git a/api/aryshare/ayrshare_triple.pb.go b/api/aryshare/ayrshare_triple.pb.go new file mode 100644 index 0000000..456bf96 --- /dev/null +++ b/api/aryshare/ayrshare_triple.pb.go @@ -0,0 +1,378 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.8 +// - protoc v3.21.1 +// source: pb/ayrshare.proto + +package aryshare + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// AyrshareClient is the client API for Ayrshare service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AyrshareClient interface { + // 帖子相关 api + Post(ctx context.Context, in *PostRequest, opts ...grpc_go.CallOption) (*PostResponse, common.ErrorWithAttachment) + GetPost(ctx context.Context, in *GetPostRequest, opts ...grpc_go.CallOption) (*GetPostResponse, common.ErrorWithAttachment) + // 用户相关 api + GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc_go.CallOption) (*GetUserResponse, common.ErrorWithAttachment) + // 用户配置相关 api + CreateProfile(ctx context.Context, in *CreateProfileRequest, opts ...grpc_go.CallOption) (*CreateProfileResponse, common.ErrorWithAttachment) + GetProfiles(ctx context.Context, in *GetProfilesRequest, opts ...grpc_go.CallOption) (*GetProfilesResponse, common.ErrorWithAttachment) + GenerateJWT(ctx context.Context, in *GenerateJWTRequest, opts ...grpc_go.CallOption) (*GenerateJWTResponse, common.ErrorWithAttachment) +} + +type ayrshareClient struct { + cc *triple.TripleConn +} + +type AyrshareClientImpl struct { + Post func(ctx context.Context, in *PostRequest) (*PostResponse, error) + GetPost func(ctx context.Context, in *GetPostRequest) (*GetPostResponse, error) + GetUser func(ctx context.Context, in *GetUserRequest) (*GetUserResponse, error) + CreateProfile func(ctx context.Context, in *CreateProfileRequest) (*CreateProfileResponse, error) + GetProfiles func(ctx context.Context, in *GetProfilesRequest) (*GetProfilesResponse, error) + GenerateJWT func(ctx context.Context, in *GenerateJWTRequest) (*GenerateJWTResponse, error) +} + +func (c *AyrshareClientImpl) GetDubboStub(cc *triple.TripleConn) AyrshareClient { + return NewAyrshareClient(cc) +} + +func (c *AyrshareClientImpl) XXX_InterfaceName() string { + return "aryshare.Ayrshare" +} + +func NewAyrshareClient(cc *triple.TripleConn) AyrshareClient { + return &ayrshareClient{cc} +} + +func (c *ayrshareClient) Post(ctx context.Context, in *PostRequest, opts ...grpc_go.CallOption) (*PostResponse, common.ErrorWithAttachment) { + out := new(PostResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Post", in, out) +} + +func (c *ayrshareClient) GetPost(ctx context.Context, in *GetPostRequest, opts ...grpc_go.CallOption) (*GetPostResponse, common.ErrorWithAttachment) { + out := new(GetPostResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPost", in, out) +} + +func (c *ayrshareClient) GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc_go.CallOption) (*GetUserResponse, common.ErrorWithAttachment) { + out := new(GetUserResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetUser", in, out) +} + +func (c *ayrshareClient) CreateProfile(ctx context.Context, in *CreateProfileRequest, opts ...grpc_go.CallOption) (*CreateProfileResponse, common.ErrorWithAttachment) { + out := new(CreateProfileResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateProfile", in, out) +} + +func (c *ayrshareClient) GetProfiles(ctx context.Context, in *GetProfilesRequest, opts ...grpc_go.CallOption) (*GetProfilesResponse, common.ErrorWithAttachment) { + out := new(GetProfilesResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetProfiles", in, out) +} + +func (c *ayrshareClient) GenerateJWT(ctx context.Context, in *GenerateJWTRequest, opts ...grpc_go.CallOption) (*GenerateJWTResponse, common.ErrorWithAttachment) { + out := new(GenerateJWTResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GenerateJWT", in, out) +} + +// AyrshareServer is the server API for Ayrshare service. +// All implementations must embed UnimplementedAyrshareServer +// for forward compatibility +type AyrshareServer interface { + // 帖子相关 api + Post(context.Context, *PostRequest) (*PostResponse, error) + GetPost(context.Context, *GetPostRequest) (*GetPostResponse, error) + // 用户相关 api + GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error) + // 用户配置相关 api + CreateProfile(context.Context, *CreateProfileRequest) (*CreateProfileResponse, error) + GetProfiles(context.Context, *GetProfilesRequest) (*GetProfilesResponse, error) + GenerateJWT(context.Context, *GenerateJWTRequest) (*GenerateJWTResponse, error) + mustEmbedUnimplementedAyrshareServer() +} + +// UnimplementedAyrshareServer must be embedded to have forward compatible implementations. +type UnimplementedAyrshareServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedAyrshareServer) Post(context.Context, *PostRequest) (*PostResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Post not implemented") +} +func (UnimplementedAyrshareServer) GetPost(context.Context, *GetPostRequest) (*GetPostResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPost not implemented") +} +func (UnimplementedAyrshareServer) GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUser not implemented") +} +func (UnimplementedAyrshareServer) CreateProfile(context.Context, *CreateProfileRequest) (*CreateProfileResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProfile not implemented") +} +func (UnimplementedAyrshareServer) GetProfiles(context.Context, *GetProfilesRequest) (*GetProfilesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProfiles not implemented") +} +func (UnimplementedAyrshareServer) GenerateJWT(context.Context, *GenerateJWTRequest) (*GenerateJWTResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateJWT not implemented") +} +func (s *UnimplementedAyrshareServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedAyrshareServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedAyrshareServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Ayrshare_ServiceDesc +} +func (s *UnimplementedAyrshareServer) XXX_InterfaceName() string { + return "aryshare.Ayrshare" +} + +func (UnimplementedAyrshareServer) mustEmbedUnimplementedAyrshareServer() {} + +// UnsafeAyrshareServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AyrshareServer will +// result in compilation errors. +type UnsafeAyrshareServer interface { + mustEmbedUnimplementedAyrshareServer() +} + +func RegisterAyrshareServer(s grpc_go.ServiceRegistrar, srv AyrshareServer) { + s.RegisterService(&Ayrshare_ServiceDesc, srv) +} + +func _Ayrshare_Post_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PostRequest) + 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("Post", 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 _Ayrshare_GetPost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPostRequest) + 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("GetPost", 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 _Ayrshare_GetUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserRequest) + 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("GetUser", 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 _Ayrshare_CreateProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProfileRequest) + 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("CreateProfile", 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 _Ayrshare_GetProfiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProfilesRequest) + 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("GetProfiles", 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 _Ayrshare_GenerateJWT_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateJWTRequest) + 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("GenerateJWT", 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) +} + +// Ayrshare_ServiceDesc is the grpc_go.ServiceDesc for Ayrshare service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Ayrshare_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "aryshare.Ayrshare", + HandlerType: (*AyrshareServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "Post", + Handler: _Ayrshare_Post_Handler, + }, + { + MethodName: "GetPost", + Handler: _Ayrshare_GetPost_Handler, + }, + { + MethodName: "GetUser", + Handler: _Ayrshare_GetUser_Handler, + }, + { + MethodName: "CreateProfile", + Handler: _Ayrshare_CreateProfile_Handler, + }, + { + MethodName: "GetProfiles", + Handler: _Ayrshare_GetProfiles_Handler, + }, + { + MethodName: "GenerateJWT", + Handler: _Ayrshare_GenerateJWT_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "pb/ayrshare.proto", +} diff --git a/api/cast/cast.pb.go b/api/cast/cast.pb.go index dcdce6c..0ce65ab 100644 --- a/api/cast/cast.pb.go +++ b/api/cast/cast.pb.go @@ -138,6 +138,7 @@ const ( WorkActionENUM_APPROVAL_PASS WorkActionENUM = 3 // 审批通过 WorkActionENUM_APPROVAL_REJECT WorkActionENUM = 4 // 审批驳回 WorkActionENUM_APPROVAL_DELETE WorkActionENUM = 5 // 审批删除 + WorkActionENUM_READ WorkActionENUM = 6 // 艺人首次阅读 ) // Enum value maps for WorkActionENUM. @@ -149,6 +150,7 @@ var ( 3: "APPROVAL_PASS", 4: "APPROVAL_REJECT", 5: "APPROVAL_DELETE", + 6: "READ", } WorkActionENUM_value = map[string]int32{ "NO_ACTION": 0, @@ -157,6 +159,7 @@ var ( "APPROVAL_PASS": 3, "APPROVAL_REJECT": 4, "APPROVAL_DELETE": 5, + "READ": 6, } ) @@ -236,6 +239,61 @@ func (AutoPublishENUM) EnumDescriptor() ([]byte, []int) { return file_pb_fiee_cast_proto_rawDescGZIP(), []int{3} } +type PublishStatusENUM int32 + +const ( + PublishStatusENUM_PublishMediaStatus_NO PublishStatusENUM = 0 + PublishStatusENUM_PublishMediaStatus_ING PublishStatusENUM = 1 // 发布中 + PublishStatusENUM_PublishMediaStatus_DONE PublishStatusENUM = 2 // 发布完成 + PublishStatusENUM_PublishMediaStatus_FAIL PublishStatusENUM = 3 // 发布失败 + PublishStatusENUM_PublishMediaStatus_EXCEPTION PublishStatusENUM = 4 // 异常 +) + +// Enum value maps for PublishStatusENUM. +var ( + PublishStatusENUM_name = map[int32]string{ + 0: "PublishMediaStatus_NO", + 1: "PublishMediaStatus_ING", + 2: "PublishMediaStatus_DONE", + 3: "PublishMediaStatus_FAIL", + 4: "PublishMediaStatus_EXCEPTION", + } + PublishStatusENUM_value = map[string]int32{ + "PublishMediaStatus_NO": 0, + "PublishMediaStatus_ING": 1, + "PublishMediaStatus_DONE": 2, + "PublishMediaStatus_FAIL": 3, + "PublishMediaStatus_EXCEPTION": 4, + } +) + +func (x PublishStatusENUM) Enum() *PublishStatusENUM { + p := new(PublishStatusENUM) + *p = x + return p +} + +func (x PublishStatusENUM) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PublishStatusENUM) Descriptor() protoreflect.EnumDescriptor { + return file_pb_fiee_cast_proto_enumTypes[4].Descriptor() +} + +func (PublishStatusENUM) Type() protoreflect.EnumType { + return &file_pb_fiee_cast_proto_enumTypes[4] +} + +func (x PublishStatusENUM) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PublishStatusENUM.Descriptor instead. +func (PublishStatusENUM) EnumDescriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{4} +} + type CategoryENUM int32 const ( @@ -275,11 +333,11 @@ func (x CategoryENUM) String() string { } func (CategoryENUM) Descriptor() protoreflect.EnumDescriptor { - return file_pb_fiee_cast_proto_enumTypes[4].Descriptor() + return file_pb_fiee_cast_proto_enumTypes[5].Descriptor() } func (CategoryENUM) Type() protoreflect.EnumType { - return &file_pb_fiee_cast_proto_enumTypes[4] + return &file_pb_fiee_cast_proto_enumTypes[5] } func (x CategoryENUM) Number() protoreflect.EnumNumber { @@ -288,7 +346,7 @@ func (x CategoryENUM) Number() protoreflect.EnumNumber { // Deprecated: Use CategoryENUM.Descriptor instead. func (CategoryENUM) EnumDescriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{4} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{5} } type MediaUserListReq struct { @@ -303,6 +361,7 @@ type MediaUserListReq struct { CreateStartDate string `protobuf:"bytes,8,opt,name=createStartDate,proto3" json:"createStartDate"` CreateEndDate string `protobuf:"bytes,9,opt,name=createEndDate,proto3" json:"createEndDate"` AuthStatus AuthStatusENUM `protobuf:"varint,10,opt,name=authStatus,proto3,enum=Cast.AuthStatusENUM" json:"authStatus"` + MediaUserID string `protobuf:"bytes,11,opt,name=mediaUserID,proto3" json:"mediaUserID"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -407,6 +466,13 @@ func (x *MediaUserListReq) GetAuthStatus() AuthStatusENUM { return AuthStatusENUM_UNKNOWNAuth } +func (x *MediaUserListReq) GetMediaUserID() string { + if x != nil { + return x.MediaUserID + } + return "" +} + type MediaUserInfo struct { state protoimpl.MessageState `protogen:"open.v1"` PlatformUserName string `protobuf:"bytes,1,opt,name=platformUserName,proto3" json:"platformUserName"` @@ -1458,6 +1524,110 @@ func (x *UpdateWorkVideoResp) GetWorkUuid() string { return "" } +type MediaInfoReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + PlatformID PlatformIDENUM `protobuf:"varint,2,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` + PlatformUserName string `protobuf:"bytes,3,opt,name=platformUserName,proto3" json:"platformUserName"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MediaInfoReq) Reset() { + *x = MediaInfoReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MediaInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MediaInfoReq) ProtoMessage() {} + +func (x *MediaInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MediaInfoReq.ProtoReflect.Descriptor instead. +func (*MediaInfoReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{13} +} + +func (x *MediaInfoReq) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *MediaInfoReq) GetPlatformID() PlatformIDENUM { + if x != nil { + return x.PlatformID + } + return PlatformIDENUM_UNKNOWN +} + +func (x *MediaInfoReq) GetPlatformUserName() string { + if x != nil { + return x.PlatformUserName + } + return "" +} + +type MediaInfoResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Info *MediaUserInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MediaInfoResp) Reset() { + *x = MediaInfoResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MediaInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MediaInfoResp) ProtoMessage() {} + +func (x *MediaInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MediaInfoResp.ProtoReflect.Descriptor instead. +func (*MediaInfoResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{14} +} + +func (x *MediaInfoResp) GetInfo() *MediaUserInfo { + if x != nil { + return x.Info + } + return nil +} + type WorkListReq struct { state protoimpl.MessageState `protogen:"open.v1"` ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` @@ -1482,7 +1652,7 @@ type WorkListReq struct { func (x *WorkListReq) Reset() { *x = WorkListReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[13] + mi := &file_pb_fiee_cast_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1494,7 +1664,7 @@ func (x *WorkListReq) String() string { func (*WorkListReq) ProtoMessage() {} func (x *WorkListReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[13] + mi := &file_pb_fiee_cast_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1507,7 +1677,7 @@ func (x *WorkListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkListReq.ProtoReflect.Descriptor instead. func (*WorkListReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{13} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{15} } func (x *WorkListReq) GetArtistVal() string { @@ -1632,7 +1802,7 @@ type WorkListResp struct { func (x *WorkListResp) Reset() { *x = WorkListResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[14] + mi := &file_pb_fiee_cast_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1644,7 +1814,7 @@ func (x *WorkListResp) String() string { func (*WorkListResp) ProtoMessage() {} func (x *WorkListResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[14] + mi := &file_pb_fiee_cast_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1657,7 +1827,7 @@ func (x *WorkListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkListResp.ProtoReflect.Descriptor instead. func (*WorkListResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{14} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{16} } func (x *WorkListResp) GetData() []*WorkListResp_Info { @@ -1683,7 +1853,7 @@ type WorkDetailReq struct { func (x *WorkDetailReq) Reset() { *x = WorkDetailReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[15] + mi := &file_pb_fiee_cast_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1695,7 +1865,7 @@ func (x *WorkDetailReq) String() string { func (*WorkDetailReq) ProtoMessage() {} func (x *WorkDetailReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[15] + mi := &file_pb_fiee_cast_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1708,7 +1878,7 @@ func (x *WorkDetailReq) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkDetailReq.ProtoReflect.Descriptor instead. func (*WorkDetailReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{15} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{17} } func (x *WorkDetailReq) GetWorkUuid() string { @@ -1734,7 +1904,7 @@ type WorkLogInfo struct { func (x *WorkLogInfo) Reset() { *x = WorkLogInfo{} - mi := &file_pb_fiee_cast_proto_msgTypes[16] + mi := &file_pb_fiee_cast_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1746,7 +1916,7 @@ func (x *WorkLogInfo) String() string { func (*WorkLogInfo) ProtoMessage() {} func (x *WorkLogInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[16] + mi := &file_pb_fiee_cast_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1759,7 +1929,7 @@ func (x *WorkLogInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkLogInfo.ProtoReflect.Descriptor instead. func (*WorkLogInfo) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{16} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{18} } func (x *WorkLogInfo) GetWorkUuid() string { @@ -1840,13 +2010,18 @@ type WorkDetailResp struct { MediaAccData map[string]*MediaUserInfo `protobuf:"bytes,18,rep,name=mediaAccData,proto3" json:"mediaAccData" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` CoverTimestampMs uint64 `protobuf:"varint,19,opt,name=coverTimestampMs,proto3" json:"coverTimestampMs"` ScriptUuid string `protobuf:"bytes,20,opt,name=scriptUuid,proto3" json:"scriptUuid"` + ArtistUuid string `protobuf:"bytes,21,opt,name=artistUuid,proto3" json:"artistUuid"` + TiktokStatus uint32 `protobuf:"varint,22,opt,name=tiktokStatus,proto3" json:"tiktokStatus"` + InsStatus uint32 `protobuf:"varint,23,opt,name=insStatus,proto3" json:"insStatus"` + DmStatus uint32 `protobuf:"varint,24,opt,name=dmStatus,proto3" json:"dmStatus"` + NeedPlatformIDs []int32 `protobuf:"varint,25,rep,packed,name=needPlatformIDs,proto3" json:"needPlatformIDs"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *WorkDetailResp) Reset() { *x = WorkDetailResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[17] + mi := &file_pb_fiee_cast_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1858,7 +2033,7 @@ func (x *WorkDetailResp) String() string { func (*WorkDetailResp) ProtoMessage() {} func (x *WorkDetailResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[17] + mi := &file_pb_fiee_cast_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1871,7 +2046,7 @@ func (x *WorkDetailResp) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkDetailResp.ProtoReflect.Descriptor instead. func (*WorkDetailResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{17} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{19} } func (x *WorkDetailResp) GetWorkUuid() string { @@ -2014,6 +2189,41 @@ func (x *WorkDetailResp) GetScriptUuid() string { return "" } +func (x *WorkDetailResp) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *WorkDetailResp) GetTiktokStatus() uint32 { + if x != nil { + return x.TiktokStatus + } + return 0 +} + +func (x *WorkDetailResp) GetInsStatus() uint32 { + if x != nil { + return x.InsStatus + } + return 0 +} + +func (x *WorkDetailResp) GetDmStatus() uint32 { + if x != nil { + return x.DmStatus + } + return 0 +} + +func (x *WorkDetailResp) GetNeedPlatformIDs() []int32 { + if x != nil { + return x.NeedPlatformIDs + } + return nil +} + type UpdateStatusReq struct { state protoimpl.MessageState `protogen:"open.v1"` WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"` @@ -2030,7 +2240,7 @@ type UpdateStatusReq struct { func (x *UpdateStatusReq) Reset() { *x = UpdateStatusReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[18] + mi := &file_pb_fiee_cast_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2042,7 +2252,7 @@ func (x *UpdateStatusReq) String() string { func (*UpdateStatusReq) ProtoMessage() {} func (x *UpdateStatusReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[18] + mi := &file_pb_fiee_cast_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2055,7 +2265,7 @@ func (x *UpdateStatusReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateStatusReq.ProtoReflect.Descriptor instead. func (*UpdateStatusReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{18} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{20} } func (x *UpdateStatusReq) GetWorkAction() WorkActionENUM { @@ -2123,7 +2333,7 @@ type MediaAccountsReq struct { func (x *MediaAccountsReq) Reset() { *x = MediaAccountsReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[19] + mi := &file_pb_fiee_cast_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2135,7 +2345,7 @@ func (x *MediaAccountsReq) String() string { func (*MediaAccountsReq) ProtoMessage() {} func (x *MediaAccountsReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[19] + mi := &file_pb_fiee_cast_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2148,7 +2358,7 @@ func (x *MediaAccountsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaAccountsReq.ProtoReflect.Descriptor instead. func (*MediaAccountsReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{19} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{21} } func (x *MediaAccountsReq) GetArtistUuid() string { @@ -2167,7 +2377,7 @@ type MediaAccountsResp struct { func (x *MediaAccountsResp) Reset() { *x = MediaAccountsResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[20] + mi := &file_pb_fiee_cast_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2179,7 +2389,7 @@ func (x *MediaAccountsResp) String() string { func (*MediaAccountsResp) ProtoMessage() {} func (x *MediaAccountsResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[20] + mi := &file_pb_fiee_cast_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2192,7 +2402,7 @@ func (x *MediaAccountsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaAccountsResp.ProtoReflect.Descriptor instead. func (*MediaAccountsResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{20} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{22} } func (x *MediaAccountsResp) GetData() []*MediaAccountsResp_Info { @@ -2213,7 +2423,7 @@ type MediaWorksReq struct { func (x *MediaWorksReq) Reset() { *x = MediaWorksReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[21] + mi := &file_pb_fiee_cast_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2225,7 +2435,7 @@ func (x *MediaWorksReq) String() string { func (*MediaWorksReq) ProtoMessage() {} func (x *MediaWorksReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[21] + mi := &file_pb_fiee_cast_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2238,7 +2448,7 @@ func (x *MediaWorksReq) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaWorksReq.ProtoReflect.Descriptor instead. func (*MediaWorksReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{21} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{23} } func (x *MediaWorksReq) GetMediaAccountUuid() string { @@ -2272,7 +2482,7 @@ type MediaWorksResp struct { func (x *MediaWorksResp) Reset() { *x = MediaWorksResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[22] + mi := &file_pb_fiee_cast_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2284,7 +2494,7 @@ func (x *MediaWorksResp) String() string { func (*MediaWorksResp) ProtoMessage() {} func (x *MediaWorksResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[22] + mi := &file_pb_fiee_cast_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2297,7 +2507,7 @@ func (x *MediaWorksResp) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaWorksResp.ProtoReflect.Descriptor instead. func (*MediaWorksResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{22} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{24} } func (x *MediaWorksResp) GetCount() int64 { @@ -2323,7 +2533,7 @@ type PublishReq struct { func (x *PublishReq) Reset() { *x = PublishReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[23] + mi := &file_pb_fiee_cast_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2335,7 +2545,7 @@ func (x *PublishReq) String() string { func (*PublishReq) ProtoMessage() {} func (x *PublishReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[23] + mi := &file_pb_fiee_cast_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2348,7 +2558,7 @@ func (x *PublishReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishReq.ProtoReflect.Descriptor instead. func (*PublishReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{23} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{25} } func (x *PublishReq) GetWorkUuids() []string { @@ -2367,7 +2577,7 @@ type PublishResp struct { func (x *PublishResp) Reset() { *x = PublishResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[24] + mi := &file_pb_fiee_cast_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2379,7 +2589,7 @@ func (x *PublishResp) String() string { func (*PublishResp) ProtoMessage() {} func (x *PublishResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[24] + mi := &file_pb_fiee_cast_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2392,7 +2602,7 @@ func (x *PublishResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishResp.ProtoReflect.Descriptor instead. func (*PublishResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{24} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{26} } func (x *PublishResp) GetData() []*PublishResp_Info { @@ -2413,7 +2623,7 @@ type RePublishReq struct { func (x *RePublishReq) Reset() { *x = RePublishReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[25] + mi := &file_pb_fiee_cast_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2425,7 +2635,7 @@ func (x *RePublishReq) String() string { func (*RePublishReq) ProtoMessage() {} func (x *RePublishReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[25] + mi := &file_pb_fiee_cast_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2438,7 +2648,7 @@ func (x *RePublishReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RePublishReq.ProtoReflect.Descriptor instead. func (*RePublishReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{25} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{27} } func (x *RePublishReq) GetWorkUuid() string { @@ -2472,7 +2682,7 @@ type RePublishResp struct { func (x *RePublishResp) Reset() { *x = RePublishResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[26] + mi := &file_pb_fiee_cast_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2484,7 +2694,7 @@ func (x *RePublishResp) String() string { func (*RePublishResp) ProtoMessage() {} func (x *RePublishResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[26] + mi := &file_pb_fiee_cast_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2497,7 +2707,7 @@ func (x *RePublishResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RePublishResp.ProtoReflect.Descriptor instead. func (*RePublishResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{26} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{28} } func (x *RePublishResp) GetArtistUuid() string { @@ -2523,7 +2733,7 @@ type DelWorkReq struct { func (x *DelWorkReq) Reset() { *x = DelWorkReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[27] + mi := &file_pb_fiee_cast_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2535,7 +2745,7 @@ func (x *DelWorkReq) String() string { func (*DelWorkReq) ProtoMessage() {} func (x *DelWorkReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[27] + mi := &file_pb_fiee_cast_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2548,7 +2758,7 @@ func (x *DelWorkReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DelWorkReq.ProtoReflect.Descriptor instead. func (*DelWorkReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{27} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{29} } func (x *DelWorkReq) GetWorkUuid() string { @@ -2567,7 +2777,7 @@ type WorkInfoReq struct { func (x *WorkInfoReq) Reset() { *x = WorkInfoReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[28] + mi := &file_pb_fiee_cast_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2579,7 +2789,7 @@ func (x *WorkInfoReq) String() string { func (*WorkInfoReq) ProtoMessage() {} func (x *WorkInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[28] + mi := &file_pb_fiee_cast_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2592,7 +2802,7 @@ func (x *WorkInfoReq) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkInfoReq.ProtoReflect.Descriptor instead. func (*WorkInfoReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{28} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{30} } func (x *WorkInfoReq) GetWorkUuid() string { @@ -2616,7 +2826,7 @@ type WorkInfoResp struct { func (x *WorkInfoResp) Reset() { *x = WorkInfoResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[29] + mi := &file_pb_fiee_cast_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2628,7 +2838,7 @@ func (x *WorkInfoResp) String() string { func (*WorkInfoResp) ProtoMessage() {} func (x *WorkInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[29] + mi := &file_pb_fiee_cast_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2641,7 +2851,7 @@ func (x *WorkInfoResp) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkInfoResp.ProtoReflect.Descriptor instead. func (*WorkInfoResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{29} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{31} } func (x *WorkInfoResp) GetWorkStatus() uint32 { @@ -2695,7 +2905,7 @@ type ArtistInfoReq struct { func (x *ArtistInfoReq) Reset() { *x = ArtistInfoReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[30] + mi := &file_pb_fiee_cast_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2707,7 +2917,7 @@ func (x *ArtistInfoReq) String() string { func (*ArtistInfoReq) ProtoMessage() {} func (x *ArtistInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[30] + mi := &file_pb_fiee_cast_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2720,7 +2930,7 @@ func (x *ArtistInfoReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistInfoReq.ProtoReflect.Descriptor instead. func (*ArtistInfoReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{30} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{32} } func (x *ArtistInfoReq) GetArtistUuid() string { @@ -2742,7 +2952,7 @@ type ArtistInfoResp struct { func (x *ArtistInfoResp) Reset() { *x = ArtistInfoResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[31] + mi := &file_pb_fiee_cast_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2754,7 +2964,7 @@ func (x *ArtistInfoResp) String() string { func (*ArtistInfoResp) ProtoMessage() {} func (x *ArtistInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[31] + mi := &file_pb_fiee_cast_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2767,7 +2977,7 @@ func (x *ArtistInfoResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistInfoResp.ProtoReflect.Descriptor instead. func (*ArtistInfoResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{31} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{33} } func (x *ArtistInfoResp) GetTikTokEffectiveCount() uint32 { @@ -2807,7 +3017,7 @@ type ImportWorkBatchReq struct { func (x *ImportWorkBatchReq) Reset() { *x = ImportWorkBatchReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[32] + mi := &file_pb_fiee_cast_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2819,7 +3029,7 @@ func (x *ImportWorkBatchReq) String() string { func (*ImportWorkBatchReq) ProtoMessage() {} func (x *ImportWorkBatchReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[32] + mi := &file_pb_fiee_cast_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2832,7 +3042,7 @@ func (x *ImportWorkBatchReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportWorkBatchReq.ProtoReflect.Descriptor instead. func (*ImportWorkBatchReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{32} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{34} } func (x *ImportWorkBatchReq) GetImageWorks() []*UpdateWorkImageReq { @@ -2853,7 +3063,7 @@ type ImportWorkBatchResp struct { func (x *ImportWorkBatchResp) Reset() { *x = ImportWorkBatchResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[33] + mi := &file_pb_fiee_cast_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2865,7 +3075,7 @@ func (x *ImportWorkBatchResp) String() string { func (*ImportWorkBatchResp) ProtoMessage() {} func (x *ImportWorkBatchResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[33] + mi := &file_pb_fiee_cast_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2878,7 +3088,7 @@ func (x *ImportWorkBatchResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportWorkBatchResp.ProtoReflect.Descriptor instead. func (*ImportWorkBatchResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{33} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{35} } func (x *ImportWorkBatchResp) GetImageWorks() []*UpdateWorkImageReq { @@ -2902,6 +3112,358 @@ func (x *ImportWorkBatchResp) GetFailCount() int32 { return 0 } +type PlatformInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + MediaAccountUuid string `protobuf:"bytes,2,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + PlatformID uint32 `protobuf:"varint,3,opt,name=platformID,proto3" json:"platformID"` + PublishType uint32 `protobuf:"varint,4,opt,name=publishType,proto3" json:"publishType"` + PublishResp string `protobuf:"bytes,5,opt,name=publishResp,proto3" json:"publishResp"` + PublishMediaId string `protobuf:"bytes,6,opt,name=publishMediaId,proto3" json:"publishMediaId"` + PublishStatus PublishStatusENUM `protobuf:"varint,7,opt,name=publishStatus,proto3,enum=Cast.PublishStatusENUM" json:"publishStatus"` + Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark"` + PlatformUuid string `protobuf:"bytes,9,opt,name=platformUuid,proto3" json:"platformUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlatformInfo) Reset() { + *x = PlatformInfo{} + mi := &file_pb_fiee_cast_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlatformInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformInfo) ProtoMessage() {} + +func (x *PlatformInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformInfo.ProtoReflect.Descriptor instead. +func (*PlatformInfo) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{36} +} + +func (x *PlatformInfo) GetWorkUuid() string { + if x != nil { + return x.WorkUuid + } + return "" +} + +func (x *PlatformInfo) GetMediaAccountUuid() string { + if x != nil { + return x.MediaAccountUuid + } + return "" +} + +func (x *PlatformInfo) GetPlatformID() uint32 { + if x != nil { + return x.PlatformID + } + return 0 +} + +func (x *PlatformInfo) GetPublishType() uint32 { + if x != nil { + return x.PublishType + } + return 0 +} + +func (x *PlatformInfo) GetPublishResp() string { + if x != nil { + return x.PublishResp + } + return "" +} + +func (x *PlatformInfo) GetPublishMediaId() string { + if x != nil { + return x.PublishMediaId + } + return "" +} + +func (x *PlatformInfo) GetPublishStatus() PublishStatusENUM { + if x != nil { + return x.PublishStatus + } + return PublishStatusENUM_PublishMediaStatus_NO +} + +func (x *PlatformInfo) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *PlatformInfo) GetPlatformUuid() string { + if x != nil { + return x.PlatformUuid + } + return "" +} + +type UpdateWorkPlatformInfoReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlatformInfoData []*PlatformInfo `protobuf:"bytes,1,rep,name=PlatformInfoData,proto3" json:"PlatformInfoData"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkPlatformInfoReq) Reset() { + *x = UpdateWorkPlatformInfoReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkPlatformInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkPlatformInfoReq) ProtoMessage() {} + +func (x *UpdateWorkPlatformInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkPlatformInfoReq.ProtoReflect.Descriptor instead. +func (*UpdateWorkPlatformInfoReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{37} +} + +func (x *UpdateWorkPlatformInfoReq) GetPlatformInfoData() []*PlatformInfo { + if x != nil { + return x.PlatformInfoData + } + return nil +} + +type UpdateWorkPlatformInfoResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid []string `protobuf:"bytes,1,rep,name=workUuid,proto3" json:"workUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkPlatformInfoResp) Reset() { + *x = UpdateWorkPlatformInfoResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkPlatformInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkPlatformInfoResp) ProtoMessage() {} + +func (x *UpdateWorkPlatformInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkPlatformInfoResp.ProtoReflect.Descriptor instead. +func (*UpdateWorkPlatformInfoResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{38} +} + +func (x *UpdateWorkPlatformInfoResp) GetWorkUuid() []string { + if x != nil { + return x.WorkUuid + } + return nil +} + +type UpdateWorkPublishLogReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + PlatformID PlatformIDENUM `protobuf:"varint,2,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` + Detail string `protobuf:"bytes,3,opt,name=detail,proto3" json:"detail"` + Action string `protobuf:"bytes,4,opt,name=action,proto3" json:"action"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkPublishLogReq) Reset() { + *x = UpdateWorkPublishLogReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkPublishLogReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkPublishLogReq) ProtoMessage() {} + +func (x *UpdateWorkPublishLogReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkPublishLogReq.ProtoReflect.Descriptor instead. +func (*UpdateWorkPublishLogReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{39} +} + +func (x *UpdateWorkPublishLogReq) GetWorkUuid() string { + if x != nil { + return x.WorkUuid + } + return "" +} + +func (x *UpdateWorkPublishLogReq) GetPlatformID() PlatformIDENUM { + if x != nil { + return x.PlatformID + } + return PlatformIDENUM_UNKNOWN +} + +func (x *UpdateWorkPublishLogReq) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +func (x *UpdateWorkPublishLogReq) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +type RefreshWorkListReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + PublishStatus uint32 `protobuf:"varint,1,opt,name=publishStatus,proto3" json:"publishStatus"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshWorkListReq) Reset() { + *x = RefreshWorkListReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshWorkListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshWorkListReq) ProtoMessage() {} + +func (x *RefreshWorkListReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshWorkListReq.ProtoReflect.Descriptor instead. +func (*RefreshWorkListReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{40} +} + +func (x *RefreshWorkListReq) GetPublishStatus() uint32 { + if x != nil { + return x.PublishStatus + } + return 0 +} + +type RefreshWorkListResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []*RefreshWorkListResp_Info `protobuf:"bytes,3,rep,name=Data,proto3" json:"Data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshWorkListResp) Reset() { + *x = RefreshWorkListResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshWorkListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshWorkListResp) ProtoMessage() {} + +func (x *RefreshWorkListResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshWorkListResp.ProtoReflect.Descriptor instead. +func (*RefreshWorkListResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{41} +} + +func (x *RefreshWorkListResp) GetData() []*RefreshWorkListResp_Info { + if x != nil { + return x.Data + } + return nil +} + type OAuthAccountReq struct { state protoimpl.MessageState `protogen:"open.v1"` MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` @@ -2911,7 +3473,7 @@ type OAuthAccountReq struct { func (x *OAuthAccountReq) Reset() { *x = OAuthAccountReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[34] + mi := &file_pb_fiee_cast_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2923,7 +3485,7 @@ func (x *OAuthAccountReq) String() string { func (*OAuthAccountReq) ProtoMessage() {} func (x *OAuthAccountReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[34] + mi := &file_pb_fiee_cast_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2936,7 +3498,7 @@ func (x *OAuthAccountReq) ProtoReflect() protoreflect.Message { // Deprecated: Use OAuthAccountReq.ProtoReflect.Descriptor instead. func (*OAuthAccountReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{34} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{42} } func (x *OAuthAccountReq) GetMediaAccountUuid() string { @@ -2955,7 +3517,7 @@ type OAuthAccountResp struct { func (x *OAuthAccountResp) Reset() { *x = OAuthAccountResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[35] + mi := &file_pb_fiee_cast_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2967,7 +3529,7 @@ func (x *OAuthAccountResp) String() string { func (*OAuthAccountResp) ProtoMessage() {} func (x *OAuthAccountResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[35] + mi := &file_pb_fiee_cast_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2980,7 +3542,7 @@ func (x *OAuthAccountResp) ProtoReflect() protoreflect.Message { // Deprecated: Use OAuthAccountResp.ProtoReflect.Descriptor instead. func (*OAuthAccountResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{35} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{43} } func (x *OAuthAccountResp) GetUrl() string { @@ -2990,6 +3552,118 @@ func (x *OAuthAccountResp) GetUrl() string { return "" } +type OAuthAccountV2Req struct { + state protoimpl.MessageState `protogen:"open.v1"` + MediaAccountUuid string `protobuf:"bytes,1,opt,name=mediaAccountUuid,proto3" json:"mediaAccountUuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OAuthAccountV2Req) Reset() { + *x = OAuthAccountV2Req{} + mi := &file_pb_fiee_cast_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OAuthAccountV2Req) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OAuthAccountV2Req) ProtoMessage() {} + +func (x *OAuthAccountV2Req) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OAuthAccountV2Req.ProtoReflect.Descriptor instead. +func (*OAuthAccountV2Req) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{44} +} + +func (x *OAuthAccountV2Req) GetMediaAccountUuid() string { + if x != nil { + return x.MediaAccountUuid + } + return "" +} + +type OAuthAccountV2Resp struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` + PlatformID uint32 `protobuf:"varint,3,opt,name=platformID,proto3" json:"platformID"` + AuthUrl string `protobuf:"bytes,4,opt,name=authUrl,proto3" json:"authUrl"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OAuthAccountV2Resp) Reset() { + *x = OAuthAccountV2Resp{} + mi := &file_pb_fiee_cast_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OAuthAccountV2Resp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OAuthAccountV2Resp) ProtoMessage() {} + +func (x *OAuthAccountV2Resp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OAuthAccountV2Resp.ProtoReflect.Descriptor instead. +func (*OAuthAccountV2Resp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{45} +} + +func (x *OAuthAccountV2Resp) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *OAuthAccountV2Resp) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *OAuthAccountV2Resp) GetPlatformID() uint32 { + if x != nil { + return x.PlatformID + } + return 0 +} + +func (x *OAuthAccountV2Resp) GetAuthUrl() string { + if x != nil { + return x.AuthUrl + } + return "" +} + // youtube type OAuthYoutubeTokenReq struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -3001,7 +3675,7 @@ type OAuthYoutubeTokenReq struct { func (x *OAuthYoutubeTokenReq) Reset() { *x = OAuthYoutubeTokenReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[36] + mi := &file_pb_fiee_cast_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3013,7 +3687,7 @@ func (x *OAuthYoutubeTokenReq) String() string { func (*OAuthYoutubeTokenReq) ProtoMessage() {} func (x *OAuthYoutubeTokenReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[36] + mi := &file_pb_fiee_cast_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3026,7 +3700,7 @@ func (x *OAuthYoutubeTokenReq) ProtoReflect() protoreflect.Message { // Deprecated: Use OAuthYoutubeTokenReq.ProtoReflect.Descriptor instead. func (*OAuthYoutubeTokenReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{36} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{46} } func (x *OAuthYoutubeTokenReq) GetMediaAccountUuid() string { @@ -3054,7 +3728,7 @@ type OAuthYoutubeTokenResp struct { func (x *OAuthYoutubeTokenResp) Reset() { *x = OAuthYoutubeTokenResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[37] + mi := &file_pb_fiee_cast_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3066,7 +3740,7 @@ func (x *OAuthYoutubeTokenResp) String() string { func (*OAuthYoutubeTokenResp) ProtoMessage() {} func (x *OAuthYoutubeTokenResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[37] + mi := &file_pb_fiee_cast_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3079,7 +3753,7 @@ func (x *OAuthYoutubeTokenResp) ProtoReflect() protoreflect.Message { // Deprecated: Use OAuthYoutubeTokenResp.ProtoReflect.Descriptor instead. func (*OAuthYoutubeTokenResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{37} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{47} } func (x *OAuthYoutubeTokenResp) GetAccessToken() string { @@ -3114,7 +3788,7 @@ type OAuthCodeToTokenReq struct { func (x *OAuthCodeToTokenReq) Reset() { *x = OAuthCodeToTokenReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[38] + mi := &file_pb_fiee_cast_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3126,7 +3800,7 @@ func (x *OAuthCodeToTokenReq) String() string { func (*OAuthCodeToTokenReq) ProtoMessage() {} func (x *OAuthCodeToTokenReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[38] + mi := &file_pb_fiee_cast_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3139,7 +3813,7 @@ func (x *OAuthCodeToTokenReq) ProtoReflect() protoreflect.Message { // Deprecated: Use OAuthCodeToTokenReq.ProtoReflect.Descriptor instead. func (*OAuthCodeToTokenReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{38} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{48} } func (x *OAuthCodeToTokenReq) GetCode() string { @@ -3171,7 +3845,7 @@ type OAuthCodeToTokenResp struct { func (x *OAuthCodeToTokenResp) Reset() { *x = OAuthCodeToTokenResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[39] + mi := &file_pb_fiee_cast_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3183,7 +3857,7 @@ func (x *OAuthCodeToTokenResp) String() string { func (*OAuthCodeToTokenResp) ProtoMessage() {} func (x *OAuthCodeToTokenResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[39] + mi := &file_pb_fiee_cast_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3196,7 +3870,51 @@ func (x *OAuthCodeToTokenResp) ProtoReflect() protoreflect.Message { // Deprecated: Use OAuthCodeToTokenResp.ProtoReflect.Descriptor instead. func (*OAuthCodeToTokenResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{39} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{49} +} + +type UpdateOAuthReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []*UpdateOAuthReq_Info `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateOAuthReq) Reset() { + *x = UpdateOAuthReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateOAuthReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateOAuthReq) ProtoMessage() {} + +func (x *UpdateOAuthReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateOAuthReq.ProtoReflect.Descriptor instead. +func (*UpdateOAuthReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{50} +} + +func (x *UpdateOAuthReq) GetData() []*UpdateOAuthReq_Info { + if x != nil { + return x.Data + } + return nil } type RefreshTokenReq struct { @@ -3210,7 +3928,7 @@ type RefreshTokenReq struct { func (x *RefreshTokenReq) Reset() { *x = RefreshTokenReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[40] + mi := &file_pb_fiee_cast_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3222,7 +3940,7 @@ func (x *RefreshTokenReq) String() string { func (*RefreshTokenReq) ProtoMessage() {} func (x *RefreshTokenReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[40] + mi := &file_pb_fiee_cast_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3235,7 +3953,7 @@ func (x *RefreshTokenReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RefreshTokenReq.ProtoReflect.Descriptor instead. func (*RefreshTokenReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{40} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{51} } func (x *RefreshTokenReq) GetRefreshToken() string { @@ -3269,7 +3987,7 @@ type RefreshTokenResp struct { func (x *RefreshTokenResp) Reset() { *x = RefreshTokenResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[41] + mi := &file_pb_fiee_cast_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3281,7 +3999,7 @@ func (x *RefreshTokenResp) String() string { func (*RefreshTokenResp) ProtoMessage() {} func (x *RefreshTokenResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[41] + mi := &file_pb_fiee_cast_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3294,7 +4012,7 @@ func (x *RefreshTokenResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RefreshTokenResp.ProtoReflect.Descriptor instead. func (*RefreshTokenResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{41} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{52} } func (x *RefreshTokenResp) GetAccessToken() string { @@ -3322,7 +4040,7 @@ type PublishMediaInfoReq struct { func (x *PublishMediaInfoReq) Reset() { *x = PublishMediaInfoReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[42] + mi := &file_pb_fiee_cast_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3334,7 +4052,7 @@ func (x *PublishMediaInfoReq) String() string { func (*PublishMediaInfoReq) ProtoMessage() {} func (x *PublishMediaInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[42] + mi := &file_pb_fiee_cast_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3347,7 +4065,7 @@ func (x *PublishMediaInfoReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishMediaInfoReq.ProtoReflect.Descriptor instead. func (*PublishMediaInfoReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{42} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{53} } func (x *PublishMediaInfoReq) GetWorkUuid() string { @@ -3383,7 +4101,7 @@ type PublishMediaInfoResp struct { func (x *PublishMediaInfoResp) Reset() { *x = PublishMediaInfoResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[43] + mi := &file_pb_fiee_cast_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3395,7 +4113,7 @@ func (x *PublishMediaInfoResp) String() string { func (*PublishMediaInfoResp) ProtoMessage() {} func (x *PublishMediaInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[43] + mi := &file_pb_fiee_cast_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3408,7 +4126,7 @@ func (x *PublishMediaInfoResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishMediaInfoResp.ProtoReflect.Descriptor instead. func (*PublishMediaInfoResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{43} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{54} } func (x *PublishMediaInfoResp) GetWorkUuid() string { @@ -3458,7 +4176,7 @@ type UpdateVideoScriptReq struct { func (x *UpdateVideoScriptReq) Reset() { *x = UpdateVideoScriptReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[44] + mi := &file_pb_fiee_cast_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3470,7 +4188,7 @@ func (x *UpdateVideoScriptReq) String() string { func (*UpdateVideoScriptReq) ProtoMessage() {} func (x *UpdateVideoScriptReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[44] + mi := &file_pb_fiee_cast_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3483,7 +4201,7 @@ func (x *UpdateVideoScriptReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVideoScriptReq.ProtoReflect.Descriptor instead. func (*UpdateVideoScriptReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{44} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{55} } func (x *UpdateVideoScriptReq) GetUuid() string { @@ -3558,7 +4276,7 @@ type UpdateVideoScriptResp struct { func (x *UpdateVideoScriptResp) Reset() { *x = UpdateVideoScriptResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[45] + mi := &file_pb_fiee_cast_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3570,7 +4288,7 @@ func (x *UpdateVideoScriptResp) String() string { func (*UpdateVideoScriptResp) ProtoMessage() {} func (x *UpdateVideoScriptResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[45] + mi := &file_pb_fiee_cast_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3583,7 +4301,7 @@ func (x *UpdateVideoScriptResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVideoScriptResp.ProtoReflect.Descriptor instead. func (*UpdateVideoScriptResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{45} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{56} } func (x *UpdateVideoScriptResp) GetUuid() string { @@ -3603,7 +4321,7 @@ type GetVideoScriptReq struct { func (x *GetVideoScriptReq) Reset() { *x = GetVideoScriptReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[46] + mi := &file_pb_fiee_cast_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3615,7 +4333,7 @@ func (x *GetVideoScriptReq) String() string { func (*GetVideoScriptReq) ProtoMessage() {} func (x *GetVideoScriptReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[46] + mi := &file_pb_fiee_cast_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3628,7 +4346,7 @@ func (x *GetVideoScriptReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVideoScriptReq.ProtoReflect.Descriptor instead. func (*GetVideoScriptReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{46} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{57} } func (x *GetVideoScriptReq) GetUuid() string { @@ -3659,7 +4377,7 @@ type GetVideoScriptResp struct { func (x *GetVideoScriptResp) Reset() { *x = GetVideoScriptResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[47] + mi := &file_pb_fiee_cast_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3671,7 +4389,7 @@ func (x *GetVideoScriptResp) String() string { func (*GetVideoScriptResp) ProtoMessage() {} func (x *GetVideoScriptResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[47] + mi := &file_pb_fiee_cast_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3684,7 +4402,7 @@ func (x *GetVideoScriptResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVideoScriptResp.ProtoReflect.Descriptor instead. func (*GetVideoScriptResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{47} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{58} } func (x *GetVideoScriptResp) GetUuid() string { @@ -3796,7 +4514,7 @@ type ListVideoScriptsReq struct { func (x *ListVideoScriptsReq) Reset() { *x = ListVideoScriptsReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[48] + mi := &file_pb_fiee_cast_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3808,7 +4526,7 @@ func (x *ListVideoScriptsReq) String() string { func (*ListVideoScriptsReq) ProtoMessage() {} func (x *ListVideoScriptsReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[48] + mi := &file_pb_fiee_cast_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3821,7 +4539,7 @@ func (x *ListVideoScriptsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVideoScriptsReq.ProtoReflect.Descriptor instead. func (*ListVideoScriptsReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{48} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{59} } func (x *ListVideoScriptsReq) GetTitle() string { @@ -3909,7 +4627,7 @@ type VideoScriptInfo struct { func (x *VideoScriptInfo) Reset() { *x = VideoScriptInfo{} - mi := &file_pb_fiee_cast_proto_msgTypes[49] + mi := &file_pb_fiee_cast_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3921,7 +4639,7 @@ func (x *VideoScriptInfo) String() string { func (*VideoScriptInfo) ProtoMessage() {} func (x *VideoScriptInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[49] + mi := &file_pb_fiee_cast_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3934,7 +4652,7 @@ func (x *VideoScriptInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use VideoScriptInfo.ProtoReflect.Descriptor instead. func (*VideoScriptInfo) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{49} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{60} } func (x *VideoScriptInfo) GetUuid() string { @@ -4045,7 +4763,7 @@ type ListVideoScriptsResp struct { func (x *ListVideoScriptsResp) Reset() { *x = ListVideoScriptsResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[50] + mi := &file_pb_fiee_cast_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4057,7 +4775,7 @@ func (x *ListVideoScriptsResp) String() string { func (*ListVideoScriptsResp) ProtoMessage() {} func (x *ListVideoScriptsResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[50] + mi := &file_pb_fiee_cast_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4070,7 +4788,7 @@ func (x *ListVideoScriptsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVideoScriptsResp.ProtoReflect.Descriptor instead. func (*ListVideoScriptsResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{50} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{61} } func (x *ListVideoScriptsResp) GetData() []*VideoScriptInfo { @@ -4097,7 +4815,7 @@ type DeleteVideoScriptReq struct { func (x *DeleteVideoScriptReq) Reset() { *x = DeleteVideoScriptReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[51] + mi := &file_pb_fiee_cast_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4109,7 +4827,7 @@ func (x *DeleteVideoScriptReq) String() string { func (*DeleteVideoScriptReq) ProtoMessage() {} func (x *DeleteVideoScriptReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[51] + mi := &file_pb_fiee_cast_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4122,7 +4840,7 @@ func (x *DeleteVideoScriptReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteVideoScriptReq.ProtoReflect.Descriptor instead. func (*DeleteVideoScriptReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{51} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{62} } func (x *DeleteVideoScriptReq) GetUuid() string { @@ -4141,7 +4859,7 @@ type UpdateVideoScriptBatchReq struct { func (x *UpdateVideoScriptBatchReq) Reset() { *x = UpdateVideoScriptBatchReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[52] + mi := &file_pb_fiee_cast_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4153,7 +4871,7 @@ func (x *UpdateVideoScriptBatchReq) String() string { func (*UpdateVideoScriptBatchReq) ProtoMessage() {} func (x *UpdateVideoScriptBatchReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[52] + mi := &file_pb_fiee_cast_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4166,7 +4884,7 @@ func (x *UpdateVideoScriptBatchReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVideoScriptBatchReq.ProtoReflect.Descriptor instead. func (*UpdateVideoScriptBatchReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{52} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{63} } func (x *UpdateVideoScriptBatchReq) GetData() []*VideoScriptInfo { @@ -4187,7 +4905,7 @@ type UpdateVideoScriptBatchResp struct { func (x *UpdateVideoScriptBatchResp) Reset() { *x = UpdateVideoScriptBatchResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[53] + mi := &file_pb_fiee_cast_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4199,7 +4917,7 @@ func (x *UpdateVideoScriptBatchResp) String() string { func (*UpdateVideoScriptBatchResp) ProtoMessage() {} func (x *UpdateVideoScriptBatchResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[53] + mi := &file_pb_fiee_cast_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4212,7 +4930,7 @@ func (x *UpdateVideoScriptBatchResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateVideoScriptBatchResp.ProtoReflect.Descriptor instead. func (*UpdateVideoScriptBatchResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{53} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{64} } func (x *UpdateVideoScriptBatchResp) GetData() []*VideoScriptInfo { @@ -4248,7 +4966,7 @@ type UpdateScriptStatusReq struct { func (x *UpdateScriptStatusReq) Reset() { *x = UpdateScriptStatusReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[54] + mi := &file_pb_fiee_cast_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4260,7 +4978,7 @@ func (x *UpdateScriptStatusReq) String() string { func (*UpdateScriptStatusReq) ProtoMessage() {} func (x *UpdateScriptStatusReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[54] + mi := &file_pb_fiee_cast_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4273,7 +4991,7 @@ func (x *UpdateScriptStatusReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScriptStatusReq.ProtoReflect.Descriptor instead. func (*UpdateScriptStatusReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{54} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{65} } func (x *UpdateScriptStatusReq) GetWorkAction() WorkActionENUM { @@ -4315,7 +5033,7 @@ type SetLayoutReq struct { func (x *SetLayoutReq) Reset() { *x = SetLayoutReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[55] + mi := &file_pb_fiee_cast_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4327,7 +5045,7 @@ func (x *SetLayoutReq) String() string { func (*SetLayoutReq) ProtoMessage() {} func (x *SetLayoutReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[55] + mi := &file_pb_fiee_cast_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4340,7 +5058,7 @@ func (x *SetLayoutReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLayoutReq.ProtoReflect.Descriptor instead. func (*SetLayoutReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{55} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{66} } func (x *SetLayoutReq) GetUserID() string { @@ -4374,7 +5092,7 @@ type GetLayoutReq struct { func (x *GetLayoutReq) Reset() { *x = GetLayoutReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[56] + mi := &file_pb_fiee_cast_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4386,7 +5104,7 @@ func (x *GetLayoutReq) String() string { func (*GetLayoutReq) ProtoMessage() {} func (x *GetLayoutReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[56] + mi := &file_pb_fiee_cast_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4399,7 +5117,7 @@ func (x *GetLayoutReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLayoutReq.ProtoReflect.Descriptor instead. func (*GetLayoutReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{56} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{67} } func (x *GetLayoutReq) GetUserID() string { @@ -4426,7 +5144,7 @@ type GetLayoutResp struct { func (x *GetLayoutResp) Reset() { *x = GetLayoutResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[57] + mi := &file_pb_fiee_cast_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4438,7 +5156,7 @@ func (x *GetLayoutResp) String() string { func (*GetLayoutResp) ProtoMessage() {} func (x *GetLayoutResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[57] + mi := &file_pb_fiee_cast_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4451,7 +5169,7 @@ func (x *GetLayoutResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLayoutResp.ProtoReflect.Descriptor instead. func (*GetLayoutResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{57} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{68} } func (x *GetLayoutResp) GetData() string { @@ -4480,7 +5198,7 @@ type UpdatePromptReq struct { func (x *UpdatePromptReq) Reset() { *x = UpdatePromptReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[58] + mi := &file_pb_fiee_cast_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4492,7 +5210,7 @@ func (x *UpdatePromptReq) String() string { func (*UpdatePromptReq) ProtoMessage() {} func (x *UpdatePromptReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[58] + mi := &file_pb_fiee_cast_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4505,7 +5223,7 @@ func (x *UpdatePromptReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePromptReq.ProtoReflect.Descriptor instead. func (*UpdatePromptReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{58} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{69} } func (x *UpdatePromptReq) GetPromptUuid() string { @@ -4538,7 +5256,7 @@ type DeletePromptReq struct { func (x *DeletePromptReq) Reset() { *x = DeletePromptReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[59] + mi := &file_pb_fiee_cast_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4550,7 +5268,7 @@ func (x *DeletePromptReq) String() string { func (*DeletePromptReq) ProtoMessage() {} func (x *DeletePromptReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[59] + mi := &file_pb_fiee_cast_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4563,7 +5281,7 @@ func (x *DeletePromptReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeletePromptReq.ProtoReflect.Descriptor instead. func (*DeletePromptReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{59} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{70} } func (x *DeletePromptReq) GetPromptUuid() string { @@ -4582,7 +5300,7 @@ type GetPromptReq struct { func (x *GetPromptReq) Reset() { *x = GetPromptReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[60] + mi := &file_pb_fiee_cast_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4594,7 +5312,7 @@ func (x *GetPromptReq) String() string { func (*GetPromptReq) ProtoMessage() {} func (x *GetPromptReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[60] + mi := &file_pb_fiee_cast_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4607,7 +5325,7 @@ func (x *GetPromptReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPromptReq.ProtoReflect.Descriptor instead. func (*GetPromptReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{60} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{71} } func (x *GetPromptReq) GetPromptUuid() string { @@ -4629,7 +5347,7 @@ type GetPromptResp struct { func (x *GetPromptResp) Reset() { *x = GetPromptResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[61] + mi := &file_pb_fiee_cast_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4641,7 +5359,7 @@ func (x *GetPromptResp) String() string { func (*GetPromptResp) ProtoMessage() {} func (x *GetPromptResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[61] + mi := &file_pb_fiee_cast_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4654,7 +5372,7 @@ func (x *GetPromptResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPromptResp.ProtoReflect.Descriptor instead. func (*GetPromptResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{61} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{72} } func (x *GetPromptResp) GetPromptUuid() string { @@ -4698,7 +5416,7 @@ type ListPromptsReq struct { func (x *ListPromptsReq) Reset() { *x = ListPromptsReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[62] + mi := &file_pb_fiee_cast_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4710,7 +5428,7 @@ func (x *ListPromptsReq) String() string { func (*ListPromptsReq) ProtoMessage() {} func (x *ListPromptsReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[62] + mi := &file_pb_fiee_cast_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4723,7 +5441,7 @@ func (x *ListPromptsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPromptsReq.ProtoReflect.Descriptor instead. func (*ListPromptsReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{62} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{73} } func (x *ListPromptsReq) GetPrompt() string { @@ -4770,13 +5488,14 @@ type PromptInfo struct { Success bool `protobuf:"varint,5,opt,name=success,proto3" json:"success"` // 是否更新成功 UseCount uint32 `protobuf:"varint,6,opt,name=useCount,proto3" json:"useCount"` // 使用次数 LineNo uint32 `protobuf:"varint,7,opt,name=lineNo,proto3" json:"lineNo"` // 行号 + CreatedDate string `protobuf:"bytes,8,opt,name=createdDate,proto3" json:"createdDate"` // 创建时间 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PromptInfo) Reset() { *x = PromptInfo{} - mi := &file_pb_fiee_cast_proto_msgTypes[63] + mi := &file_pb_fiee_cast_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4788,7 +5507,7 @@ func (x *PromptInfo) String() string { func (*PromptInfo) ProtoMessage() {} func (x *PromptInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[63] + mi := &file_pb_fiee_cast_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4801,7 +5520,7 @@ func (x *PromptInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use PromptInfo.ProtoReflect.Descriptor instead. func (*PromptInfo) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{63} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{74} } func (x *PromptInfo) GetPromptUuid() string { @@ -4853,6 +5572,13 @@ func (x *PromptInfo) GetLineNo() uint32 { return 0 } +func (x *PromptInfo) GetCreatedDate() string { + if x != nil { + return x.CreatedDate + } + return "" +} + type ListPromptsResp struct { state protoimpl.MessageState `protogen:"open.v1"` Data []*PromptInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 关键词列表 @@ -4863,7 +5589,7 @@ type ListPromptsResp struct { func (x *ListPromptsResp) Reset() { *x = ListPromptsResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[64] + mi := &file_pb_fiee_cast_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4875,7 +5601,7 @@ func (x *ListPromptsResp) String() string { func (*ListPromptsResp) ProtoMessage() {} func (x *ListPromptsResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[64] + mi := &file_pb_fiee_cast_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4888,7 +5614,7 @@ func (x *ListPromptsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPromptsResp.ProtoReflect.Descriptor instead. func (*ListPromptsResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{64} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{75} } func (x *ListPromptsResp) GetData() []*PromptInfo { @@ -4914,7 +5640,7 @@ type UpdatePromptBatchReq struct { func (x *UpdatePromptBatchReq) Reset() { *x = UpdatePromptBatchReq{} - mi := &file_pb_fiee_cast_proto_msgTypes[65] + mi := &file_pb_fiee_cast_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4926,7 +5652,7 @@ func (x *UpdatePromptBatchReq) String() string { func (*UpdatePromptBatchReq) ProtoMessage() {} func (x *UpdatePromptBatchReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[65] + mi := &file_pb_fiee_cast_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4939,7 +5665,7 @@ func (x *UpdatePromptBatchReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePromptBatchReq.ProtoReflect.Descriptor instead. func (*UpdatePromptBatchReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{65} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{76} } func (x *UpdatePromptBatchReq) GetData() []*PromptInfo { @@ -4960,7 +5686,7 @@ type UpdatePromptBatchResp struct { func (x *UpdatePromptBatchResp) Reset() { *x = UpdatePromptBatchResp{} - mi := &file_pb_fiee_cast_proto_msgTypes[66] + mi := &file_pb_fiee_cast_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4972,7 +5698,7 @@ func (x *UpdatePromptBatchResp) String() string { func (*UpdatePromptBatchResp) ProtoMessage() {} func (x *UpdatePromptBatchResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[66] + mi := &file_pb_fiee_cast_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4985,7 +5711,7 @@ func (x *UpdatePromptBatchResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePromptBatchResp.ProtoReflect.Descriptor instead. func (*UpdatePromptBatchResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{66} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{77} } func (x *UpdatePromptBatchResp) GetData() []*PromptInfo { @@ -5009,6 +5735,5599 @@ func (x *UpdatePromptBatchResp) GetFailCount() int32 { return 0 } +// 艺人相关接口 +type ArtistInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + RefID string `protobuf:"bytes,2,opt,name=refID,proto3" json:"refID"` // 艺人名称 + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` // 艺人手机号 + SubNum string `protobuf:"bytes,4,opt,name=subNum,proto3" json:"subNum"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ArtistInfo) Reset() { + *x = ArtistInfo{} + mi := &file_pb_fiee_cast_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArtistInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistInfo) ProtoMessage() {} + +func (x *ArtistInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[78] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistInfo.ProtoReflect.Descriptor instead. +func (*ArtistInfo) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{78} +} + +func (x *ArtistInfo) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *ArtistInfo) GetRefID() string { + if x != nil { + return x.RefID + } + return "" +} + +func (x *ArtistInfo) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *ArtistInfo) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +type UpdateArtistReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistInfo *ArtistInfo `protobuf:"bytes,1,opt,name=artistInfo,proto3" json:"artistInfo"` + Uuid string `protobuf:"bytes,2,opt,name=Uuid,proto3" json:"Uuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateArtistReq) Reset() { + *x = UpdateArtistReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateArtistReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateArtistReq) ProtoMessage() {} + +func (x *UpdateArtistReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[79] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateArtistReq.ProtoReflect.Descriptor instead. +func (*UpdateArtistReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{79} +} + +func (x *UpdateArtistReq) GetArtistInfo() *ArtistInfo { + if x != nil { + return x.ArtistInfo + } + return nil +} + +func (x *UpdateArtistReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type UpdateArtistResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateArtistResp) Reset() { + *x = UpdateArtistResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateArtistResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateArtistResp) ProtoMessage() {} + +func (x *UpdateArtistResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[80] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateArtistResp.ProtoReflect.Descriptor instead. +func (*UpdateArtistResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{80} +} + +func (x *UpdateArtistResp) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +type GetArtistReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetArtistReq) Reset() { + *x = GetArtistReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetArtistReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistReq) ProtoMessage() {} + +func (x *GetArtistReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[81] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistReq.ProtoReflect.Descriptor instead. +func (*GetArtistReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{81} +} + +func (x *GetArtistReq) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +type GetArtistResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistInfo *ArtistInfo `protobuf:"bytes,1,opt,name=artistInfo,proto3" json:"artistInfo"` + Uuid string `protobuf:"bytes,2,opt,name=Uuid,proto3" json:"Uuid"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetArtistResp) Reset() { + *x = GetArtistResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetArtistResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistResp) ProtoMessage() {} + +func (x *GetArtistResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[82] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistResp.ProtoReflect.Descriptor instead. +func (*GetArtistResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{82} +} + +func (x *GetArtistResp) GetArtistInfo() *ArtistInfo { + if x != nil { + return x.ArtistInfo + } + return nil +} + +func (x *GetArtistResp) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +// 作品分析相关消息定义 +type CreateWorkAnalysisReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistID string `protobuf:"bytes,4,opt,name=artistID,proto3" json:"artistID"` // 艺人ID + ArtistPhone string `protobuf:"bytes,5,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + Analysis string `protobuf:"bytes,6,opt,name=analysis,proto3" json:"analysis"` // 分析内容 + Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title"` // 标题 + PdfUrl string `protobuf:"bytes,8,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 + MediaAccountCount int32 `protobuf:"varint,9,opt,name=mediaAccountCount,proto3" json:"mediaAccountCount"` // 当前账号数 + WorkVideoCount int32 `protobuf:"varint,10,opt,name=workVideoCount,proto3" json:"workVideoCount"` // 当前发布视频数 + WorkImageCount int32 `protobuf:"varint,11,opt,name=workImageCount,proto3" json:"workImageCount"` // 当前发布图文数 + Views int32 `protobuf:"varint,12,opt,name=views,proto3" json:"views"` // 是否开启浏览/播放量统计 0 关闭 1 开启 + Likes int32 `protobuf:"varint,13,opt,name=likes,proto3" json:"likes"` // 是否开启点赞数统计 0 关闭 1 开启 + Comments int32 `protobuf:"varint,14,opt,name=comments,proto3" json:"comments"` // 是否开启评论数统计 0 关闭 1 开启 + Shares int32 `protobuf:"varint,15,opt,name=shares,proto3" json:"shares"` // 是否开启分享数统计 0 关闭 1 开启 + FansCount int32 `protobuf:"varint,16,opt,name=fansCount,proto3" json:"fansCount"` // 是否开启粉丝数统计 0 关闭 1 开启 + TopCities int32 `protobuf:"varint,17,opt,name=topCities,proto3" json:"topCities"` // 是否开启Top城市统计 0 关闭 1 开启 + MostActiveDay int32 `protobuf:"varint,18,opt,name=mostActiveDay,proto3" json:"mostActiveDay"` // 是否开启最活跃日统计 0 关闭 1 开启 + BestPostTime int32 `protobuf:"varint,19,opt,name=bestPostTime,proto3" json:"bestPostTime"` // 是否开启最佳发布时间统计 0 关闭 1 开启 + PeriodTypeFans uint32 `protobuf:"varint,21,opt,name=periodTypeFans,proto3" json:"periodTypeFans"` // 粉丝数周期类型 1 日 2 周 3 月 + PeriodTypeViews uint32 `protobuf:"varint,22,opt,name=periodTypeViews,proto3" json:"periodTypeViews"` // 播放量周期类型 1 日 2 周 3 月 + PeriodTypeLikes uint32 `protobuf:"varint,23,opt,name=periodTypeLikes,proto3" json:"periodTypeLikes"` // 点赞数周期类型 1 日 2 周 3 月 + PeriodTypeComments uint32 `protobuf:"varint,24,opt,name=periodTypeComments,proto3" json:"periodTypeComments"` // 评论数周期类型 1 日 2 周 3 月 + PeriodTypeShares uint32 `protobuf:"varint,25,opt,name=periodTypeShares,proto3" json:"periodTypeShares"` // 分享数周期类型 1 日 2 周 3 月 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateWorkAnalysisReq) Reset() { + *x = CreateWorkAnalysisReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateWorkAnalysisReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkAnalysisReq) ProtoMessage() {} + +func (x *CreateWorkAnalysisReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[83] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkAnalysisReq.ProtoReflect.Descriptor instead. +func (*CreateWorkAnalysisReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{83} +} + +func (x *CreateWorkAnalysisReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *CreateWorkAnalysisReq) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *CreateWorkAnalysisReq) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *CreateWorkAnalysisReq) GetArtistID() string { + if x != nil { + return x.ArtistID + } + return "" +} + +func (x *CreateWorkAnalysisReq) GetArtistPhone() string { + if x != nil { + return x.ArtistPhone + } + return "" +} + +func (x *CreateWorkAnalysisReq) GetAnalysis() string { + if x != nil { + return x.Analysis + } + return "" +} + +func (x *CreateWorkAnalysisReq) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CreateWorkAnalysisReq) GetPdfUrl() string { + if x != nil { + return x.PdfUrl + } + return "" +} + +func (x *CreateWorkAnalysisReq) GetMediaAccountCount() int32 { + if x != nil { + return x.MediaAccountCount + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetWorkVideoCount() int32 { + if x != nil { + return x.WorkVideoCount + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetWorkImageCount() int32 { + if x != nil { + return x.WorkImageCount + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetViews() int32 { + if x != nil { + return x.Views + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetLikes() int32 { + if x != nil { + return x.Likes + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetComments() int32 { + if x != nil { + return x.Comments + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetShares() int32 { + if x != nil { + return x.Shares + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetFansCount() int32 { + if x != nil { + return x.FansCount + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetTopCities() int32 { + if x != nil { + return x.TopCities + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetMostActiveDay() int32 { + if x != nil { + return x.MostActiveDay + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetBestPostTime() int32 { + if x != nil { + return x.BestPostTime + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetPeriodTypeFans() uint32 { + if x != nil { + return x.PeriodTypeFans + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetPeriodTypeViews() uint32 { + if x != nil { + return x.PeriodTypeViews + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetPeriodTypeLikes() uint32 { + if x != nil { + return x.PeriodTypeLikes + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetPeriodTypeComments() uint32 { + if x != nil { + return x.PeriodTypeComments + } + return 0 +} + +func (x *CreateWorkAnalysisReq) GetPeriodTypeShares() uint32 { + if x != nil { + return x.PeriodTypeShares + } + return 0 +} + +type CreateWorkAnalysisResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateWorkAnalysisResp) Reset() { + *x = CreateWorkAnalysisResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateWorkAnalysisResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkAnalysisResp) ProtoMessage() {} + +func (x *CreateWorkAnalysisResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[84] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkAnalysisResp.ProtoReflect.Descriptor instead. +func (*CreateWorkAnalysisResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{84} +} + +func (x *CreateWorkAnalysisResp) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type UpdateWorkAnalysisReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + Analysis string `protobuf:"bytes,2,opt,name=analysis,proto3" json:"analysis"` // 分析内容 + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title"` // 标题 + PdfUrl string `protobuf:"bytes,4,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 + MediaAccountCount int32 `protobuf:"varint,5,opt,name=mediaAccountCount,proto3" json:"mediaAccountCount"` // 当前账号数 + WorkVideoCount int32 `protobuf:"varint,6,opt,name=workVideoCount,proto3" json:"workVideoCount"` // 当前发布视频数 + WorkImageCount int32 `protobuf:"varint,7,opt,name=workImageCount,proto3" json:"workImageCount"` // 当前发布图文数 + Views int32 `protobuf:"varint,8,opt,name=views,proto3" json:"views"` // 是否开启浏览/播放量统计 0 关闭 1 开启 + Likes int32 `protobuf:"varint,9,opt,name=likes,proto3" json:"likes"` // 是否开启点赞数统计 0 关闭 1 开启 + Comments int32 `protobuf:"varint,10,opt,name=comments,proto3" json:"comments"` // 是否开启评论数统计 0 关闭 1 开启 + Shares int32 `protobuf:"varint,11,opt,name=shares,proto3" json:"shares"` // 是否开启分享数统计 0 关闭 1 开启 + FansCount int32 `protobuf:"varint,12,opt,name=fansCount,proto3" json:"fansCount"` // 是否开启粉丝数统计 0 关闭 1 开启 + TopCities int32 `protobuf:"varint,13,opt,name=topCities,proto3" json:"topCities"` // 是否开启Top城市统计 0 关闭 1 开启 + MostActiveDay int32 `protobuf:"varint,14,opt,name=mostActiveDay,proto3" json:"mostActiveDay"` // 是否开启最活跃日统计 0 关闭 1 开启 + BestPostTime int32 `protobuf:"varint,15,opt,name=bestPostTime,proto3" json:"bestPostTime"` // 是否开启最佳发布时间统计 0 关闭 1 开启 + ArtistUUID string `protobuf:"bytes,16,opt,name=artistUUID,proto3" json:"artistUUID"` // 艺人UUID + PeriodTypeFans uint32 `protobuf:"varint,17,opt,name=periodTypeFans,proto3" json:"periodTypeFans"` // 粉丝数周期类型 1 日 2 周 3 月 + PeriodTypeViews uint32 `protobuf:"varint,18,opt,name=periodTypeViews,proto3" json:"periodTypeViews"` // 播放量周期类型 1 日 2 周 3 月 + PeriodTypeLikes uint32 `protobuf:"varint,19,opt,name=periodTypeLikes,proto3" json:"periodTypeLikes"` // 点赞数周期类型 1 日 2 周 3 月 + PeriodTypeComments uint32 `protobuf:"varint,20,opt,name=periodTypeComments,proto3" json:"periodTypeComments"` // 评论数周期类型 1 日 2 周 3 月 + PeriodTypeShares uint32 `protobuf:"varint,21,opt,name=periodTypeShares,proto3" json:"periodTypeShares"` // 分享数周期类型 1 日 2 周 3 月 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkAnalysisReq) Reset() { + *x = UpdateWorkAnalysisReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkAnalysisReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkAnalysisReq) ProtoMessage() {} + +func (x *UpdateWorkAnalysisReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[85] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkAnalysisReq.ProtoReflect.Descriptor instead. +func (*UpdateWorkAnalysisReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{85} +} + +func (x *UpdateWorkAnalysisReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *UpdateWorkAnalysisReq) GetAnalysis() string { + if x != nil { + return x.Analysis + } + return "" +} + +func (x *UpdateWorkAnalysisReq) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *UpdateWorkAnalysisReq) GetPdfUrl() string { + if x != nil { + return x.PdfUrl + } + return "" +} + +func (x *UpdateWorkAnalysisReq) GetMediaAccountCount() int32 { + if x != nil { + return x.MediaAccountCount + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetWorkVideoCount() int32 { + if x != nil { + return x.WorkVideoCount + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetWorkImageCount() int32 { + if x != nil { + return x.WorkImageCount + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetViews() int32 { + if x != nil { + return x.Views + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetLikes() int32 { + if x != nil { + return x.Likes + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetComments() int32 { + if x != nil { + return x.Comments + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetShares() int32 { + if x != nil { + return x.Shares + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetFansCount() int32 { + if x != nil { + return x.FansCount + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetTopCities() int32 { + if x != nil { + return x.TopCities + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetMostActiveDay() int32 { + if x != nil { + return x.MostActiveDay + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetBestPostTime() int32 { + if x != nil { + return x.BestPostTime + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetArtistUUID() string { + if x != nil { + return x.ArtistUUID + } + return "" +} + +func (x *UpdateWorkAnalysisReq) GetPeriodTypeFans() uint32 { + if x != nil { + return x.PeriodTypeFans + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetPeriodTypeViews() uint32 { + if x != nil { + return x.PeriodTypeViews + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetPeriodTypeLikes() uint32 { + if x != nil { + return x.PeriodTypeLikes + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetPeriodTypeComments() uint32 { + if x != nil { + return x.PeriodTypeComments + } + return 0 +} + +func (x *UpdateWorkAnalysisReq) GetPeriodTypeShares() uint32 { + if x != nil { + return x.PeriodTypeShares + } + return 0 +} + +type UpdateWorkAnalysisStatusReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkAction WorkActionENUM `protobuf:"varint,1,opt,name=workAction,proto3,enum=Cast.WorkActionENUM" json:"workAction"` // 操作类型 + Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + ApprovalID string `protobuf:"bytes,3,opt,name=approvalID,proto3" json:"approvalID"` // 审批ID + ApprovalReply string `protobuf:"bytes,4,opt,name=approvalReply,proto3" json:"approvalReply"` // 审批回复 + ConfirmRemark string `protobuf:"bytes,5,opt,name=confirmRemark,proto3" json:"confirmRemark"` // 确认备注 + ConfirmStatus uint32 `protobuf:"varint,6,opt,name=confirmStatus,proto3" json:"confirmStatus"` // 确认状态 1 通过 2 驳回 3 失败 + CostType uint32 `protobuf:"varint,7,opt,name=costType,proto3" json:"costType"` // 计费类型 1 套餐 2 增值 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkAnalysisStatusReq) Reset() { + *x = UpdateWorkAnalysisStatusReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkAnalysisStatusReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkAnalysisStatusReq) ProtoMessage() {} + +func (x *UpdateWorkAnalysisStatusReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[86] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkAnalysisStatusReq.ProtoReflect.Descriptor instead. +func (*UpdateWorkAnalysisStatusReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{86} +} + +func (x *UpdateWorkAnalysisStatusReq) GetWorkAction() WorkActionENUM { + if x != nil { + return x.WorkAction + } + return WorkActionENUM_NO_ACTION +} + +func (x *UpdateWorkAnalysisStatusReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *UpdateWorkAnalysisStatusReq) GetApprovalID() string { + if x != nil { + return x.ApprovalID + } + return "" +} + +func (x *UpdateWorkAnalysisStatusReq) GetApprovalReply() string { + if x != nil { + return x.ApprovalReply + } + return "" +} + +func (x *UpdateWorkAnalysisStatusReq) GetConfirmRemark() string { + if x != nil { + return x.ConfirmRemark + } + return "" +} + +func (x *UpdateWorkAnalysisStatusReq) GetConfirmStatus() uint32 { + if x != nil { + return x.ConfirmStatus + } + return 0 +} + +func (x *UpdateWorkAnalysisStatusReq) GetCostType() uint32 { + if x != nil { + return x.CostType + } + return 0 +} + +type WorkAnalysisLogInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` // 作品UUID + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 标题 + UpdateTime string `protobuf:"bytes,3,opt,name=updateTime,proto3" json:"updateTime"` // 更新时间 + WorkAnalysisStatus uint32 `protobuf:"varint,4,opt,name=workAnalysisStatus,proto3" json:"workAnalysisStatus"` // 状态 + ArtistName string `protobuf:"bytes,5,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 + ArtistUuid string `protobuf:"bytes,6,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + AnalysisExtraData string `protobuf:"bytes,7,opt,name=analysisExtraData,proto3" json:"analysisExtraData"` // 数据分析扩展数据 + OperatorName string `protobuf:"bytes,8,opt,name=operatorName,proto3" json:"operatorName"` // 操作人名称 + OperatorID string `protobuf:"bytes,9,opt,name=operatorID,proto3" json:"operatorID"` // 操作人ID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisLogInfo) Reset() { + *x = WorkAnalysisLogInfo{} + mi := &file_pb_fiee_cast_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisLogInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisLogInfo) ProtoMessage() {} + +func (x *WorkAnalysisLogInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[87] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisLogInfo.ProtoReflect.Descriptor instead. +func (*WorkAnalysisLogInfo) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{87} +} + +func (x *WorkAnalysisLogInfo) GetWorkUuid() string { + if x != nil { + return x.WorkUuid + } + return "" +} + +func (x *WorkAnalysisLogInfo) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *WorkAnalysisLogInfo) GetUpdateTime() string { + if x != nil { + return x.UpdateTime + } + return "" +} + +func (x *WorkAnalysisLogInfo) GetWorkAnalysisStatus() uint32 { + if x != nil { + return x.WorkAnalysisStatus + } + return 0 +} + +func (x *WorkAnalysisLogInfo) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *WorkAnalysisLogInfo) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *WorkAnalysisLogInfo) GetAnalysisExtraData() string { + if x != nil { + return x.AnalysisExtraData + } + return "" +} + +func (x *WorkAnalysisLogInfo) GetOperatorName() string { + if x != nil { + return x.OperatorName + } + return "" +} + +func (x *WorkAnalysisLogInfo) GetOperatorID() string { + if x != nil { + return x.OperatorID + } + return "" +} + +// 粉丝数系列 +type WorkAnalysisFansSeries struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + FansCount int64 `protobuf:"varint,2,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数总数 + PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 + StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD + EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD + DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] + CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisFansSeries) Reset() { + *x = WorkAnalysisFansSeries{} + mi := &file_pb_fiee_cast_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisFansSeries) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisFansSeries) ProtoMessage() {} + +func (x *WorkAnalysisFansSeries) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[88] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisFansSeries.ProtoReflect.Descriptor instead. +func (*WorkAnalysisFansSeries) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{88} +} + +func (x *WorkAnalysisFansSeries) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkAnalysisFansSeries) GetFansCount() int64 { + if x != nil { + return x.FansCount + } + return 0 +} + +func (x *WorkAnalysisFansSeries) GetPeriodType() uint32 { + if x != nil { + return x.PeriodType + } + return 0 +} + +func (x *WorkAnalysisFansSeries) GetStartDate() int32 { + if x != nil { + return x.StartDate + } + return 0 +} + +func (x *WorkAnalysisFansSeries) GetEndDate() int32 { + if x != nil { + return x.EndDate + } + return 0 +} + +func (x *WorkAnalysisFansSeries) GetDetailJSON() string { + if x != nil { + return x.DetailJSON + } + return "" +} + +func (x *WorkAnalysisFansSeries) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WorkAnalysisFansSeries) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +// 访问量系列 +type WorkAnalysisViewsSeries struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + ViewsCount int64 `protobuf:"varint,2,opt,name=viewsCount,proto3" json:"viewsCount"` // 访问数总数 + PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 + StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD + EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD + DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] + CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisViewsSeries) Reset() { + *x = WorkAnalysisViewsSeries{} + mi := &file_pb_fiee_cast_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisViewsSeries) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisViewsSeries) ProtoMessage() {} + +func (x *WorkAnalysisViewsSeries) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[89] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisViewsSeries.ProtoReflect.Descriptor instead. +func (*WorkAnalysisViewsSeries) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{89} +} + +func (x *WorkAnalysisViewsSeries) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkAnalysisViewsSeries) GetViewsCount() int64 { + if x != nil { + return x.ViewsCount + } + return 0 +} + +func (x *WorkAnalysisViewsSeries) GetPeriodType() uint32 { + if x != nil { + return x.PeriodType + } + return 0 +} + +func (x *WorkAnalysisViewsSeries) GetStartDate() int32 { + if x != nil { + return x.StartDate + } + return 0 +} + +func (x *WorkAnalysisViewsSeries) GetEndDate() int32 { + if x != nil { + return x.EndDate + } + return 0 +} + +func (x *WorkAnalysisViewsSeries) GetDetailJSON() string { + if x != nil { + return x.DetailJSON + } + return "" +} + +func (x *WorkAnalysisViewsSeries) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WorkAnalysisViewsSeries) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +// 点赞数系列 +type WorkAnalysisLikesSeries struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + LikesCount int64 `protobuf:"varint,2,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数总数 + PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 + StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD + EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD + DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] + CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisLikesSeries) Reset() { + *x = WorkAnalysisLikesSeries{} + mi := &file_pb_fiee_cast_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisLikesSeries) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisLikesSeries) ProtoMessage() {} + +func (x *WorkAnalysisLikesSeries) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[90] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisLikesSeries.ProtoReflect.Descriptor instead. +func (*WorkAnalysisLikesSeries) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{90} +} + +func (x *WorkAnalysisLikesSeries) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkAnalysisLikesSeries) GetLikesCount() int64 { + if x != nil { + return x.LikesCount + } + return 0 +} + +func (x *WorkAnalysisLikesSeries) GetPeriodType() uint32 { + if x != nil { + return x.PeriodType + } + return 0 +} + +func (x *WorkAnalysisLikesSeries) GetStartDate() int32 { + if x != nil { + return x.StartDate + } + return 0 +} + +func (x *WorkAnalysisLikesSeries) GetEndDate() int32 { + if x != nil { + return x.EndDate + } + return 0 +} + +func (x *WorkAnalysisLikesSeries) GetDetailJSON() string { + if x != nil { + return x.DetailJSON + } + return "" +} + +func (x *WorkAnalysisLikesSeries) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WorkAnalysisLikesSeries) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +// 评论数系列 +type WorkAnalysisCommentsSeries struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + CommentsCount int64 `protobuf:"varint,2,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数总数 + PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 + StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD + EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD + DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] + CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisCommentsSeries) Reset() { + *x = WorkAnalysisCommentsSeries{} + mi := &file_pb_fiee_cast_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisCommentsSeries) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisCommentsSeries) ProtoMessage() {} + +func (x *WorkAnalysisCommentsSeries) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[91] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisCommentsSeries.ProtoReflect.Descriptor instead. +func (*WorkAnalysisCommentsSeries) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{91} +} + +func (x *WorkAnalysisCommentsSeries) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkAnalysisCommentsSeries) GetCommentsCount() int64 { + if x != nil { + return x.CommentsCount + } + return 0 +} + +func (x *WorkAnalysisCommentsSeries) GetPeriodType() uint32 { + if x != nil { + return x.PeriodType + } + return 0 +} + +func (x *WorkAnalysisCommentsSeries) GetStartDate() int32 { + if x != nil { + return x.StartDate + } + return 0 +} + +func (x *WorkAnalysisCommentsSeries) GetEndDate() int32 { + if x != nil { + return x.EndDate + } + return 0 +} + +func (x *WorkAnalysisCommentsSeries) GetDetailJSON() string { + if x != nil { + return x.DetailJSON + } + return "" +} + +func (x *WorkAnalysisCommentsSeries) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WorkAnalysisCommentsSeries) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +// 分享数系列 +type WorkAnalysisSharesSeries struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + SharesCount int64 `protobuf:"varint,2,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数总数 + PeriodType uint32 `protobuf:"varint,3,opt,name=periodType,proto3" json:"periodType"` // 1 日 2 周 3 月 + StartDate int32 `protobuf:"varint,4,opt,name=startDate,proto3" json:"startDate"` // 开始日期YYYYMMDD + EndDate int32 `protobuf:"varint,5,opt,name=endDate,proto3" json:"endDate"` // 结束日期YYYYMMDD + DetailJSON string `protobuf:"bytes,6,opt,name=detailJSON,proto3" json:"detailJSON"` // 时间序列[{date:YYYYMMDD,platform:1,value:int}] + CreatedAt int32 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,8,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisSharesSeries) Reset() { + *x = WorkAnalysisSharesSeries{} + mi := &file_pb_fiee_cast_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisSharesSeries) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisSharesSeries) ProtoMessage() {} + +func (x *WorkAnalysisSharesSeries) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[92] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisSharesSeries.ProtoReflect.Descriptor instead. +func (*WorkAnalysisSharesSeries) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{92} +} + +func (x *WorkAnalysisSharesSeries) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkAnalysisSharesSeries) GetSharesCount() int64 { + if x != nil { + return x.SharesCount + } + return 0 +} + +func (x *WorkAnalysisSharesSeries) GetPeriodType() uint32 { + if x != nil { + return x.PeriodType + } + return 0 +} + +func (x *WorkAnalysisSharesSeries) GetStartDate() int32 { + if x != nil { + return x.StartDate + } + return 0 +} + +func (x *WorkAnalysisSharesSeries) GetEndDate() int32 { + if x != nil { + return x.EndDate + } + return 0 +} + +func (x *WorkAnalysisSharesSeries) GetDetailJSON() string { + if x != nil { + return x.DetailJSON + } + return "" +} + +func (x *WorkAnalysisSharesSeries) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WorkAnalysisSharesSeries) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +// Top城市 +type WorkAnalysisTopCities struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + CitiesJSON string `protobuf:"bytes,2,opt,name=citiesJSON,proto3" json:"citiesJSON"` // [{cityName:string,count:int,rank:int}] + CreatedAt int32 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,4,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisTopCities) Reset() { + *x = WorkAnalysisTopCities{} + mi := &file_pb_fiee_cast_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisTopCities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisTopCities) ProtoMessage() {} + +func (x *WorkAnalysisTopCities) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[93] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisTopCities.ProtoReflect.Descriptor instead. +func (*WorkAnalysisTopCities) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{93} +} + +func (x *WorkAnalysisTopCities) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkAnalysisTopCities) GetCitiesJSON() string { + if x != nil { + return x.CitiesJSON + } + return "" +} + +func (x *WorkAnalysisTopCities) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WorkAnalysisTopCities) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +// 最活跃日 +type WorkAnalysisMostActiveDay struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + DetailJSON string `protobuf:"bytes,2,opt,name=detailJSON,proto3" json:"detailJSON"` // 细节(如当日各项值) + CreatedAt int32 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,4,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisMostActiveDay) Reset() { + *x = WorkAnalysisMostActiveDay{} + mi := &file_pb_fiee_cast_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisMostActiveDay) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisMostActiveDay) ProtoMessage() {} + +func (x *WorkAnalysisMostActiveDay) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[94] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisMostActiveDay.ProtoReflect.Descriptor instead. +func (*WorkAnalysisMostActiveDay) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{94} +} + +func (x *WorkAnalysisMostActiveDay) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkAnalysisMostActiveDay) GetDetailJSON() string { + if x != nil { + return x.DetailJSON + } + return "" +} + +func (x *WorkAnalysisMostActiveDay) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WorkAnalysisMostActiveDay) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +// 最佳发布时间 +type WorkAnalysisBestPostTime struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + DetailJSON string `protobuf:"bytes,2,opt,name=detailJSON,proto3" json:"detailJSON"` // 细节(如最佳发布时间) + CreatedAt int32 `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,4,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisBestPostTime) Reset() { + *x = WorkAnalysisBestPostTime{} + mi := &file_pb_fiee_cast_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisBestPostTime) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisBestPostTime) ProtoMessage() {} + +func (x *WorkAnalysisBestPostTime) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[95] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisBestPostTime.ProtoReflect.Descriptor instead. +func (*WorkAnalysisBestPostTime) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{95} +} + +func (x *WorkAnalysisBestPostTime) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkAnalysisBestPostTime) GetDetailJSON() string { + if x != nil { + return x.DetailJSON + } + return "" +} + +func (x *WorkAnalysisBestPostTime) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WorkAnalysisBestPostTime) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +// 扩展信息 +type WorkAnalysisExtra struct { + state protoimpl.MessageState `protogen:"open.v1"` + AnalysisUuid string `protobuf:"bytes,1,opt,name=analysisUuid,proto3" json:"analysisUuid"` // 数据分析uuid + ArtistConfirmedTime int64 `protobuf:"varint,2,opt,name=artistConfirmedTime,proto3" json:"artistConfirmedTime"` // 艺人确认时间 + CostType uint32 `protobuf:"varint,3,opt,name=costType,proto3" json:"costType"` // 计费类型 1 套餐 2 增值 + CreatedAt int32 `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,5,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisExtra) Reset() { + *x = WorkAnalysisExtra{} + mi := &file_pb_fiee_cast_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisExtra) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisExtra) ProtoMessage() {} + +func (x *WorkAnalysisExtra) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[96] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisExtra.ProtoReflect.Descriptor instead. +func (*WorkAnalysisExtra) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{96} +} + +func (x *WorkAnalysisExtra) GetAnalysisUuid() string { + if x != nil { + return x.AnalysisUuid + } + return "" +} + +func (x *WorkAnalysisExtra) GetArtistConfirmedTime() int64 { + if x != nil { + return x.ArtistConfirmedTime + } + return 0 +} + +func (x *WorkAnalysisExtra) GetCostType() uint32 { + if x != nil { + return x.CostType + } + return 0 +} + +func (x *WorkAnalysisExtra) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WorkAnalysisExtra) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +type GetWorkAnalysisDetailReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkAnalysisDetailReq) Reset() { + *x = GetWorkAnalysisDetailReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkAnalysisDetailReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkAnalysisDetailReq) ProtoMessage() {} + +func (x *GetWorkAnalysisDetailReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[97] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkAnalysisDetailReq.ProtoReflect.Descriptor instead. +func (*GetWorkAnalysisDetailReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{97} +} + +func (x *GetWorkAnalysisDetailReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type GetLatestWorkAnalysisReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + SubNum string `protobuf:"bytes,1,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetLatestWorkAnalysisReq) Reset() { + *x = GetLatestWorkAnalysisReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetLatestWorkAnalysisReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLatestWorkAnalysisReq) ProtoMessage() {} + +func (x *GetLatestWorkAnalysisReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[98] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetLatestWorkAnalysisReq.ProtoReflect.Descriptor instead. +func (*GetLatestWorkAnalysisReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{98} +} + +func (x *GetLatestWorkAnalysisReq) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +type GetWorkAnalysisResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistID string `protobuf:"bytes,4,opt,name=artistID,proto3" json:"artistID"` // 艺人ID + ArtistPhone string `protobuf:"bytes,5,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + Analysis string `protobuf:"bytes,6,opt,name=analysis,proto3" json:"analysis"` // 分析内容 + Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title"` // 标题 + OperatorID string `protobuf:"bytes,8,opt,name=operatorID,proto3" json:"operatorID"` // 操作人ID + OperatorName string `protobuf:"bytes,9,opt,name=operatorName,proto3" json:"operatorName"` // 操作人名称 + WorkAnalysisStatus uint32 `protobuf:"varint,10,opt,name=workAnalysisStatus,proto3" json:"workAnalysisStatus"` // 状态 + Reason string `protobuf:"bytes,11,opt,name=reason,proto3" json:"reason"` // 原因 + ComfirmType int32 `protobuf:"varint,12,opt,name=comfirmType,proto3" json:"comfirmType"` // 确认类型 + Cost uint32 `protobuf:"varint,13,opt,name=cost,proto3" json:"cost"` // 消耗状态 + SubmitTime string `protobuf:"bytes,14,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 + StatusUpdateTime string `protobuf:"bytes,15,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` // 状态更新时间 + ApprovalID string `protobuf:"bytes,16,opt,name=approvalID,proto3" json:"approvalID"` // 审批ID + PdfUrl string `protobuf:"bytes,17,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 + MediaAccountCount int32 `protobuf:"varint,18,opt,name=mediaAccountCount,proto3" json:"mediaAccountCount"` // 当前账号数 + WorkVideoCount int32 `protobuf:"varint,19,opt,name=workVideoCount,proto3" json:"workVideoCount"` // 当前发布视频数 + WorkImageCount int32 `protobuf:"varint,20,opt,name=workImageCount,proto3" json:"workImageCount"` // 当前发布图文数 + Views int32 `protobuf:"varint,21,opt,name=views,proto3" json:"views"` // 是否开启浏览/播放量统计 + Likes int32 `protobuf:"varint,22,opt,name=likes,proto3" json:"likes"` // 是否开启点赞数统计 + Comments int32 `protobuf:"varint,23,opt,name=comments,proto3" json:"comments"` // 是否开启评论数统计 + Shares int32 `protobuf:"varint,24,opt,name=shares,proto3" json:"shares"` // 是否开启分享数统计 + FansCount int32 `protobuf:"varint,25,opt,name=fansCount,proto3" json:"fansCount"` // 是否开启粉丝数统计 + TopCities int32 `protobuf:"varint,26,opt,name=topCities,proto3" json:"topCities"` // 是否开启Top城市统计 + MostActiveDay int32 `protobuf:"varint,27,opt,name=mostActiveDay,proto3" json:"mostActiveDay"` // 是否开启最活跃日统计 + BestPostTime int32 `protobuf:"varint,28,opt,name=bestPostTime,proto3" json:"bestPostTime"` // 是否开启最佳发布时间统计 + CreatedAt string `protobuf:"bytes,29,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + FansSeries *WorkAnalysisFansSeries `protobuf:"bytes,30,opt,name=fansSeries,proto3" json:"fansSeries"` // 粉丝数系列 + ViewsSeries *WorkAnalysisViewsSeries `protobuf:"bytes,31,opt,name=viewsSeries,proto3" json:"viewsSeries"` // 访问量系列 + LikesSeries *WorkAnalysisLikesSeries `protobuf:"bytes,32,opt,name=likesSeries,proto3" json:"likesSeries"` // 点赞数系列 + CommentsSeries *WorkAnalysisCommentsSeries `protobuf:"bytes,33,opt,name=commentsSeries,proto3" json:"commentsSeries"` // 评论数系列 + SharesSeries *WorkAnalysisSharesSeries `protobuf:"bytes,34,opt,name=sharesSeries,proto3" json:"sharesSeries"` // 分享数系列 + TopCitiesSeries *WorkAnalysisTopCities `protobuf:"bytes,35,opt,name=topCitiesSeries,proto3" json:"topCitiesSeries"` // Top城市 + MostActiveDaySeries *WorkAnalysisMostActiveDay `protobuf:"bytes,36,opt,name=mostActiveDaySeries,proto3" json:"mostActiveDaySeries"` // 最活跃日 + BestPostTimeSeries *WorkAnalysisBestPostTime `protobuf:"bytes,37,opt,name=bestPostTimeSeries,proto3" json:"bestPostTimeSeries"` // 最佳发布时间 + UpdatedAt string `protobuf:"bytes,38,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkAnalysisResp) Reset() { + *x = GetWorkAnalysisResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkAnalysisResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkAnalysisResp) ProtoMessage() {} + +func (x *GetWorkAnalysisResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[99] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkAnalysisResp.ProtoReflect.Descriptor instead. +func (*GetWorkAnalysisResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{99} +} + +func (x *GetWorkAnalysisResp) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *GetWorkAnalysisResp) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *GetWorkAnalysisResp) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *GetWorkAnalysisResp) GetArtistID() string { + if x != nil { + return x.ArtistID + } + return "" +} + +func (x *GetWorkAnalysisResp) GetArtistPhone() string { + if x != nil { + return x.ArtistPhone + } + return "" +} + +func (x *GetWorkAnalysisResp) GetAnalysis() string { + if x != nil { + return x.Analysis + } + return "" +} + +func (x *GetWorkAnalysisResp) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetWorkAnalysisResp) GetOperatorID() string { + if x != nil { + return x.OperatorID + } + return "" +} + +func (x *GetWorkAnalysisResp) GetOperatorName() string { + if x != nil { + return x.OperatorName + } + return "" +} + +func (x *GetWorkAnalysisResp) GetWorkAnalysisStatus() uint32 { + if x != nil { + return x.WorkAnalysisStatus + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *GetWorkAnalysisResp) GetComfirmType() int32 { + if x != nil { + return x.ComfirmType + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetCost() uint32 { + if x != nil { + return x.Cost + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetSubmitTime() string { + if x != nil { + return x.SubmitTime + } + return "" +} + +func (x *GetWorkAnalysisResp) GetStatusUpdateTime() string { + if x != nil { + return x.StatusUpdateTime + } + return "" +} + +func (x *GetWorkAnalysisResp) GetApprovalID() string { + if x != nil { + return x.ApprovalID + } + return "" +} + +func (x *GetWorkAnalysisResp) GetPdfUrl() string { + if x != nil { + return x.PdfUrl + } + return "" +} + +func (x *GetWorkAnalysisResp) GetMediaAccountCount() int32 { + if x != nil { + return x.MediaAccountCount + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetWorkVideoCount() int32 { + if x != nil { + return x.WorkVideoCount + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetWorkImageCount() int32 { + if x != nil { + return x.WorkImageCount + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetViews() int32 { + if x != nil { + return x.Views + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetLikes() int32 { + if x != nil { + return x.Likes + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetComments() int32 { + if x != nil { + return x.Comments + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetShares() int32 { + if x != nil { + return x.Shares + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetFansCount() int32 { + if x != nil { + return x.FansCount + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetTopCities() int32 { + if x != nil { + return x.TopCities + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetMostActiveDay() int32 { + if x != nil { + return x.MostActiveDay + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetBestPostTime() int32 { + if x != nil { + return x.BestPostTime + } + return 0 +} + +func (x *GetWorkAnalysisResp) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *GetWorkAnalysisResp) GetFansSeries() *WorkAnalysisFansSeries { + if x != nil { + return x.FansSeries + } + return nil +} + +func (x *GetWorkAnalysisResp) GetViewsSeries() *WorkAnalysisViewsSeries { + if x != nil { + return x.ViewsSeries + } + return nil +} + +func (x *GetWorkAnalysisResp) GetLikesSeries() *WorkAnalysisLikesSeries { + if x != nil { + return x.LikesSeries + } + return nil +} + +func (x *GetWorkAnalysisResp) GetCommentsSeries() *WorkAnalysisCommentsSeries { + if x != nil { + return x.CommentsSeries + } + return nil +} + +func (x *GetWorkAnalysisResp) GetSharesSeries() *WorkAnalysisSharesSeries { + if x != nil { + return x.SharesSeries + } + return nil +} + +func (x *GetWorkAnalysisResp) GetTopCitiesSeries() *WorkAnalysisTopCities { + if x != nil { + return x.TopCitiesSeries + } + return nil +} + +func (x *GetWorkAnalysisResp) GetMostActiveDaySeries() *WorkAnalysisMostActiveDay { + if x != nil { + return x.MostActiveDaySeries + } + return nil +} + +func (x *GetWorkAnalysisResp) GetBestPostTimeSeries() *WorkAnalysisBestPostTime { + if x != nil { + return x.BestPostTimeSeries + } + return nil +} + +func (x *GetWorkAnalysisResp) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +type GetWorkAnalysisDetailResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistID string `protobuf:"bytes,4,opt,name=artistID,proto3" json:"artistID"` // 艺人ID + ArtistPhone string `protobuf:"bytes,5,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + Analysis string `protobuf:"bytes,6,opt,name=analysis,proto3" json:"analysis"` // 分析内容 + Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title"` // 标题 + OperatorID string `protobuf:"bytes,8,opt,name=operatorID,proto3" json:"operatorID"` // 操作人ID + OperatorName string `protobuf:"bytes,9,opt,name=operatorName,proto3" json:"operatorName"` // 操作人名称 + WorkAnalysisStatus uint32 `protobuf:"varint,10,opt,name=workAnalysisStatus,proto3" json:"workAnalysisStatus"` // 状态 + Reason string `protobuf:"bytes,11,opt,name=reason,proto3" json:"reason"` // 原因 + ComfirmType int32 `protobuf:"varint,12,opt,name=comfirmType,proto3" json:"comfirmType"` // 确认类型 + Cost uint32 `protobuf:"varint,13,opt,name=cost,proto3" json:"cost"` // 消耗状态 + SubmitTime string `protobuf:"bytes,14,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 + StatusUpdateTime string `protobuf:"bytes,15,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` // 状态更新时间 + ApprovalID string `protobuf:"bytes,16,opt,name=approvalID,proto3" json:"approvalID"` // 审批ID + PdfUrl string `protobuf:"bytes,17,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 + MediaAccountCount int32 `protobuf:"varint,18,opt,name=mediaAccountCount,proto3" json:"mediaAccountCount"` // 当前账号数 + WorkVideoCount int32 `protobuf:"varint,19,opt,name=workVideoCount,proto3" json:"workVideoCount"` // 当前发布视频数 + WorkImageCount int32 `protobuf:"varint,20,opt,name=workImageCount,proto3" json:"workImageCount"` // 当前发布图文数 + Views int32 `protobuf:"varint,21,opt,name=views,proto3" json:"views"` // 是否开启浏览/播放量统计 + Likes int32 `protobuf:"varint,22,opt,name=likes,proto3" json:"likes"` // 是否开启点赞数统计 + Comments int32 `protobuf:"varint,23,opt,name=comments,proto3" json:"comments"` // 是否开启评论数统计 + Shares int32 `protobuf:"varint,24,opt,name=shares,proto3" json:"shares"` // 是否开启分享数统计 + FansCount int32 `protobuf:"varint,25,opt,name=fansCount,proto3" json:"fansCount"` // 是否开启粉丝数统计 + TopCities int32 `protobuf:"varint,26,opt,name=topCities,proto3" json:"topCities"` // 是否开启Top城市统计 + MostActiveDay int32 `protobuf:"varint,27,opt,name=mostActiveDay,proto3" json:"mostActiveDay"` // 是否开启最活跃日统计 + BestPostTime int32 `protobuf:"varint,28,opt,name=bestPostTime,proto3" json:"bestPostTime"` // 是否开启最佳发布时间统计 + WorkAnalysisLogData []*WorkAnalysisLogInfo `protobuf:"bytes,29,rep,name=WorkAnalysisLogData,proto3" json:"WorkAnalysisLogData"` // 作品分析日志数据 + FansSeries *WorkAnalysisFansSeries `protobuf:"bytes,30,opt,name=fansSeries,proto3" json:"fansSeries"` // 粉丝数系列 + ViewsSeries *WorkAnalysisViewsSeries `protobuf:"bytes,31,opt,name=viewsSeries,proto3" json:"viewsSeries"` // 访问量系列 + LikesSeries *WorkAnalysisLikesSeries `protobuf:"bytes,32,opt,name=likesSeries,proto3" json:"likesSeries"` // 点赞数系列 + CommentsSeries *WorkAnalysisCommentsSeries `protobuf:"bytes,33,opt,name=commentsSeries,proto3" json:"commentsSeries"` // 评论数系列 + SharesSeries *WorkAnalysisSharesSeries `protobuf:"bytes,34,opt,name=sharesSeries,proto3" json:"sharesSeries"` // 分享数系列 + TopCitiesSeries *WorkAnalysisTopCities `protobuf:"bytes,35,opt,name=topCitiesSeries,proto3" json:"topCitiesSeries"` // Top城市 + MostActiveDaySeries *WorkAnalysisMostActiveDay `protobuf:"bytes,36,opt,name=mostActiveDaySeries,proto3" json:"mostActiveDaySeries"` // 最活跃日 + BestPostTimeSeries *WorkAnalysisBestPostTime `protobuf:"bytes,37,opt,name=bestPostTimeSeries,proto3" json:"bestPostTimeSeries"` // 最佳发布时间 + Extra *WorkAnalysisExtra `protobuf:"bytes,38,opt,name=extra,proto3" json:"extra"` // 扩展信息 + CreatedAt string `protobuf:"bytes,39,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt string `protobuf:"bytes,40,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkAnalysisDetailResp) Reset() { + *x = GetWorkAnalysisDetailResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkAnalysisDetailResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkAnalysisDetailResp) ProtoMessage() {} + +func (x *GetWorkAnalysisDetailResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[100] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkAnalysisDetailResp.ProtoReflect.Descriptor instead. +func (*GetWorkAnalysisDetailResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{100} +} + +func (x *GetWorkAnalysisDetailResp) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetArtistID() string { + if x != nil { + return x.ArtistID + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetArtistPhone() string { + if x != nil { + return x.ArtistPhone + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetAnalysis() string { + if x != nil { + return x.Analysis + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetOperatorID() string { + if x != nil { + return x.OperatorID + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetOperatorName() string { + if x != nil { + return x.OperatorName + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetWorkAnalysisStatus() uint32 { + if x != nil { + return x.WorkAnalysisStatus + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetComfirmType() int32 { + if x != nil { + return x.ComfirmType + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetCost() uint32 { + if x != nil { + return x.Cost + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetSubmitTime() string { + if x != nil { + return x.SubmitTime + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetStatusUpdateTime() string { + if x != nil { + return x.StatusUpdateTime + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetApprovalID() string { + if x != nil { + return x.ApprovalID + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetPdfUrl() string { + if x != nil { + return x.PdfUrl + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetMediaAccountCount() int32 { + if x != nil { + return x.MediaAccountCount + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetWorkVideoCount() int32 { + if x != nil { + return x.WorkVideoCount + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetWorkImageCount() int32 { + if x != nil { + return x.WorkImageCount + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetViews() int32 { + if x != nil { + return x.Views + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetLikes() int32 { + if x != nil { + return x.Likes + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetComments() int32 { + if x != nil { + return x.Comments + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetShares() int32 { + if x != nil { + return x.Shares + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetFansCount() int32 { + if x != nil { + return x.FansCount + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetTopCities() int32 { + if x != nil { + return x.TopCities + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetMostActiveDay() int32 { + if x != nil { + return x.MostActiveDay + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetBestPostTime() int32 { + if x != nil { + return x.BestPostTime + } + return 0 +} + +func (x *GetWorkAnalysisDetailResp) GetWorkAnalysisLogData() []*WorkAnalysisLogInfo { + if x != nil { + return x.WorkAnalysisLogData + } + return nil +} + +func (x *GetWorkAnalysisDetailResp) GetFansSeries() *WorkAnalysisFansSeries { + if x != nil { + return x.FansSeries + } + return nil +} + +func (x *GetWorkAnalysisDetailResp) GetViewsSeries() *WorkAnalysisViewsSeries { + if x != nil { + return x.ViewsSeries + } + return nil +} + +func (x *GetWorkAnalysisDetailResp) GetLikesSeries() *WorkAnalysisLikesSeries { + if x != nil { + return x.LikesSeries + } + return nil +} + +func (x *GetWorkAnalysisDetailResp) GetCommentsSeries() *WorkAnalysisCommentsSeries { + if x != nil { + return x.CommentsSeries + } + return nil +} + +func (x *GetWorkAnalysisDetailResp) GetSharesSeries() *WorkAnalysisSharesSeries { + if x != nil { + return x.SharesSeries + } + return nil +} + +func (x *GetWorkAnalysisDetailResp) GetTopCitiesSeries() *WorkAnalysisTopCities { + if x != nil { + return x.TopCitiesSeries + } + return nil +} + +func (x *GetWorkAnalysisDetailResp) GetMostActiveDaySeries() *WorkAnalysisMostActiveDay { + if x != nil { + return x.MostActiveDaySeries + } + return nil +} + +func (x *GetWorkAnalysisDetailResp) GetBestPostTimeSeries() *WorkAnalysisBestPostTime { + if x != nil { + return x.BestPostTimeSeries + } + return nil +} + +func (x *GetWorkAnalysisDetailResp) GetExtra() *WorkAnalysisExtra { + if x != nil { + return x.Extra + } + return nil +} + +func (x *GetWorkAnalysisDetailResp) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *GetWorkAnalysisDetailResp) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +type ListWorkAnalysisReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + UuidList []string `protobuf:"bytes,1,rep,name=uuidList,proto3" json:"uuidList"` // UUID列表 + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistVal string `protobuf:"bytes,3,opt,name=artistVal,proto3" json:"artistVal"` // 艺人搜索值 + Status uint32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` // 状态 + ComfirmType int32 `protobuf:"varint,5,opt,name=comfirmType,proto3" json:"comfirmType"` // 确认类型 + StatusUpdateTimeStart string `protobuf:"bytes,6,opt,name=statusUpdateTimeStart,proto3" json:"statusUpdateTimeStart"` // 状态更新时间开始 + StatusUpdateTimeEnd string `protobuf:"bytes,7,opt,name=statusUpdateTimeEnd,proto3" json:"statusUpdateTimeEnd"` // 状态更新时间结束 + SubmitStartTime string `protobuf:"bytes,8,opt,name=submitStartTime,proto3" json:"submitStartTime"` // 提交时间开始 + SubmitEndTime string `protobuf:"bytes,9,opt,name=submitEndTime,proto3" json:"submitEndTime"` // 提交时间结束 + Page int32 `protobuf:"varint,10,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,11,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + StatusList []uint32 `protobuf:"varint,12,rep,packed,name=statusList,proto3" json:"statusList"` // 状态列表 + ArtistUuid string `protobuf:"bytes,13,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkAnalysisReq) Reset() { + *x = ListWorkAnalysisReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkAnalysisReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkAnalysisReq) ProtoMessage() {} + +func (x *ListWorkAnalysisReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[101] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkAnalysisReq.ProtoReflect.Descriptor instead. +func (*ListWorkAnalysisReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{101} +} + +func (x *ListWorkAnalysisReq) GetUuidList() []string { + if x != nil { + return x.UuidList + } + return nil +} + +func (x *ListWorkAnalysisReq) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *ListWorkAnalysisReq) GetArtistVal() string { + if x != nil { + return x.ArtistVal + } + return "" +} + +func (x *ListWorkAnalysisReq) GetStatus() uint32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *ListWorkAnalysisReq) GetComfirmType() int32 { + if x != nil { + return x.ComfirmType + } + return 0 +} + +func (x *ListWorkAnalysisReq) GetStatusUpdateTimeStart() string { + if x != nil { + return x.StatusUpdateTimeStart + } + return "" +} + +func (x *ListWorkAnalysisReq) GetStatusUpdateTimeEnd() string { + if x != nil { + return x.StatusUpdateTimeEnd + } + return "" +} + +func (x *ListWorkAnalysisReq) GetSubmitStartTime() string { + if x != nil { + return x.SubmitStartTime + } + return "" +} + +func (x *ListWorkAnalysisReq) GetSubmitEndTime() string { + if x != nil { + return x.SubmitEndTime + } + return "" +} + +func (x *ListWorkAnalysisReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListWorkAnalysisReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListWorkAnalysisReq) GetStatusList() []uint32 { + if x != nil { + return x.StatusList + } + return nil +} + +func (x *ListWorkAnalysisReq) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +type WorkAnalysisInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistName string `protobuf:"bytes,3,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistID string `protobuf:"bytes,4,opt,name=artistID,proto3" json:"artistID"` // 艺人ID + ArtistPhone string `protobuf:"bytes,5,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + OperatorID string `protobuf:"bytes,6,opt,name=operatorID,proto3" json:"operatorID"` // 操作人ID + OperatorName string `protobuf:"bytes,7,opt,name=operatorName,proto3" json:"operatorName"` // 操作人名称 + WorkAnalysisStatus uint32 `protobuf:"varint,8,opt,name=workAnalysisStatus,proto3" json:"workAnalysisStatus"` // 状态 + Reason string `protobuf:"bytes,9,opt,name=reason,proto3" json:"reason"` // 原因 + ComfirmType int32 `protobuf:"varint,10,opt,name=comfirmType,proto3" json:"comfirmType"` // 确认类型 + SubmitTime string `protobuf:"bytes,11,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 + StatusUpdateTime string `protobuf:"bytes,12,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` // 状态更新时间 + PdfUrl string `protobuf:"bytes,13,opt,name=pdfUrl,proto3" json:"pdfUrl"` // pdf的url链接 + ApprovalID string `protobuf:"bytes,14,opt,name=approvalID,proto3" json:"approvalID"` // 审批ID + Title string `protobuf:"bytes,15,opt,name=title,proto3" json:"title"` // 标题 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkAnalysisInfo) Reset() { + *x = WorkAnalysisInfo{} + mi := &file_pb_fiee_cast_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkAnalysisInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkAnalysisInfo) ProtoMessage() {} + +func (x *WorkAnalysisInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[102] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkAnalysisInfo.ProtoReflect.Descriptor instead. +func (*WorkAnalysisInfo) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{102} +} + +func (x *WorkAnalysisInfo) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkAnalysisInfo) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *WorkAnalysisInfo) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *WorkAnalysisInfo) GetArtistID() string { + if x != nil { + return x.ArtistID + } + return "" +} + +func (x *WorkAnalysisInfo) GetArtistPhone() string { + if x != nil { + return x.ArtistPhone + } + return "" +} + +func (x *WorkAnalysisInfo) GetOperatorID() string { + if x != nil { + return x.OperatorID + } + return "" +} + +func (x *WorkAnalysisInfo) GetOperatorName() string { + if x != nil { + return x.OperatorName + } + return "" +} + +func (x *WorkAnalysisInfo) GetWorkAnalysisStatus() uint32 { + if x != nil { + return x.WorkAnalysisStatus + } + return 0 +} + +func (x *WorkAnalysisInfo) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *WorkAnalysisInfo) GetComfirmType() int32 { + if x != nil { + return x.ComfirmType + } + return 0 +} + +func (x *WorkAnalysisInfo) GetSubmitTime() string { + if x != nil { + return x.SubmitTime + } + return "" +} + +func (x *WorkAnalysisInfo) GetStatusUpdateTime() string { + if x != nil { + return x.StatusUpdateTime + } + return "" +} + +func (x *WorkAnalysisInfo) GetPdfUrl() string { + if x != nil { + return x.PdfUrl + } + return "" +} + +func (x *WorkAnalysisInfo) GetApprovalID() string { + if x != nil { + return x.ApprovalID + } + return "" +} + +func (x *WorkAnalysisInfo) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +type ListWorkAnalysisResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []*WorkAnalysisInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 作品分析列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkAnalysisResp) Reset() { + *x = ListWorkAnalysisResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkAnalysisResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkAnalysisResp) ProtoMessage() {} + +func (x *ListWorkAnalysisResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[103] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkAnalysisResp.ProtoReflect.Descriptor instead. +func (*ListWorkAnalysisResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{103} +} + +func (x *ListWorkAnalysisResp) GetData() []*WorkAnalysisInfo { + if x != nil { + return x.Data + } + return nil +} + +func (x *ListWorkAnalysisResp) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +type DeleteWorkAnalysisReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 分析UUID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkAnalysisReq) Reset() { + *x = DeleteWorkAnalysisReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkAnalysisReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkAnalysisReq) ProtoMessage() {} + +func (x *DeleteWorkAnalysisReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[104] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkAnalysisReq.ProtoReflect.Descriptor instead. +func (*DeleteWorkAnalysisReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{104} +} + +func (x *DeleteWorkAnalysisReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +// 艺人数据列表请求 +type ArtistDataListReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` // 艺人搜索值 + BundleName string `protobuf:"bytes,2,opt,name=bundleName,proto3" json:"bundleName"` // 套餐名称 + ExpiredTimeStart string `protobuf:"bytes,3,opt,name=expiredTimeStart,proto3" json:"expiredTimeStart"` // 过期时间开始 + ExpiredTimeEnd string `protobuf:"bytes,4,opt,name=expiredTimeEnd,proto3" json:"expiredTimeEnd"` // 过期时间结束 + SubmitTimeStart string `protobuf:"bytes,5,opt,name=submitTimeStart,proto3" json:"submitTimeStart"` // 提交时间开始 + SubmitTimeEnd string `protobuf:"bytes,6,opt,name=submitTimeEnd,proto3" json:"submitTimeEnd"` // 提交时间结束 + Page int32 `protobuf:"varint,7,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,8,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ArtistDataListReq) Reset() { + *x = ArtistDataListReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArtistDataListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistDataListReq) ProtoMessage() {} + +func (x *ArtistDataListReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[105] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistDataListReq.ProtoReflect.Descriptor instead. +func (*ArtistDataListReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{105} +} + +func (x *ArtistDataListReq) GetArtistVal() string { + if x != nil { + return x.ArtistVal + } + return "" +} + +func (x *ArtistDataListReq) GetBundleName() string { + if x != nil { + return x.BundleName + } + return "" +} + +func (x *ArtistDataListReq) GetExpiredTimeStart() string { + if x != nil { + return x.ExpiredTimeStart + } + return "" +} + +func (x *ArtistDataListReq) GetExpiredTimeEnd() string { + if x != nil { + return x.ExpiredTimeEnd + } + return "" +} + +func (x *ArtistDataListReq) GetSubmitTimeStart() string { + if x != nil { + return x.SubmitTimeStart + } + return "" +} + +func (x *ArtistDataListReq) GetSubmitTimeEnd() string { + if x != nil { + return x.SubmitTimeEnd + } + return "" +} + +func (x *ArtistDataListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ArtistDataListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +// 艺人数据列表响应项 +type ArtistDataRespItem struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistUuid string `protobuf:"bytes,2,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + SubNum string `protobuf:"bytes,3,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + BundleName string `protobuf:"bytes,5,opt,name=bundleName,proto3" json:"bundleName"` // 套餐名称 + AccountNumber int32 `protobuf:"varint,6,opt,name=accountNumber,proto3" json:"accountNumber"` // 账号总数 + AccountConsumptionNumber int32 `protobuf:"varint,7,opt,name=accountConsumptionNumber,proto3" json:"accountConsumptionNumber"` // 账号使用数 + DataAnalysisNumber int32 `protobuf:"varint,8,opt,name=dataAnalysisNumber,proto3" json:"dataAnalysisNumber"` // 数据分析总数 + DataAnalysisConsumptionNumber int32 `protobuf:"varint,9,opt,name=dataAnalysisConsumptionNumber,proto3" json:"dataAnalysisConsumptionNumber"` // 数据分析使用数 + SubmitTime string `protobuf:"bytes,10,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 + FansCount int64 `protobuf:"varint,11,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数 + ViewsCount int64 `protobuf:"varint,12,opt,name=viewsCount,proto3" json:"viewsCount"` // 浏览/播放数 + LikesCount int64 `protobuf:"varint,13,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 + CommentsCount int64 `protobuf:"varint,14,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 + SharesCount int64 `protobuf:"varint,15,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 + CastWorkCount int64 `protobuf:"varint,16,opt,name=castWorkCount,proto3" json:"castWorkCount"` // 作品数(视频+图片) + ExpiredTime string `protobuf:"bytes,17,opt,name=expiredTime,proto3" json:"expiredTime"` // 过期时间 + VideoCount int64 `protobuf:"varint,18,opt,name=videoCount,proto3" json:"videoCount"` // 视频数 + ImageCount int64 `protobuf:"varint,19,opt,name=imageCount,proto3" json:"imageCount"` // 图文数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ArtistDataRespItem) Reset() { + *x = ArtistDataRespItem{} + mi := &file_pb_fiee_cast_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArtistDataRespItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistDataRespItem) ProtoMessage() {} + +func (x *ArtistDataRespItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[106] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistDataRespItem.ProtoReflect.Descriptor instead. +func (*ArtistDataRespItem) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{106} +} + +func (x *ArtistDataRespItem) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *ArtistDataRespItem) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *ArtistDataRespItem) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *ArtistDataRespItem) GetArtistPhone() string { + if x != nil { + return x.ArtistPhone + } + return "" +} + +func (x *ArtistDataRespItem) GetBundleName() string { + if x != nil { + return x.BundleName + } + return "" +} + +func (x *ArtistDataRespItem) GetAccountNumber() int32 { + if x != nil { + return x.AccountNumber + } + return 0 +} + +func (x *ArtistDataRespItem) GetAccountConsumptionNumber() int32 { + if x != nil { + return x.AccountConsumptionNumber + } + return 0 +} + +func (x *ArtistDataRespItem) GetDataAnalysisNumber() int32 { + if x != nil { + return x.DataAnalysisNumber + } + return 0 +} + +func (x *ArtistDataRespItem) GetDataAnalysisConsumptionNumber() int32 { + if x != nil { + return x.DataAnalysisConsumptionNumber + } + return 0 +} + +func (x *ArtistDataRespItem) GetSubmitTime() string { + if x != nil { + return x.SubmitTime + } + return "" +} + +func (x *ArtistDataRespItem) GetFansCount() int64 { + if x != nil { + return x.FansCount + } + return 0 +} + +func (x *ArtistDataRespItem) GetViewsCount() int64 { + if x != nil { + return x.ViewsCount + } + return 0 +} + +func (x *ArtistDataRespItem) GetLikesCount() int64 { + if x != nil { + return x.LikesCount + } + return 0 +} + +func (x *ArtistDataRespItem) GetCommentsCount() int64 { + if x != nil { + return x.CommentsCount + } + return 0 +} + +func (x *ArtistDataRespItem) GetSharesCount() int64 { + if x != nil { + return x.SharesCount + } + return 0 +} + +func (x *ArtistDataRespItem) GetCastWorkCount() int64 { + if x != nil { + return x.CastWorkCount + } + return 0 +} + +func (x *ArtistDataRespItem) GetExpiredTime() string { + if x != nil { + return x.ExpiredTime + } + return "" +} + +func (x *ArtistDataRespItem) GetVideoCount() int64 { + if x != nil { + return x.VideoCount + } + return 0 +} + +func (x *ArtistDataRespItem) GetImageCount() int64 { + if x != nil { + return x.ImageCount + } + return 0 +} + +// 艺人数据列表响应 +type ArtistDataListResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []*ArtistDataRespItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 艺人数据列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ArtistDataListResp) Reset() { + *x = ArtistDataListResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArtistDataListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistDataListResp) ProtoMessage() {} + +func (x *ArtistDataListResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[107] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistDataListResp.ProtoReflect.Descriptor instead. +func (*ArtistDataListResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{107} +} + +func (x *ArtistDataListResp) GetData() []*ArtistDataRespItem { + if x != nil { + return x.Data + } + return nil +} + +func (x *ArtistDataListResp) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +// 自媒体数据列表请求 +type MediaDataListReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistVal string `protobuf:"bytes,1,opt,name=artistVal,proto3" json:"artistVal"` // 艺人搜索值 + PlatformUserName string `protobuf:"bytes,2,opt,name=platformUserName,proto3" json:"platformUserName"` // 平台用户名 + PlatformID uint32 `protobuf:"varint,3,opt,name=platformID,proto3" json:"platformID"` // 平台ID + Page int32 `protobuf:"varint,4,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,5,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MediaDataListReq) Reset() { + *x = MediaDataListReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MediaDataListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MediaDataListReq) ProtoMessage() {} + +func (x *MediaDataListReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[108] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MediaDataListReq.ProtoReflect.Descriptor instead. +func (*MediaDataListReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{108} +} + +func (x *MediaDataListReq) GetArtistVal() string { + if x != nil { + return x.ArtistVal + } + return "" +} + +func (x *MediaDataListReq) GetPlatformUserName() string { + if x != nil { + return x.PlatformUserName + } + return "" +} + +func (x *MediaDataListReq) GetPlatformID() uint32 { + if x != nil { + return x.PlatformID + } + return 0 +} + +func (x *MediaDataListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *MediaDataListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +// 自媒体数据列表响应项 +type MediaDataListItem struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistName string `protobuf:"bytes,1,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistUuid string `protobuf:"bytes,2,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + SubNum string `protobuf:"bytes,3,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + ArtistPhone string `protobuf:"bytes,4,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + PlatformUserName string `protobuf:"bytes,5,opt,name=platformUserName,proto3" json:"platformUserName"` // 平台用户名 + PlatformID uint32 `protobuf:"varint,6,opt,name=platformID,proto3" json:"platformID"` // 平台ID + SubmitTime string `protobuf:"bytes,7,opt,name=submitTime,proto3" json:"submitTime"` // 提交时间 + FansCount int64 `protobuf:"varint,8,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数 + ViewsCount int64 `protobuf:"varint,9,opt,name=viewsCount,proto3" json:"viewsCount"` // 浏览/播放数 + LikesCount int64 `protobuf:"varint,10,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 + CommentsCount int64 `protobuf:"varint,11,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 + SharesCount int64 `protobuf:"varint,12,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 + CastWorkCount int64 `protobuf:"varint,13,opt,name=castWorkCount,proto3" json:"castWorkCount"` // 作品数(视频+图片) + VideoCount int64 `protobuf:"varint,14,opt,name=videoCount,proto3" json:"videoCount"` // 视频数 + ImageCount int64 `protobuf:"varint,15,opt,name=imageCount,proto3" json:"imageCount"` // 图文数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MediaDataListItem) Reset() { + *x = MediaDataListItem{} + mi := &file_pb_fiee_cast_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MediaDataListItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MediaDataListItem) ProtoMessage() {} + +func (x *MediaDataListItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[109] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MediaDataListItem.ProtoReflect.Descriptor instead. +func (*MediaDataListItem) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{109} +} + +func (x *MediaDataListItem) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *MediaDataListItem) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *MediaDataListItem) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *MediaDataListItem) GetArtistPhone() string { + if x != nil { + return x.ArtistPhone + } + return "" +} + +func (x *MediaDataListItem) GetPlatformUserName() string { + if x != nil { + return x.PlatformUserName + } + return "" +} + +func (x *MediaDataListItem) GetPlatformID() uint32 { + if x != nil { + return x.PlatformID + } + return 0 +} + +func (x *MediaDataListItem) GetSubmitTime() string { + if x != nil { + return x.SubmitTime + } + return "" +} + +func (x *MediaDataListItem) GetFansCount() int64 { + if x != nil { + return x.FansCount + } + return 0 +} + +func (x *MediaDataListItem) GetViewsCount() int64 { + if x != nil { + return x.ViewsCount + } + return 0 +} + +func (x *MediaDataListItem) GetLikesCount() int64 { + if x != nil { + return x.LikesCount + } + return 0 +} + +func (x *MediaDataListItem) GetCommentsCount() int64 { + if x != nil { + return x.CommentsCount + } + return 0 +} + +func (x *MediaDataListItem) GetSharesCount() int64 { + if x != nil { + return x.SharesCount + } + return 0 +} + +func (x *MediaDataListItem) GetCastWorkCount() int64 { + if x != nil { + return x.CastWorkCount + } + return 0 +} + +func (x *MediaDataListItem) GetVideoCount() int64 { + if x != nil { + return x.VideoCount + } + return 0 +} + +func (x *MediaDataListItem) GetImageCount() int64 { + if x != nil { + return x.ImageCount + } + return 0 +} + +// 自媒体数据列表响应 +type MediaDataListResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []*MediaDataListItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 自媒体数据列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MediaDataListResp) Reset() { + *x = MediaDataListResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MediaDataListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MediaDataListResp) ProtoMessage() {} + +func (x *MediaDataListResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[110] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MediaDataListResp.ProtoReflect.Descriptor instead. +func (*MediaDataListResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{110} +} + +func (x *MediaDataListResp) GetData() []*MediaDataListItem { + if x != nil { + return x.Data + } + return nil +} + +func (x *MediaDataListResp) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +// 数据概览请求 +type DataOverviewReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Date string `protobuf:"bytes,1,opt,name=date,proto3" json:"date"` // 日期,格式:YYYY-MM-DD,如:2025-12-08 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DataOverviewReq) Reset() { + *x = DataOverviewReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataOverviewReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataOverviewReq) ProtoMessage() {} + +func (x *DataOverviewReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[111] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataOverviewReq.ProtoReflect.Descriptor instead. +func (*DataOverviewReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{111} +} + +func (x *DataOverviewReq) GetDate() string { + if x != nil { + return x.Date + } + return "" +} + +// 数据概览响应 +type DataOverviewResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountCount int64 `protobuf:"varint,1,opt,name=accountCount,proto3" json:"accountCount"` // 账号总数 + TodayAccountCount int64 `protobuf:"varint,2,opt,name=todayAccountCount,proto3" json:"todayAccountCount"` // 今日新增账号数 + FansCount int64 `protobuf:"varint,3,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝总数 + TodayFansCount int64 `protobuf:"varint,4,opt,name=todayFansCount,proto3" json:"todayFansCount"` // 今日新增粉丝数 + ViewsCount int64 `protobuf:"varint,5,opt,name=viewsCount,proto3" json:"viewsCount"` // 播放量总数 + TodayViewsCount int64 `protobuf:"varint,6,opt,name=todayViewsCount,proto3" json:"todayViewsCount"` // 今日新增播放量数 + LikesCount int64 `protobuf:"varint,7,opt,name=likesCount,proto3" json:"likesCount"` // 点赞总数 + TodayLikesCount int64 `protobuf:"varint,8,opt,name=todayLikesCount,proto3" json:"todayLikesCount"` // 今日新增点赞数 + CommentsCount int64 `protobuf:"varint,9,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论总数 + TodayCommentsCount int64 `protobuf:"varint,10,opt,name=todayCommentsCount,proto3" json:"todayCommentsCount"` // 今日新增评论数 + SharesCount int64 `protobuf:"varint,11,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享总数 + TodaySharesCount int64 `protobuf:"varint,12,opt,name=todaySharesCount,proto3" json:"todaySharesCount"` // 今日分享总数 + ImageCount int64 `protobuf:"varint,13,opt,name=imageCount,proto3" json:"imageCount"` // 图文总数 + TodayImageCount int64 `protobuf:"varint,14,opt,name=todayImageCount,proto3" json:"todayImageCount"` // 今日新增图文数 + VideoCount int64 `protobuf:"varint,15,opt,name=videoCount,proto3" json:"videoCount"` // 视频总数 + TodayVideoCount int64 `protobuf:"varint,16,opt,name=todayVideoCount,proto3" json:"todayVideoCount"` // 今日新增视频数 + ConfirmDataCount int64 `protobuf:"varint,17,opt,name=confirmDataCount,proto3" json:"confirmDataCount"` // 已确认数据总数 + TodayConfirmDataCount int64 `protobuf:"varint,18,opt,name=todayConfirmDataCount,proto3" json:"todayConfirmDataCount"` // 今日新增确认数据总数 + ToBeConfirmedDataCount int64 `protobuf:"varint,19,opt,name=toBeConfirmedDataCount,proto3" json:"toBeConfirmedDataCount"` // 待确认数据总数 + ApprovingDataCount int64 `protobuf:"varint,20,opt,name=approvingDataCount,proto3" json:"approvingDataCount"` // 审批中数据总数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DataOverviewResp) Reset() { + *x = DataOverviewResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataOverviewResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataOverviewResp) ProtoMessage() {} + +func (x *DataOverviewResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[112] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataOverviewResp.ProtoReflect.Descriptor instead. +func (*DataOverviewResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{112} +} + +func (x *DataOverviewResp) GetAccountCount() int64 { + if x != nil { + return x.AccountCount + } + return 0 +} + +func (x *DataOverviewResp) GetTodayAccountCount() int64 { + if x != nil { + return x.TodayAccountCount + } + return 0 +} + +func (x *DataOverviewResp) GetFansCount() int64 { + if x != nil { + return x.FansCount + } + return 0 +} + +func (x *DataOverviewResp) GetTodayFansCount() int64 { + if x != nil { + return x.TodayFansCount + } + return 0 +} + +func (x *DataOverviewResp) GetViewsCount() int64 { + if x != nil { + return x.ViewsCount + } + return 0 +} + +func (x *DataOverviewResp) GetTodayViewsCount() int64 { + if x != nil { + return x.TodayViewsCount + } + return 0 +} + +func (x *DataOverviewResp) GetLikesCount() int64 { + if x != nil { + return x.LikesCount + } + return 0 +} + +func (x *DataOverviewResp) GetTodayLikesCount() int64 { + if x != nil { + return x.TodayLikesCount + } + return 0 +} + +func (x *DataOverviewResp) GetCommentsCount() int64 { + if x != nil { + return x.CommentsCount + } + return 0 +} + +func (x *DataOverviewResp) GetTodayCommentsCount() int64 { + if x != nil { + return x.TodayCommentsCount + } + return 0 +} + +func (x *DataOverviewResp) GetSharesCount() int64 { + if x != nil { + return x.SharesCount + } + return 0 +} + +func (x *DataOverviewResp) GetTodaySharesCount() int64 { + if x != nil { + return x.TodaySharesCount + } + return 0 +} + +func (x *DataOverviewResp) GetImageCount() int64 { + if x != nil { + return x.ImageCount + } + return 0 +} + +func (x *DataOverviewResp) GetTodayImageCount() int64 { + if x != nil { + return x.TodayImageCount + } + return 0 +} + +func (x *DataOverviewResp) GetVideoCount() int64 { + if x != nil { + return x.VideoCount + } + return 0 +} + +func (x *DataOverviewResp) GetTodayVideoCount() int64 { + if x != nil { + return x.TodayVideoCount + } + return 0 +} + +func (x *DataOverviewResp) GetConfirmDataCount() int64 { + if x != nil { + return x.ConfirmDataCount + } + return 0 +} + +func (x *DataOverviewResp) GetTodayConfirmDataCount() int64 { + if x != nil { + return x.TodayConfirmDataCount + } + return 0 +} + +func (x *DataOverviewResp) GetToBeConfirmedDataCount() int64 { + if x != nil { + return x.ToBeConfirmedDataCount + } + return 0 +} + +func (x *DataOverviewResp) GetApprovingDataCount() int64 { + if x != nil { + return x.ApprovingDataCount + } + return 0 +} + +// 艺人指标系列请求 +type ArtistMetricsSeriesReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUUID string `protobuf:"bytes,1,opt,name=artistUUID,proto3" json:"artistUUID"` // 艺人UUID + PeriodTypeFans uint32 `protobuf:"varint,2,opt,name=periodTypeFans,proto3" json:"periodTypeFans"` // 粉丝数周期类型 1 日 2 周 3 月 + PeriodTypeViews uint32 `protobuf:"varint,3,opt,name=periodTypeViews,proto3" json:"periodTypeViews"` // 播放量周期类型 1 日 2 周 3 月 + PeriodTypeLikes uint32 `protobuf:"varint,4,opt,name=periodTypeLikes,proto3" json:"periodTypeLikes"` // 点赞数周期类型 1 日 2 周 3 月 + PeriodTypeComments uint32 `protobuf:"varint,5,opt,name=periodTypeComments,proto3" json:"periodTypeComments"` // 评论数周期类型 1 日 2 周 3 月 + PeriodTypeShares uint32 `protobuf:"varint,6,opt,name=periodTypeShares,proto3" json:"periodTypeShares"` // 分享数周期类型 1 日 2 周 3 月 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ArtistMetricsSeriesReq) Reset() { + *x = ArtistMetricsSeriesReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArtistMetricsSeriesReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistMetricsSeriesReq) ProtoMessage() {} + +func (x *ArtistMetricsSeriesReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[113] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistMetricsSeriesReq.ProtoReflect.Descriptor instead. +func (*ArtistMetricsSeriesReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{113} +} + +func (x *ArtistMetricsSeriesReq) GetArtistUUID() string { + if x != nil { + return x.ArtistUUID + } + return "" +} + +func (x *ArtistMetricsSeriesReq) GetPeriodTypeFans() uint32 { + if x != nil { + return x.PeriodTypeFans + } + return 0 +} + +func (x *ArtistMetricsSeriesReq) GetPeriodTypeViews() uint32 { + if x != nil { + return x.PeriodTypeViews + } + return 0 +} + +func (x *ArtistMetricsSeriesReq) GetPeriodTypeLikes() uint32 { + if x != nil { + return x.PeriodTypeLikes + } + return 0 +} + +func (x *ArtistMetricsSeriesReq) GetPeriodTypeComments() uint32 { + if x != nil { + return x.PeriodTypeComments + } + return 0 +} + +func (x *ArtistMetricsSeriesReq) GetPeriodTypeShares() uint32 { + if x != nil { + return x.PeriodTypeShares + } + return 0 +} + +// 艺人指标系列响应 +type ArtistMetricsSeriesResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + FansSeries *WorkAnalysisFansSeries `protobuf:"bytes,1,opt,name=fansSeries,proto3" json:"fansSeries"` // 粉丝数系列 + ViewsSeries *WorkAnalysisViewsSeries `protobuf:"bytes,2,opt,name=viewsSeries,proto3" json:"viewsSeries"` // 播放量系列 + LikesSeries *WorkAnalysisLikesSeries `protobuf:"bytes,3,opt,name=likesSeries,proto3" json:"likesSeries"` // 点赞数系列 + CommentsSeries *WorkAnalysisCommentsSeries `protobuf:"bytes,4,opt,name=commentsSeries,proto3" json:"commentsSeries"` // 评论数系列 + SharesSeries *WorkAnalysisSharesSeries `protobuf:"bytes,5,opt,name=sharesSeries,proto3" json:"sharesSeries"` // 分享数系列 + BestPostTime *WorkAnalysisBestPostTime `protobuf:"bytes,6,opt,name=bestPostTime,proto3" json:"bestPostTime"` // 最佳发布时间 + MostActiveDay *WorkAnalysisMostActiveDay `protobuf:"bytes,7,opt,name=mostActiveDay,proto3" json:"mostActiveDay"` // 最活跃日期 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ArtistMetricsSeriesResp) Reset() { + *x = ArtistMetricsSeriesResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArtistMetricsSeriesResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistMetricsSeriesResp) ProtoMessage() {} + +func (x *ArtistMetricsSeriesResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[114] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistMetricsSeriesResp.ProtoReflect.Descriptor instead. +func (*ArtistMetricsSeriesResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{114} +} + +func (x *ArtistMetricsSeriesResp) GetFansSeries() *WorkAnalysisFansSeries { + if x != nil { + return x.FansSeries + } + return nil +} + +func (x *ArtistMetricsSeriesResp) GetViewsSeries() *WorkAnalysisViewsSeries { + if x != nil { + return x.ViewsSeries + } + return nil +} + +func (x *ArtistMetricsSeriesResp) GetLikesSeries() *WorkAnalysisLikesSeries { + if x != nil { + return x.LikesSeries + } + return nil +} + +func (x *ArtistMetricsSeriesResp) GetCommentsSeries() *WorkAnalysisCommentsSeries { + if x != nil { + return x.CommentsSeries + } + return nil +} + +func (x *ArtistMetricsSeriesResp) GetSharesSeries() *WorkAnalysisSharesSeries { + if x != nil { + return x.SharesSeries + } + return nil +} + +func (x *ArtistMetricsSeriesResp) GetBestPostTime() *WorkAnalysisBestPostTime { + if x != nil { + return x.BestPostTime + } + return nil +} + +func (x *ArtistMetricsSeriesResp) GetMostActiveDay() *WorkAnalysisMostActiveDay { + if x != nil { + return x.MostActiveDay + } + return nil +} + +// 艺人指标日期窗口请求 +type ArtistMetricsDailyWindowReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUUID string `protobuf:"bytes,1,opt,name=artistUUID,proto3" json:"artistUUID"` // 艺人UUID + PlatformID uint32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"` // 平台ID + Date int32 `protobuf:"varint,3,opt,name=date,proto3" json:"date"` // 日期 YYYYMMDD + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ArtistMetricsDailyWindowReq) Reset() { + *x = ArtistMetricsDailyWindowReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArtistMetricsDailyWindowReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistMetricsDailyWindowReq) ProtoMessage() {} + +func (x *ArtistMetricsDailyWindowReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[115] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistMetricsDailyWindowReq.ProtoReflect.Descriptor instead. +func (*ArtistMetricsDailyWindowReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{115} +} + +func (x *ArtistMetricsDailyWindowReq) GetArtistUUID() string { + if x != nil { + return x.ArtistUUID + } + return "" +} + +func (x *ArtistMetricsDailyWindowReq) GetPlatformID() uint32 { + if x != nil { + return x.PlatformID + } + return 0 +} + +func (x *ArtistMetricsDailyWindowReq) GetDate() int32 { + if x != nil { + return x.Date + } + return 0 +} + +// 简单数据点 +type SimplePoint struct { + state protoimpl.MessageState `protogen:"open.v1"` + Date int32 `protobuf:"varint,1,opt,name=date,proto3" json:"date"` // 日期 YYYYMMDD + Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value"` // 值 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SimplePoint) Reset() { + *x = SimplePoint{} + mi := &file_pb_fiee_cast_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SimplePoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SimplePoint) ProtoMessage() {} + +func (x *SimplePoint) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[116] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SimplePoint.ProtoReflect.Descriptor instead. +func (*SimplePoint) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{116} +} + +func (x *SimplePoint) GetDate() int32 { + if x != nil { + return x.Date + } + return 0 +} + +func (x *SimplePoint) GetValue() int64 { + if x != nil { + return x.Value + } + return 0 +} + +// 最佳发布时间点 +type BestPostTimePoint struct { + state protoimpl.MessageState `protogen:"open.v1"` + TimePoint string `protobuf:"bytes,1,opt,name=timePoint,proto3" json:"timePoint"` // 时间段,如 "0-3", "3-6" 等 + Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value"` // 值 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BestPostTimePoint) Reset() { + *x = BestPostTimePoint{} + mi := &file_pb_fiee_cast_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BestPostTimePoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BestPostTimePoint) ProtoMessage() {} + +func (x *BestPostTimePoint) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[117] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BestPostTimePoint.ProtoReflect.Descriptor instead. +func (*BestPostTimePoint) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{117} +} + +func (x *BestPostTimePoint) GetTimePoint() string { + if x != nil { + return x.TimePoint + } + return "" +} + +func (x *BestPostTimePoint) GetValue() int32 { + if x != nil { + return x.Value + } + return 0 +} + +// 最活跃日期点 +type MostActiveDayPoint struct { + state protoimpl.MessageState `protogen:"open.v1"` + Day int32 `protobuf:"varint,1,opt,name=day,proto3" json:"day"` // 天数 1-7 + Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value"` // 值 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MostActiveDayPoint) Reset() { + *x = MostActiveDayPoint{} + mi := &file_pb_fiee_cast_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MostActiveDayPoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MostActiveDayPoint) ProtoMessage() {} + +func (x *MostActiveDayPoint) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[118] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MostActiveDayPoint.ProtoReflect.Descriptor instead. +func (*MostActiveDayPoint) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{118} +} + +func (x *MostActiveDayPoint) GetDay() int32 { + if x != nil { + return x.Day + } + return 0 +} + +func (x *MostActiveDayPoint) GetValue() int32 { + if x != nil { + return x.Value + } + return 0 +} + +// 艺人指标日期窗口响应 +type ArtistMetricsDailyWindowResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + FansCount int64 `protobuf:"varint,1,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数 + ViewsCount int64 `protobuf:"varint,2,opt,name=viewsCount,proto3" json:"viewsCount"` // 播放量 + LikesCount int64 `protobuf:"varint,3,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 + CommentsCount int64 `protobuf:"varint,4,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 + SharesCount int64 `protobuf:"varint,5,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 + Fans []*SimplePoint `protobuf:"bytes,6,rep,name=fans,proto3" json:"fans"` // 粉丝数序列 + Views []*SimplePoint `protobuf:"bytes,7,rep,name=views,proto3" json:"views"` // 播放量序列 + Likes []*SimplePoint `protobuf:"bytes,8,rep,name=likes,proto3" json:"likes"` // 点赞数序列 + Comments []*SimplePoint `protobuf:"bytes,9,rep,name=comments,proto3" json:"comments"` // 评论数序列 + Shares []*SimplePoint `protobuf:"bytes,10,rep,name=shares,proto3" json:"shares"` // 分享数序列 + BestPostTime []*BestPostTimePoint `protobuf:"bytes,11,rep,name=bestPostTime,proto3" json:"bestPostTime"` // 最佳发布时间 + MostActiveDay []*MostActiveDayPoint `protobuf:"bytes,12,rep,name=mostActiveDay,proto3" json:"mostActiveDay"` // 最活跃日期 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ArtistMetricsDailyWindowResp) Reset() { + *x = ArtistMetricsDailyWindowResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArtistMetricsDailyWindowResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistMetricsDailyWindowResp) ProtoMessage() {} + +func (x *ArtistMetricsDailyWindowResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[119] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistMetricsDailyWindowResp.ProtoReflect.Descriptor instead. +func (*ArtistMetricsDailyWindowResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{119} +} + +func (x *ArtistMetricsDailyWindowResp) GetFansCount() int64 { + if x != nil { + return x.FansCount + } + return 0 +} + +func (x *ArtistMetricsDailyWindowResp) GetViewsCount() int64 { + if x != nil { + return x.ViewsCount + } + return 0 +} + +func (x *ArtistMetricsDailyWindowResp) GetLikesCount() int64 { + if x != nil { + return x.LikesCount + } + return 0 +} + +func (x *ArtistMetricsDailyWindowResp) GetCommentsCount() int64 { + if x != nil { + return x.CommentsCount + } + return 0 +} + +func (x *ArtistMetricsDailyWindowResp) GetSharesCount() int64 { + if x != nil { + return x.SharesCount + } + return 0 +} + +func (x *ArtistMetricsDailyWindowResp) GetFans() []*SimplePoint { + if x != nil { + return x.Fans + } + return nil +} + +func (x *ArtistMetricsDailyWindowResp) GetViews() []*SimplePoint { + if x != nil { + return x.Views + } + return nil +} + +func (x *ArtistMetricsDailyWindowResp) GetLikes() []*SimplePoint { + if x != nil { + return x.Likes + } + return nil +} + +func (x *ArtistMetricsDailyWindowResp) GetComments() []*SimplePoint { + if x != nil { + return x.Comments + } + return nil +} + +func (x *ArtistMetricsDailyWindowResp) GetShares() []*SimplePoint { + if x != nil { + return x.Shares + } + return nil +} + +func (x *ArtistMetricsDailyWindowResp) GetBestPostTime() []*BestPostTimePoint { + if x != nil { + return x.BestPostTime + } + return nil +} + +func (x *ArtistMetricsDailyWindowResp) GetMostActiveDay() []*MostActiveDayPoint { + if x != nil { + return x.MostActiveDay + } + return nil +} + +// 待确认数据列表请求 +type TobeConfirmedListReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TobeConfirmedListReq) Reset() { + *x = TobeConfirmedListReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TobeConfirmedListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TobeConfirmedListReq) ProtoMessage() {} + +func (x *TobeConfirmedListReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[120] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TobeConfirmedListReq.ProtoReflect.Descriptor instead. +func (*TobeConfirmedListReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{120} +} + +func (x *TobeConfirmedListReq) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *TobeConfirmedListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *TobeConfirmedListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +// 待确认数据项 +type TobeConfirmedItem struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` // 标题 + Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content"` // 内容 + WorkCategory int32 `protobuf:"varint,4,opt,name=workCategory,proto3" json:"workCategory"` // 作品类型 1 图文 2 视频 + UpdateTime string `protobuf:"bytes,5,opt,name=updateTime,proto3" json:"updateTime"` // 更新时间 + WorkStatus int32 `protobuf:"varint,6,opt,name=workStatus,proto3" json:"workStatus"` // 状态 + PlatformIds string `protobuf:"bytes,7,opt,name=platformIds,proto3" json:"platformIds"` // 平台ID集合 + ArtistName string `protobuf:"bytes,8,opt,name=artistName,proto3" json:"artistName"` // 艺人名称 + ArtistUuid string `protobuf:"bytes,9,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + MediaAccUserIds string `protobuf:"bytes,10,opt,name=mediaAccUserIds,proto3" json:"mediaAccUserIds"` // 自媒体账号user_ids集合 + MediaNames string `protobuf:"bytes,11,opt,name=mediaNames,proto3" json:"mediaNames"` // 自媒体账号名称集合 + ConfirmedAt int64 `protobuf:"varint,12,opt,name=confirmedAt,proto3" json:"confirmedAt"` // 确认时间 + ItemType int32 `protobuf:"varint,13,opt,name=itemType,proto3" json:"itemType"` // 类型 1 数据分析 2 作品 + CreatedAt int32 `protobuf:"varint,14,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,15,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + DeletedAt uint64 `protobuf:"varint,16,opt,name=deletedAt,proto3" json:"deletedAt"` // 删除时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TobeConfirmedItem) Reset() { + *x = TobeConfirmedItem{} + mi := &file_pb_fiee_cast_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TobeConfirmedItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TobeConfirmedItem) ProtoMessage() {} + +func (x *TobeConfirmedItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[121] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TobeConfirmedItem.ProtoReflect.Descriptor instead. +func (*TobeConfirmedItem) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{121} +} + +func (x *TobeConfirmedItem) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *TobeConfirmedItem) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *TobeConfirmedItem) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *TobeConfirmedItem) GetWorkCategory() int32 { + if x != nil { + return x.WorkCategory + } + return 0 +} + +func (x *TobeConfirmedItem) GetUpdateTime() string { + if x != nil { + return x.UpdateTime + } + return "" +} + +func (x *TobeConfirmedItem) GetWorkStatus() int32 { + if x != nil { + return x.WorkStatus + } + return 0 +} + +func (x *TobeConfirmedItem) GetPlatformIds() string { + if x != nil { + return x.PlatformIds + } + return "" +} + +func (x *TobeConfirmedItem) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *TobeConfirmedItem) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *TobeConfirmedItem) GetMediaAccUserIds() string { + if x != nil { + return x.MediaAccUserIds + } + return "" +} + +func (x *TobeConfirmedItem) GetMediaNames() string { + if x != nil { + return x.MediaNames + } + return "" +} + +func (x *TobeConfirmedItem) GetConfirmedAt() int64 { + if x != nil { + return x.ConfirmedAt + } + return 0 +} + +func (x *TobeConfirmedItem) GetItemType() int32 { + if x != nil { + return x.ItemType + } + return 0 +} + +func (x *TobeConfirmedItem) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *TobeConfirmedItem) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *TobeConfirmedItem) GetDeletedAt() uint64 { + if x != nil { + return x.DeletedAt + } + return 0 +} + +// 待确认数据列表响应 +type TobeConfirmedListResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []*TobeConfirmedItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 待确认数据列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TobeConfirmedListResp) Reset() { + *x = TobeConfirmedListResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TobeConfirmedListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TobeConfirmedListResp) ProtoMessage() {} + +func (x *TobeConfirmedListResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[122] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TobeConfirmedListResp.ProtoReflect.Descriptor instead. +func (*TobeConfirmedListResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{122} +} + +func (x *TobeConfirmedListResp) GetData() []*TobeConfirmedItem { + if x != nil { + return x.Data + } + return nil +} + +func (x *TobeConfirmedListResp) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +type UpdateWorkAnalysisApprovalIDReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + ApprovalID string `protobuf:"bytes,2,opt,name=approvalID,proto3" json:"approvalID"` // 审批ID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkAnalysisApprovalIDReq) Reset() { + *x = UpdateWorkAnalysisApprovalIDReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkAnalysisApprovalIDReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkAnalysisApprovalIDReq) ProtoMessage() {} + +func (x *UpdateWorkAnalysisApprovalIDReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[123] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkAnalysisApprovalIDReq.ProtoReflect.Descriptor instead. +func (*UpdateWorkAnalysisApprovalIDReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{123} +} + +func (x *UpdateWorkAnalysisApprovalIDReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *UpdateWorkAnalysisApprovalIDReq) GetApprovalID() string { + if x != nil { + return x.ApprovalID + } + return "" +} + +// 账号日级指标项 +type MediaMetricsDailyItem struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID(可选,为空时自动生成) + ArtistUuid string `protobuf:"bytes,2,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + MediaAccUserID string `protobuf:"bytes,3,opt,name=mediaAccUserID,proto3" json:"mediaAccUserID"` // 自媒体账号UserID + MediaName string `protobuf:"bytes,4,opt,name=mediaName,proto3" json:"mediaName"` // 自媒体账号名称 + ArtistName string `protobuf:"bytes,5,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistPhone string `protobuf:"bytes,6,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + PlatformID uint32 `protobuf:"varint,7,opt,name=platformID,proto3" json:"platformID"` // 平台ID 1 TikTok 2 YouTube 3 Instagram 4 Dailymotion + Date int32 `protobuf:"varint,8,opt,name=date,proto3" json:"date"` // 统计日期(YYYYMMDD,UTC) + FansCount int64 `protobuf:"varint,9,opt,name=fansCount,proto3" json:"fansCount"` // 粉丝数 + ViewsCount int64 `protobuf:"varint,10,opt,name=viewsCount,proto3" json:"viewsCount"` // 浏览/播放数 + LikesCount int64 `protobuf:"varint,11,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 + CommentsCount int64 `protobuf:"varint,12,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 + SharesCount int64 `protobuf:"varint,13,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 + VideoCount int64 `protobuf:"varint,14,opt,name=videoCount,proto3" json:"videoCount"` // 视频数 + ImageCount int64 `protobuf:"varint,15,opt,name=imageCount,proto3" json:"imageCount"` // 图片数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MediaMetricsDailyItem) Reset() { + *x = MediaMetricsDailyItem{} + mi := &file_pb_fiee_cast_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MediaMetricsDailyItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MediaMetricsDailyItem) ProtoMessage() {} + +func (x *MediaMetricsDailyItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[124] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MediaMetricsDailyItem.ProtoReflect.Descriptor instead. +func (*MediaMetricsDailyItem) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{124} +} + +func (x *MediaMetricsDailyItem) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *MediaMetricsDailyItem) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *MediaMetricsDailyItem) GetMediaAccUserID() string { + if x != nil { + return x.MediaAccUserID + } + return "" +} + +func (x *MediaMetricsDailyItem) GetMediaName() string { + if x != nil { + return x.MediaName + } + return "" +} + +func (x *MediaMetricsDailyItem) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *MediaMetricsDailyItem) GetArtistPhone() string { + if x != nil { + return x.ArtistPhone + } + return "" +} + +func (x *MediaMetricsDailyItem) GetPlatformID() uint32 { + if x != nil { + return x.PlatformID + } + return 0 +} + +func (x *MediaMetricsDailyItem) GetDate() int32 { + if x != nil { + return x.Date + } + return 0 +} + +func (x *MediaMetricsDailyItem) GetFansCount() int64 { + if x != nil { + return x.FansCount + } + return 0 +} + +func (x *MediaMetricsDailyItem) GetViewsCount() int64 { + if x != nil { + return x.ViewsCount + } + return 0 +} + +func (x *MediaMetricsDailyItem) GetLikesCount() int64 { + if x != nil { + return x.LikesCount + } + return 0 +} + +func (x *MediaMetricsDailyItem) GetCommentsCount() int64 { + if x != nil { + return x.CommentsCount + } + return 0 +} + +func (x *MediaMetricsDailyItem) GetSharesCount() int64 { + if x != nil { + return x.SharesCount + } + return 0 +} + +func (x *MediaMetricsDailyItem) GetVideoCount() int64 { + if x != nil { + return x.VideoCount + } + return 0 +} + +func (x *MediaMetricsDailyItem) GetImageCount() int64 { + if x != nil { + return x.ImageCount + } + return 0 +} + +// 批量插入或更新账号日级指标请求 +type UpsertMediaMetricsDailyBatchReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []*MediaMetricsDailyItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 指标数据列表 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpsertMediaMetricsDailyBatchReq) Reset() { + *x = UpsertMediaMetricsDailyBatchReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertMediaMetricsDailyBatchReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertMediaMetricsDailyBatchReq) ProtoMessage() {} + +func (x *UpsertMediaMetricsDailyBatchReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[125] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertMediaMetricsDailyBatchReq.ProtoReflect.Descriptor instead. +func (*UpsertMediaMetricsDailyBatchReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{125} +} + +func (x *UpsertMediaMetricsDailyBatchReq) GetData() []*MediaMetricsDailyItem { + if x != nil { + return x.Data + } + return nil +} + +// 批量插入或更新账号日级指标响应 +type UpsertMediaMetricsDailyBatchResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success"` // 是否成功 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpsertMediaMetricsDailyBatchResp) Reset() { + *x = UpsertMediaMetricsDailyBatchResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertMediaMetricsDailyBatchResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertMediaMetricsDailyBatchResp) ProtoMessage() {} + +func (x *UpsertMediaMetricsDailyBatchResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[126] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertMediaMetricsDailyBatchResp.ProtoReflect.Descriptor instead. +func (*UpsertMediaMetricsDailyBatchResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{126} +} + +func (x *UpsertMediaMetricsDailyBatchResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +// 作品日级指标项 +type WorkMetricsDailyItem struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID(可选,为空时自动生成) + WorkUuid string `protobuf:"bytes,2,opt,name=workUuid,proto3" json:"workUuid"` // 作品UUID + ArtistUuid string `protobuf:"bytes,3,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + MediaAccUserID string `protobuf:"bytes,4,opt,name=mediaAccUserID,proto3" json:"mediaAccUserID"` // 自媒体账号UserID + MediaName string `protobuf:"bytes,5,opt,name=mediaName,proto3" json:"mediaName"` // 自媒体账号名称 + ArtistName string `protobuf:"bytes,6,opt,name=artistName,proto3" json:"artistName"` // 艺人名字 + ArtistPhone string `protobuf:"bytes,7,opt,name=artistPhone,proto3" json:"artistPhone"` // 艺人手机号 + PlatformID uint32 `protobuf:"varint,8,opt,name=platformID,proto3" json:"platformID"` // 平台ID 1 TikTok 2 YouTube 3 Instagram 4 Dailymotion + Date int32 `protobuf:"varint,9,opt,name=date,proto3" json:"date"` // 统计日期(YYYYMMDD,UTC) + ViewsCount int64 `protobuf:"varint,10,opt,name=viewsCount,proto3" json:"viewsCount"` // 浏览/播放数 + LikesCount int64 `protobuf:"varint,11,opt,name=likesCount,proto3" json:"likesCount"` // 点赞数 + CommentsCount int64 `protobuf:"varint,12,opt,name=commentsCount,proto3" json:"commentsCount"` // 评论数 + SharesCount int64 `protobuf:"varint,13,opt,name=sharesCount,proto3" json:"sharesCount"` // 分享数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkMetricsDailyItem) Reset() { + *x = WorkMetricsDailyItem{} + mi := &file_pb_fiee_cast_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkMetricsDailyItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkMetricsDailyItem) ProtoMessage() {} + +func (x *WorkMetricsDailyItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[127] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkMetricsDailyItem.ProtoReflect.Descriptor instead. +func (*WorkMetricsDailyItem) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{127} +} + +func (x *WorkMetricsDailyItem) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkMetricsDailyItem) GetWorkUuid() string { + if x != nil { + return x.WorkUuid + } + return "" +} + +func (x *WorkMetricsDailyItem) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *WorkMetricsDailyItem) GetMediaAccUserID() string { + if x != nil { + return x.MediaAccUserID + } + return "" +} + +func (x *WorkMetricsDailyItem) GetMediaName() string { + if x != nil { + return x.MediaName + } + return "" +} + +func (x *WorkMetricsDailyItem) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *WorkMetricsDailyItem) GetArtistPhone() string { + if x != nil { + return x.ArtistPhone + } + return "" +} + +func (x *WorkMetricsDailyItem) GetPlatformID() uint32 { + if x != nil { + return x.PlatformID + } + return 0 +} + +func (x *WorkMetricsDailyItem) GetDate() int32 { + if x != nil { + return x.Date + } + return 0 +} + +func (x *WorkMetricsDailyItem) GetViewsCount() int64 { + if x != nil { + return x.ViewsCount + } + return 0 +} + +func (x *WorkMetricsDailyItem) GetLikesCount() int64 { + if x != nil { + return x.LikesCount + } + return 0 +} + +func (x *WorkMetricsDailyItem) GetCommentsCount() int64 { + if x != nil { + return x.CommentsCount + } + return 0 +} + +func (x *WorkMetricsDailyItem) GetSharesCount() int64 { + if x != nil { + return x.SharesCount + } + return 0 +} + +// 批量插入或更新作品日级指标请求 +type UpsertWorkMetricsDailyBatchReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []*WorkMetricsDailyItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 指标数据列表 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpsertWorkMetricsDailyBatchReq) Reset() { + *x = UpsertWorkMetricsDailyBatchReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertWorkMetricsDailyBatchReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertWorkMetricsDailyBatchReq) ProtoMessage() {} + +func (x *UpsertWorkMetricsDailyBatchReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[128] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertWorkMetricsDailyBatchReq.ProtoReflect.Descriptor instead. +func (*UpsertWorkMetricsDailyBatchReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{128} +} + +func (x *UpsertWorkMetricsDailyBatchReq) GetData() []*WorkMetricsDailyItem { + if x != nil { + return x.Data + } + return nil +} + +// 批量插入或更新作品日级指标响应 +type UpsertWorkMetricsDailyBatchResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success"` // 是否成功 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpsertWorkMetricsDailyBatchResp) Reset() { + *x = UpsertWorkMetricsDailyBatchResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertWorkMetricsDailyBatchResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertWorkMetricsDailyBatchResp) ProtoMessage() {} + +func (x *UpsertWorkMetricsDailyBatchResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[129] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertWorkMetricsDailyBatchResp.ProtoReflect.Descriptor instead. +func (*UpsertWorkMetricsDailyBatchResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{129} +} + +func (x *UpsertWorkMetricsDailyBatchResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +// 获取艺人AyrShare信息请求 +type GetArtistAyrShareInfoReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人UUID + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` // 状态 1 有效 + Page int32 `protobuf:"varint,4,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,5,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetArtistAyrShareInfoReq) Reset() { + *x = GetArtistAyrShareInfoReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetArtistAyrShareInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistAyrShareInfoReq) ProtoMessage() {} + +func (x *GetArtistAyrShareInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[130] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistAyrShareInfoReq.ProtoReflect.Descriptor instead. +func (*GetArtistAyrShareInfoReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{130} +} + +func (x *GetArtistAyrShareInfoReq) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *GetArtistAyrShareInfoReq) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *GetArtistAyrShareInfoReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *GetArtistAyrShareInfoReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetArtistAyrShareInfoReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +// 艺人AyrShare信息 +type ArtistAyrShareInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + ArtistUuid string `protobuf:"bytes,2,opt,name=artistUuid,proto3" json:"artistUuid"` // 艺人ID + SubNum string `protobuf:"bytes,3,opt,name=subNum,proto3" json:"subNum"` // 艺人编号 + RefId string `protobuf:"bytes,4,opt,name=refId,proto3" json:"refId"` // AyrShare引用ID + ProfileKey string `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey"` // AyrShare配置文件Key + AyrShareCreateTime string `protobuf:"bytes,6,opt,name=ayrShareCreateTime,proto3" json:"ayrShareCreateTime"` // AyrShare创建时间 + Status int32 `protobuf:"varint,7,opt,name=status,proto3" json:"status"` // 状态 1 有效 + CreatedAt int32 `protobuf:"varint,8,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,9,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ArtistAyrShareInfo) Reset() { + *x = ArtistAyrShareInfo{} + mi := &file_pb_fiee_cast_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArtistAyrShareInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistAyrShareInfo) ProtoMessage() {} + +func (x *ArtistAyrShareInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[131] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistAyrShareInfo.ProtoReflect.Descriptor instead. +func (*ArtistAyrShareInfo) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{131} +} + +func (x *ArtistAyrShareInfo) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *ArtistAyrShareInfo) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *ArtistAyrShareInfo) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *ArtistAyrShareInfo) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *ArtistAyrShareInfo) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *ArtistAyrShareInfo) GetAyrShareCreateTime() string { + if x != nil { + return x.AyrShareCreateTime + } + return "" +} + +func (x *ArtistAyrShareInfo) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *ArtistAyrShareInfo) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ArtistAyrShareInfo) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +// 获取艺人AyrShare信息响应 +type GetArtistAyrShareInfoResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []*ArtistAyrShareInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 艺人AyrShare信息列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetArtistAyrShareInfoResp) Reset() { + *x = GetArtistAyrShareInfoResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetArtistAyrShareInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtistAyrShareInfoResp) ProtoMessage() {} + +func (x *GetArtistAyrShareInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[132] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtistAyrShareInfoResp.ProtoReflect.Descriptor instead. +func (*GetArtistAyrShareInfoResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{132} +} + +func (x *GetArtistAyrShareInfoResp) GetData() []*ArtistAyrShareInfo { + if x != nil { + return x.Data + } + return nil +} + +func (x *GetArtistAyrShareInfoResp) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +// 获取作品平台信息列表请求 +type ListWorkPlatformInfoReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlatformIDs []uint32 `protobuf:"varint,1,rep,packed,name=platformIDs,proto3" json:"platformIDs"` // 平台ID列表 + PublishMediaStatus int32 `protobuf:"varint,2,opt,name=publishMediaStatus,proto3" json:"publishMediaStatus"` // 发布状态 0 全部 1 正常 2 异常 + Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page"` // 页码 + PageSize int32 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize"` // 每页数量 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkPlatformInfoReq) Reset() { + *x = ListWorkPlatformInfoReq{} + mi := &file_pb_fiee_cast_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkPlatformInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkPlatformInfoReq) ProtoMessage() {} + +func (x *ListWorkPlatformInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[133] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkPlatformInfoReq.ProtoReflect.Descriptor instead. +func (*ListWorkPlatformInfoReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{133} +} + +func (x *ListWorkPlatformInfoReq) GetPlatformIDs() []uint32 { + if x != nil { + return x.PlatformIDs + } + return nil +} + +func (x *ListWorkPlatformInfoReq) GetPublishMediaStatus() int32 { + if x != nil { + return x.PublishMediaStatus + } + return 0 +} + +func (x *ListWorkPlatformInfoReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListWorkPlatformInfoReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +// 作品平台信息 +type WorkPlatformInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // UUID + WorkUuid string `protobuf:"bytes,2,opt,name=workUuid,proto3" json:"workUuid"` // 作品UUID + MediaUserID string `protobuf:"bytes,3,opt,name=mediaUserID,proto3" json:"mediaUserID"` // 发布平台用户ID + PlatformID uint32 `protobuf:"varint,4,opt,name=platformID,proto3" json:"platformID"` // 平台ID + PublishResp string `protobuf:"bytes,5,opt,name=publishResp,proto3" json:"publishResp"` // 发布返回信息 + PublishMediaID string `protobuf:"bytes,6,opt,name=publishMediaID,proto3" json:"publishMediaID"` // 发布平台返回的作品ID + PublishMediaStatus int32 `protobuf:"varint,7,opt,name=publishMediaStatus,proto3" json:"publishMediaStatus"` // 发布平台返回的作品状态 1 正常 2 异常 + Remark string `protobuf:"bytes,8,opt,name=remark,proto3" json:"remark"` // 备注 + CreatedAt int32 `protobuf:"varint,9,opt,name=createdAt,proto3" json:"createdAt"` // 创建时间 + UpdatedAt int32 `protobuf:"varint,10,opt,name=updatedAt,proto3" json:"updatedAt"` // 更新时间 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkPlatformInfo) Reset() { + *x = WorkPlatformInfo{} + mi := &file_pb_fiee_cast_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkPlatformInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkPlatformInfo) ProtoMessage() {} + +func (x *WorkPlatformInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[134] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkPlatformInfo.ProtoReflect.Descriptor instead. +func (*WorkPlatformInfo) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{134} +} + +func (x *WorkPlatformInfo) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *WorkPlatformInfo) GetWorkUuid() string { + if x != nil { + return x.WorkUuid + } + return "" +} + +func (x *WorkPlatformInfo) GetMediaUserID() string { + if x != nil { + return x.MediaUserID + } + return "" +} + +func (x *WorkPlatformInfo) GetPlatformID() uint32 { + if x != nil { + return x.PlatformID + } + return 0 +} + +func (x *WorkPlatformInfo) GetPublishResp() string { + if x != nil { + return x.PublishResp + } + return "" +} + +func (x *WorkPlatformInfo) GetPublishMediaID() string { + if x != nil { + return x.PublishMediaID + } + return "" +} + +func (x *WorkPlatformInfo) GetPublishMediaStatus() int32 { + if x != nil { + return x.PublishMediaStatus + } + return 0 +} + +func (x *WorkPlatformInfo) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *WorkPlatformInfo) GetCreatedAt() int32 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WorkPlatformInfo) GetUpdatedAt() int32 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +// 获取作品平台信息列表响应 +type ListWorkPlatformInfoResp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []*WorkPlatformInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 作品平台信息列表 + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` // 总数 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkPlatformInfoResp) Reset() { + *x = ListWorkPlatformInfoResp{} + mi := &file_pb_fiee_cast_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkPlatformInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkPlatformInfoResp) ProtoMessage() {} + +func (x *ListWorkPlatformInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[135] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkPlatformInfoResp.ProtoReflect.Descriptor instead. +func (*ListWorkPlatformInfoResp) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{135} +} + +func (x *ListWorkPlatformInfoResp) GetData() []*WorkPlatformInfo { + if x != nil { + return x.Data + } + return nil +} + +func (x *ListWorkPlatformInfoResp) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + type WorkListResp_Info struct { state protoimpl.MessageState `protogen:"open.v1"` WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` @@ -5034,7 +11353,7 @@ type WorkListResp_Info struct { func (x *WorkListResp_Info) Reset() { *x = WorkListResp_Info{} - mi := &file_pb_fiee_cast_proto_msgTypes[67] + mi := &file_pb_fiee_cast_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5046,7 +11365,7 @@ func (x *WorkListResp_Info) String() string { func (*WorkListResp_Info) ProtoMessage() {} func (x *WorkListResp_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[67] + mi := &file_pb_fiee_cast_proto_msgTypes[136] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5059,7 +11378,7 @@ func (x *WorkListResp_Info) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkListResp_Info.ProtoReflect.Descriptor instead. func (*WorkListResp_Info) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{14, 0} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{16, 0} } func (x *WorkListResp_Info) GetWorkUuid() string { @@ -5195,7 +11514,7 @@ type MediaAccountsResp_Info struct { func (x *MediaAccountsResp_Info) Reset() { *x = MediaAccountsResp_Info{} - mi := &file_pb_fiee_cast_proto_msgTypes[69] + mi := &file_pb_fiee_cast_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5207,7 +11526,7 @@ func (x *MediaAccountsResp_Info) String() string { func (*MediaAccountsResp_Info) ProtoMessage() {} func (x *MediaAccountsResp_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[69] + mi := &file_pb_fiee_cast_proto_msgTypes[138] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5220,7 +11539,7 @@ func (x *MediaAccountsResp_Info) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaAccountsResp_Info.ProtoReflect.Descriptor instead. func (*MediaAccountsResp_Info) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{20, 0} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{22, 0} } func (x *MediaAccountsResp_Info) GetPlatformID() uint32 { @@ -5283,7 +11602,7 @@ type MediaWorksResp_Info struct { func (x *MediaWorksResp_Info) Reset() { *x = MediaWorksResp_Info{} - mi := &file_pb_fiee_cast_proto_msgTypes[70] + mi := &file_pb_fiee_cast_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5295,7 +11614,7 @@ func (x *MediaWorksResp_Info) String() string { func (*MediaWorksResp_Info) ProtoMessage() {} func (x *MediaWorksResp_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[70] + mi := &file_pb_fiee_cast_proto_msgTypes[139] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5308,7 +11627,7 @@ func (x *MediaWorksResp_Info) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaWorksResp_Info.ProtoReflect.Descriptor instead. func (*MediaWorksResp_Info) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{22, 0} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{24, 0} } func (x *MediaWorksResp_Info) GetWorkUuid() string { @@ -5391,7 +11710,7 @@ type PublishResp_Info struct { func (x *PublishResp_Info) Reset() { *x = PublishResp_Info{} - mi := &file_pb_fiee_cast_proto_msgTypes[71] + mi := &file_pb_fiee_cast_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5403,7 +11722,7 @@ func (x *PublishResp_Info) String() string { func (*PublishResp_Info) ProtoMessage() {} func (x *PublishResp_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[71] + mi := &file_pb_fiee_cast_proto_msgTypes[140] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5416,7 +11735,7 @@ func (x *PublishResp_Info) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishResp_Info.ProtoReflect.Descriptor instead. func (*PublishResp_Info) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{24, 0} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{26, 0} } func (x *PublishResp_Info) GetArtistUuid() string { @@ -5433,11 +11752,231 @@ func (x *PublishResp_Info) GetWorkCategory() int32 { return 0 } +type RefreshWorkListResp_Info struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkUuid string `protobuf:"bytes,1,opt,name=workUuid,proto3" json:"workUuid"` + PlatformInfoData []*RefreshWorkListResp_Info_PlatformInfo `protobuf:"bytes,2,rep,name=PlatformInfoData,proto3" json:"PlatformInfoData"` + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshWorkListResp_Info) Reset() { + *x = RefreshWorkListResp_Info{} + mi := &file_pb_fiee_cast_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshWorkListResp_Info) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshWorkListResp_Info) ProtoMessage() {} + +func (x *RefreshWorkListResp_Info) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[141] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshWorkListResp_Info.ProtoReflect.Descriptor instead. +func (*RefreshWorkListResp_Info) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{41, 0} +} + +func (x *RefreshWorkListResp_Info) GetWorkUuid() string { + if x != nil { + return x.WorkUuid + } + return "" +} + +func (x *RefreshWorkListResp_Info) GetPlatformInfoData() []*RefreshWorkListResp_Info_PlatformInfo { + if x != nil { + return x.PlatformInfoData + } + return nil +} + +func (x *RefreshWorkListResp_Info) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +type RefreshWorkListResp_Info_PlatformInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + PublishMediaID string `protobuf:"bytes,1,opt,name=publishMediaID,proto3" json:"publishMediaID"` + PlatformID PlatformIDENUM `protobuf:"varint,2,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` + PublishMediaStatus uint32 `protobuf:"varint,3,opt,name=publishMediaStatus,proto3" json:"publishMediaStatus"` + MediaUserID string `protobuf:"bytes,4,opt,name=mediaUserID,proto3" json:"mediaUserID"` + PlatformUuid string `protobuf:"bytes,5,opt,name=platformUuid,proto3" json:"platformUuid"` + Token string `protobuf:"bytes,6,opt,name=token,proto3" json:"token"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshWorkListResp_Info_PlatformInfo) Reset() { + *x = RefreshWorkListResp_Info_PlatformInfo{} + mi := &file_pb_fiee_cast_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshWorkListResp_Info_PlatformInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshWorkListResp_Info_PlatformInfo) ProtoMessage() {} + +func (x *RefreshWorkListResp_Info_PlatformInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[142] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshWorkListResp_Info_PlatformInfo.ProtoReflect.Descriptor instead. +func (*RefreshWorkListResp_Info_PlatformInfo) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{41, 0, 0} +} + +func (x *RefreshWorkListResp_Info_PlatformInfo) GetPublishMediaID() string { + if x != nil { + return x.PublishMediaID + } + return "" +} + +func (x *RefreshWorkListResp_Info_PlatformInfo) GetPlatformID() PlatformIDENUM { + if x != nil { + return x.PlatformID + } + return PlatformIDENUM_UNKNOWN +} + +func (x *RefreshWorkListResp_Info_PlatformInfo) GetPublishMediaStatus() uint32 { + if x != nil { + return x.PublishMediaStatus + } + return 0 +} + +func (x *RefreshWorkListResp_Info_PlatformInfo) GetMediaUserID() string { + if x != nil { + return x.MediaUserID + } + return "" +} + +func (x *RefreshWorkListResp_Info_PlatformInfo) GetPlatformUuid() string { + if x != nil { + return x.PlatformUuid + } + return "" +} + +func (x *RefreshWorkListResp_Info_PlatformInfo) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type UpdateOAuthReq_Info struct { + state protoimpl.MessageState `protogen:"open.v1"` + ArtistUuid string `protobuf:"bytes,1,opt,name=artistUuid,proto3" json:"artistUuid"` + PlatformID PlatformIDENUM `protobuf:"varint,2,opt,name=platformID,proto3,enum=Cast.PlatformIDENUM" json:"platformID"` + AsID string `protobuf:"bytes,3,opt,name=asID,proto3" json:"asID"` + PlatformUserName string `protobuf:"bytes,4,opt,name=platformUserName,proto3" json:"platformUserName"` + AutInfo string `protobuf:"bytes,5,opt,name=autInfo,proto3" json:"autInfo"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateOAuthReq_Info) Reset() { + *x = UpdateOAuthReq_Info{} + mi := &file_pb_fiee_cast_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateOAuthReq_Info) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateOAuthReq_Info) ProtoMessage() {} + +func (x *UpdateOAuthReq_Info) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[143] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateOAuthReq_Info.ProtoReflect.Descriptor instead. +func (*UpdateOAuthReq_Info) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{50, 0} +} + +func (x *UpdateOAuthReq_Info) GetArtistUuid() string { + if x != nil { + return x.ArtistUuid + } + return "" +} + +func (x *UpdateOAuthReq_Info) GetPlatformID() PlatformIDENUM { + if x != nil { + return x.PlatformID + } + return PlatformIDENUM_UNKNOWN +} + +func (x *UpdateOAuthReq_Info) GetAsID() string { + if x != nil { + return x.AsID + } + return "" +} + +func (x *UpdateOAuthReq_Info) GetPlatformUserName() string { + if x != nil { + return x.PlatformUserName + } + return "" +} + +func (x *UpdateOAuthReq_Info) GetAutInfo() string { + if x != nil { + return x.AutInfo + } + return "" +} + var File_pb_fiee_cast_proto protoreflect.FileDescriptor const file_pb_fiee_cast_proto_rawDesc = "" + "\n" + - "\x12pb/fiee/cast.proto\x12\x04Cast\x1a\x15common/wrappers.proto\x1a\x17common/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15common/validate.proto\"\x88\x03\n" + + "\x12pb/fiee/cast.proto\x12\x04Cast\x1a\x15common/wrappers.proto\x1a\x17common/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15common/validate.proto\"\xaa\x03\n" + "\x10MediaUserListReq\x12\x1c\n" + "\tartistVal\x18\x01 \x01(\tR\tartistVal\x12\x1e\n" + "\n" + @@ -5457,7 +11996,8 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "\n" + "authStatus\x18\n" + " \x01(\x0e2\x14.Cast.AuthStatusENUMR\n" + - "authStatus\"\x8d\x03\n" + + "authStatus\x12 \n" + + "\vmediaUserID\x18\v \x01(\tR\vmediaUserID\"\x8d\x03\n" + "\rMediaUserInfo\x12*\n" + "\x10platformUserName\x18\x01 \x01(\tR\x10platformUserName\x12\x1e\n" + "\n" + @@ -5578,7 +12118,17 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "scriptUuid\x18\x15 \x01(\tR\n" + "scriptUuid\"1\n" + "\x13UpdateWorkVideoResp\x12\x1a\n" + - "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\xcb\x04\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\"\x90\x01\n" + + "\fMediaInfoReq\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x124\n" + + "\n" + + "platformID\x18\x02 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + + "platformID\x12*\n" + + "\x10platformUserName\x18\x03 \x01(\tR\x10platformUserName\"8\n" + + "\rMediaInfoResp\x12'\n" + + "\x04info\x18\x01 \x01(\v2\x13.Cast.MediaUserInfoR\x04info\"\xcb\x04\n" + "\vWorkListReq\x12\x1c\n" + "\tartistVal\x18\x01 \x01(\tR\tartistVal\x12\x1e\n" + "\n" + @@ -5651,7 +12201,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "\textraData\x18\a \x01(\tR\textraData\x12\x1e\n" + "\n" + "workStatus\x18\b \x01(\rR\n" + - "workStatus\"\xa5\a\n" + + "workStatus\"\xcd\b\n" + "\x0eWorkDetailResp\x12\x1a\n" + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + @@ -5679,7 +12229,14 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "\x10coverTimestampMs\x18\x13 \x01(\x04R\x10coverTimestampMs\x12\x1e\n" + "\n" + "scriptUuid\x18\x14 \x01(\tR\n" + - "scriptUuid\x1aT\n" + + "scriptUuid\x12\x1e\n" + + "\n" + + "artistUuid\x18\x15 \x01(\tR\n" + + "artistUuid\x12\"\n" + + "\ftiktokStatus\x18\x16 \x01(\rR\ftiktokStatus\x12\x1c\n" + + "\tinsStatus\x18\x17 \x01(\rR\tinsStatus\x12\x1a\n" + + "\bdmStatus\x18\x18 \x01(\rR\bdmStatus\x12(\n" + + "\x0fneedPlatformIDs\x18\x19 \x03(\x05R\x0fneedPlatformIDs\x1aT\n" + "\x11MediaAccDataEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12)\n" + "\x05value\x18\x02 \x01(\v2\x13.Cast.MediaUserInfoR\x05value:\x028\x01\"\xca\x02\n" + @@ -5791,11 +12348,66 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "imageWorks\x18\x01 \x03(\v2\x18.Cast.UpdateWorkImageReqR\n" + "imageWorks\x12\"\n" + "\fsuccessCount\x18\x02 \x01(\x05R\fsuccessCount\x12\x1c\n" + - "\tfailCount\x18\x03 \x01(\x05R\tfailCount\"=\n" + + "\tfailCount\x18\x03 \x01(\x05R\tfailCount\"\xdd\x02\n" + + "\fPlatformInfo\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12*\n" + + "\x10mediaAccountUuid\x18\x02 \x01(\tR\x10mediaAccountUuid\x12\x1e\n" + + "\n" + + "platformID\x18\x03 \x01(\rR\n" + + "platformID\x12 \n" + + "\vpublishType\x18\x04 \x01(\rR\vpublishType\x12 \n" + + "\vpublishResp\x18\x05 \x01(\tR\vpublishResp\x12&\n" + + "\x0epublishMediaId\x18\x06 \x01(\tR\x0epublishMediaId\x12=\n" + + "\rpublishStatus\x18\a \x01(\x0e2\x17.Cast.PublishStatusENUMR\rpublishStatus\x12\x16\n" + + "\x06remark\x18\b \x01(\tR\x06remark\x12\"\n" + + "\fplatformUuid\x18\t \x01(\tR\fplatformUuid\"[\n" + + "\x19UpdateWorkPlatformInfoReq\x12>\n" + + "\x10PlatformInfoData\x18\x01 \x03(\v2\x12.Cast.PlatformInfoR\x10PlatformInfoData\"8\n" + + "\x1aUpdateWorkPlatformInfoResp\x12\x1a\n" + + "\bworkUuid\x18\x01 \x03(\tR\bworkUuid\"\x9b\x01\n" + + "\x17UpdateWorkPublishLogReq\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x124\n" + + "\n" + + "platformID\x18\x02 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + + "platformID\x12\x16\n" + + "\x06detail\x18\x03 \x01(\tR\x06detail\x12\x16\n" + + "\x06action\x18\x04 \x01(\tR\x06action\":\n" + + "\x12RefreshWorkListReq\x12$\n" + + "\rpublishStatus\x18\x01 \x01(\rR\rpublishStatus\"\xe2\x03\n" + + "\x13RefreshWorkListResp\x122\n" + + "\x04Data\x18\x03 \x03(\v2\x1e.Cast.RefreshWorkListResp.InfoR\x04Data\x1a\x96\x03\n" + + "\x04Info\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12W\n" + + "\x10PlatformInfoData\x18\x02 \x03(\v2+.Cast.RefreshWorkListResp.Info.PlatformInfoR\x10PlatformInfoData\x12\x1e\n" + + "\n" + + "profileKey\x18\x03 \x01(\tR\n" + + "profileKey\x1a\xf8\x01\n" + + "\fPlatformInfo\x12&\n" + + "\x0epublishMediaID\x18\x01 \x01(\tR\x0epublishMediaID\x124\n" + + "\n" + + "platformID\x18\x02 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + + "platformID\x12.\n" + + "\x12publishMediaStatus\x18\x03 \x01(\rR\x12publishMediaStatus\x12 \n" + + "\vmediaUserID\x18\x04 \x01(\tR\vmediaUserID\x12\"\n" + + "\fplatformUuid\x18\x05 \x01(\tR\fplatformUuid\x12\x14\n" + + "\x05token\x18\x06 \x01(\tR\x05token\"=\n" + "\x0fOAuthAccountReq\x12*\n" + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\"$\n" + "\x10OAuthAccountResp\x12\x10\n" + - "\x03url\x18\x01 \x01(\tR\x03url\"V\n" + + "\x03url\x18\x01 \x01(\tR\x03url\"?\n" + + "\x11OAuthAccountV2Req\x12*\n" + + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\"\x8e\x01\n" + + "\x12OAuthAccountV2Resp\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x12\x1e\n" + + "\n" + + "profileKey\x18\x02 \x01(\tR\n" + + "profileKey\x12\x1e\n" + + "\n" + + "platformID\x18\x03 \x01(\rR\n" + + "platformID\x12\x18\n" + + "\aauthUrl\x18\x04 \x01(\tR\aauthUrl\"V\n" + "\x14OAuthYoutubeTokenReq\x12*\n" + "\x10mediaAccountUuid\x18\x01 \x01(\tR\x10mediaAccountUuid\x12\x12\n" + "\x04code\x18\x02 \x01(\tR\x04code\"}\n" + @@ -5811,7 +12423,19 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "\n" + "platformID\x18\x03 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + "platformID\"\x16\n" + - "\x14OAuthCodeToTokenResp\"\x83\x01\n" + + "\x14OAuthCodeToTokenResp\"\xf8\x01\n" + + "\x0eUpdateOAuthReq\x12-\n" + + "\x04Data\x18\x01 \x03(\v2\x19.Cast.UpdateOAuthReq.InfoR\x04Data\x1a\xb6\x01\n" + + "\x04Info\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x124\n" + + "\n" + + "platformID\x18\x02 \x01(\x0e2\x14.Cast.PlatformIDENUMR\n" + + "platformID\x12\x12\n" + + "\x04asID\x18\x03 \x01(\tR\x04asID\x12*\n" + + "\x10platformUserName\x18\x04 \x01(\tR\x10platformUserName\x12\x18\n" + + "\aautInfo\x18\x05 \x01(\tR\aautInfo\"\x83\x01\n" + "\x0fRefreshTokenReq\x12\"\n" + "\frefreshToken\x18\x01 \x01(\tR\frefreshToken\x124\n" + "\n" + @@ -5965,7 +12589,7 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "\bcategory\x18\x02 \x01(\x0e2\x12.Cast.CategoryENUMR\bcategory\x12\x12\n" + "\x04page\x18\x03 \x01(\x05R\x04page\x12\x1a\n" + "\bpageSize\x18\x04 \x01(\x05R\bpageSize\x12\x12\n" + - "\x04rand\x18\x05 \x01(\bR\x04rand\"\xda\x01\n" + + "\x04rand\x18\x05 \x01(\bR\x04rand\"\xfc\x01\n" + "\n" + "PromptInfo\x12\x1e\n" + "\n" + @@ -5976,7 +12600,8 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "\x06remark\x18\x04 \x01(\tR\x06remark\x12\x18\n" + "\asuccess\x18\x05 \x01(\bR\asuccess\x12\x1a\n" + "\buseCount\x18\x06 \x01(\rR\buseCount\x12\x16\n" + - "\x06lineNo\x18\a \x01(\rR\x06lineNo\"M\n" + + "\x06lineNo\x18\a \x01(\rR\x06lineNo\x12 \n" + + "\vcreatedDate\x18\b \x01(\tR\vcreatedDate\"M\n" + "\x0fListPromptsResp\x12$\n" + "\x04data\x18\x01 \x03(\v2\x10.Cast.PromptInfoR\x04data\x12\x14\n" + "\x05count\x18\x02 \x01(\x03R\x05count\"<\n" + @@ -5985,7 +12610,705 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "\x15UpdatePromptBatchResp\x12$\n" + "\x04data\x18\x01 \x03(\v2\x10.Cast.PromptInfoR\x04data\x12\"\n" + "\fsuccessCount\x18\x02 \x01(\x05R\fsuccessCount\x12\x1c\n" + - "\tfailCount\x18\x03 \x01(\x05R\tfailCount*G\n" + + "\tfailCount\x18\x03 \x01(\x05R\tfailCount\"z\n" + + "\n" + + "ArtistInfo\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x12\x14\n" + + "\x05refID\x18\x02 \x01(\tR\x05refID\x12\x1e\n" + + "\n" + + "profileKey\x18\x03 \x01(\tR\n" + + "profileKey\x12\x16\n" + + "\x06subNum\x18\x04 \x01(\tR\x06subNum\"W\n" + + "\x0fUpdateArtistReq\x120\n" + + "\n" + + "artistInfo\x18\x01 \x01(\v2\x10.Cast.ArtistInfoR\n" + + "artistInfo\x12\x12\n" + + "\x04Uuid\x18\x02 \x01(\tR\x04Uuid\"2\n" + + "\x10UpdateArtistResp\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\".\n" + + "\fGetArtistReq\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\"U\n" + + "\rGetArtistResp\x120\n" + + "\n" + + "artistInfo\x18\x01 \x01(\v2\x10.Cast.ArtistInfoR\n" + + "artistInfo\x12\x12\n" + + "\x04Uuid\x18\x02 \x01(\tR\x04Uuid\"\xa7\x06\n" + + "\x15CreateWorkAnalysisReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x1e\n" + + "\n" + + "artistName\x18\x03 \x01(\tR\n" + + "artistName\x12\x1a\n" + + "\bartistID\x18\x04 \x01(\tR\bartistID\x12 \n" + + "\vartistPhone\x18\x05 \x01(\tR\vartistPhone\x12\x1a\n" + + "\banalysis\x18\x06 \x01(\tR\banalysis\x12\x14\n" + + "\x05title\x18\a \x01(\tR\x05title\x12\x16\n" + + "\x06pdfUrl\x18\b \x01(\tR\x06pdfUrl\x12,\n" + + "\x11mediaAccountCount\x18\t \x01(\x05R\x11mediaAccountCount\x12&\n" + + "\x0eworkVideoCount\x18\n" + + " \x01(\x05R\x0eworkVideoCount\x12&\n" + + "\x0eworkImageCount\x18\v \x01(\x05R\x0eworkImageCount\x12\x14\n" + + "\x05views\x18\f \x01(\x05R\x05views\x12\x14\n" + + "\x05likes\x18\r \x01(\x05R\x05likes\x12\x1a\n" + + "\bcomments\x18\x0e \x01(\x05R\bcomments\x12\x16\n" + + "\x06shares\x18\x0f \x01(\x05R\x06shares\x12\x1c\n" + + "\tfansCount\x18\x10 \x01(\x05R\tfansCount\x12\x1c\n" + + "\ttopCities\x18\x11 \x01(\x05R\ttopCities\x12$\n" + + "\rmostActiveDay\x18\x12 \x01(\x05R\rmostActiveDay\x12\"\n" + + "\fbestPostTime\x18\x13 \x01(\x05R\fbestPostTime\x12&\n" + + "\x0eperiodTypeFans\x18\x15 \x01(\rR\x0eperiodTypeFans\x12(\n" + + "\x0fperiodTypeViews\x18\x16 \x01(\rR\x0fperiodTypeViews\x12(\n" + + "\x0fperiodTypeLikes\x18\x17 \x01(\rR\x0fperiodTypeLikes\x12.\n" + + "\x12periodTypeComments\x18\x18 \x01(\rR\x12periodTypeComments\x12*\n" + + "\x10periodTypeShares\x18\x19 \x01(\rR\x10periodTypeShares\",\n" + + "\x16CreateWorkAnalysisResp\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"\xd1\x05\n" + + "\x15UpdateWorkAnalysisReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1a\n" + + "\banalysis\x18\x02 \x01(\tR\banalysis\x12\x14\n" + + "\x05title\x18\x03 \x01(\tR\x05title\x12\x16\n" + + "\x06pdfUrl\x18\x04 \x01(\tR\x06pdfUrl\x12,\n" + + "\x11mediaAccountCount\x18\x05 \x01(\x05R\x11mediaAccountCount\x12&\n" + + "\x0eworkVideoCount\x18\x06 \x01(\x05R\x0eworkVideoCount\x12&\n" + + "\x0eworkImageCount\x18\a \x01(\x05R\x0eworkImageCount\x12\x14\n" + + "\x05views\x18\b \x01(\x05R\x05views\x12\x14\n" + + "\x05likes\x18\t \x01(\x05R\x05likes\x12\x1a\n" + + "\bcomments\x18\n" + + " \x01(\x05R\bcomments\x12\x16\n" + + "\x06shares\x18\v \x01(\x05R\x06shares\x12\x1c\n" + + "\tfansCount\x18\f \x01(\x05R\tfansCount\x12\x1c\n" + + "\ttopCities\x18\r \x01(\x05R\ttopCities\x12$\n" + + "\rmostActiveDay\x18\x0e \x01(\x05R\rmostActiveDay\x12\"\n" + + "\fbestPostTime\x18\x0f \x01(\x05R\fbestPostTime\x12\x1e\n" + + "\n" + + "artistUUID\x18\x10 \x01(\tR\n" + + "artistUUID\x12&\n" + + "\x0eperiodTypeFans\x18\x11 \x01(\rR\x0eperiodTypeFans\x12(\n" + + "\x0fperiodTypeViews\x18\x12 \x01(\rR\x0fperiodTypeViews\x12(\n" + + "\x0fperiodTypeLikes\x18\x13 \x01(\rR\x0fperiodTypeLikes\x12.\n" + + "\x12periodTypeComments\x18\x14 \x01(\rR\x12periodTypeComments\x12*\n" + + "\x10periodTypeShares\x18\x15 \x01(\rR\x10periodTypeShares\"\x95\x02\n" + + "\x1bUpdateWorkAnalysisStatusReq\x124\n" + + "\n" + + "workAction\x18\x01 \x01(\x0e2\x14.Cast.WorkActionENUMR\n" + + "workAction\x12\x12\n" + + "\x04uuid\x18\x02 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "approvalID\x18\x03 \x01(\tR\n" + + "approvalID\x12$\n" + + "\rapprovalReply\x18\x04 \x01(\tR\rapprovalReply\x12$\n" + + "\rconfirmRemark\x18\x05 \x01(\tR\rconfirmRemark\x12$\n" + + "\rconfirmStatus\x18\x06 \x01(\rR\rconfirmStatus\x12\x1a\n" + + "\bcostType\x18\a \x01(\rR\bcostType\"\xc9\x02\n" + + "\x13WorkAnalysisLogInfo\x12\x1a\n" + + "\bworkUuid\x18\x01 \x01(\tR\bworkUuid\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x1e\n" + + "\n" + + "updateTime\x18\x03 \x01(\tR\n" + + "updateTime\x12.\n" + + "\x12workAnalysisStatus\x18\x04 \x01(\rR\x12workAnalysisStatus\x12\x1e\n" + + "\n" + + "artistName\x18\x05 \x01(\tR\n" + + "artistName\x12\x1e\n" + + "\n" + + "artistUuid\x18\x06 \x01(\tR\n" + + "artistUuid\x12,\n" + + "\x11analysisExtraData\x18\a \x01(\tR\x11analysisExtraData\x12\"\n" + + "\foperatorName\x18\b \x01(\tR\foperatorName\x12\x1e\n" + + "\n" + + "operatorID\x18\t \x01(\tR\n" + + "operatorID\"\xfe\x01\n" + + "\x16WorkAnalysisFansSeries\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1c\n" + + "\tfansCount\x18\x02 \x01(\x03R\tfansCount\x12\x1e\n" + + "\n" + + "periodType\x18\x03 \x01(\rR\n" + + "periodType\x12\x1c\n" + + "\tstartDate\x18\x04 \x01(\x05R\tstartDate\x12\x18\n" + + "\aendDate\x18\x05 \x01(\x05R\aendDate\x12\x1e\n" + + "\n" + + "detailJSON\x18\x06 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\a \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\b \x01(\x05R\tupdatedAt\"\x81\x02\n" + + "\x17WorkAnalysisViewsSeries\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "viewsCount\x18\x02 \x01(\x03R\n" + + "viewsCount\x12\x1e\n" + + "\n" + + "periodType\x18\x03 \x01(\rR\n" + + "periodType\x12\x1c\n" + + "\tstartDate\x18\x04 \x01(\x05R\tstartDate\x12\x18\n" + + "\aendDate\x18\x05 \x01(\x05R\aendDate\x12\x1e\n" + + "\n" + + "detailJSON\x18\x06 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\a \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\b \x01(\x05R\tupdatedAt\"\x81\x02\n" + + "\x17WorkAnalysisLikesSeries\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "likesCount\x18\x02 \x01(\x03R\n" + + "likesCount\x12\x1e\n" + + "\n" + + "periodType\x18\x03 \x01(\rR\n" + + "periodType\x12\x1c\n" + + "\tstartDate\x18\x04 \x01(\x05R\tstartDate\x12\x18\n" + + "\aendDate\x18\x05 \x01(\x05R\aendDate\x12\x1e\n" + + "\n" + + "detailJSON\x18\x06 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\a \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\b \x01(\x05R\tupdatedAt\"\x8a\x02\n" + + "\x1aWorkAnalysisCommentsSeries\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12$\n" + + "\rcommentsCount\x18\x02 \x01(\x03R\rcommentsCount\x12\x1e\n" + + "\n" + + "periodType\x18\x03 \x01(\rR\n" + + "periodType\x12\x1c\n" + + "\tstartDate\x18\x04 \x01(\x05R\tstartDate\x12\x18\n" + + "\aendDate\x18\x05 \x01(\x05R\aendDate\x12\x1e\n" + + "\n" + + "detailJSON\x18\x06 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\a \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\b \x01(\x05R\tupdatedAt\"\x84\x02\n" + + "\x18WorkAnalysisSharesSeries\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12 \n" + + "\vsharesCount\x18\x02 \x01(\x03R\vsharesCount\x12\x1e\n" + + "\n" + + "periodType\x18\x03 \x01(\rR\n" + + "periodType\x12\x1c\n" + + "\tstartDate\x18\x04 \x01(\x05R\tstartDate\x12\x18\n" + + "\aendDate\x18\x05 \x01(\x05R\aendDate\x12\x1e\n" + + "\n" + + "detailJSON\x18\x06 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\a \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\b \x01(\x05R\tupdatedAt\"\x87\x01\n" + + "\x15WorkAnalysisTopCities\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "citiesJSON\x18\x02 \x01(\tR\n" + + "citiesJSON\x12\x1c\n" + + "\tcreatedAt\x18\x03 \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\x04 \x01(\x05R\tupdatedAt\"\x8b\x01\n" + + "\x19WorkAnalysisMostActiveDay\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "detailJSON\x18\x02 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\x03 \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\x04 \x01(\x05R\tupdatedAt\"\x8a\x01\n" + + "\x18WorkAnalysisBestPostTime\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "detailJSON\x18\x02 \x01(\tR\n" + + "detailJSON\x12\x1c\n" + + "\tcreatedAt\x18\x03 \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\x04 \x01(\x05R\tupdatedAt\"\xc1\x01\n" + + "\x11WorkAnalysisExtra\x12\"\n" + + "\fanalysisUuid\x18\x01 \x01(\tR\fanalysisUuid\x120\n" + + "\x13artistConfirmedTime\x18\x02 \x01(\x03R\x13artistConfirmedTime\x12\x1a\n" + + "\bcostType\x18\x03 \x01(\rR\bcostType\x12\x1c\n" + + "\tcreatedAt\x18\x04 \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\x05 \x01(\x05R\tupdatedAt\".\n" + + "\x18GetWorkAnalysisDetailReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"2\n" + + "\x18GetLatestWorkAnalysisReq\x12\x16\n" + + "\x06subNum\x18\x01 \x01(\tR\x06subNum\"\xef\v\n" + + "\x13GetWorkAnalysisResp\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x1e\n" + + "\n" + + "artistName\x18\x03 \x01(\tR\n" + + "artistName\x12\x1a\n" + + "\bartistID\x18\x04 \x01(\tR\bartistID\x12 \n" + + "\vartistPhone\x18\x05 \x01(\tR\vartistPhone\x12\x1a\n" + + "\banalysis\x18\x06 \x01(\tR\banalysis\x12\x14\n" + + "\x05title\x18\a \x01(\tR\x05title\x12\x1e\n" + + "\n" + + "operatorID\x18\b \x01(\tR\n" + + "operatorID\x12\"\n" + + "\foperatorName\x18\t \x01(\tR\foperatorName\x12.\n" + + "\x12workAnalysisStatus\x18\n" + + " \x01(\rR\x12workAnalysisStatus\x12\x16\n" + + "\x06reason\x18\v \x01(\tR\x06reason\x12 \n" + + "\vcomfirmType\x18\f \x01(\x05R\vcomfirmType\x12\x12\n" + + "\x04cost\x18\r \x01(\rR\x04cost\x12\x1e\n" + + "\n" + + "submitTime\x18\x0e \x01(\tR\n" + + "submitTime\x12*\n" + + "\x10statusUpdateTime\x18\x0f \x01(\tR\x10statusUpdateTime\x12\x1e\n" + + "\n" + + "approvalID\x18\x10 \x01(\tR\n" + + "approvalID\x12\x16\n" + + "\x06pdfUrl\x18\x11 \x01(\tR\x06pdfUrl\x12,\n" + + "\x11mediaAccountCount\x18\x12 \x01(\x05R\x11mediaAccountCount\x12&\n" + + "\x0eworkVideoCount\x18\x13 \x01(\x05R\x0eworkVideoCount\x12&\n" + + "\x0eworkImageCount\x18\x14 \x01(\x05R\x0eworkImageCount\x12\x14\n" + + "\x05views\x18\x15 \x01(\x05R\x05views\x12\x14\n" + + "\x05likes\x18\x16 \x01(\x05R\x05likes\x12\x1a\n" + + "\bcomments\x18\x17 \x01(\x05R\bcomments\x12\x16\n" + + "\x06shares\x18\x18 \x01(\x05R\x06shares\x12\x1c\n" + + "\tfansCount\x18\x19 \x01(\x05R\tfansCount\x12\x1c\n" + + "\ttopCities\x18\x1a \x01(\x05R\ttopCities\x12$\n" + + "\rmostActiveDay\x18\x1b \x01(\x05R\rmostActiveDay\x12\"\n" + + "\fbestPostTime\x18\x1c \x01(\x05R\fbestPostTime\x12\x1c\n" + + "\tcreatedAt\x18\x1d \x01(\tR\tcreatedAt\x12<\n" + + "\n" + + "fansSeries\x18\x1e \x01(\v2\x1c.Cast.WorkAnalysisFansSeriesR\n" + + "fansSeries\x12?\n" + + "\vviewsSeries\x18\x1f \x01(\v2\x1d.Cast.WorkAnalysisViewsSeriesR\vviewsSeries\x12?\n" + + "\vlikesSeries\x18 \x01(\v2\x1d.Cast.WorkAnalysisLikesSeriesR\vlikesSeries\x12H\n" + + "\x0ecommentsSeries\x18! \x01(\v2 .Cast.WorkAnalysisCommentsSeriesR\x0ecommentsSeries\x12B\n" + + "\fsharesSeries\x18\" \x01(\v2\x1e.Cast.WorkAnalysisSharesSeriesR\fsharesSeries\x12E\n" + + "\x0ftopCitiesSeries\x18# \x01(\v2\x1b.Cast.WorkAnalysisTopCitiesR\x0ftopCitiesSeries\x12Q\n" + + "\x13mostActiveDaySeries\x18$ \x01(\v2\x1f.Cast.WorkAnalysisMostActiveDayR\x13mostActiveDaySeries\x12N\n" + + "\x12bestPostTimeSeries\x18% \x01(\v2\x1e.Cast.WorkAnalysisBestPostTimeR\x12bestPostTimeSeries\x12\x1c\n" + + "\tupdatedAt\x18& \x01(\tR\tupdatedAt\"\xf1\f\n" + + "\x19GetWorkAnalysisDetailResp\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x1e\n" + + "\n" + + "artistName\x18\x03 \x01(\tR\n" + + "artistName\x12\x1a\n" + + "\bartistID\x18\x04 \x01(\tR\bartistID\x12 \n" + + "\vartistPhone\x18\x05 \x01(\tR\vartistPhone\x12\x1a\n" + + "\banalysis\x18\x06 \x01(\tR\banalysis\x12\x14\n" + + "\x05title\x18\a \x01(\tR\x05title\x12\x1e\n" + + "\n" + + "operatorID\x18\b \x01(\tR\n" + + "operatorID\x12\"\n" + + "\foperatorName\x18\t \x01(\tR\foperatorName\x12.\n" + + "\x12workAnalysisStatus\x18\n" + + " \x01(\rR\x12workAnalysisStatus\x12\x16\n" + + "\x06reason\x18\v \x01(\tR\x06reason\x12 \n" + + "\vcomfirmType\x18\f \x01(\x05R\vcomfirmType\x12\x12\n" + + "\x04cost\x18\r \x01(\rR\x04cost\x12\x1e\n" + + "\n" + + "submitTime\x18\x0e \x01(\tR\n" + + "submitTime\x12*\n" + + "\x10statusUpdateTime\x18\x0f \x01(\tR\x10statusUpdateTime\x12\x1e\n" + + "\n" + + "approvalID\x18\x10 \x01(\tR\n" + + "approvalID\x12\x16\n" + + "\x06pdfUrl\x18\x11 \x01(\tR\x06pdfUrl\x12,\n" + + "\x11mediaAccountCount\x18\x12 \x01(\x05R\x11mediaAccountCount\x12&\n" + + "\x0eworkVideoCount\x18\x13 \x01(\x05R\x0eworkVideoCount\x12&\n" + + "\x0eworkImageCount\x18\x14 \x01(\x05R\x0eworkImageCount\x12\x14\n" + + "\x05views\x18\x15 \x01(\x05R\x05views\x12\x14\n" + + "\x05likes\x18\x16 \x01(\x05R\x05likes\x12\x1a\n" + + "\bcomments\x18\x17 \x01(\x05R\bcomments\x12\x16\n" + + "\x06shares\x18\x18 \x01(\x05R\x06shares\x12\x1c\n" + + "\tfansCount\x18\x19 \x01(\x05R\tfansCount\x12\x1c\n" + + "\ttopCities\x18\x1a \x01(\x05R\ttopCities\x12$\n" + + "\rmostActiveDay\x18\x1b \x01(\x05R\rmostActiveDay\x12\"\n" + + "\fbestPostTime\x18\x1c \x01(\x05R\fbestPostTime\x12K\n" + + "\x13WorkAnalysisLogData\x18\x1d \x03(\v2\x19.Cast.WorkAnalysisLogInfoR\x13WorkAnalysisLogData\x12<\n" + + "\n" + + "fansSeries\x18\x1e \x01(\v2\x1c.Cast.WorkAnalysisFansSeriesR\n" + + "fansSeries\x12?\n" + + "\vviewsSeries\x18\x1f \x01(\v2\x1d.Cast.WorkAnalysisViewsSeriesR\vviewsSeries\x12?\n" + + "\vlikesSeries\x18 \x01(\v2\x1d.Cast.WorkAnalysisLikesSeriesR\vlikesSeries\x12H\n" + + "\x0ecommentsSeries\x18! \x01(\v2 .Cast.WorkAnalysisCommentsSeriesR\x0ecommentsSeries\x12B\n" + + "\fsharesSeries\x18\" \x01(\v2\x1e.Cast.WorkAnalysisSharesSeriesR\fsharesSeries\x12E\n" + + "\x0ftopCitiesSeries\x18# \x01(\v2\x1b.Cast.WorkAnalysisTopCitiesR\x0ftopCitiesSeries\x12Q\n" + + "\x13mostActiveDaySeries\x18$ \x01(\v2\x1f.Cast.WorkAnalysisMostActiveDayR\x13mostActiveDaySeries\x12N\n" + + "\x12bestPostTimeSeries\x18% \x01(\v2\x1e.Cast.WorkAnalysisBestPostTimeR\x12bestPostTimeSeries\x12-\n" + + "\x05extra\x18& \x01(\v2\x17.Cast.WorkAnalysisExtraR\x05extra\x12\x1c\n" + + "\tcreatedAt\x18' \x01(\tR\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18( \x01(\tR\tupdatedAt\"\xc9\x03\n" + + "\x13ListWorkAnalysisReq\x12\x1a\n" + + "\buuidList\x18\x01 \x03(\tR\buuidList\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x1c\n" + + "\tartistVal\x18\x03 \x01(\tR\tartistVal\x12\x16\n" + + "\x06status\x18\x04 \x01(\rR\x06status\x12 \n" + + "\vcomfirmType\x18\x05 \x01(\x05R\vcomfirmType\x124\n" + + "\x15statusUpdateTimeStart\x18\x06 \x01(\tR\x15statusUpdateTimeStart\x120\n" + + "\x13statusUpdateTimeEnd\x18\a \x01(\tR\x13statusUpdateTimeEnd\x12(\n" + + "\x0fsubmitStartTime\x18\b \x01(\tR\x0fsubmitStartTime\x12$\n" + + "\rsubmitEndTime\x18\t \x01(\tR\rsubmitEndTime\x12\x12\n" + + "\x04page\x18\n" + + " \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\v \x01(\x05R\bpageSize\x12\x1e\n" + + "\n" + + "statusList\x18\f \x03(\rR\n" + + "statusList\x12\x1e\n" + + "\n" + + "artistUuid\x18\r \x01(\tR\n" + + "artistUuid\"\xe4\x03\n" + + "\x10WorkAnalysisInfo\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x1e\n" + + "\n" + + "artistName\x18\x03 \x01(\tR\n" + + "artistName\x12\x1a\n" + + "\bartistID\x18\x04 \x01(\tR\bartistID\x12 \n" + + "\vartistPhone\x18\x05 \x01(\tR\vartistPhone\x12\x1e\n" + + "\n" + + "operatorID\x18\x06 \x01(\tR\n" + + "operatorID\x12\"\n" + + "\foperatorName\x18\a \x01(\tR\foperatorName\x12.\n" + + "\x12workAnalysisStatus\x18\b \x01(\rR\x12workAnalysisStatus\x12\x16\n" + + "\x06reason\x18\t \x01(\tR\x06reason\x12 \n" + + "\vcomfirmType\x18\n" + + " \x01(\x05R\vcomfirmType\x12\x1e\n" + + "\n" + + "submitTime\x18\v \x01(\tR\n" + + "submitTime\x12*\n" + + "\x10statusUpdateTime\x18\f \x01(\tR\x10statusUpdateTime\x12\x16\n" + + "\x06pdfUrl\x18\r \x01(\tR\x06pdfUrl\x12\x1e\n" + + "\n" + + "approvalID\x18\x0e \x01(\tR\n" + + "approvalID\x12\x14\n" + + "\x05title\x18\x0f \x01(\tR\x05title\"X\n" + + "\x14ListWorkAnalysisResp\x12*\n" + + "\x04data\x18\x01 \x03(\v2\x16.Cast.WorkAnalysisInfoR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"+\n" + + "\x15DeleteWorkAnalysisReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\"\xa5\x02\n" + + "\x11ArtistDataListReq\x12\x1c\n" + + "\tartistVal\x18\x01 \x01(\tR\tartistVal\x12\x1e\n" + + "\n" + + "bundleName\x18\x02 \x01(\tR\n" + + "bundleName\x12*\n" + + "\x10expiredTimeStart\x18\x03 \x01(\tR\x10expiredTimeStart\x12&\n" + + "\x0eexpiredTimeEnd\x18\x04 \x01(\tR\x0eexpiredTimeEnd\x12(\n" + + "\x0fsubmitTimeStart\x18\x05 \x01(\tR\x0fsubmitTimeStart\x12$\n" + + "\rsubmitTimeEnd\x18\x06 \x01(\tR\rsubmitTimeEnd\x12\x12\n" + + "\x04page\x18\a \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\b \x01(\x05R\bpageSize\"\xd4\x05\n" + + "\x12ArtistDataRespItem\x12\x1e\n" + + "\n" + + "artistName\x18\x01 \x01(\tR\n" + + "artistName\x12\x1e\n" + + "\n" + + "artistUuid\x18\x02 \x01(\tR\n" + + "artistUuid\x12\x16\n" + + "\x06subNum\x18\x03 \x01(\tR\x06subNum\x12 \n" + + "\vartistPhone\x18\x04 \x01(\tR\vartistPhone\x12\x1e\n" + + "\n" + + "bundleName\x18\x05 \x01(\tR\n" + + "bundleName\x12$\n" + + "\raccountNumber\x18\x06 \x01(\x05R\raccountNumber\x12:\n" + + "\x18accountConsumptionNumber\x18\a \x01(\x05R\x18accountConsumptionNumber\x12.\n" + + "\x12dataAnalysisNumber\x18\b \x01(\x05R\x12dataAnalysisNumber\x12D\n" + + "\x1ddataAnalysisConsumptionNumber\x18\t \x01(\x05R\x1ddataAnalysisConsumptionNumber\x12\x1e\n" + + "\n" + + "submitTime\x18\n" + + " \x01(\tR\n" + + "submitTime\x12\x1c\n" + + "\tfansCount\x18\v \x01(\x03R\tfansCount\x12\x1e\n" + + "\n" + + "viewsCount\x18\f \x01(\x03R\n" + + "viewsCount\x12\x1e\n" + + "\n" + + "likesCount\x18\r \x01(\x03R\n" + + "likesCount\x12$\n" + + "\rcommentsCount\x18\x0e \x01(\x03R\rcommentsCount\x12 \n" + + "\vsharesCount\x18\x0f \x01(\x03R\vsharesCount\x12$\n" + + "\rcastWorkCount\x18\x10 \x01(\x03R\rcastWorkCount\x12 \n" + + "\vexpiredTime\x18\x11 \x01(\tR\vexpiredTime\x12\x1e\n" + + "\n" + + "videoCount\x18\x12 \x01(\x03R\n" + + "videoCount\x12\x1e\n" + + "\n" + + "imageCount\x18\x13 \x01(\x03R\n" + + "imageCount\"X\n" + + "\x12ArtistDataListResp\x12,\n" + + "\x04data\x18\x01 \x03(\v2\x18.Cast.ArtistDataRespItemR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"\xac\x01\n" + + "\x10MediaDataListReq\x12\x1c\n" + + "\tartistVal\x18\x01 \x01(\tR\tartistVal\x12*\n" + + "\x10platformUserName\x18\x02 \x01(\tR\x10platformUserName\x12\x1e\n" + + "\n" + + "platformID\x18\x03 \x01(\rR\n" + + "platformID\x12\x12\n" + + "\x04page\x18\x04 \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\x05 \x01(\x05R\bpageSize\"\x85\x04\n" + + "\x11MediaDataListItem\x12\x1e\n" + + "\n" + + "artistName\x18\x01 \x01(\tR\n" + + "artistName\x12\x1e\n" + + "\n" + + "artistUuid\x18\x02 \x01(\tR\n" + + "artistUuid\x12\x16\n" + + "\x06subNum\x18\x03 \x01(\tR\x06subNum\x12 \n" + + "\vartistPhone\x18\x04 \x01(\tR\vartistPhone\x12*\n" + + "\x10platformUserName\x18\x05 \x01(\tR\x10platformUserName\x12\x1e\n" + + "\n" + + "platformID\x18\x06 \x01(\rR\n" + + "platformID\x12\x1e\n" + + "\n" + + "submitTime\x18\a \x01(\tR\n" + + "submitTime\x12\x1c\n" + + "\tfansCount\x18\b \x01(\x03R\tfansCount\x12\x1e\n" + + "\n" + + "viewsCount\x18\t \x01(\x03R\n" + + "viewsCount\x12\x1e\n" + + "\n" + + "likesCount\x18\n" + + " \x01(\x03R\n" + + "likesCount\x12$\n" + + "\rcommentsCount\x18\v \x01(\x03R\rcommentsCount\x12 \n" + + "\vsharesCount\x18\f \x01(\x03R\vsharesCount\x12$\n" + + "\rcastWorkCount\x18\r \x01(\x03R\rcastWorkCount\x12\x1e\n" + + "\n" + + "videoCount\x18\x0e \x01(\x03R\n" + + "videoCount\x12\x1e\n" + + "\n" + + "imageCount\x18\x0f \x01(\x03R\n" + + "imageCount\"V\n" + + "\x11MediaDataListResp\x12+\n" + + "\x04data\x18\x01 \x03(\v2\x17.Cast.MediaDataListItemR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"%\n" + + "\x0fDataOverviewReq\x12\x12\n" + + "\x04date\x18\x01 \x01(\tR\x04date\"\xc0\x06\n" + + "\x10DataOverviewResp\x12\"\n" + + "\faccountCount\x18\x01 \x01(\x03R\faccountCount\x12,\n" + + "\x11todayAccountCount\x18\x02 \x01(\x03R\x11todayAccountCount\x12\x1c\n" + + "\tfansCount\x18\x03 \x01(\x03R\tfansCount\x12&\n" + + "\x0etodayFansCount\x18\x04 \x01(\x03R\x0etodayFansCount\x12\x1e\n" + + "\n" + + "viewsCount\x18\x05 \x01(\x03R\n" + + "viewsCount\x12(\n" + + "\x0ftodayViewsCount\x18\x06 \x01(\x03R\x0ftodayViewsCount\x12\x1e\n" + + "\n" + + "likesCount\x18\a \x01(\x03R\n" + + "likesCount\x12(\n" + + "\x0ftodayLikesCount\x18\b \x01(\x03R\x0ftodayLikesCount\x12$\n" + + "\rcommentsCount\x18\t \x01(\x03R\rcommentsCount\x12.\n" + + "\x12todayCommentsCount\x18\n" + + " \x01(\x03R\x12todayCommentsCount\x12 \n" + + "\vsharesCount\x18\v \x01(\x03R\vsharesCount\x12*\n" + + "\x10todaySharesCount\x18\f \x01(\x03R\x10todaySharesCount\x12\x1e\n" + + "\n" + + "imageCount\x18\r \x01(\x03R\n" + + "imageCount\x12(\n" + + "\x0ftodayImageCount\x18\x0e \x01(\x03R\x0ftodayImageCount\x12\x1e\n" + + "\n" + + "videoCount\x18\x0f \x01(\x03R\n" + + "videoCount\x12(\n" + + "\x0ftodayVideoCount\x18\x10 \x01(\x03R\x0ftodayVideoCount\x12*\n" + + "\x10confirmDataCount\x18\x11 \x01(\x03R\x10confirmDataCount\x124\n" + + "\x15todayConfirmDataCount\x18\x12 \x01(\x03R\x15todayConfirmDataCount\x126\n" + + "\x16toBeConfirmedDataCount\x18\x13 \x01(\x03R\x16toBeConfirmedDataCount\x12.\n" + + "\x12approvingDataCount\x18\x14 \x01(\x03R\x12approvingDataCount\"\x90\x02\n" + + "\x16ArtistMetricsSeriesReq\x12\x1e\n" + + "\n" + + "artistUUID\x18\x01 \x01(\tR\n" + + "artistUUID\x12&\n" + + "\x0eperiodTypeFans\x18\x02 \x01(\rR\x0eperiodTypeFans\x12(\n" + + "\x0fperiodTypeViews\x18\x03 \x01(\rR\x0fperiodTypeViews\x12(\n" + + "\x0fperiodTypeLikes\x18\x04 \x01(\rR\x0fperiodTypeLikes\x12.\n" + + "\x12periodTypeComments\x18\x05 \x01(\rR\x12periodTypeComments\x12*\n" + + "\x10periodTypeShares\x18\x06 \x01(\rR\x10periodTypeShares\"\xf2\x03\n" + + "\x17ArtistMetricsSeriesResp\x12<\n" + + "\n" + + "fansSeries\x18\x01 \x01(\v2\x1c.Cast.WorkAnalysisFansSeriesR\n" + + "fansSeries\x12?\n" + + "\vviewsSeries\x18\x02 \x01(\v2\x1d.Cast.WorkAnalysisViewsSeriesR\vviewsSeries\x12?\n" + + "\vlikesSeries\x18\x03 \x01(\v2\x1d.Cast.WorkAnalysisLikesSeriesR\vlikesSeries\x12H\n" + + "\x0ecommentsSeries\x18\x04 \x01(\v2 .Cast.WorkAnalysisCommentsSeriesR\x0ecommentsSeries\x12B\n" + + "\fsharesSeries\x18\x05 \x01(\v2\x1e.Cast.WorkAnalysisSharesSeriesR\fsharesSeries\x12B\n" + + "\fbestPostTime\x18\x06 \x01(\v2\x1e.Cast.WorkAnalysisBestPostTimeR\fbestPostTime\x12E\n" + + "\rmostActiveDay\x18\a \x01(\v2\x1f.Cast.WorkAnalysisMostActiveDayR\rmostActiveDay\"q\n" + + "\x1bArtistMetricsDailyWindowReq\x12\x1e\n" + + "\n" + + "artistUUID\x18\x01 \x01(\tR\n" + + "artistUUID\x12\x1e\n" + + "\n" + + "platformID\x18\x02 \x01(\rR\n" + + "platformID\x12\x12\n" + + "\x04date\x18\x03 \x01(\x05R\x04date\"7\n" + + "\vSimplePoint\x12\x12\n" + + "\x04date\x18\x01 \x01(\x05R\x04date\x12\x14\n" + + "\x05value\x18\x02 \x01(\x03R\x05value\"G\n" + + "\x11BestPostTimePoint\x12\x1c\n" + + "\ttimePoint\x18\x01 \x01(\tR\ttimePoint\x12\x14\n" + + "\x05value\x18\x02 \x01(\x05R\x05value\"<\n" + + "\x12MostActiveDayPoint\x12\x10\n" + + "\x03day\x18\x01 \x01(\x05R\x03day\x12\x14\n" + + "\x05value\x18\x02 \x01(\x05R\x05value\"\x94\x04\n" + + "\x1cArtistMetricsDailyWindowResp\x12\x1c\n" + + "\tfansCount\x18\x01 \x01(\x03R\tfansCount\x12\x1e\n" + + "\n" + + "viewsCount\x18\x02 \x01(\x03R\n" + + "viewsCount\x12\x1e\n" + + "\n" + + "likesCount\x18\x03 \x01(\x03R\n" + + "likesCount\x12$\n" + + "\rcommentsCount\x18\x04 \x01(\x03R\rcommentsCount\x12 \n" + + "\vsharesCount\x18\x05 \x01(\x03R\vsharesCount\x12%\n" + + "\x04fans\x18\x06 \x03(\v2\x11.Cast.SimplePointR\x04fans\x12'\n" + + "\x05views\x18\a \x03(\v2\x11.Cast.SimplePointR\x05views\x12'\n" + + "\x05likes\x18\b \x03(\v2\x11.Cast.SimplePointR\x05likes\x12-\n" + + "\bcomments\x18\t \x03(\v2\x11.Cast.SimplePointR\bcomments\x12)\n" + + "\x06shares\x18\n" + + " \x03(\v2\x11.Cast.SimplePointR\x06shares\x12;\n" + + "\fbestPostTime\x18\v \x03(\v2\x17.Cast.BestPostTimePointR\fbestPostTime\x12>\n" + + "\rmostActiveDay\x18\f \x03(\v2\x18.Cast.MostActiveDayPointR\rmostActiveDay\"f\n" + + "\x14TobeConfirmedListReq\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x12\x12\n" + + "\x04page\x18\x02 \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\x03 \x01(\x05R\bpageSize\"\xff\x03\n" + + "\x11TobeConfirmedItem\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + + "\acontent\x18\x03 \x01(\tR\acontent\x12\"\n" + + "\fworkCategory\x18\x04 \x01(\x05R\fworkCategory\x12\x1e\n" + + "\n" + + "updateTime\x18\x05 \x01(\tR\n" + + "updateTime\x12\x1e\n" + + "\n" + + "workStatus\x18\x06 \x01(\x05R\n" + + "workStatus\x12 \n" + + "\vplatformIds\x18\a \x01(\tR\vplatformIds\x12\x1e\n" + + "\n" + + "artistName\x18\b \x01(\tR\n" + + "artistName\x12\x1e\n" + + "\n" + + "artistUuid\x18\t \x01(\tR\n" + + "artistUuid\x12(\n" + + "\x0fmediaAccUserIds\x18\n" + + " \x01(\tR\x0fmediaAccUserIds\x12\x1e\n" + + "\n" + + "mediaNames\x18\v \x01(\tR\n" + + "mediaNames\x12 \n" + + "\vconfirmedAt\x18\f \x01(\x03R\vconfirmedAt\x12\x1a\n" + + "\bitemType\x18\r \x01(\x05R\bitemType\x12\x1c\n" + + "\tcreatedAt\x18\x0e \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\x0f \x01(\x05R\tupdatedAt\x12\x1c\n" + + "\tdeletedAt\x18\x10 \x01(\x04R\tdeletedAt\"Z\n" + + "\x15TobeConfirmedListResp\x12+\n" + + "\x04data\x18\x01 \x03(\v2\x17.Cast.TobeConfirmedItemR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"U\n" + + "\x1fUpdateWorkAnalysisApprovalIDReq\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "approvalID\x18\x02 \x01(\tR\n" + + "approvalID\"\xed\x03\n" + + "\x15MediaMetricsDailyItem\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "artistUuid\x18\x02 \x01(\tR\n" + + "artistUuid\x12&\n" + + "\x0emediaAccUserID\x18\x03 \x01(\tR\x0emediaAccUserID\x12\x1c\n" + + "\tmediaName\x18\x04 \x01(\tR\tmediaName\x12\x1e\n" + + "\n" + + "artistName\x18\x05 \x01(\tR\n" + + "artistName\x12 \n" + + "\vartistPhone\x18\x06 \x01(\tR\vartistPhone\x12\x1e\n" + + "\n" + + "platformID\x18\a \x01(\rR\n" + + "platformID\x12\x12\n" + + "\x04date\x18\b \x01(\x05R\x04date\x12\x1c\n" + + "\tfansCount\x18\t \x01(\x03R\tfansCount\x12\x1e\n" + + "\n" + + "viewsCount\x18\n" + + " \x01(\x03R\n" + + "viewsCount\x12\x1e\n" + + "\n" + + "likesCount\x18\v \x01(\x03R\n" + + "likesCount\x12$\n" + + "\rcommentsCount\x18\f \x01(\x03R\rcommentsCount\x12 \n" + + "\vsharesCount\x18\r \x01(\x03R\vsharesCount\x12\x1e\n" + + "\n" + + "videoCount\x18\x0e \x01(\x03R\n" + + "videoCount\x12\x1e\n" + + "\n" + + "imageCount\x18\x0f \x01(\x03R\n" + + "imageCount\"R\n" + + "\x1fUpsertMediaMetricsDailyBatchReq\x12/\n" + + "\x04data\x18\x01 \x03(\v2\x1b.Cast.MediaMetricsDailyItemR\x04data\"<\n" + + " UpsertMediaMetricsDailyBatchResp\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\"\xaa\x03\n" + + "\x14WorkMetricsDailyItem\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1a\n" + + "\bworkUuid\x18\x02 \x01(\tR\bworkUuid\x12\x1e\n" + + "\n" + + "artistUuid\x18\x03 \x01(\tR\n" + + "artistUuid\x12&\n" + + "\x0emediaAccUserID\x18\x04 \x01(\tR\x0emediaAccUserID\x12\x1c\n" + + "\tmediaName\x18\x05 \x01(\tR\tmediaName\x12\x1e\n" + + "\n" + + "artistName\x18\x06 \x01(\tR\n" + + "artistName\x12 \n" + + "\vartistPhone\x18\a \x01(\tR\vartistPhone\x12\x1e\n" + + "\n" + + "platformID\x18\b \x01(\rR\n" + + "platformID\x12\x12\n" + + "\x04date\x18\t \x01(\x05R\x04date\x12\x1e\n" + + "\n" + + "viewsCount\x18\n" + + " \x01(\x03R\n" + + "viewsCount\x12\x1e\n" + + "\n" + + "likesCount\x18\v \x01(\x03R\n" + + "likesCount\x12$\n" + + "\rcommentsCount\x18\f \x01(\x03R\rcommentsCount\x12 \n" + + "\vsharesCount\x18\r \x01(\x03R\vsharesCount\"P\n" + + "\x1eUpsertWorkMetricsDailyBatchReq\x12.\n" + + "\x04data\x18\x01 \x03(\v2\x1a.Cast.WorkMetricsDailyItemR\x04data\";\n" + + "\x1fUpsertWorkMetricsDailyBatchResp\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\"\x9a\x01\n" + + "\x18GetArtistAyrShareInfoReq\x12\x1e\n" + + "\n" + + "artistUuid\x18\x01 \x01(\tR\n" + + "artistUuid\x12\x16\n" + + "\x06subNum\x18\x02 \x01(\tR\x06subNum\x12\x16\n" + + "\x06status\x18\x03 \x01(\x05R\x06status\x12\x12\n" + + "\x04page\x18\x04 \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\x05 \x01(\x05R\bpageSize\"\x9a\x02\n" + + "\x12ArtistAyrShareInfo\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1e\n" + + "\n" + + "artistUuid\x18\x02 \x01(\tR\n" + + "artistUuid\x12\x16\n" + + "\x06subNum\x18\x03 \x01(\tR\x06subNum\x12\x14\n" + + "\x05refId\x18\x04 \x01(\tR\x05refId\x12\x1e\n" + + "\n" + + "profileKey\x18\x05 \x01(\tR\n" + + "profileKey\x12.\n" + + "\x12ayrShareCreateTime\x18\x06 \x01(\tR\x12ayrShareCreateTime\x12\x16\n" + + "\x06status\x18\a \x01(\x05R\x06status\x12\x1c\n" + + "\tcreatedAt\x18\b \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\t \x01(\x05R\tupdatedAt\"_\n" + + "\x19GetArtistAyrShareInfoResp\x12,\n" + + "\x04data\x18\x01 \x03(\v2\x18.Cast.ArtistAyrShareInfoR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"\x9b\x01\n" + + "\x17ListWorkPlatformInfoReq\x12 \n" + + "\vplatformIDs\x18\x01 \x03(\rR\vplatformIDs\x12.\n" + + "\x12publishMediaStatus\x18\x02 \x01(\x05R\x12publishMediaStatus\x12\x12\n" + + "\x04page\x18\x03 \x01(\x05R\x04page\x12\x1a\n" + + "\bpageSize\x18\x04 \x01(\x05R\bpageSize\"\xd2\x02\n" + + "\x10WorkPlatformInfo\x12\x12\n" + + "\x04uuid\x18\x01 \x01(\tR\x04uuid\x12\x1a\n" + + "\bworkUuid\x18\x02 \x01(\tR\bworkUuid\x12 \n" + + "\vmediaUserID\x18\x03 \x01(\tR\vmediaUserID\x12\x1e\n" + + "\n" + + "platformID\x18\x04 \x01(\rR\n" + + "platformID\x12 \n" + + "\vpublishResp\x18\x05 \x01(\tR\vpublishResp\x12&\n" + + "\x0epublishMediaID\x18\x06 \x01(\tR\x0epublishMediaID\x12.\n" + + "\x12publishMediaStatus\x18\a \x01(\x05R\x12publishMediaStatus\x12\x16\n" + + "\x06remark\x18\b \x01(\tR\x06remark\x12\x1c\n" + + "\tcreatedAt\x18\t \x01(\x05R\tcreatedAt\x12\x1c\n" + + "\tupdatedAt\x18\n" + + " \x01(\x05R\tupdatedAt\"\\\n" + + "\x18ListWorkPlatformInfoResp\x12*\n" + + "\x04data\x18\x01 \x03(\v2\x16.Cast.WorkPlatformInfoR\x04data\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count*G\n" + "\x0ePlatformIDENUM\x12\v\n" + "\aUNKNOWN\x10\x00\x12\n" + "\n" + @@ -5998,31 +13321,39 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "\n" + "\x06AuthOk\x10\x01\x12\n" + "\n" + - "\x06AuthNo\x10\x02*w\n" + + "\x06AuthNo\x10\x02*\x81\x01\n" + "\x0eWorkActionENUM\x12\r\n" + "\tNO_ACTION\x10\x00\x12\v\n" + "\aCONFIRM\x10\x01\x12\f\n" + "\bAPPROVAL\x10\x02\x12\x11\n" + "\rAPPROVAL_PASS\x10\x03\x12\x13\n" + "\x0fAPPROVAL_REJECT\x10\x04\x12\x13\n" + - "\x0fAPPROVAL_DELETE\x10\x05*V\n" + + "\x0fAPPROVAL_DELETE\x10\x05\x12\b\n" + + "\x04READ\x10\x06*V\n" + "\x0fAutoPublishENUM\x12\x16\n" + "\x12AutoPublish_UNKONW\x10\x00\x12\x14\n" + "\x10AutoPublish_TRUE\x10\x01\x12\x15\n" + - "\x11AutoPublish_FALSE\x10\x02*Y\n" + + "\x11AutoPublish_FALSE\x10\x02*\xa6\x01\n" + + "\x11PublishStatusENUM\x12\x19\n" + + "\x15PublishMediaStatus_NO\x10\x00\x12\x1a\n" + + "\x16PublishMediaStatus_ING\x10\x01\x12\x1b\n" + + "\x17PublishMediaStatus_DONE\x10\x02\x12\x1b\n" + + "\x17PublishMediaStatus_FAIL\x10\x03\x12 \n" + + "\x1cPublishMediaStatus_EXCEPTION\x10\x04*Y\n" + "\fCategoryENUM\x12\x14\n" + "\x10UNKNOWN_CATEGORY\x10\x00\x12\t\n" + "\x05TITLE\x10\x01\x12\v\n" + "\aCONTENT\x10\x02\x12\t\n" + "\x05IMAGE\x10\x03\x12\x10\n" + - "\fLONG_CONTENT\x10\x042\xab\x12\n" + + "\fLONG_CONTENT\x10\x042\xe7\"\n" + "\x04Cast\x12B\n" + "\rMediaUserList\x12\x16.Cast.MediaUserListReq\x1a\x17.Cast.MediaUserListResp\"\x00\x12Q\n" + "\x12UpdateMediaAccount\x12\x1b.Cast.UpdateMediaAccountReq\x1a\x1c.Cast.UpdateMediaAccountResp\"\x00\x12B\n" + "\rUnbindManager\x12\x16.Cast.UnbindManagerReq\x1a\x17.Cast.UnbindManagerResp\"\x00\x12=\n" + "\vBindManager\x12\x14.Cast.BindManagerReq\x1a\x16.google.protobuf.Empty\"\x00\x12H\n" + "\x0fUpdateWorkImage\x12\x18.Cast.UpdateWorkImageReq\x1a\x19.Cast.UpdateWorkImageResp\"\x00\x12H\n" + - "\x0fUpdateWorkVideo\x12\x18.Cast.UpdateWorkVideoReq\x1a\x19.Cast.UpdateWorkVideoResp\"\x00\x123\n" + + "\x0fUpdateWorkVideo\x12\x18.Cast.UpdateWorkVideoReq\x1a\x19.Cast.UpdateWorkVideoResp\"\x00\x126\n" + + "\tMediaInfo\x12\x12.Cast.MediaInfoReq\x1a\x13.Cast.MediaInfoResp\"\x00\x123\n" + "\bWorkList\x12\x11.Cast.WorkListReq\x1a\x12.Cast.WorkListResp\"\x00\x129\n" + "\n" + "WorkDetail\x12\x13.Cast.WorkDetailReq\x1a\x14.Cast.WorkDetailResp\"\x00\x12?\n" + @@ -6036,9 +13367,14 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "\bWorkInfo\x12\x11.Cast.WorkInfoReq\x1a\x12.Cast.WorkInfoResp\"\x00\x129\n" + "\n" + "ArtistInfo\x12\x13.Cast.ArtistInfoReq\x1a\x14.Cast.ArtistInfoResp\"\x00\x12H\n" + - "\x0fImportWorkBatch\x12\x18.Cast.ImportWorkBatchReq\x1a\x19.Cast.ImportWorkBatchResp\"\x00\x12?\n" + - "\fOAuthAccount\x12\x15.Cast.OAuthAccountReq\x1a\x16.Cast.OAuthAccountResp\"\x00\x12K\n" + - "\x10OAuthCodeToToken\x12\x19.Cast.OAuthCodeToTokenReq\x1a\x1a.Cast.OAuthCodeToTokenResp\"\x00\x12?\n" + + "\x0fImportWorkBatch\x12\x18.Cast.ImportWorkBatchReq\x1a\x19.Cast.ImportWorkBatchResp\"\x00\x12]\n" + + "\x16UpdateWorkPlatformInfo\x12\x1f.Cast.UpdateWorkPlatformInfoReq\x1a .Cast.UpdateWorkPlatformInfoResp\"\x00\x12O\n" + + "\x14UpdateWorkPublishLog\x12\x1d.Cast.UpdateWorkPublishLogReq\x1a\x16.google.protobuf.Empty\"\x00\x12H\n" + + "\x0fRefreshWorkList\x12\x18.Cast.RefreshWorkListReq\x1a\x19.Cast.RefreshWorkListResp\"\x00\x12?\n" + + "\fOAuthAccount\x12\x15.Cast.OAuthAccountReq\x1a\x16.Cast.OAuthAccountResp\"\x00\x12E\n" + + "\x0eOAuthAccountV2\x12\x17.Cast.OAuthAccountV2Req\x1a\x18.Cast.OAuthAccountV2Resp\"\x00\x12K\n" + + "\x10OAuthCodeToToken\x12\x19.Cast.OAuthCodeToTokenReq\x1a\x1a.Cast.OAuthCodeToTokenResp\"\x00\x12=\n" + + "\vUpdateOAuth\x12\x14.Cast.UpdateOAuthReq\x1a\x16.google.protobuf.Empty\"\x00\x12?\n" + "\fRefreshToken\x12\x15.Cast.RefreshTokenReq\x1a\x16.Cast.RefreshTokenResp\"\x00\x12K\n" + "\x10PublishMediaInfo\x12\x19.Cast.PublishMediaInfoReq\x1a\x1a.Cast.PublishMediaInfoResp\"\x00\x128\n" + "\x04Test\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x12N\n" + @@ -6054,7 +13390,27 @@ const file_pb_fiee_cast_proto_rawDesc = "" + "\fDeletePrompt\x12\x15.Cast.DeletePromptReq\x1a\x16.google.protobuf.Empty\"\x00\x126\n" + "\tGetPrompt\x12\x12.Cast.GetPromptReq\x1a\x13.Cast.GetPromptResp\"\x00\x12<\n" + "\vListPrompts\x12\x14.Cast.ListPromptsReq\x1a\x15.Cast.ListPromptsResp\"\x00\x12N\n" + - "\x11UpdatePromptBatch\x12\x1a.Cast.UpdatePromptBatchReq\x1a\x1b.Cast.UpdatePromptBatchResp\"\x00B\rZ\v./cast;castb\x06proto3" + "\x11UpdatePromptBatch\x12\x1a.Cast.UpdatePromptBatchReq\x1a\x1b.Cast.UpdatePromptBatchResp\"\x00\x12?\n" + + "\fUpdateArtist\x12\x15.Cast.UpdateArtistReq\x1a\x16.Cast.UpdateArtistResp\"\x00\x126\n" + + "\tGetArtist\x12\x12.Cast.GetArtistReq\x1a\x13.Cast.GetArtistResp\"\x00\x12Q\n" + + "\x12CreateWorkAnalysis\x12\x1b.Cast.CreateWorkAnalysisReq\x1a\x1c.Cast.CreateWorkAnalysisResp\"\x00\x12K\n" + + "\x12UpdateWorkAnalysis\x12\x1b.Cast.UpdateWorkAnalysisReq\x1a\x16.google.protobuf.Empty\"\x00\x12W\n" + + "\x18UpdateWorkAnalysisStatus\x12!.Cast.UpdateWorkAnalysisStatusReq\x1a\x16.google.protobuf.Empty\"\x00\x12T\n" + + "\x0fGetWorkAnalysis\x12\x1e.Cast.GetWorkAnalysisDetailReq\x1a\x1f.Cast.GetWorkAnalysisDetailResp\"\x00\x12T\n" + + "\x15GetLatestWorkAnalysis\x12\x1e.Cast.GetLatestWorkAnalysisReq\x1a\x19.Cast.GetWorkAnalysisResp\"\x00\x12K\n" + + "\x10ListWorkAnalysis\x12\x19.Cast.ListWorkAnalysisReq\x1a\x1a.Cast.ListWorkAnalysisResp\"\x00\x12K\n" + + "\x12DeleteWorkAnalysis\x12\x1b.Cast.DeleteWorkAnalysisReq\x1a\x16.google.protobuf.Empty\"\x00\x12_\n" + + "\x1cUpdateWorkAnalysisApprovalID\x12%.Cast.UpdateWorkAnalysisApprovalIDReq\x1a\x16.google.protobuf.Empty\"\x00\x12E\n" + + "\x0eArtistDataList\x12\x17.Cast.ArtistDataListReq\x1a\x18.Cast.ArtistDataListResp\"\x00\x12B\n" + + "\rMediaDataList\x12\x16.Cast.MediaDataListReq\x1a\x17.Cast.MediaDataListResp\"\x00\x12?\n" + + "\fDataOverview\x12\x15.Cast.DataOverviewReq\x1a\x16.Cast.DataOverviewResp\"\x00\x12T\n" + + "\x13ArtistMetricsSeries\x12\x1c.Cast.ArtistMetricsSeriesReq\x1a\x1d.Cast.ArtistMetricsSeriesResp\"\x00\x12c\n" + + "\x18ArtistMetricsDailyWindow\x12!.Cast.ArtistMetricsDailyWindowReq\x1a\".Cast.ArtistMetricsDailyWindowResp\"\x00\x12N\n" + + "\x11TobeConfirmedList\x12\x1a.Cast.TobeConfirmedListReq\x1a\x1b.Cast.TobeConfirmedListResp\"\x00\x12o\n" + + "\x1cUpsertMediaMetricsDailyBatch\x12%.Cast.UpsertMediaMetricsDailyBatchReq\x1a&.Cast.UpsertMediaMetricsDailyBatchResp\"\x00\x12l\n" + + "\x1bUpsertWorkMetricsDailyBatch\x12$.Cast.UpsertWorkMetricsDailyBatchReq\x1a%.Cast.UpsertWorkMetricsDailyBatchResp\"\x00\x12Z\n" + + "\x15GetArtistAyrShareInfo\x12\x1e.Cast.GetArtistAyrShareInfoReq\x1a\x1f.Cast.GetArtistAyrShareInfoResp\"\x00\x12W\n" + + "\x14ListWorkPlatformInfo\x12\x1d.Cast.ListWorkPlatformInfoReq\x1a\x1e.Cast.ListWorkPlatformInfoResp\"\x00B\rZ\v./cast;castb\x06proto3" var ( file_pb_fiee_cast_proto_rawDescOnce sync.Once @@ -6068,208 +13424,386 @@ func file_pb_fiee_cast_proto_rawDescGZIP() []byte { return file_pb_fiee_cast_proto_rawDescData } -var file_pb_fiee_cast_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_pb_fiee_cast_proto_msgTypes = make([]protoimpl.MessageInfo, 72) +var file_pb_fiee_cast_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_pb_fiee_cast_proto_msgTypes = make([]protoimpl.MessageInfo, 144) var file_pb_fiee_cast_proto_goTypes = []any{ - (PlatformIDENUM)(0), // 0: Cast.PlatformIDENUM - (AuthStatusENUM)(0), // 1: Cast.AuthStatusENUM - (WorkActionENUM)(0), // 2: Cast.WorkActionENUM - (AutoPublishENUM)(0), // 3: Cast.AutoPublishENUM - (CategoryENUM)(0), // 4: Cast.CategoryENUM - (*MediaUserListReq)(nil), // 5: Cast.MediaUserListReq - (*MediaUserInfo)(nil), // 6: Cast.MediaUserInfo - (*MediaUserListResp)(nil), // 7: Cast.MediaUserListResp - (*UpdateMediaAccountReq)(nil), // 8: Cast.UpdateMediaAccountReq - (*UpdateMediaAccountResp)(nil), // 9: Cast.UpdateMediaAccountResp - (*UnbindManagerReq)(nil), // 10: Cast.UnbindManagerReq - (*UnbindManagerResp)(nil), // 11: Cast.UnbindManagerResp - (*BindManagerReq)(nil), // 12: Cast.BindManagerReq - (*UpdateWorkImageReq)(nil), // 13: Cast.UpdateWorkImageReq - (*UpdateWorkImageResp)(nil), // 14: Cast.UpdateWorkImageResp - (*PublishConfig)(nil), // 15: Cast.PublishConfig - (*UpdateWorkVideoReq)(nil), // 16: Cast.UpdateWorkVideoReq - (*UpdateWorkVideoResp)(nil), // 17: Cast.UpdateWorkVideoResp - (*WorkListReq)(nil), // 18: Cast.WorkListReq - (*WorkListResp)(nil), // 19: Cast.WorkListResp - (*WorkDetailReq)(nil), // 20: Cast.WorkDetailReq - (*WorkLogInfo)(nil), // 21: Cast.WorkLogInfo - (*WorkDetailResp)(nil), // 22: Cast.WorkDetailResp - (*UpdateStatusReq)(nil), // 23: Cast.UpdateStatusReq - (*MediaAccountsReq)(nil), // 24: Cast.MediaAccountsReq - (*MediaAccountsResp)(nil), // 25: Cast.MediaAccountsResp - (*MediaWorksReq)(nil), // 26: Cast.MediaWorksReq - (*MediaWorksResp)(nil), // 27: Cast.MediaWorksResp - (*PublishReq)(nil), // 28: Cast.PublishReq - (*PublishResp)(nil), // 29: Cast.PublishResp - (*RePublishReq)(nil), // 30: Cast.RePublishReq - (*RePublishResp)(nil), // 31: Cast.RePublishResp - (*DelWorkReq)(nil), // 32: Cast.DelWorkReq - (*WorkInfoReq)(nil), // 33: Cast.WorkInfoReq - (*WorkInfoResp)(nil), // 34: Cast.WorkInfoResp - (*ArtistInfoReq)(nil), // 35: Cast.ArtistInfoReq - (*ArtistInfoResp)(nil), // 36: Cast.ArtistInfoResp - (*ImportWorkBatchReq)(nil), // 37: Cast.ImportWorkBatchReq - (*ImportWorkBatchResp)(nil), // 38: Cast.ImportWorkBatchResp - (*OAuthAccountReq)(nil), // 39: Cast.OAuthAccountReq - (*OAuthAccountResp)(nil), // 40: Cast.OAuthAccountResp - (*OAuthYoutubeTokenReq)(nil), // 41: Cast.OAuthYoutubeTokenReq - (*OAuthYoutubeTokenResp)(nil), // 42: Cast.OAuthYoutubeTokenResp - (*OAuthCodeToTokenReq)(nil), // 43: Cast.OAuthCodeToTokenReq - (*OAuthCodeToTokenResp)(nil), // 44: Cast.OAuthCodeToTokenResp - (*RefreshTokenReq)(nil), // 45: Cast.RefreshTokenReq - (*RefreshTokenResp)(nil), // 46: Cast.RefreshTokenResp - (*PublishMediaInfoReq)(nil), // 47: Cast.PublishMediaInfoReq - (*PublishMediaInfoResp)(nil), // 48: Cast.PublishMediaInfoResp - (*UpdateVideoScriptReq)(nil), // 49: Cast.UpdateVideoScriptReq - (*UpdateVideoScriptResp)(nil), // 50: Cast.UpdateVideoScriptResp - (*GetVideoScriptReq)(nil), // 51: Cast.GetVideoScriptReq - (*GetVideoScriptResp)(nil), // 52: Cast.GetVideoScriptResp - (*ListVideoScriptsReq)(nil), // 53: Cast.ListVideoScriptsReq - (*VideoScriptInfo)(nil), // 54: Cast.VideoScriptInfo - (*ListVideoScriptsResp)(nil), // 55: Cast.ListVideoScriptsResp - (*DeleteVideoScriptReq)(nil), // 56: Cast.DeleteVideoScriptReq - (*UpdateVideoScriptBatchReq)(nil), // 57: Cast.UpdateVideoScriptBatchReq - (*UpdateVideoScriptBatchResp)(nil), // 58: Cast.UpdateVideoScriptBatchResp - (*UpdateScriptStatusReq)(nil), // 59: Cast.UpdateScriptStatusReq - (*SetLayoutReq)(nil), // 60: Cast.SetLayoutReq - (*GetLayoutReq)(nil), // 61: Cast.GetLayoutReq - (*GetLayoutResp)(nil), // 62: Cast.GetLayoutResp - (*UpdatePromptReq)(nil), // 63: Cast.UpdatePromptReq - (*DeletePromptReq)(nil), // 64: Cast.DeletePromptReq - (*GetPromptReq)(nil), // 65: Cast.GetPromptReq - (*GetPromptResp)(nil), // 66: Cast.GetPromptResp - (*ListPromptsReq)(nil), // 67: Cast.ListPromptsReq - (*PromptInfo)(nil), // 68: Cast.PromptInfo - (*ListPromptsResp)(nil), // 69: Cast.ListPromptsResp - (*UpdatePromptBatchReq)(nil), // 70: Cast.UpdatePromptBatchReq - (*UpdatePromptBatchResp)(nil), // 71: Cast.UpdatePromptBatchResp - (*WorkListResp_Info)(nil), // 72: Cast.WorkListResp.Info - nil, // 73: Cast.WorkDetailResp.MediaAccDataEntry - (*MediaAccountsResp_Info)(nil), // 74: Cast.MediaAccountsResp.Info - (*MediaWorksResp_Info)(nil), // 75: Cast.MediaWorksResp.Info - (*PublishResp_Info)(nil), // 76: Cast.PublishResp.Info - (*emptypb.Empty)(nil), // 77: google.protobuf.Empty + (PlatformIDENUM)(0), // 0: Cast.PlatformIDENUM + (AuthStatusENUM)(0), // 1: Cast.AuthStatusENUM + (WorkActionENUM)(0), // 2: Cast.WorkActionENUM + (AutoPublishENUM)(0), // 3: Cast.AutoPublishENUM + (PublishStatusENUM)(0), // 4: Cast.PublishStatusENUM + (CategoryENUM)(0), // 5: Cast.CategoryENUM + (*MediaUserListReq)(nil), // 6: Cast.MediaUserListReq + (*MediaUserInfo)(nil), // 7: Cast.MediaUserInfo + (*MediaUserListResp)(nil), // 8: Cast.MediaUserListResp + (*UpdateMediaAccountReq)(nil), // 9: Cast.UpdateMediaAccountReq + (*UpdateMediaAccountResp)(nil), // 10: Cast.UpdateMediaAccountResp + (*UnbindManagerReq)(nil), // 11: Cast.UnbindManagerReq + (*UnbindManagerResp)(nil), // 12: Cast.UnbindManagerResp + (*BindManagerReq)(nil), // 13: Cast.BindManagerReq + (*UpdateWorkImageReq)(nil), // 14: Cast.UpdateWorkImageReq + (*UpdateWorkImageResp)(nil), // 15: Cast.UpdateWorkImageResp + (*PublishConfig)(nil), // 16: Cast.PublishConfig + (*UpdateWorkVideoReq)(nil), // 17: Cast.UpdateWorkVideoReq + (*UpdateWorkVideoResp)(nil), // 18: Cast.UpdateWorkVideoResp + (*MediaInfoReq)(nil), // 19: Cast.MediaInfoReq + (*MediaInfoResp)(nil), // 20: Cast.MediaInfoResp + (*WorkListReq)(nil), // 21: Cast.WorkListReq + (*WorkListResp)(nil), // 22: Cast.WorkListResp + (*WorkDetailReq)(nil), // 23: Cast.WorkDetailReq + (*WorkLogInfo)(nil), // 24: Cast.WorkLogInfo + (*WorkDetailResp)(nil), // 25: Cast.WorkDetailResp + (*UpdateStatusReq)(nil), // 26: Cast.UpdateStatusReq + (*MediaAccountsReq)(nil), // 27: Cast.MediaAccountsReq + (*MediaAccountsResp)(nil), // 28: Cast.MediaAccountsResp + (*MediaWorksReq)(nil), // 29: Cast.MediaWorksReq + (*MediaWorksResp)(nil), // 30: Cast.MediaWorksResp + (*PublishReq)(nil), // 31: Cast.PublishReq + (*PublishResp)(nil), // 32: Cast.PublishResp + (*RePublishReq)(nil), // 33: Cast.RePublishReq + (*RePublishResp)(nil), // 34: Cast.RePublishResp + (*DelWorkReq)(nil), // 35: Cast.DelWorkReq + (*WorkInfoReq)(nil), // 36: Cast.WorkInfoReq + (*WorkInfoResp)(nil), // 37: Cast.WorkInfoResp + (*ArtistInfoReq)(nil), // 38: Cast.ArtistInfoReq + (*ArtistInfoResp)(nil), // 39: Cast.ArtistInfoResp + (*ImportWorkBatchReq)(nil), // 40: Cast.ImportWorkBatchReq + (*ImportWorkBatchResp)(nil), // 41: Cast.ImportWorkBatchResp + (*PlatformInfo)(nil), // 42: Cast.PlatformInfo + (*UpdateWorkPlatformInfoReq)(nil), // 43: Cast.UpdateWorkPlatformInfoReq + (*UpdateWorkPlatformInfoResp)(nil), // 44: Cast.UpdateWorkPlatformInfoResp + (*UpdateWorkPublishLogReq)(nil), // 45: Cast.UpdateWorkPublishLogReq + (*RefreshWorkListReq)(nil), // 46: Cast.RefreshWorkListReq + (*RefreshWorkListResp)(nil), // 47: Cast.RefreshWorkListResp + (*OAuthAccountReq)(nil), // 48: Cast.OAuthAccountReq + (*OAuthAccountResp)(nil), // 49: Cast.OAuthAccountResp + (*OAuthAccountV2Req)(nil), // 50: Cast.OAuthAccountV2Req + (*OAuthAccountV2Resp)(nil), // 51: Cast.OAuthAccountV2Resp + (*OAuthYoutubeTokenReq)(nil), // 52: Cast.OAuthYoutubeTokenReq + (*OAuthYoutubeTokenResp)(nil), // 53: Cast.OAuthYoutubeTokenResp + (*OAuthCodeToTokenReq)(nil), // 54: Cast.OAuthCodeToTokenReq + (*OAuthCodeToTokenResp)(nil), // 55: Cast.OAuthCodeToTokenResp + (*UpdateOAuthReq)(nil), // 56: Cast.UpdateOAuthReq + (*RefreshTokenReq)(nil), // 57: Cast.RefreshTokenReq + (*RefreshTokenResp)(nil), // 58: Cast.RefreshTokenResp + (*PublishMediaInfoReq)(nil), // 59: Cast.PublishMediaInfoReq + (*PublishMediaInfoResp)(nil), // 60: Cast.PublishMediaInfoResp + (*UpdateVideoScriptReq)(nil), // 61: Cast.UpdateVideoScriptReq + (*UpdateVideoScriptResp)(nil), // 62: Cast.UpdateVideoScriptResp + (*GetVideoScriptReq)(nil), // 63: Cast.GetVideoScriptReq + (*GetVideoScriptResp)(nil), // 64: Cast.GetVideoScriptResp + (*ListVideoScriptsReq)(nil), // 65: Cast.ListVideoScriptsReq + (*VideoScriptInfo)(nil), // 66: Cast.VideoScriptInfo + (*ListVideoScriptsResp)(nil), // 67: Cast.ListVideoScriptsResp + (*DeleteVideoScriptReq)(nil), // 68: Cast.DeleteVideoScriptReq + (*UpdateVideoScriptBatchReq)(nil), // 69: Cast.UpdateVideoScriptBatchReq + (*UpdateVideoScriptBatchResp)(nil), // 70: Cast.UpdateVideoScriptBatchResp + (*UpdateScriptStatusReq)(nil), // 71: Cast.UpdateScriptStatusReq + (*SetLayoutReq)(nil), // 72: Cast.SetLayoutReq + (*GetLayoutReq)(nil), // 73: Cast.GetLayoutReq + (*GetLayoutResp)(nil), // 74: Cast.GetLayoutResp + (*UpdatePromptReq)(nil), // 75: Cast.UpdatePromptReq + (*DeletePromptReq)(nil), // 76: Cast.DeletePromptReq + (*GetPromptReq)(nil), // 77: Cast.GetPromptReq + (*GetPromptResp)(nil), // 78: Cast.GetPromptResp + (*ListPromptsReq)(nil), // 79: Cast.ListPromptsReq + (*PromptInfo)(nil), // 80: Cast.PromptInfo + (*ListPromptsResp)(nil), // 81: Cast.ListPromptsResp + (*UpdatePromptBatchReq)(nil), // 82: Cast.UpdatePromptBatchReq + (*UpdatePromptBatchResp)(nil), // 83: Cast.UpdatePromptBatchResp + (*ArtistInfo)(nil), // 84: Cast.ArtistInfo + (*UpdateArtistReq)(nil), // 85: Cast.UpdateArtistReq + (*UpdateArtistResp)(nil), // 86: Cast.UpdateArtistResp + (*GetArtistReq)(nil), // 87: Cast.GetArtistReq + (*GetArtistResp)(nil), // 88: Cast.GetArtistResp + (*CreateWorkAnalysisReq)(nil), // 89: Cast.CreateWorkAnalysisReq + (*CreateWorkAnalysisResp)(nil), // 90: Cast.CreateWorkAnalysisResp + (*UpdateWorkAnalysisReq)(nil), // 91: Cast.UpdateWorkAnalysisReq + (*UpdateWorkAnalysisStatusReq)(nil), // 92: Cast.UpdateWorkAnalysisStatusReq + (*WorkAnalysisLogInfo)(nil), // 93: Cast.WorkAnalysisLogInfo + (*WorkAnalysisFansSeries)(nil), // 94: Cast.WorkAnalysisFansSeries + (*WorkAnalysisViewsSeries)(nil), // 95: Cast.WorkAnalysisViewsSeries + (*WorkAnalysisLikesSeries)(nil), // 96: Cast.WorkAnalysisLikesSeries + (*WorkAnalysisCommentsSeries)(nil), // 97: Cast.WorkAnalysisCommentsSeries + (*WorkAnalysisSharesSeries)(nil), // 98: Cast.WorkAnalysisSharesSeries + (*WorkAnalysisTopCities)(nil), // 99: Cast.WorkAnalysisTopCities + (*WorkAnalysisMostActiveDay)(nil), // 100: Cast.WorkAnalysisMostActiveDay + (*WorkAnalysisBestPostTime)(nil), // 101: Cast.WorkAnalysisBestPostTime + (*WorkAnalysisExtra)(nil), // 102: Cast.WorkAnalysisExtra + (*GetWorkAnalysisDetailReq)(nil), // 103: Cast.GetWorkAnalysisDetailReq + (*GetLatestWorkAnalysisReq)(nil), // 104: Cast.GetLatestWorkAnalysisReq + (*GetWorkAnalysisResp)(nil), // 105: Cast.GetWorkAnalysisResp + (*GetWorkAnalysisDetailResp)(nil), // 106: Cast.GetWorkAnalysisDetailResp + (*ListWorkAnalysisReq)(nil), // 107: Cast.ListWorkAnalysisReq + (*WorkAnalysisInfo)(nil), // 108: Cast.WorkAnalysisInfo + (*ListWorkAnalysisResp)(nil), // 109: Cast.ListWorkAnalysisResp + (*DeleteWorkAnalysisReq)(nil), // 110: Cast.DeleteWorkAnalysisReq + (*ArtistDataListReq)(nil), // 111: Cast.ArtistDataListReq + (*ArtistDataRespItem)(nil), // 112: Cast.ArtistDataRespItem + (*ArtistDataListResp)(nil), // 113: Cast.ArtistDataListResp + (*MediaDataListReq)(nil), // 114: Cast.MediaDataListReq + (*MediaDataListItem)(nil), // 115: Cast.MediaDataListItem + (*MediaDataListResp)(nil), // 116: Cast.MediaDataListResp + (*DataOverviewReq)(nil), // 117: Cast.DataOverviewReq + (*DataOverviewResp)(nil), // 118: Cast.DataOverviewResp + (*ArtistMetricsSeriesReq)(nil), // 119: Cast.ArtistMetricsSeriesReq + (*ArtistMetricsSeriesResp)(nil), // 120: Cast.ArtistMetricsSeriesResp + (*ArtistMetricsDailyWindowReq)(nil), // 121: Cast.ArtistMetricsDailyWindowReq + (*SimplePoint)(nil), // 122: Cast.SimplePoint + (*BestPostTimePoint)(nil), // 123: Cast.BestPostTimePoint + (*MostActiveDayPoint)(nil), // 124: Cast.MostActiveDayPoint + (*ArtistMetricsDailyWindowResp)(nil), // 125: Cast.ArtistMetricsDailyWindowResp + (*TobeConfirmedListReq)(nil), // 126: Cast.TobeConfirmedListReq + (*TobeConfirmedItem)(nil), // 127: Cast.TobeConfirmedItem + (*TobeConfirmedListResp)(nil), // 128: Cast.TobeConfirmedListResp + (*UpdateWorkAnalysisApprovalIDReq)(nil), // 129: Cast.UpdateWorkAnalysisApprovalIDReq + (*MediaMetricsDailyItem)(nil), // 130: Cast.MediaMetricsDailyItem + (*UpsertMediaMetricsDailyBatchReq)(nil), // 131: Cast.UpsertMediaMetricsDailyBatchReq + (*UpsertMediaMetricsDailyBatchResp)(nil), // 132: Cast.UpsertMediaMetricsDailyBatchResp + (*WorkMetricsDailyItem)(nil), // 133: Cast.WorkMetricsDailyItem + (*UpsertWorkMetricsDailyBatchReq)(nil), // 134: Cast.UpsertWorkMetricsDailyBatchReq + (*UpsertWorkMetricsDailyBatchResp)(nil), // 135: Cast.UpsertWorkMetricsDailyBatchResp + (*GetArtistAyrShareInfoReq)(nil), // 136: Cast.GetArtistAyrShareInfoReq + (*ArtistAyrShareInfo)(nil), // 137: Cast.ArtistAyrShareInfo + (*GetArtistAyrShareInfoResp)(nil), // 138: Cast.GetArtistAyrShareInfoResp + (*ListWorkPlatformInfoReq)(nil), // 139: Cast.ListWorkPlatformInfoReq + (*WorkPlatformInfo)(nil), // 140: Cast.WorkPlatformInfo + (*ListWorkPlatformInfoResp)(nil), // 141: Cast.ListWorkPlatformInfoResp + (*WorkListResp_Info)(nil), // 142: Cast.WorkListResp.Info + nil, // 143: Cast.WorkDetailResp.MediaAccDataEntry + (*MediaAccountsResp_Info)(nil), // 144: Cast.MediaAccountsResp.Info + (*MediaWorksResp_Info)(nil), // 145: Cast.MediaWorksResp.Info + (*PublishResp_Info)(nil), // 146: Cast.PublishResp.Info + (*RefreshWorkListResp_Info)(nil), // 147: Cast.RefreshWorkListResp.Info + (*RefreshWorkListResp_Info_PlatformInfo)(nil), // 148: Cast.RefreshWorkListResp.Info.PlatformInfo + (*UpdateOAuthReq_Info)(nil), // 149: Cast.UpdateOAuthReq.Info + (*emptypb.Empty)(nil), // 150: google.protobuf.Empty } var file_pb_fiee_cast_proto_depIdxs = []int32{ - 0, // 0: Cast.MediaUserListReq.platformID:type_name -> Cast.PlatformIDENUM - 1, // 1: Cast.MediaUserListReq.authStatus:type_name -> Cast.AuthStatusENUM - 1, // 2: Cast.MediaUserInfo.authStatus:type_name -> Cast.AuthStatusENUM - 6, // 3: Cast.MediaUserListResp.data:type_name -> Cast.MediaUserInfo - 0, // 4: Cast.UpdateMediaAccountReq.platformID:type_name -> Cast.PlatformIDENUM - 0, // 5: Cast.UpdateWorkImageReq.platformIDs:type_name -> Cast.PlatformIDENUM - 15, // 6: Cast.UpdateWorkImageReq.publishConfig1:type_name -> Cast.PublishConfig - 15, // 7: Cast.UpdateWorkImageReq.publishConfig2:type_name -> Cast.PublishConfig - 15, // 8: Cast.UpdateWorkImageReq.publishConfig3:type_name -> Cast.PublishConfig - 15, // 9: Cast.UpdateWorkImageReq.publishConfig4:type_name -> Cast.PublishConfig - 0, // 10: Cast.UpdateWorkVideoReq.platformIDs:type_name -> Cast.PlatformIDENUM - 15, // 11: Cast.UpdateWorkVideoReq.publishConfig1:type_name -> Cast.PublishConfig - 15, // 12: Cast.UpdateWorkVideoReq.publishConfig2:type_name -> Cast.PublishConfig - 15, // 13: Cast.UpdateWorkVideoReq.publishConfig3:type_name -> Cast.PublishConfig - 15, // 14: Cast.UpdateWorkVideoReq.publishConfig4:type_name -> Cast.PublishConfig - 3, // 15: Cast.UpdateWorkVideoReq.autoPublish:type_name -> Cast.AutoPublishENUM - 72, // 16: Cast.WorkListResp.data:type_name -> Cast.WorkListResp.Info - 15, // 17: Cast.WorkDetailResp.publishConfig1:type_name -> Cast.PublishConfig - 15, // 18: Cast.WorkDetailResp.publishConfig2:type_name -> Cast.PublishConfig - 15, // 19: Cast.WorkDetailResp.publishConfig3:type_name -> Cast.PublishConfig - 15, // 20: Cast.WorkDetailResp.publishConfig4:type_name -> Cast.PublishConfig - 21, // 21: Cast.WorkDetailResp.WorkLogData:type_name -> Cast.WorkLogInfo - 73, // 22: Cast.WorkDetailResp.mediaAccData:type_name -> Cast.WorkDetailResp.MediaAccDataEntry - 2, // 23: Cast.UpdateStatusReq.workAction:type_name -> Cast.WorkActionENUM - 3, // 24: Cast.UpdateStatusReq.autoPublish:type_name -> Cast.AutoPublishENUM - 74, // 25: Cast.MediaAccountsResp.data:type_name -> Cast.MediaAccountsResp.Info - 75, // 26: Cast.MediaWorksResp.data:type_name -> Cast.MediaWorksResp.Info - 76, // 27: Cast.PublishResp.data:type_name -> Cast.PublishResp.Info - 13, // 28: Cast.ImportWorkBatchReq.imageWorks:type_name -> Cast.UpdateWorkImageReq - 13, // 29: Cast.ImportWorkBatchResp.imageWorks:type_name -> Cast.UpdateWorkImageReq - 0, // 30: Cast.OAuthCodeToTokenReq.platformID:type_name -> Cast.PlatformIDENUM - 0, // 31: Cast.RefreshTokenReq.platformID:type_name -> Cast.PlatformIDENUM - 54, // 32: Cast.ListVideoScriptsResp.data:type_name -> Cast.VideoScriptInfo - 54, // 33: Cast.UpdateVideoScriptBatchReq.data:type_name -> Cast.VideoScriptInfo - 54, // 34: Cast.UpdateVideoScriptBatchResp.data:type_name -> Cast.VideoScriptInfo - 2, // 35: Cast.UpdateScriptStatusReq.workAction:type_name -> Cast.WorkActionENUM - 4, // 36: Cast.UpdatePromptReq.category:type_name -> Cast.CategoryENUM - 4, // 37: Cast.GetPromptResp.category:type_name -> Cast.CategoryENUM - 4, // 38: Cast.ListPromptsReq.category:type_name -> Cast.CategoryENUM - 4, // 39: Cast.PromptInfo.category:type_name -> Cast.CategoryENUM - 68, // 40: Cast.ListPromptsResp.data:type_name -> Cast.PromptInfo - 68, // 41: Cast.UpdatePromptBatchReq.data:type_name -> Cast.PromptInfo - 68, // 42: Cast.UpdatePromptBatchResp.data:type_name -> Cast.PromptInfo - 6, // 43: Cast.WorkDetailResp.MediaAccDataEntry.value:type_name -> Cast.MediaUserInfo - 5, // 44: Cast.Cast.MediaUserList:input_type -> Cast.MediaUserListReq - 8, // 45: Cast.Cast.UpdateMediaAccount:input_type -> Cast.UpdateMediaAccountReq - 10, // 46: Cast.Cast.UnbindManager:input_type -> Cast.UnbindManagerReq - 12, // 47: Cast.Cast.BindManager:input_type -> Cast.BindManagerReq - 13, // 48: Cast.Cast.UpdateWorkImage:input_type -> Cast.UpdateWorkImageReq - 16, // 49: Cast.Cast.UpdateWorkVideo:input_type -> Cast.UpdateWorkVideoReq - 18, // 50: Cast.Cast.WorkList:input_type -> Cast.WorkListReq - 20, // 51: Cast.Cast.WorkDetail:input_type -> Cast.WorkDetailReq - 23, // 52: Cast.Cast.UpdateStatus:input_type -> Cast.UpdateStatusReq - 24, // 53: Cast.Cast.MediaAccounts:input_type -> Cast.MediaAccountsReq - 26, // 54: Cast.Cast.MediaWorks:input_type -> Cast.MediaWorksReq - 28, // 55: Cast.Cast.Publish:input_type -> Cast.PublishReq - 30, // 56: Cast.Cast.RePublish:input_type -> Cast.RePublishReq - 32, // 57: Cast.Cast.DelWork:input_type -> Cast.DelWorkReq - 33, // 58: Cast.Cast.WorkInfo:input_type -> Cast.WorkInfoReq - 35, // 59: Cast.Cast.ArtistInfo:input_type -> Cast.ArtistInfoReq - 37, // 60: Cast.Cast.ImportWorkBatch:input_type -> Cast.ImportWorkBatchReq - 39, // 61: Cast.Cast.OAuthAccount:input_type -> Cast.OAuthAccountReq - 43, // 62: Cast.Cast.OAuthCodeToToken:input_type -> Cast.OAuthCodeToTokenReq - 45, // 63: Cast.Cast.RefreshToken:input_type -> Cast.RefreshTokenReq - 47, // 64: Cast.Cast.PublishMediaInfo:input_type -> Cast.PublishMediaInfoReq - 77, // 65: Cast.Cast.Test:input_type -> google.protobuf.Empty - 49, // 66: Cast.Cast.UpdateVideoScript:input_type -> Cast.UpdateVideoScriptReq - 51, // 67: Cast.Cast.GetVideoScript:input_type -> Cast.GetVideoScriptReq - 53, // 68: Cast.Cast.ListVideoScripts:input_type -> Cast.ListVideoScriptsReq - 56, // 69: Cast.Cast.DeleteVideoScript:input_type -> Cast.DeleteVideoScriptReq - 57, // 70: Cast.Cast.UpdateVideoScriptBatch:input_type -> Cast.UpdateVideoScriptBatchReq - 59, // 71: Cast.Cast.UpdateScriptStatus:input_type -> Cast.UpdateScriptStatusReq - 61, // 72: Cast.Cast.GetLayout:input_type -> Cast.GetLayoutReq - 60, // 73: Cast.Cast.SetLayout:input_type -> Cast.SetLayoutReq - 63, // 74: Cast.Cast.UpdatePrompt:input_type -> Cast.UpdatePromptReq - 64, // 75: Cast.Cast.DeletePrompt:input_type -> Cast.DeletePromptReq - 65, // 76: Cast.Cast.GetPrompt:input_type -> Cast.GetPromptReq - 67, // 77: Cast.Cast.ListPrompts:input_type -> Cast.ListPromptsReq - 70, // 78: Cast.Cast.UpdatePromptBatch:input_type -> Cast.UpdatePromptBatchReq - 7, // 79: Cast.Cast.MediaUserList:output_type -> Cast.MediaUserListResp - 9, // 80: Cast.Cast.UpdateMediaAccount:output_type -> Cast.UpdateMediaAccountResp - 11, // 81: Cast.Cast.UnbindManager:output_type -> Cast.UnbindManagerResp - 77, // 82: Cast.Cast.BindManager:output_type -> google.protobuf.Empty - 14, // 83: Cast.Cast.UpdateWorkImage:output_type -> Cast.UpdateWorkImageResp - 17, // 84: Cast.Cast.UpdateWorkVideo:output_type -> Cast.UpdateWorkVideoResp - 19, // 85: Cast.Cast.WorkList:output_type -> Cast.WorkListResp - 22, // 86: Cast.Cast.WorkDetail:output_type -> Cast.WorkDetailResp - 77, // 87: Cast.Cast.UpdateStatus:output_type -> google.protobuf.Empty - 25, // 88: Cast.Cast.MediaAccounts:output_type -> Cast.MediaAccountsResp - 27, // 89: Cast.Cast.MediaWorks:output_type -> Cast.MediaWorksResp - 29, // 90: Cast.Cast.Publish:output_type -> Cast.PublishResp - 31, // 91: Cast.Cast.RePublish:output_type -> Cast.RePublishResp - 77, // 92: Cast.Cast.DelWork:output_type -> google.protobuf.Empty - 34, // 93: Cast.Cast.WorkInfo:output_type -> Cast.WorkInfoResp - 36, // 94: Cast.Cast.ArtistInfo:output_type -> Cast.ArtistInfoResp - 38, // 95: Cast.Cast.ImportWorkBatch:output_type -> Cast.ImportWorkBatchResp - 40, // 96: Cast.Cast.OAuthAccount:output_type -> Cast.OAuthAccountResp - 44, // 97: Cast.Cast.OAuthCodeToToken:output_type -> Cast.OAuthCodeToTokenResp - 46, // 98: Cast.Cast.RefreshToken:output_type -> Cast.RefreshTokenResp - 48, // 99: Cast.Cast.PublishMediaInfo:output_type -> Cast.PublishMediaInfoResp - 77, // 100: Cast.Cast.Test:output_type -> google.protobuf.Empty - 50, // 101: Cast.Cast.UpdateVideoScript:output_type -> Cast.UpdateVideoScriptResp - 52, // 102: Cast.Cast.GetVideoScript:output_type -> Cast.GetVideoScriptResp - 55, // 103: Cast.Cast.ListVideoScripts:output_type -> Cast.ListVideoScriptsResp - 77, // 104: Cast.Cast.DeleteVideoScript:output_type -> google.protobuf.Empty - 58, // 105: Cast.Cast.UpdateVideoScriptBatch:output_type -> Cast.UpdateVideoScriptBatchResp - 77, // 106: Cast.Cast.UpdateScriptStatus:output_type -> google.protobuf.Empty - 62, // 107: Cast.Cast.GetLayout:output_type -> Cast.GetLayoutResp - 77, // 108: Cast.Cast.SetLayout:output_type -> google.protobuf.Empty - 77, // 109: Cast.Cast.UpdatePrompt:output_type -> google.protobuf.Empty - 77, // 110: Cast.Cast.DeletePrompt:output_type -> google.protobuf.Empty - 66, // 111: Cast.Cast.GetPrompt:output_type -> Cast.GetPromptResp - 69, // 112: Cast.Cast.ListPrompts:output_type -> Cast.ListPromptsResp - 71, // 113: Cast.Cast.UpdatePromptBatch:output_type -> Cast.UpdatePromptBatchResp - 79, // [79:114] is the sub-list for method output_type - 44, // [44:79] is the sub-list for method input_type - 44, // [44:44] is the sub-list for extension type_name - 44, // [44:44] is the sub-list for extension extendee - 0, // [0:44] is the sub-list for field type_name + 0, // 0: Cast.MediaUserListReq.platformID:type_name -> Cast.PlatformIDENUM + 1, // 1: Cast.MediaUserListReq.authStatus:type_name -> Cast.AuthStatusENUM + 1, // 2: Cast.MediaUserInfo.authStatus:type_name -> Cast.AuthStatusENUM + 7, // 3: Cast.MediaUserListResp.data:type_name -> Cast.MediaUserInfo + 0, // 4: Cast.UpdateMediaAccountReq.platformID:type_name -> Cast.PlatformIDENUM + 0, // 5: Cast.UpdateWorkImageReq.platformIDs:type_name -> Cast.PlatformIDENUM + 16, // 6: Cast.UpdateWorkImageReq.publishConfig1:type_name -> Cast.PublishConfig + 16, // 7: Cast.UpdateWorkImageReq.publishConfig2:type_name -> Cast.PublishConfig + 16, // 8: Cast.UpdateWorkImageReq.publishConfig3:type_name -> Cast.PublishConfig + 16, // 9: Cast.UpdateWorkImageReq.publishConfig4:type_name -> Cast.PublishConfig + 0, // 10: Cast.UpdateWorkVideoReq.platformIDs:type_name -> Cast.PlatformIDENUM + 16, // 11: Cast.UpdateWorkVideoReq.publishConfig1:type_name -> Cast.PublishConfig + 16, // 12: Cast.UpdateWorkVideoReq.publishConfig2:type_name -> Cast.PublishConfig + 16, // 13: Cast.UpdateWorkVideoReq.publishConfig3:type_name -> Cast.PublishConfig + 16, // 14: Cast.UpdateWorkVideoReq.publishConfig4:type_name -> Cast.PublishConfig + 3, // 15: Cast.UpdateWorkVideoReq.autoPublish:type_name -> Cast.AutoPublishENUM + 0, // 16: Cast.MediaInfoReq.platformID:type_name -> Cast.PlatformIDENUM + 7, // 17: Cast.MediaInfoResp.info:type_name -> Cast.MediaUserInfo + 142, // 18: Cast.WorkListResp.data:type_name -> Cast.WorkListResp.Info + 16, // 19: Cast.WorkDetailResp.publishConfig1:type_name -> Cast.PublishConfig + 16, // 20: Cast.WorkDetailResp.publishConfig2:type_name -> Cast.PublishConfig + 16, // 21: Cast.WorkDetailResp.publishConfig3:type_name -> Cast.PublishConfig + 16, // 22: Cast.WorkDetailResp.publishConfig4:type_name -> Cast.PublishConfig + 24, // 23: Cast.WorkDetailResp.WorkLogData:type_name -> Cast.WorkLogInfo + 143, // 24: Cast.WorkDetailResp.mediaAccData:type_name -> Cast.WorkDetailResp.MediaAccDataEntry + 2, // 25: Cast.UpdateStatusReq.workAction:type_name -> Cast.WorkActionENUM + 3, // 26: Cast.UpdateStatusReq.autoPublish:type_name -> Cast.AutoPublishENUM + 144, // 27: Cast.MediaAccountsResp.data:type_name -> Cast.MediaAccountsResp.Info + 145, // 28: Cast.MediaWorksResp.data:type_name -> Cast.MediaWorksResp.Info + 146, // 29: Cast.PublishResp.data:type_name -> Cast.PublishResp.Info + 14, // 30: Cast.ImportWorkBatchReq.imageWorks:type_name -> Cast.UpdateWorkImageReq + 14, // 31: Cast.ImportWorkBatchResp.imageWorks:type_name -> Cast.UpdateWorkImageReq + 4, // 32: Cast.PlatformInfo.publishStatus:type_name -> Cast.PublishStatusENUM + 42, // 33: Cast.UpdateWorkPlatformInfoReq.PlatformInfoData:type_name -> Cast.PlatformInfo + 0, // 34: Cast.UpdateWorkPublishLogReq.platformID:type_name -> Cast.PlatformIDENUM + 147, // 35: Cast.RefreshWorkListResp.Data:type_name -> Cast.RefreshWorkListResp.Info + 0, // 36: Cast.OAuthCodeToTokenReq.platformID:type_name -> Cast.PlatformIDENUM + 149, // 37: Cast.UpdateOAuthReq.Data:type_name -> Cast.UpdateOAuthReq.Info + 0, // 38: Cast.RefreshTokenReq.platformID:type_name -> Cast.PlatformIDENUM + 66, // 39: Cast.ListVideoScriptsResp.data:type_name -> Cast.VideoScriptInfo + 66, // 40: Cast.UpdateVideoScriptBatchReq.data:type_name -> Cast.VideoScriptInfo + 66, // 41: Cast.UpdateVideoScriptBatchResp.data:type_name -> Cast.VideoScriptInfo + 2, // 42: Cast.UpdateScriptStatusReq.workAction:type_name -> Cast.WorkActionENUM + 5, // 43: Cast.UpdatePromptReq.category:type_name -> Cast.CategoryENUM + 5, // 44: Cast.GetPromptResp.category:type_name -> Cast.CategoryENUM + 5, // 45: Cast.ListPromptsReq.category:type_name -> Cast.CategoryENUM + 5, // 46: Cast.PromptInfo.category:type_name -> Cast.CategoryENUM + 80, // 47: Cast.ListPromptsResp.data:type_name -> Cast.PromptInfo + 80, // 48: Cast.UpdatePromptBatchReq.data:type_name -> Cast.PromptInfo + 80, // 49: Cast.UpdatePromptBatchResp.data:type_name -> Cast.PromptInfo + 84, // 50: Cast.UpdateArtistReq.artistInfo:type_name -> Cast.ArtistInfo + 84, // 51: Cast.GetArtistResp.artistInfo:type_name -> Cast.ArtistInfo + 2, // 52: Cast.UpdateWorkAnalysisStatusReq.workAction:type_name -> Cast.WorkActionENUM + 94, // 53: Cast.GetWorkAnalysisResp.fansSeries:type_name -> Cast.WorkAnalysisFansSeries + 95, // 54: Cast.GetWorkAnalysisResp.viewsSeries:type_name -> Cast.WorkAnalysisViewsSeries + 96, // 55: Cast.GetWorkAnalysisResp.likesSeries:type_name -> Cast.WorkAnalysisLikesSeries + 97, // 56: Cast.GetWorkAnalysisResp.commentsSeries:type_name -> Cast.WorkAnalysisCommentsSeries + 98, // 57: Cast.GetWorkAnalysisResp.sharesSeries:type_name -> Cast.WorkAnalysisSharesSeries + 99, // 58: Cast.GetWorkAnalysisResp.topCitiesSeries:type_name -> Cast.WorkAnalysisTopCities + 100, // 59: Cast.GetWorkAnalysisResp.mostActiveDaySeries:type_name -> Cast.WorkAnalysisMostActiveDay + 101, // 60: Cast.GetWorkAnalysisResp.bestPostTimeSeries:type_name -> Cast.WorkAnalysisBestPostTime + 93, // 61: Cast.GetWorkAnalysisDetailResp.WorkAnalysisLogData:type_name -> Cast.WorkAnalysisLogInfo + 94, // 62: Cast.GetWorkAnalysisDetailResp.fansSeries:type_name -> Cast.WorkAnalysisFansSeries + 95, // 63: Cast.GetWorkAnalysisDetailResp.viewsSeries:type_name -> Cast.WorkAnalysisViewsSeries + 96, // 64: Cast.GetWorkAnalysisDetailResp.likesSeries:type_name -> Cast.WorkAnalysisLikesSeries + 97, // 65: Cast.GetWorkAnalysisDetailResp.commentsSeries:type_name -> Cast.WorkAnalysisCommentsSeries + 98, // 66: Cast.GetWorkAnalysisDetailResp.sharesSeries:type_name -> Cast.WorkAnalysisSharesSeries + 99, // 67: Cast.GetWorkAnalysisDetailResp.topCitiesSeries:type_name -> Cast.WorkAnalysisTopCities + 100, // 68: Cast.GetWorkAnalysisDetailResp.mostActiveDaySeries:type_name -> Cast.WorkAnalysisMostActiveDay + 101, // 69: Cast.GetWorkAnalysisDetailResp.bestPostTimeSeries:type_name -> Cast.WorkAnalysisBestPostTime + 102, // 70: Cast.GetWorkAnalysisDetailResp.extra:type_name -> Cast.WorkAnalysisExtra + 108, // 71: Cast.ListWorkAnalysisResp.data:type_name -> Cast.WorkAnalysisInfo + 112, // 72: Cast.ArtistDataListResp.data:type_name -> Cast.ArtistDataRespItem + 115, // 73: Cast.MediaDataListResp.data:type_name -> Cast.MediaDataListItem + 94, // 74: Cast.ArtistMetricsSeriesResp.fansSeries:type_name -> Cast.WorkAnalysisFansSeries + 95, // 75: Cast.ArtistMetricsSeriesResp.viewsSeries:type_name -> Cast.WorkAnalysisViewsSeries + 96, // 76: Cast.ArtistMetricsSeriesResp.likesSeries:type_name -> Cast.WorkAnalysisLikesSeries + 97, // 77: Cast.ArtistMetricsSeriesResp.commentsSeries:type_name -> Cast.WorkAnalysisCommentsSeries + 98, // 78: Cast.ArtistMetricsSeriesResp.sharesSeries:type_name -> Cast.WorkAnalysisSharesSeries + 101, // 79: Cast.ArtistMetricsSeriesResp.bestPostTime:type_name -> Cast.WorkAnalysisBestPostTime + 100, // 80: Cast.ArtistMetricsSeriesResp.mostActiveDay:type_name -> Cast.WorkAnalysisMostActiveDay + 122, // 81: Cast.ArtistMetricsDailyWindowResp.fans:type_name -> Cast.SimplePoint + 122, // 82: Cast.ArtistMetricsDailyWindowResp.views:type_name -> Cast.SimplePoint + 122, // 83: Cast.ArtistMetricsDailyWindowResp.likes:type_name -> Cast.SimplePoint + 122, // 84: Cast.ArtistMetricsDailyWindowResp.comments:type_name -> Cast.SimplePoint + 122, // 85: Cast.ArtistMetricsDailyWindowResp.shares:type_name -> Cast.SimplePoint + 123, // 86: Cast.ArtistMetricsDailyWindowResp.bestPostTime:type_name -> Cast.BestPostTimePoint + 124, // 87: Cast.ArtistMetricsDailyWindowResp.mostActiveDay:type_name -> Cast.MostActiveDayPoint + 127, // 88: Cast.TobeConfirmedListResp.data:type_name -> Cast.TobeConfirmedItem + 130, // 89: Cast.UpsertMediaMetricsDailyBatchReq.data:type_name -> Cast.MediaMetricsDailyItem + 133, // 90: Cast.UpsertWorkMetricsDailyBatchReq.data:type_name -> Cast.WorkMetricsDailyItem + 137, // 91: Cast.GetArtistAyrShareInfoResp.data:type_name -> Cast.ArtistAyrShareInfo + 140, // 92: Cast.ListWorkPlatformInfoResp.data:type_name -> Cast.WorkPlatformInfo + 7, // 93: Cast.WorkDetailResp.MediaAccDataEntry.value:type_name -> Cast.MediaUserInfo + 148, // 94: Cast.RefreshWorkListResp.Info.PlatformInfoData:type_name -> Cast.RefreshWorkListResp.Info.PlatformInfo + 0, // 95: Cast.RefreshWorkListResp.Info.PlatformInfo.platformID:type_name -> Cast.PlatformIDENUM + 0, // 96: Cast.UpdateOAuthReq.Info.platformID:type_name -> Cast.PlatformIDENUM + 6, // 97: Cast.Cast.MediaUserList:input_type -> Cast.MediaUserListReq + 9, // 98: Cast.Cast.UpdateMediaAccount:input_type -> Cast.UpdateMediaAccountReq + 11, // 99: Cast.Cast.UnbindManager:input_type -> Cast.UnbindManagerReq + 13, // 100: Cast.Cast.BindManager:input_type -> Cast.BindManagerReq + 14, // 101: Cast.Cast.UpdateWorkImage:input_type -> Cast.UpdateWorkImageReq + 17, // 102: Cast.Cast.UpdateWorkVideo:input_type -> Cast.UpdateWorkVideoReq + 19, // 103: Cast.Cast.MediaInfo:input_type -> Cast.MediaInfoReq + 21, // 104: Cast.Cast.WorkList:input_type -> Cast.WorkListReq + 23, // 105: Cast.Cast.WorkDetail:input_type -> Cast.WorkDetailReq + 26, // 106: Cast.Cast.UpdateStatus:input_type -> Cast.UpdateStatusReq + 27, // 107: Cast.Cast.MediaAccounts:input_type -> Cast.MediaAccountsReq + 29, // 108: Cast.Cast.MediaWorks:input_type -> Cast.MediaWorksReq + 31, // 109: Cast.Cast.Publish:input_type -> Cast.PublishReq + 33, // 110: Cast.Cast.RePublish:input_type -> Cast.RePublishReq + 35, // 111: Cast.Cast.DelWork:input_type -> Cast.DelWorkReq + 36, // 112: Cast.Cast.WorkInfo:input_type -> Cast.WorkInfoReq + 38, // 113: Cast.Cast.ArtistInfo:input_type -> Cast.ArtistInfoReq + 40, // 114: Cast.Cast.ImportWorkBatch:input_type -> Cast.ImportWorkBatchReq + 43, // 115: Cast.Cast.UpdateWorkPlatformInfo:input_type -> Cast.UpdateWorkPlatformInfoReq + 45, // 116: Cast.Cast.UpdateWorkPublishLog:input_type -> Cast.UpdateWorkPublishLogReq + 46, // 117: Cast.Cast.RefreshWorkList:input_type -> Cast.RefreshWorkListReq + 48, // 118: Cast.Cast.OAuthAccount:input_type -> Cast.OAuthAccountReq + 50, // 119: Cast.Cast.OAuthAccountV2:input_type -> Cast.OAuthAccountV2Req + 54, // 120: Cast.Cast.OAuthCodeToToken:input_type -> Cast.OAuthCodeToTokenReq + 56, // 121: Cast.Cast.UpdateOAuth:input_type -> Cast.UpdateOAuthReq + 57, // 122: Cast.Cast.RefreshToken:input_type -> Cast.RefreshTokenReq + 59, // 123: Cast.Cast.PublishMediaInfo:input_type -> Cast.PublishMediaInfoReq + 150, // 124: Cast.Cast.Test:input_type -> google.protobuf.Empty + 61, // 125: Cast.Cast.UpdateVideoScript:input_type -> Cast.UpdateVideoScriptReq + 63, // 126: Cast.Cast.GetVideoScript:input_type -> Cast.GetVideoScriptReq + 65, // 127: Cast.Cast.ListVideoScripts:input_type -> Cast.ListVideoScriptsReq + 68, // 128: Cast.Cast.DeleteVideoScript:input_type -> Cast.DeleteVideoScriptReq + 69, // 129: Cast.Cast.UpdateVideoScriptBatch:input_type -> Cast.UpdateVideoScriptBatchReq + 71, // 130: Cast.Cast.UpdateScriptStatus:input_type -> Cast.UpdateScriptStatusReq + 73, // 131: Cast.Cast.GetLayout:input_type -> Cast.GetLayoutReq + 72, // 132: Cast.Cast.SetLayout:input_type -> Cast.SetLayoutReq + 75, // 133: Cast.Cast.UpdatePrompt:input_type -> Cast.UpdatePromptReq + 76, // 134: Cast.Cast.DeletePrompt:input_type -> Cast.DeletePromptReq + 77, // 135: Cast.Cast.GetPrompt:input_type -> Cast.GetPromptReq + 79, // 136: Cast.Cast.ListPrompts:input_type -> Cast.ListPromptsReq + 82, // 137: Cast.Cast.UpdatePromptBatch:input_type -> Cast.UpdatePromptBatchReq + 85, // 138: Cast.Cast.UpdateArtist:input_type -> Cast.UpdateArtistReq + 87, // 139: Cast.Cast.GetArtist:input_type -> Cast.GetArtistReq + 89, // 140: Cast.Cast.CreateWorkAnalysis:input_type -> Cast.CreateWorkAnalysisReq + 91, // 141: Cast.Cast.UpdateWorkAnalysis:input_type -> Cast.UpdateWorkAnalysisReq + 92, // 142: Cast.Cast.UpdateWorkAnalysisStatus:input_type -> Cast.UpdateWorkAnalysisStatusReq + 103, // 143: Cast.Cast.GetWorkAnalysis:input_type -> Cast.GetWorkAnalysisDetailReq + 104, // 144: Cast.Cast.GetLatestWorkAnalysis:input_type -> Cast.GetLatestWorkAnalysisReq + 107, // 145: Cast.Cast.ListWorkAnalysis:input_type -> Cast.ListWorkAnalysisReq + 110, // 146: Cast.Cast.DeleteWorkAnalysis:input_type -> Cast.DeleteWorkAnalysisReq + 129, // 147: Cast.Cast.UpdateWorkAnalysisApprovalID:input_type -> Cast.UpdateWorkAnalysisApprovalIDReq + 111, // 148: Cast.Cast.ArtistDataList:input_type -> Cast.ArtistDataListReq + 114, // 149: Cast.Cast.MediaDataList:input_type -> Cast.MediaDataListReq + 117, // 150: Cast.Cast.DataOverview:input_type -> Cast.DataOverviewReq + 119, // 151: Cast.Cast.ArtistMetricsSeries:input_type -> Cast.ArtistMetricsSeriesReq + 121, // 152: Cast.Cast.ArtistMetricsDailyWindow:input_type -> Cast.ArtistMetricsDailyWindowReq + 126, // 153: Cast.Cast.TobeConfirmedList:input_type -> Cast.TobeConfirmedListReq + 131, // 154: Cast.Cast.UpsertMediaMetricsDailyBatch:input_type -> Cast.UpsertMediaMetricsDailyBatchReq + 134, // 155: Cast.Cast.UpsertWorkMetricsDailyBatch:input_type -> Cast.UpsertWorkMetricsDailyBatchReq + 136, // 156: Cast.Cast.GetArtistAyrShareInfo:input_type -> Cast.GetArtistAyrShareInfoReq + 139, // 157: Cast.Cast.ListWorkPlatformInfo:input_type -> Cast.ListWorkPlatformInfoReq + 8, // 158: Cast.Cast.MediaUserList:output_type -> Cast.MediaUserListResp + 10, // 159: Cast.Cast.UpdateMediaAccount:output_type -> Cast.UpdateMediaAccountResp + 12, // 160: Cast.Cast.UnbindManager:output_type -> Cast.UnbindManagerResp + 150, // 161: Cast.Cast.BindManager:output_type -> google.protobuf.Empty + 15, // 162: Cast.Cast.UpdateWorkImage:output_type -> Cast.UpdateWorkImageResp + 18, // 163: Cast.Cast.UpdateWorkVideo:output_type -> Cast.UpdateWorkVideoResp + 20, // 164: Cast.Cast.MediaInfo:output_type -> Cast.MediaInfoResp + 22, // 165: Cast.Cast.WorkList:output_type -> Cast.WorkListResp + 25, // 166: Cast.Cast.WorkDetail:output_type -> Cast.WorkDetailResp + 150, // 167: Cast.Cast.UpdateStatus:output_type -> google.protobuf.Empty + 28, // 168: Cast.Cast.MediaAccounts:output_type -> Cast.MediaAccountsResp + 30, // 169: Cast.Cast.MediaWorks:output_type -> Cast.MediaWorksResp + 32, // 170: Cast.Cast.Publish:output_type -> Cast.PublishResp + 34, // 171: Cast.Cast.RePublish:output_type -> Cast.RePublishResp + 150, // 172: Cast.Cast.DelWork:output_type -> google.protobuf.Empty + 37, // 173: Cast.Cast.WorkInfo:output_type -> Cast.WorkInfoResp + 39, // 174: Cast.Cast.ArtistInfo:output_type -> Cast.ArtistInfoResp + 41, // 175: Cast.Cast.ImportWorkBatch:output_type -> Cast.ImportWorkBatchResp + 44, // 176: Cast.Cast.UpdateWorkPlatformInfo:output_type -> Cast.UpdateWorkPlatformInfoResp + 150, // 177: Cast.Cast.UpdateWorkPublishLog:output_type -> google.protobuf.Empty + 47, // 178: Cast.Cast.RefreshWorkList:output_type -> Cast.RefreshWorkListResp + 49, // 179: Cast.Cast.OAuthAccount:output_type -> Cast.OAuthAccountResp + 51, // 180: Cast.Cast.OAuthAccountV2:output_type -> Cast.OAuthAccountV2Resp + 55, // 181: Cast.Cast.OAuthCodeToToken:output_type -> Cast.OAuthCodeToTokenResp + 150, // 182: Cast.Cast.UpdateOAuth:output_type -> google.protobuf.Empty + 58, // 183: Cast.Cast.RefreshToken:output_type -> Cast.RefreshTokenResp + 60, // 184: Cast.Cast.PublishMediaInfo:output_type -> Cast.PublishMediaInfoResp + 150, // 185: Cast.Cast.Test:output_type -> google.protobuf.Empty + 62, // 186: Cast.Cast.UpdateVideoScript:output_type -> Cast.UpdateVideoScriptResp + 64, // 187: Cast.Cast.GetVideoScript:output_type -> Cast.GetVideoScriptResp + 67, // 188: Cast.Cast.ListVideoScripts:output_type -> Cast.ListVideoScriptsResp + 150, // 189: Cast.Cast.DeleteVideoScript:output_type -> google.protobuf.Empty + 70, // 190: Cast.Cast.UpdateVideoScriptBatch:output_type -> Cast.UpdateVideoScriptBatchResp + 150, // 191: Cast.Cast.UpdateScriptStatus:output_type -> google.protobuf.Empty + 74, // 192: Cast.Cast.GetLayout:output_type -> Cast.GetLayoutResp + 150, // 193: Cast.Cast.SetLayout:output_type -> google.protobuf.Empty + 150, // 194: Cast.Cast.UpdatePrompt:output_type -> google.protobuf.Empty + 150, // 195: Cast.Cast.DeletePrompt:output_type -> google.protobuf.Empty + 78, // 196: Cast.Cast.GetPrompt:output_type -> Cast.GetPromptResp + 81, // 197: Cast.Cast.ListPrompts:output_type -> Cast.ListPromptsResp + 83, // 198: Cast.Cast.UpdatePromptBatch:output_type -> Cast.UpdatePromptBatchResp + 86, // 199: Cast.Cast.UpdateArtist:output_type -> Cast.UpdateArtistResp + 88, // 200: Cast.Cast.GetArtist:output_type -> Cast.GetArtistResp + 90, // 201: Cast.Cast.CreateWorkAnalysis:output_type -> Cast.CreateWorkAnalysisResp + 150, // 202: Cast.Cast.UpdateWorkAnalysis:output_type -> google.protobuf.Empty + 150, // 203: Cast.Cast.UpdateWorkAnalysisStatus:output_type -> google.protobuf.Empty + 106, // 204: Cast.Cast.GetWorkAnalysis:output_type -> Cast.GetWorkAnalysisDetailResp + 105, // 205: Cast.Cast.GetLatestWorkAnalysis:output_type -> Cast.GetWorkAnalysisResp + 109, // 206: Cast.Cast.ListWorkAnalysis:output_type -> Cast.ListWorkAnalysisResp + 150, // 207: Cast.Cast.DeleteWorkAnalysis:output_type -> google.protobuf.Empty + 150, // 208: Cast.Cast.UpdateWorkAnalysisApprovalID:output_type -> google.protobuf.Empty + 113, // 209: Cast.Cast.ArtistDataList:output_type -> Cast.ArtistDataListResp + 116, // 210: Cast.Cast.MediaDataList:output_type -> Cast.MediaDataListResp + 118, // 211: Cast.Cast.DataOverview:output_type -> Cast.DataOverviewResp + 120, // 212: Cast.Cast.ArtistMetricsSeries:output_type -> Cast.ArtistMetricsSeriesResp + 125, // 213: Cast.Cast.ArtistMetricsDailyWindow:output_type -> Cast.ArtistMetricsDailyWindowResp + 128, // 214: Cast.Cast.TobeConfirmedList:output_type -> Cast.TobeConfirmedListResp + 132, // 215: Cast.Cast.UpsertMediaMetricsDailyBatch:output_type -> Cast.UpsertMediaMetricsDailyBatchResp + 135, // 216: Cast.Cast.UpsertWorkMetricsDailyBatch:output_type -> Cast.UpsertWorkMetricsDailyBatchResp + 138, // 217: Cast.Cast.GetArtistAyrShareInfo:output_type -> Cast.GetArtistAyrShareInfoResp + 141, // 218: Cast.Cast.ListWorkPlatformInfo:output_type -> Cast.ListWorkPlatformInfoResp + 158, // [158:219] is the sub-list for method output_type + 97, // [97:158] is the sub-list for method input_type + 97, // [97:97] is the sub-list for extension type_name + 97, // [97:97] is the sub-list for extension extendee + 0, // [0:97] is the sub-list for field type_name } func init() { file_pb_fiee_cast_proto_init() } @@ -6282,8 +13816,8 @@ func file_pb_fiee_cast_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_pb_fiee_cast_proto_rawDesc), len(file_pb_fiee_cast_proto_rawDesc)), - NumEnums: 5, - NumMessages: 72, + NumEnums: 6, + NumMessages: 144, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cast/cast.pb.validate.go b/api/cast/cast.pb.validate.go index 0d73611..ae9cf00 100644 --- a/api/cast/cast.pb.validate.go +++ b/api/cast/cast.pb.validate.go @@ -77,6 +77,8 @@ func (m *MediaUserListReq) validate(all bool) error { // no validation rules for AuthStatus + // no validation rules for MediaUserID + if len(errors) > 0 { return MediaUserListReqMultiError(errors) } @@ -1759,6 +1761,240 @@ var _ interface { ErrorName() string } = UpdateWorkVideoRespValidationError{} +// Validate checks the field values on MediaInfoReq 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 *MediaInfoReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on MediaInfoReq 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 MediaInfoReqMultiError, or +// nil if none found. +func (m *MediaInfoReq) ValidateAll() error { + return m.validate(true) +} + +func (m *MediaInfoReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUuid + + // no validation rules for PlatformID + + // no validation rules for PlatformUserName + + if len(errors) > 0 { + return MediaInfoReqMultiError(errors) + } + + return nil +} + +// MediaInfoReqMultiError is an error wrapping multiple validation errors +// returned by MediaInfoReq.ValidateAll() if the designated constraints aren't met. +type MediaInfoReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m MediaInfoReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m MediaInfoReqMultiError) AllErrors() []error { return m } + +// MediaInfoReqValidationError is the validation error returned by +// MediaInfoReq.Validate if the designated constraints aren't met. +type MediaInfoReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MediaInfoReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MediaInfoReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MediaInfoReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MediaInfoReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MediaInfoReqValidationError) ErrorName() string { return "MediaInfoReqValidationError" } + +// Error satisfies the builtin error interface +func (e MediaInfoReqValidationError) 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 %sMediaInfoReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MediaInfoReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MediaInfoReqValidationError{} + +// Validate checks the field values on MediaInfoResp 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 *MediaInfoResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on MediaInfoResp 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 MediaInfoRespMultiError, or +// nil if none found. +func (m *MediaInfoResp) ValidateAll() error { + return m.validate(true) +} + +func (m *MediaInfoResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetInfo()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, MediaInfoRespValidationError{ + field: "Info", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, MediaInfoRespValidationError{ + field: "Info", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetInfo()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MediaInfoRespValidationError{ + field: "Info", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return MediaInfoRespMultiError(errors) + } + + return nil +} + +// MediaInfoRespMultiError is an error wrapping multiple validation errors +// returned by MediaInfoResp.ValidateAll() if the designated constraints +// aren't met. +type MediaInfoRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m MediaInfoRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m MediaInfoRespMultiError) AllErrors() []error { return m } + +// MediaInfoRespValidationError is the validation error returned by +// MediaInfoResp.Validate if the designated constraints aren't met. +type MediaInfoRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MediaInfoRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MediaInfoRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MediaInfoRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MediaInfoRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MediaInfoRespValidationError) ErrorName() string { return "MediaInfoRespValidationError" } + +// Error satisfies the builtin error interface +func (e MediaInfoRespValidationError) 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 %sMediaInfoResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MediaInfoRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MediaInfoRespValidationError{} + // Validate checks the field values on WorkListReq 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. @@ -2478,6 +2714,14 @@ func (m *WorkDetailResp) validate(all bool) error { // no validation rules for ScriptUuid + // no validation rules for ArtistUuid + + // no validation rules for TiktokStatus + + // no validation rules for InsStatus + + // no validation rules for DmStatus + if len(errors) > 0 { return WorkDetailRespMultiError(errors) } @@ -4388,6 +4632,711 @@ var _ interface { ErrorName() string } = ImportWorkBatchRespValidationError{} +// Validate checks the field values on PlatformInfo 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 *PlatformInfo) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on PlatformInfo 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 PlatformInfoMultiError, or +// nil if none found. +func (m *PlatformInfo) ValidateAll() error { + return m.validate(true) +} + +func (m *PlatformInfo) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for WorkUuid + + // no validation rules for MediaAccountUuid + + // no validation rules for PlatformID + + // no validation rules for PublishType + + // no validation rules for PublishResp + + // no validation rules for PublishMediaId + + // no validation rules for PublishStatus + + // no validation rules for Remark + + // no validation rules for PlatformUuid + + if len(errors) > 0 { + return PlatformInfoMultiError(errors) + } + + return nil +} + +// PlatformInfoMultiError is an error wrapping multiple validation errors +// returned by PlatformInfo.ValidateAll() if the designated constraints aren't met. +type PlatformInfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m PlatformInfoMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m PlatformInfoMultiError) AllErrors() []error { return m } + +// PlatformInfoValidationError is the validation error returned by +// PlatformInfo.Validate if the designated constraints aren't met. +type PlatformInfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e PlatformInfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e PlatformInfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e PlatformInfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e PlatformInfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e PlatformInfoValidationError) ErrorName() string { return "PlatformInfoValidationError" } + +// Error satisfies the builtin error interface +func (e PlatformInfoValidationError) 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 %sPlatformInfo.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = PlatformInfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = PlatformInfoValidationError{} + +// Validate checks the field values on UpdateWorkPlatformInfoReq 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 *UpdateWorkPlatformInfoReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateWorkPlatformInfoReq 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 +// UpdateWorkPlatformInfoReqMultiError, or nil if none found. +func (m *UpdateWorkPlatformInfoReq) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateWorkPlatformInfoReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetPlatformInfoData() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, UpdateWorkPlatformInfoReqValidationError{ + field: fmt.Sprintf("PlatformInfoData[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, UpdateWorkPlatformInfoReqValidationError{ + field: fmt.Sprintf("PlatformInfoData[%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 UpdateWorkPlatformInfoReqValidationError{ + field: fmt.Sprintf("PlatformInfoData[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return UpdateWorkPlatformInfoReqMultiError(errors) + } + + return nil +} + +// UpdateWorkPlatformInfoReqMultiError is an error wrapping multiple validation +// errors returned by UpdateWorkPlatformInfoReq.ValidateAll() if the +// designated constraints aren't met. +type UpdateWorkPlatformInfoReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateWorkPlatformInfoReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateWorkPlatformInfoReqMultiError) AllErrors() []error { return m } + +// UpdateWorkPlatformInfoReqValidationError is the validation error returned by +// UpdateWorkPlatformInfoReq.Validate if the designated constraints aren't met. +type UpdateWorkPlatformInfoReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateWorkPlatformInfoReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateWorkPlatformInfoReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateWorkPlatformInfoReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateWorkPlatformInfoReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateWorkPlatformInfoReqValidationError) ErrorName() string { + return "UpdateWorkPlatformInfoReqValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateWorkPlatformInfoReqValidationError) 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 %sUpdateWorkPlatformInfoReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateWorkPlatformInfoReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateWorkPlatformInfoReqValidationError{} + +// Validate checks the field values on UpdateWorkPlatformInfoResp 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 *UpdateWorkPlatformInfoResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateWorkPlatformInfoResp 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 +// UpdateWorkPlatformInfoRespMultiError, or nil if none found. +func (m *UpdateWorkPlatformInfoResp) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateWorkPlatformInfoResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return UpdateWorkPlatformInfoRespMultiError(errors) + } + + return nil +} + +// UpdateWorkPlatformInfoRespMultiError is an error wrapping multiple +// validation errors returned by UpdateWorkPlatformInfoResp.ValidateAll() if +// the designated constraints aren't met. +type UpdateWorkPlatformInfoRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateWorkPlatformInfoRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateWorkPlatformInfoRespMultiError) AllErrors() []error { return m } + +// UpdateWorkPlatformInfoRespValidationError is the validation error returned +// by UpdateWorkPlatformInfoResp.Validate if the designated constraints aren't met. +type UpdateWorkPlatformInfoRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateWorkPlatformInfoRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateWorkPlatformInfoRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateWorkPlatformInfoRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateWorkPlatformInfoRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateWorkPlatformInfoRespValidationError) ErrorName() string { + return "UpdateWorkPlatformInfoRespValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateWorkPlatformInfoRespValidationError) 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 %sUpdateWorkPlatformInfoResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateWorkPlatformInfoRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateWorkPlatformInfoRespValidationError{} + +// Validate checks the field values on UpdateWorkPublishLogReq 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 *UpdateWorkPublishLogReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateWorkPublishLogReq 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 +// UpdateWorkPublishLogReqMultiError, or nil if none found. +func (m *UpdateWorkPublishLogReq) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateWorkPublishLogReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for WorkUuid + + // no validation rules for PlatformID + + // no validation rules for Detail + + // no validation rules for Action + + if len(errors) > 0 { + return UpdateWorkPublishLogReqMultiError(errors) + } + + return nil +} + +// UpdateWorkPublishLogReqMultiError is an error wrapping multiple validation +// errors returned by UpdateWorkPublishLogReq.ValidateAll() if the designated +// constraints aren't met. +type UpdateWorkPublishLogReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateWorkPublishLogReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateWorkPublishLogReqMultiError) AllErrors() []error { return m } + +// UpdateWorkPublishLogReqValidationError is the validation error returned by +// UpdateWorkPublishLogReq.Validate if the designated constraints aren't met. +type UpdateWorkPublishLogReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateWorkPublishLogReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateWorkPublishLogReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateWorkPublishLogReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateWorkPublishLogReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateWorkPublishLogReqValidationError) ErrorName() string { + return "UpdateWorkPublishLogReqValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateWorkPublishLogReqValidationError) 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 %sUpdateWorkPublishLogReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateWorkPublishLogReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateWorkPublishLogReqValidationError{} + +// Validate checks the field values on RefreshWorkListReq 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 *RefreshWorkListReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on RefreshWorkListReq 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 +// RefreshWorkListReqMultiError, or nil if none found. +func (m *RefreshWorkListReq) ValidateAll() error { + return m.validate(true) +} + +func (m *RefreshWorkListReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for PublishStatus + + if len(errors) > 0 { + return RefreshWorkListReqMultiError(errors) + } + + return nil +} + +// RefreshWorkListReqMultiError is an error wrapping multiple validation errors +// returned by RefreshWorkListReq.ValidateAll() if the designated constraints +// aren't met. +type RefreshWorkListReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m RefreshWorkListReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m RefreshWorkListReqMultiError) AllErrors() []error { return m } + +// RefreshWorkListReqValidationError is the validation error returned by +// RefreshWorkListReq.Validate if the designated constraints aren't met. +type RefreshWorkListReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RefreshWorkListReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RefreshWorkListReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RefreshWorkListReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RefreshWorkListReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RefreshWorkListReqValidationError) ErrorName() string { + return "RefreshWorkListReqValidationError" +} + +// Error satisfies the builtin error interface +func (e RefreshWorkListReqValidationError) 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 %sRefreshWorkListReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RefreshWorkListReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RefreshWorkListReqValidationError{} + +// Validate checks the field values on RefreshWorkListResp 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 *RefreshWorkListResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on RefreshWorkListResp 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 +// RefreshWorkListRespMultiError, or nil if none found. +func (m *RefreshWorkListResp) ValidateAll() error { + return m.validate(true) +} + +func (m *RefreshWorkListResp) 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, RefreshWorkListRespValidationError{ + 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, RefreshWorkListRespValidationError{ + 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 RefreshWorkListRespValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return RefreshWorkListRespMultiError(errors) + } + + return nil +} + +// RefreshWorkListRespMultiError is an error wrapping multiple validation +// errors returned by RefreshWorkListResp.ValidateAll() if the designated +// constraints aren't met. +type RefreshWorkListRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m RefreshWorkListRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m RefreshWorkListRespMultiError) AllErrors() []error { return m } + +// RefreshWorkListRespValidationError is the validation error returned by +// RefreshWorkListResp.Validate if the designated constraints aren't met. +type RefreshWorkListRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RefreshWorkListRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RefreshWorkListRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RefreshWorkListRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RefreshWorkListRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RefreshWorkListRespValidationError) ErrorName() string { + return "RefreshWorkListRespValidationError" +} + +// Error satisfies the builtin error interface +func (e RefreshWorkListRespValidationError) 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 %sRefreshWorkListResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RefreshWorkListRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RefreshWorkListRespValidationError{} + // Validate checks the field values on OAuthAccountReq 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. @@ -4592,6 +5541,220 @@ var _ interface { ErrorName() string } = OAuthAccountRespValidationError{} +// Validate checks the field values on OAuthAccountV2Req 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 *OAuthAccountV2Req) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on OAuthAccountV2Req 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 +// OAuthAccountV2ReqMultiError, or nil if none found. +func (m *OAuthAccountV2Req) ValidateAll() error { + return m.validate(true) +} + +func (m *OAuthAccountV2Req) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for MediaAccountUuid + + if len(errors) > 0 { + return OAuthAccountV2ReqMultiError(errors) + } + + return nil +} + +// OAuthAccountV2ReqMultiError is an error wrapping multiple validation errors +// returned by OAuthAccountV2Req.ValidateAll() if the designated constraints +// aren't met. +type OAuthAccountV2ReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m OAuthAccountV2ReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m OAuthAccountV2ReqMultiError) AllErrors() []error { return m } + +// OAuthAccountV2ReqValidationError is the validation error returned by +// OAuthAccountV2Req.Validate if the designated constraints aren't met. +type OAuthAccountV2ReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OAuthAccountV2ReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OAuthAccountV2ReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OAuthAccountV2ReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OAuthAccountV2ReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OAuthAccountV2ReqValidationError) ErrorName() string { + return "OAuthAccountV2ReqValidationError" +} + +// Error satisfies the builtin error interface +func (e OAuthAccountV2ReqValidationError) 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 %sOAuthAccountV2Req.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OAuthAccountV2ReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OAuthAccountV2ReqValidationError{} + +// Validate checks the field values on OAuthAccountV2Resp 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 *OAuthAccountV2Resp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on OAuthAccountV2Resp 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 +// OAuthAccountV2RespMultiError, or nil if none found. +func (m *OAuthAccountV2Resp) ValidateAll() error { + return m.validate(true) +} + +func (m *OAuthAccountV2Resp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUuid + + // no validation rules for ProfileKey + + // no validation rules for PlatformID + + // no validation rules for AuthUrl + + if len(errors) > 0 { + return OAuthAccountV2RespMultiError(errors) + } + + return nil +} + +// OAuthAccountV2RespMultiError is an error wrapping multiple validation errors +// returned by OAuthAccountV2Resp.ValidateAll() if the designated constraints +// aren't met. +type OAuthAccountV2RespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m OAuthAccountV2RespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m OAuthAccountV2RespMultiError) AllErrors() []error { return m } + +// OAuthAccountV2RespValidationError is the validation error returned by +// OAuthAccountV2Resp.Validate if the designated constraints aren't met. +type OAuthAccountV2RespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OAuthAccountV2RespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OAuthAccountV2RespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OAuthAccountV2RespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OAuthAccountV2RespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OAuthAccountV2RespValidationError) ErrorName() string { + return "OAuthAccountV2RespValidationError" +} + +// Error satisfies the builtin error interface +func (e OAuthAccountV2RespValidationError) 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 %sOAuthAccountV2Resp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OAuthAccountV2RespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OAuthAccountV2RespValidationError{} + // Validate checks the field values on OAuthYoutubeTokenReq 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. @@ -5016,6 +6179,140 @@ var _ interface { ErrorName() string } = OAuthCodeToTokenRespValidationError{} +// Validate checks the field values on UpdateOAuthReq 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 *UpdateOAuthReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateOAuthReq 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 UpdateOAuthReqMultiError, +// or nil if none found. +func (m *UpdateOAuthReq) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateOAuthReq) 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, UpdateOAuthReqValidationError{ + 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, UpdateOAuthReqValidationError{ + 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 UpdateOAuthReqValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return UpdateOAuthReqMultiError(errors) + } + + return nil +} + +// UpdateOAuthReqMultiError is an error wrapping multiple validation errors +// returned by UpdateOAuthReq.ValidateAll() if the designated constraints +// aren't met. +type UpdateOAuthReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateOAuthReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateOAuthReqMultiError) AllErrors() []error { return m } + +// UpdateOAuthReqValidationError is the validation error returned by +// UpdateOAuthReq.Validate if the designated constraints aren't met. +type UpdateOAuthReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateOAuthReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateOAuthReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateOAuthReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateOAuthReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateOAuthReqValidationError) ErrorName() string { return "UpdateOAuthReqValidationError" } + +// Error satisfies the builtin error interface +func (e UpdateOAuthReqValidationError) 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 %sUpdateOAuthReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateOAuthReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateOAuthReqValidationError{} + // Validate checks the field values on RefreshTokenReq 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. @@ -7651,6 +8948,8 @@ func (m *PromptInfo) validate(all bool) error { // no validation rules for LineNo + // no validation rules for CreatedDate + if len(errors) > 0 { return PromptInfoMultiError(errors) } @@ -8140,6 +9439,7981 @@ var _ interface { ErrorName() string } = UpdatePromptBatchRespValidationError{} +// Validate checks the field values on ArtistInfo 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 *ArtistInfo) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistInfo 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 ArtistInfoMultiError, or +// nil if none found. +func (m *ArtistInfo) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistInfo) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUuid + + // no validation rules for RefID + + // no validation rules for ProfileKey + + // no validation rules for SubNum + + if len(errors) > 0 { + return ArtistInfoMultiError(errors) + } + + return nil +} + +// ArtistInfoMultiError is an error wrapping multiple validation errors +// returned by ArtistInfo.ValidateAll() if the designated constraints aren't met. +type ArtistInfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistInfoMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistInfoMultiError) AllErrors() []error { return m } + +// ArtistInfoValidationError is the validation error returned by +// ArtistInfo.Validate if the designated constraints aren't met. +type ArtistInfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistInfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistInfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistInfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistInfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistInfoValidationError) ErrorName() string { return "ArtistInfoValidationError" } + +// Error satisfies the builtin error interface +func (e ArtistInfoValidationError) 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 %sArtistInfo.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistInfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistInfoValidationError{} + +// Validate checks the field values on UpdateArtistReq 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 *UpdateArtistReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateArtistReq 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 +// UpdateArtistReqMultiError, or nil if none found. +func (m *UpdateArtistReq) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateArtistReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetArtistInfo()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, UpdateArtistReqValidationError{ + field: "ArtistInfo", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, UpdateArtistReqValidationError{ + field: "ArtistInfo", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetArtistInfo()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return UpdateArtistReqValidationError{ + field: "ArtistInfo", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Uuid + + if len(errors) > 0 { + return UpdateArtistReqMultiError(errors) + } + + return nil +} + +// UpdateArtistReqMultiError is an error wrapping multiple validation errors +// returned by UpdateArtistReq.ValidateAll() if the designated constraints +// aren't met. +type UpdateArtistReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateArtistReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateArtistReqMultiError) AllErrors() []error { return m } + +// UpdateArtistReqValidationError is the validation error returned by +// UpdateArtistReq.Validate if the designated constraints aren't met. +type UpdateArtistReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateArtistReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateArtistReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateArtistReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateArtistReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateArtistReqValidationError) ErrorName() string { return "UpdateArtistReqValidationError" } + +// Error satisfies the builtin error interface +func (e UpdateArtistReqValidationError) 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 %sUpdateArtistReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateArtistReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateArtistReqValidationError{} + +// Validate checks the field values on UpdateArtistResp 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 *UpdateArtistResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateArtistResp 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 +// UpdateArtistRespMultiError, or nil if none found. +func (m *UpdateArtistResp) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateArtistResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUuid + + if len(errors) > 0 { + return UpdateArtistRespMultiError(errors) + } + + return nil +} + +// UpdateArtistRespMultiError is an error wrapping multiple validation errors +// returned by UpdateArtistResp.ValidateAll() if the designated constraints +// aren't met. +type UpdateArtistRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateArtistRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateArtistRespMultiError) AllErrors() []error { return m } + +// UpdateArtistRespValidationError is the validation error returned by +// UpdateArtistResp.Validate if the designated constraints aren't met. +type UpdateArtistRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateArtistRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateArtistRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateArtistRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateArtistRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateArtistRespValidationError) ErrorName() string { return "UpdateArtistRespValidationError" } + +// Error satisfies the builtin error interface +func (e UpdateArtistRespValidationError) 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 %sUpdateArtistResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateArtistRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateArtistRespValidationError{} + +// Validate checks the field values on GetArtistReq 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 *GetArtistReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtistReq 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 GetArtistReqMultiError, or +// nil if none found. +func (m *GetArtistReq) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtistReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUuid + + if len(errors) > 0 { + return GetArtistReqMultiError(errors) + } + + return nil +} + +// GetArtistReqMultiError is an error wrapping multiple validation errors +// returned by GetArtistReq.ValidateAll() if the designated constraints aren't met. +type GetArtistReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtistReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtistReqMultiError) AllErrors() []error { return m } + +// GetArtistReqValidationError is the validation error returned by +// GetArtistReq.Validate if the designated constraints aren't met. +type GetArtistReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtistReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtistReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtistReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtistReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtistReqValidationError) ErrorName() string { return "GetArtistReqValidationError" } + +// Error satisfies the builtin error interface +func (e GetArtistReqValidationError) 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 %sGetArtistReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtistReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtistReqValidationError{} + +// Validate checks the field values on GetArtistResp 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 *GetArtistResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtistResp 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 GetArtistRespMultiError, or +// nil if none found. +func (m *GetArtistResp) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtistResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetArtistInfo()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetArtistRespValidationError{ + field: "ArtistInfo", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetArtistRespValidationError{ + field: "ArtistInfo", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetArtistInfo()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetArtistRespValidationError{ + field: "ArtistInfo", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for Uuid + + if len(errors) > 0 { + return GetArtistRespMultiError(errors) + } + + return nil +} + +// GetArtistRespMultiError is an error wrapping multiple validation errors +// returned by GetArtistResp.ValidateAll() if the designated constraints +// aren't met. +type GetArtistRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtistRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtistRespMultiError) AllErrors() []error { return m } + +// GetArtistRespValidationError is the validation error returned by +// GetArtistResp.Validate if the designated constraints aren't met. +type GetArtistRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtistRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtistRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtistRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtistRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtistRespValidationError) ErrorName() string { return "GetArtistRespValidationError" } + +// Error satisfies the builtin error interface +func (e GetArtistRespValidationError) 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 %sGetArtistResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtistRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtistRespValidationError{} + +// Validate checks the field values on CreateWorkAnalysisReq 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 *CreateWorkAnalysisReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on CreateWorkAnalysisReq 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 +// CreateWorkAnalysisReqMultiError, or nil if none found. +func (m *CreateWorkAnalysisReq) ValidateAll() error { + return m.validate(true) +} + +func (m *CreateWorkAnalysisReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for SubNum + + // no validation rules for ArtistName + + // no validation rules for ArtistID + + // no validation rules for ArtistPhone + + // no validation rules for Analysis + + // no validation rules for Title + + // no validation rules for PdfUrl + + // no validation rules for MediaAccountCount + + // no validation rules for WorkVideoCount + + // no validation rules for WorkImageCount + + // no validation rules for Views + + // no validation rules for Likes + + // no validation rules for Comments + + // no validation rules for Shares + + // no validation rules for FansCount + + // no validation rules for TopCities + + // no validation rules for MostActiveDay + + // no validation rules for BestPostTime + + // no validation rules for PeriodTypeFans + + // no validation rules for PeriodTypeViews + + // no validation rules for PeriodTypeLikes + + // no validation rules for PeriodTypeComments + + // no validation rules for PeriodTypeShares + + if len(errors) > 0 { + return CreateWorkAnalysisReqMultiError(errors) + } + + return nil +} + +// CreateWorkAnalysisReqMultiError is an error wrapping multiple validation +// errors returned by CreateWorkAnalysisReq.ValidateAll() if the designated +// constraints aren't met. +type CreateWorkAnalysisReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m CreateWorkAnalysisReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m CreateWorkAnalysisReqMultiError) AllErrors() []error { return m } + +// CreateWorkAnalysisReqValidationError is the validation error returned by +// CreateWorkAnalysisReq.Validate if the designated constraints aren't met. +type CreateWorkAnalysisReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateWorkAnalysisReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateWorkAnalysisReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateWorkAnalysisReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateWorkAnalysisReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateWorkAnalysisReqValidationError) ErrorName() string { + return "CreateWorkAnalysisReqValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateWorkAnalysisReqValidationError) 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 %sCreateWorkAnalysisReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateWorkAnalysisReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateWorkAnalysisReqValidationError{} + +// Validate checks the field values on CreateWorkAnalysisResp 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 *CreateWorkAnalysisResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on CreateWorkAnalysisResp 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 +// CreateWorkAnalysisRespMultiError, or nil if none found. +func (m *CreateWorkAnalysisResp) ValidateAll() error { + return m.validate(true) +} + +func (m *CreateWorkAnalysisResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + if len(errors) > 0 { + return CreateWorkAnalysisRespMultiError(errors) + } + + return nil +} + +// CreateWorkAnalysisRespMultiError is an error wrapping multiple validation +// errors returned by CreateWorkAnalysisResp.ValidateAll() if the designated +// constraints aren't met. +type CreateWorkAnalysisRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m CreateWorkAnalysisRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m CreateWorkAnalysisRespMultiError) AllErrors() []error { return m } + +// CreateWorkAnalysisRespValidationError is the validation error returned by +// CreateWorkAnalysisResp.Validate if the designated constraints aren't met. +type CreateWorkAnalysisRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e CreateWorkAnalysisRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateWorkAnalysisRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateWorkAnalysisRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateWorkAnalysisRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateWorkAnalysisRespValidationError) ErrorName() string { + return "CreateWorkAnalysisRespValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateWorkAnalysisRespValidationError) 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 %sCreateWorkAnalysisResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateWorkAnalysisRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateWorkAnalysisRespValidationError{} + +// Validate checks the field values on UpdateWorkAnalysisReq 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 *UpdateWorkAnalysisReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateWorkAnalysisReq 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 +// UpdateWorkAnalysisReqMultiError, or nil if none found. +func (m *UpdateWorkAnalysisReq) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateWorkAnalysisReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for Analysis + + // no validation rules for Title + + // no validation rules for PdfUrl + + // no validation rules for MediaAccountCount + + // no validation rules for WorkVideoCount + + // no validation rules for WorkImageCount + + // no validation rules for Views + + // no validation rules for Likes + + // no validation rules for Comments + + // no validation rules for Shares + + // no validation rules for FansCount + + // no validation rules for TopCities + + // no validation rules for MostActiveDay + + // no validation rules for BestPostTime + + // no validation rules for ArtistUUID + + // no validation rules for PeriodTypeFans + + // no validation rules for PeriodTypeViews + + // no validation rules for PeriodTypeLikes + + // no validation rules for PeriodTypeComments + + // no validation rules for PeriodTypeShares + + if len(errors) > 0 { + return UpdateWorkAnalysisReqMultiError(errors) + } + + return nil +} + +// UpdateWorkAnalysisReqMultiError is an error wrapping multiple validation +// errors returned by UpdateWorkAnalysisReq.ValidateAll() if the designated +// constraints aren't met. +type UpdateWorkAnalysisReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateWorkAnalysisReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateWorkAnalysisReqMultiError) AllErrors() []error { return m } + +// UpdateWorkAnalysisReqValidationError is the validation error returned by +// UpdateWorkAnalysisReq.Validate if the designated constraints aren't met. +type UpdateWorkAnalysisReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateWorkAnalysisReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateWorkAnalysisReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateWorkAnalysisReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateWorkAnalysisReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateWorkAnalysisReqValidationError) ErrorName() string { + return "UpdateWorkAnalysisReqValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateWorkAnalysisReqValidationError) 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 %sUpdateWorkAnalysisReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateWorkAnalysisReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateWorkAnalysisReqValidationError{} + +// Validate checks the field values on UpdateWorkAnalysisStatusReq 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 *UpdateWorkAnalysisStatusReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateWorkAnalysisStatusReq 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 +// UpdateWorkAnalysisStatusReqMultiError, or nil if none found. +func (m *UpdateWorkAnalysisStatusReq) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateWorkAnalysisStatusReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for WorkAction + + // no validation rules for Uuid + + // no validation rules for ApprovalID + + // no validation rules for ApprovalReply + + // no validation rules for ConfirmRemark + + // no validation rules for ConfirmStatus + + // no validation rules for CostType + + if len(errors) > 0 { + return UpdateWorkAnalysisStatusReqMultiError(errors) + } + + return nil +} + +// UpdateWorkAnalysisStatusReqMultiError is an error wrapping multiple +// validation errors returned by UpdateWorkAnalysisStatusReq.ValidateAll() if +// the designated constraints aren't met. +type UpdateWorkAnalysisStatusReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateWorkAnalysisStatusReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateWorkAnalysisStatusReqMultiError) AllErrors() []error { return m } + +// UpdateWorkAnalysisStatusReqValidationError is the validation error returned +// by UpdateWorkAnalysisStatusReq.Validate if the designated constraints +// aren't met. +type UpdateWorkAnalysisStatusReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateWorkAnalysisStatusReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateWorkAnalysisStatusReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateWorkAnalysisStatusReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateWorkAnalysisStatusReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateWorkAnalysisStatusReqValidationError) ErrorName() string { + return "UpdateWorkAnalysisStatusReqValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateWorkAnalysisStatusReqValidationError) 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 %sUpdateWorkAnalysisStatusReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateWorkAnalysisStatusReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateWorkAnalysisStatusReqValidationError{} + +// Validate checks the field values on WorkAnalysisLogInfo 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 *WorkAnalysisLogInfo) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisLogInfo 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 +// WorkAnalysisLogInfoMultiError, or nil if none found. +func (m *WorkAnalysisLogInfo) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisLogInfo) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for WorkUuid + + // no validation rules for Title + + // no validation rules for UpdateTime + + // no validation rules for WorkAnalysisStatus + + // no validation rules for ArtistName + + // no validation rules for ArtistUuid + + // no validation rules for AnalysisExtraData + + // no validation rules for OperatorName + + // no validation rules for OperatorID + + if len(errors) > 0 { + return WorkAnalysisLogInfoMultiError(errors) + } + + return nil +} + +// WorkAnalysisLogInfoMultiError is an error wrapping multiple validation +// errors returned by WorkAnalysisLogInfo.ValidateAll() if the designated +// constraints aren't met. +type WorkAnalysisLogInfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisLogInfoMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisLogInfoMultiError) AllErrors() []error { return m } + +// WorkAnalysisLogInfoValidationError is the validation error returned by +// WorkAnalysisLogInfo.Validate if the designated constraints aren't met. +type WorkAnalysisLogInfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisLogInfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisLogInfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisLogInfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisLogInfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisLogInfoValidationError) ErrorName() string { + return "WorkAnalysisLogInfoValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkAnalysisLogInfoValidationError) 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 %sWorkAnalysisLogInfo.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisLogInfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisLogInfoValidationError{} + +// Validate checks the field values on WorkAnalysisFansSeries 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 *WorkAnalysisFansSeries) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisFansSeries 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 +// WorkAnalysisFansSeriesMultiError, or nil if none found. +func (m *WorkAnalysisFansSeries) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisFansSeries) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for FansCount + + // no validation rules for PeriodType + + // no validation rules for StartDate + + // no validation rules for EndDate + + // no validation rules for DetailJSON + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return WorkAnalysisFansSeriesMultiError(errors) + } + + return nil +} + +// WorkAnalysisFansSeriesMultiError is an error wrapping multiple validation +// errors returned by WorkAnalysisFansSeries.ValidateAll() if the designated +// constraints aren't met. +type WorkAnalysisFansSeriesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisFansSeriesMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisFansSeriesMultiError) AllErrors() []error { return m } + +// WorkAnalysisFansSeriesValidationError is the validation error returned by +// WorkAnalysisFansSeries.Validate if the designated constraints aren't met. +type WorkAnalysisFansSeriesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisFansSeriesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisFansSeriesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisFansSeriesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisFansSeriesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisFansSeriesValidationError) ErrorName() string { + return "WorkAnalysisFansSeriesValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkAnalysisFansSeriesValidationError) 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 %sWorkAnalysisFansSeries.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisFansSeriesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisFansSeriesValidationError{} + +// Validate checks the field values on WorkAnalysisViewsSeries 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 *WorkAnalysisViewsSeries) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisViewsSeries 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 +// WorkAnalysisViewsSeriesMultiError, or nil if none found. +func (m *WorkAnalysisViewsSeries) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisViewsSeries) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for ViewsCount + + // no validation rules for PeriodType + + // no validation rules for StartDate + + // no validation rules for EndDate + + // no validation rules for DetailJSON + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return WorkAnalysisViewsSeriesMultiError(errors) + } + + return nil +} + +// WorkAnalysisViewsSeriesMultiError is an error wrapping multiple validation +// errors returned by WorkAnalysisViewsSeries.ValidateAll() if the designated +// constraints aren't met. +type WorkAnalysisViewsSeriesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisViewsSeriesMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisViewsSeriesMultiError) AllErrors() []error { return m } + +// WorkAnalysisViewsSeriesValidationError is the validation error returned by +// WorkAnalysisViewsSeries.Validate if the designated constraints aren't met. +type WorkAnalysisViewsSeriesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisViewsSeriesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisViewsSeriesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisViewsSeriesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisViewsSeriesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisViewsSeriesValidationError) ErrorName() string { + return "WorkAnalysisViewsSeriesValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkAnalysisViewsSeriesValidationError) 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 %sWorkAnalysisViewsSeries.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisViewsSeriesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisViewsSeriesValidationError{} + +// Validate checks the field values on WorkAnalysisLikesSeries 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 *WorkAnalysisLikesSeries) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisLikesSeries 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 +// WorkAnalysisLikesSeriesMultiError, or nil if none found. +func (m *WorkAnalysisLikesSeries) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisLikesSeries) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for LikesCount + + // no validation rules for PeriodType + + // no validation rules for StartDate + + // no validation rules for EndDate + + // no validation rules for DetailJSON + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return WorkAnalysisLikesSeriesMultiError(errors) + } + + return nil +} + +// WorkAnalysisLikesSeriesMultiError is an error wrapping multiple validation +// errors returned by WorkAnalysisLikesSeries.ValidateAll() if the designated +// constraints aren't met. +type WorkAnalysisLikesSeriesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisLikesSeriesMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisLikesSeriesMultiError) AllErrors() []error { return m } + +// WorkAnalysisLikesSeriesValidationError is the validation error returned by +// WorkAnalysisLikesSeries.Validate if the designated constraints aren't met. +type WorkAnalysisLikesSeriesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisLikesSeriesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisLikesSeriesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisLikesSeriesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisLikesSeriesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisLikesSeriesValidationError) ErrorName() string { + return "WorkAnalysisLikesSeriesValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkAnalysisLikesSeriesValidationError) 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 %sWorkAnalysisLikesSeries.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisLikesSeriesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisLikesSeriesValidationError{} + +// Validate checks the field values on WorkAnalysisCommentsSeries 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 *WorkAnalysisCommentsSeries) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisCommentsSeries 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 +// WorkAnalysisCommentsSeriesMultiError, or nil if none found. +func (m *WorkAnalysisCommentsSeries) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisCommentsSeries) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for CommentsCount + + // no validation rules for PeriodType + + // no validation rules for StartDate + + // no validation rules for EndDate + + // no validation rules for DetailJSON + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return WorkAnalysisCommentsSeriesMultiError(errors) + } + + return nil +} + +// WorkAnalysisCommentsSeriesMultiError is an error wrapping multiple +// validation errors returned by WorkAnalysisCommentsSeries.ValidateAll() if +// the designated constraints aren't met. +type WorkAnalysisCommentsSeriesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisCommentsSeriesMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisCommentsSeriesMultiError) AllErrors() []error { return m } + +// WorkAnalysisCommentsSeriesValidationError is the validation error returned +// by WorkAnalysisCommentsSeries.Validate if the designated constraints aren't met. +type WorkAnalysisCommentsSeriesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisCommentsSeriesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisCommentsSeriesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisCommentsSeriesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisCommentsSeriesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisCommentsSeriesValidationError) ErrorName() string { + return "WorkAnalysisCommentsSeriesValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkAnalysisCommentsSeriesValidationError) 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 %sWorkAnalysisCommentsSeries.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisCommentsSeriesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisCommentsSeriesValidationError{} + +// Validate checks the field values on WorkAnalysisSharesSeries 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 *WorkAnalysisSharesSeries) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisSharesSeries 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 +// WorkAnalysisSharesSeriesMultiError, or nil if none found. +func (m *WorkAnalysisSharesSeries) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisSharesSeries) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for SharesCount + + // no validation rules for PeriodType + + // no validation rules for StartDate + + // no validation rules for EndDate + + // no validation rules for DetailJSON + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return WorkAnalysisSharesSeriesMultiError(errors) + } + + return nil +} + +// WorkAnalysisSharesSeriesMultiError is an error wrapping multiple validation +// errors returned by WorkAnalysisSharesSeries.ValidateAll() if the designated +// constraints aren't met. +type WorkAnalysisSharesSeriesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisSharesSeriesMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisSharesSeriesMultiError) AllErrors() []error { return m } + +// WorkAnalysisSharesSeriesValidationError is the validation error returned by +// WorkAnalysisSharesSeries.Validate if the designated constraints aren't met. +type WorkAnalysisSharesSeriesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisSharesSeriesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisSharesSeriesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisSharesSeriesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisSharesSeriesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisSharesSeriesValidationError) ErrorName() string { + return "WorkAnalysisSharesSeriesValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkAnalysisSharesSeriesValidationError) 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 %sWorkAnalysisSharesSeries.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisSharesSeriesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisSharesSeriesValidationError{} + +// Validate checks the field values on WorkAnalysisTopCities 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 *WorkAnalysisTopCities) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisTopCities 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 +// WorkAnalysisTopCitiesMultiError, or nil if none found. +func (m *WorkAnalysisTopCities) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisTopCities) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for CitiesJSON + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return WorkAnalysisTopCitiesMultiError(errors) + } + + return nil +} + +// WorkAnalysisTopCitiesMultiError is an error wrapping multiple validation +// errors returned by WorkAnalysisTopCities.ValidateAll() if the designated +// constraints aren't met. +type WorkAnalysisTopCitiesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisTopCitiesMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisTopCitiesMultiError) AllErrors() []error { return m } + +// WorkAnalysisTopCitiesValidationError is the validation error returned by +// WorkAnalysisTopCities.Validate if the designated constraints aren't met. +type WorkAnalysisTopCitiesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisTopCitiesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisTopCitiesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisTopCitiesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisTopCitiesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisTopCitiesValidationError) ErrorName() string { + return "WorkAnalysisTopCitiesValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkAnalysisTopCitiesValidationError) 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 %sWorkAnalysisTopCities.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisTopCitiesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisTopCitiesValidationError{} + +// Validate checks the field values on WorkAnalysisMostActiveDay 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 *WorkAnalysisMostActiveDay) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisMostActiveDay 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 +// WorkAnalysisMostActiveDayMultiError, or nil if none found. +func (m *WorkAnalysisMostActiveDay) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisMostActiveDay) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for DetailJSON + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return WorkAnalysisMostActiveDayMultiError(errors) + } + + return nil +} + +// WorkAnalysisMostActiveDayMultiError is an error wrapping multiple validation +// errors returned by WorkAnalysisMostActiveDay.ValidateAll() if the +// designated constraints aren't met. +type WorkAnalysisMostActiveDayMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisMostActiveDayMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisMostActiveDayMultiError) AllErrors() []error { return m } + +// WorkAnalysisMostActiveDayValidationError is the validation error returned by +// WorkAnalysisMostActiveDay.Validate if the designated constraints aren't met. +type WorkAnalysisMostActiveDayValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisMostActiveDayValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisMostActiveDayValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisMostActiveDayValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisMostActiveDayValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisMostActiveDayValidationError) ErrorName() string { + return "WorkAnalysisMostActiveDayValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkAnalysisMostActiveDayValidationError) 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 %sWorkAnalysisMostActiveDay.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisMostActiveDayValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisMostActiveDayValidationError{} + +// Validate checks the field values on WorkAnalysisBestPostTime 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 *WorkAnalysisBestPostTime) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisBestPostTime 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 +// WorkAnalysisBestPostTimeMultiError, or nil if none found. +func (m *WorkAnalysisBestPostTime) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisBestPostTime) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for DetailJSON + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return WorkAnalysisBestPostTimeMultiError(errors) + } + + return nil +} + +// WorkAnalysisBestPostTimeMultiError is an error wrapping multiple validation +// errors returned by WorkAnalysisBestPostTime.ValidateAll() if the designated +// constraints aren't met. +type WorkAnalysisBestPostTimeMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisBestPostTimeMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisBestPostTimeMultiError) AllErrors() []error { return m } + +// WorkAnalysisBestPostTimeValidationError is the validation error returned by +// WorkAnalysisBestPostTime.Validate if the designated constraints aren't met. +type WorkAnalysisBestPostTimeValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisBestPostTimeValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisBestPostTimeValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisBestPostTimeValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisBestPostTimeValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisBestPostTimeValidationError) ErrorName() string { + return "WorkAnalysisBestPostTimeValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkAnalysisBestPostTimeValidationError) 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 %sWorkAnalysisBestPostTime.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisBestPostTimeValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisBestPostTimeValidationError{} + +// Validate checks the field values on WorkAnalysisExtra 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 *WorkAnalysisExtra) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisExtra 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 +// WorkAnalysisExtraMultiError, or nil if none found. +func (m *WorkAnalysisExtra) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisExtra) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for AnalysisUuid + + // no validation rules for ArtistConfirmedTime + + // no validation rules for CostType + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return WorkAnalysisExtraMultiError(errors) + } + + return nil +} + +// WorkAnalysisExtraMultiError is an error wrapping multiple validation errors +// returned by WorkAnalysisExtra.ValidateAll() if the designated constraints +// aren't met. +type WorkAnalysisExtraMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisExtraMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisExtraMultiError) AllErrors() []error { return m } + +// WorkAnalysisExtraValidationError is the validation error returned by +// WorkAnalysisExtra.Validate if the designated constraints aren't met. +type WorkAnalysisExtraValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisExtraValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisExtraValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisExtraValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisExtraValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisExtraValidationError) ErrorName() string { + return "WorkAnalysisExtraValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkAnalysisExtraValidationError) 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 %sWorkAnalysisExtra.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisExtraValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisExtraValidationError{} + +// Validate checks the field values on GetWorkAnalysisDetailReq 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 *GetWorkAnalysisDetailReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetWorkAnalysisDetailReq 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 +// GetWorkAnalysisDetailReqMultiError, or nil if none found. +func (m *GetWorkAnalysisDetailReq) ValidateAll() error { + return m.validate(true) +} + +func (m *GetWorkAnalysisDetailReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + if len(errors) > 0 { + return GetWorkAnalysisDetailReqMultiError(errors) + } + + return nil +} + +// GetWorkAnalysisDetailReqMultiError is an error wrapping multiple validation +// errors returned by GetWorkAnalysisDetailReq.ValidateAll() if the designated +// constraints aren't met. +type GetWorkAnalysisDetailReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetWorkAnalysisDetailReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetWorkAnalysisDetailReqMultiError) AllErrors() []error { return m } + +// GetWorkAnalysisDetailReqValidationError is the validation error returned by +// GetWorkAnalysisDetailReq.Validate if the designated constraints aren't met. +type GetWorkAnalysisDetailReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetWorkAnalysisDetailReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetWorkAnalysisDetailReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetWorkAnalysisDetailReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetWorkAnalysisDetailReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetWorkAnalysisDetailReqValidationError) ErrorName() string { + return "GetWorkAnalysisDetailReqValidationError" +} + +// Error satisfies the builtin error interface +func (e GetWorkAnalysisDetailReqValidationError) 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 %sGetWorkAnalysisDetailReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetWorkAnalysisDetailReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetWorkAnalysisDetailReqValidationError{} + +// Validate checks the field values on GetLatestWorkAnalysisReq 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 *GetLatestWorkAnalysisReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetLatestWorkAnalysisReq 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 +// GetLatestWorkAnalysisReqMultiError, or nil if none found. +func (m *GetLatestWorkAnalysisReq) ValidateAll() error { + return m.validate(true) +} + +func (m *GetLatestWorkAnalysisReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for SubNum + + if len(errors) > 0 { + return GetLatestWorkAnalysisReqMultiError(errors) + } + + return nil +} + +// GetLatestWorkAnalysisReqMultiError is an error wrapping multiple validation +// errors returned by GetLatestWorkAnalysisReq.ValidateAll() if the designated +// constraints aren't met. +type GetLatestWorkAnalysisReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetLatestWorkAnalysisReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetLatestWorkAnalysisReqMultiError) AllErrors() []error { return m } + +// GetLatestWorkAnalysisReqValidationError is the validation error returned by +// GetLatestWorkAnalysisReq.Validate if the designated constraints aren't met. +type GetLatestWorkAnalysisReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetLatestWorkAnalysisReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetLatestWorkAnalysisReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetLatestWorkAnalysisReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetLatestWorkAnalysisReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetLatestWorkAnalysisReqValidationError) ErrorName() string { + return "GetLatestWorkAnalysisReqValidationError" +} + +// Error satisfies the builtin error interface +func (e GetLatestWorkAnalysisReqValidationError) 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 %sGetLatestWorkAnalysisReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetLatestWorkAnalysisReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetLatestWorkAnalysisReqValidationError{} + +// Validate checks the field values on GetWorkAnalysisResp 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 *GetWorkAnalysisResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetWorkAnalysisResp 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 +// GetWorkAnalysisRespMultiError, or nil if none found. +func (m *GetWorkAnalysisResp) ValidateAll() error { + return m.validate(true) +} + +func (m *GetWorkAnalysisResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for SubNum + + // no validation rules for ArtistName + + // no validation rules for ArtistID + + // no validation rules for ArtistPhone + + // no validation rules for Analysis + + // no validation rules for Title + + // no validation rules for OperatorID + + // no validation rules for OperatorName + + // no validation rules for WorkAnalysisStatus + + // no validation rules for Reason + + // no validation rules for ComfirmType + + // no validation rules for Cost + + // no validation rules for SubmitTime + + // no validation rules for StatusUpdateTime + + // no validation rules for ApprovalID + + // no validation rules for PdfUrl + + // no validation rules for MediaAccountCount + + // no validation rules for WorkVideoCount + + // no validation rules for WorkImageCount + + // no validation rules for Views + + // no validation rules for Likes + + // no validation rules for Comments + + // no validation rules for Shares + + // no validation rules for FansCount + + // no validation rules for TopCities + + // no validation rules for MostActiveDay + + // no validation rules for BestPostTime + + // no validation rules for CreatedAt + + if all { + switch v := interface{}(m.GetFansSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "FansSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "FansSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetFansSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisRespValidationError{ + field: "FansSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetViewsSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "ViewsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "ViewsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetViewsSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisRespValidationError{ + field: "ViewsSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetLikesSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "LikesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "LikesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetLikesSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisRespValidationError{ + field: "LikesSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetCommentsSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "CommentsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "CommentsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCommentsSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisRespValidationError{ + field: "CommentsSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetSharesSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "SharesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "SharesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSharesSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisRespValidationError{ + field: "SharesSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetTopCitiesSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "TopCitiesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "TopCitiesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetTopCitiesSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisRespValidationError{ + field: "TopCitiesSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetMostActiveDaySeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "MostActiveDaySeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "MostActiveDaySeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMostActiveDaySeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisRespValidationError{ + field: "MostActiveDaySeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetBestPostTimeSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "BestPostTimeSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisRespValidationError{ + field: "BestPostTimeSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetBestPostTimeSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisRespValidationError{ + field: "BestPostTimeSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return GetWorkAnalysisRespMultiError(errors) + } + + return nil +} + +// GetWorkAnalysisRespMultiError is an error wrapping multiple validation +// errors returned by GetWorkAnalysisResp.ValidateAll() if the designated +// constraints aren't met. +type GetWorkAnalysisRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetWorkAnalysisRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetWorkAnalysisRespMultiError) AllErrors() []error { return m } + +// GetWorkAnalysisRespValidationError is the validation error returned by +// GetWorkAnalysisResp.Validate if the designated constraints aren't met. +type GetWorkAnalysisRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetWorkAnalysisRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetWorkAnalysisRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetWorkAnalysisRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetWorkAnalysisRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetWorkAnalysisRespValidationError) ErrorName() string { + return "GetWorkAnalysisRespValidationError" +} + +// Error satisfies the builtin error interface +func (e GetWorkAnalysisRespValidationError) 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 %sGetWorkAnalysisResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetWorkAnalysisRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetWorkAnalysisRespValidationError{} + +// Validate checks the field values on GetWorkAnalysisDetailResp 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 *GetWorkAnalysisDetailResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetWorkAnalysisDetailResp 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 +// GetWorkAnalysisDetailRespMultiError, or nil if none found. +func (m *GetWorkAnalysisDetailResp) ValidateAll() error { + return m.validate(true) +} + +func (m *GetWorkAnalysisDetailResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for SubNum + + // no validation rules for ArtistName + + // no validation rules for ArtistID + + // no validation rules for ArtistPhone + + // no validation rules for Analysis + + // no validation rules for Title + + // no validation rules for OperatorID + + // no validation rules for OperatorName + + // no validation rules for WorkAnalysisStatus + + // no validation rules for Reason + + // no validation rules for ComfirmType + + // no validation rules for Cost + + // no validation rules for SubmitTime + + // no validation rules for StatusUpdateTime + + // no validation rules for ApprovalID + + // no validation rules for PdfUrl + + // no validation rules for MediaAccountCount + + // no validation rules for WorkVideoCount + + // no validation rules for WorkImageCount + + // no validation rules for Views + + // no validation rules for Likes + + // no validation rules for Comments + + // no validation rules for Shares + + // no validation rules for FansCount + + // no validation rules for TopCities + + // no validation rules for MostActiveDay + + // no validation rules for BestPostTime + + for idx, item := range m.GetWorkAnalysisLogData() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: fmt.Sprintf("WorkAnalysisLogData[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: fmt.Sprintf("WorkAnalysisLogData[%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 GetWorkAnalysisDetailRespValidationError{ + field: fmt.Sprintf("WorkAnalysisLogData[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if all { + switch v := interface{}(m.GetFansSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "FansSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "FansSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetFansSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisDetailRespValidationError{ + field: "FansSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetViewsSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "ViewsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "ViewsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetViewsSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisDetailRespValidationError{ + field: "ViewsSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetLikesSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "LikesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "LikesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetLikesSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisDetailRespValidationError{ + field: "LikesSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetCommentsSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "CommentsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "CommentsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCommentsSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisDetailRespValidationError{ + field: "CommentsSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetSharesSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "SharesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "SharesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSharesSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisDetailRespValidationError{ + field: "SharesSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetTopCitiesSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "TopCitiesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "TopCitiesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetTopCitiesSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisDetailRespValidationError{ + field: "TopCitiesSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetMostActiveDaySeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "MostActiveDaySeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "MostActiveDaySeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMostActiveDaySeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisDetailRespValidationError{ + field: "MostActiveDaySeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetBestPostTimeSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "BestPostTimeSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "BestPostTimeSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetBestPostTimeSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisDetailRespValidationError{ + field: "BestPostTimeSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetExtra()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "Extra", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetWorkAnalysisDetailRespValidationError{ + field: "Extra", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetExtra()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetWorkAnalysisDetailRespValidationError{ + field: "Extra", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return GetWorkAnalysisDetailRespMultiError(errors) + } + + return nil +} + +// GetWorkAnalysisDetailRespMultiError is an error wrapping multiple validation +// errors returned by GetWorkAnalysisDetailResp.ValidateAll() if the +// designated constraints aren't met. +type GetWorkAnalysisDetailRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetWorkAnalysisDetailRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetWorkAnalysisDetailRespMultiError) AllErrors() []error { return m } + +// GetWorkAnalysisDetailRespValidationError is the validation error returned by +// GetWorkAnalysisDetailResp.Validate if the designated constraints aren't met. +type GetWorkAnalysisDetailRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetWorkAnalysisDetailRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetWorkAnalysisDetailRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetWorkAnalysisDetailRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetWorkAnalysisDetailRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetWorkAnalysisDetailRespValidationError) ErrorName() string { + return "GetWorkAnalysisDetailRespValidationError" +} + +// Error satisfies the builtin error interface +func (e GetWorkAnalysisDetailRespValidationError) 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 %sGetWorkAnalysisDetailResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetWorkAnalysisDetailRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetWorkAnalysisDetailRespValidationError{} + +// Validate checks the field values on ListWorkAnalysisReq 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 *ListWorkAnalysisReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ListWorkAnalysisReq 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 +// ListWorkAnalysisReqMultiError, or nil if none found. +func (m *ListWorkAnalysisReq) ValidateAll() error { + return m.validate(true) +} + +func (m *ListWorkAnalysisReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for SubNum + + // no validation rules for ArtistVal + + // no validation rules for Status + + // no validation rules for ComfirmType + + // no validation rules for StatusUpdateTimeStart + + // no validation rules for StatusUpdateTimeEnd + + // no validation rules for SubmitStartTime + + // no validation rules for SubmitEndTime + + // no validation rules for Page + + // no validation rules for PageSize + + // no validation rules for ArtistUuid + + if len(errors) > 0 { + return ListWorkAnalysisReqMultiError(errors) + } + + return nil +} + +// ListWorkAnalysisReqMultiError is an error wrapping multiple validation +// errors returned by ListWorkAnalysisReq.ValidateAll() if the designated +// constraints aren't met. +type ListWorkAnalysisReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ListWorkAnalysisReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ListWorkAnalysisReqMultiError) AllErrors() []error { return m } + +// ListWorkAnalysisReqValidationError is the validation error returned by +// ListWorkAnalysisReq.Validate if the designated constraints aren't met. +type ListWorkAnalysisReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ListWorkAnalysisReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ListWorkAnalysisReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ListWorkAnalysisReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ListWorkAnalysisReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ListWorkAnalysisReqValidationError) ErrorName() string { + return "ListWorkAnalysisReqValidationError" +} + +// Error satisfies the builtin error interface +func (e ListWorkAnalysisReqValidationError) 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 %sListWorkAnalysisReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ListWorkAnalysisReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ListWorkAnalysisReqValidationError{} + +// Validate checks the field values on WorkAnalysisInfo 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 *WorkAnalysisInfo) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkAnalysisInfo 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 +// WorkAnalysisInfoMultiError, or nil if none found. +func (m *WorkAnalysisInfo) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkAnalysisInfo) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for SubNum + + // no validation rules for ArtistName + + // no validation rules for ArtistID + + // no validation rules for ArtistPhone + + // no validation rules for OperatorID + + // no validation rules for OperatorName + + // no validation rules for WorkAnalysisStatus + + // no validation rules for Reason + + // no validation rules for ComfirmType + + // no validation rules for SubmitTime + + // no validation rules for StatusUpdateTime + + // no validation rules for PdfUrl + + // no validation rules for ApprovalID + + // no validation rules for Title + + if len(errors) > 0 { + return WorkAnalysisInfoMultiError(errors) + } + + return nil +} + +// WorkAnalysisInfoMultiError is an error wrapping multiple validation errors +// returned by WorkAnalysisInfo.ValidateAll() if the designated constraints +// aren't met. +type WorkAnalysisInfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkAnalysisInfoMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkAnalysisInfoMultiError) AllErrors() []error { return m } + +// WorkAnalysisInfoValidationError is the validation error returned by +// WorkAnalysisInfo.Validate if the designated constraints aren't met. +type WorkAnalysisInfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkAnalysisInfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkAnalysisInfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkAnalysisInfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkAnalysisInfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkAnalysisInfoValidationError) ErrorName() string { return "WorkAnalysisInfoValidationError" } + +// Error satisfies the builtin error interface +func (e WorkAnalysisInfoValidationError) 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 %sWorkAnalysisInfo.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkAnalysisInfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkAnalysisInfoValidationError{} + +// Validate checks the field values on ListWorkAnalysisResp 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 *ListWorkAnalysisResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ListWorkAnalysisResp 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 +// ListWorkAnalysisRespMultiError, or nil if none found. +func (m *ListWorkAnalysisResp) ValidateAll() error { + return m.validate(true) +} + +func (m *ListWorkAnalysisResp) 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, ListWorkAnalysisRespValidationError{ + 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, ListWorkAnalysisRespValidationError{ + 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 ListWorkAnalysisRespValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for Count + + if len(errors) > 0 { + return ListWorkAnalysisRespMultiError(errors) + } + + return nil +} + +// ListWorkAnalysisRespMultiError is an error wrapping multiple validation +// errors returned by ListWorkAnalysisResp.ValidateAll() if the designated +// constraints aren't met. +type ListWorkAnalysisRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ListWorkAnalysisRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ListWorkAnalysisRespMultiError) AllErrors() []error { return m } + +// ListWorkAnalysisRespValidationError is the validation error returned by +// ListWorkAnalysisResp.Validate if the designated constraints aren't met. +type ListWorkAnalysisRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ListWorkAnalysisRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ListWorkAnalysisRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ListWorkAnalysisRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ListWorkAnalysisRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ListWorkAnalysisRespValidationError) ErrorName() string { + return "ListWorkAnalysisRespValidationError" +} + +// Error satisfies the builtin error interface +func (e ListWorkAnalysisRespValidationError) 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 %sListWorkAnalysisResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ListWorkAnalysisRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ListWorkAnalysisRespValidationError{} + +// Validate checks the field values on DeleteWorkAnalysisReq 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 *DeleteWorkAnalysisReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DeleteWorkAnalysisReq 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 +// DeleteWorkAnalysisReqMultiError, or nil if none found. +func (m *DeleteWorkAnalysisReq) ValidateAll() error { + return m.validate(true) +} + +func (m *DeleteWorkAnalysisReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + if len(errors) > 0 { + return DeleteWorkAnalysisReqMultiError(errors) + } + + return nil +} + +// DeleteWorkAnalysisReqMultiError is an error wrapping multiple validation +// errors returned by DeleteWorkAnalysisReq.ValidateAll() if the designated +// constraints aren't met. +type DeleteWorkAnalysisReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DeleteWorkAnalysisReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m DeleteWorkAnalysisReqMultiError) AllErrors() []error { return m } + +// DeleteWorkAnalysisReqValidationError is the validation error returned by +// DeleteWorkAnalysisReq.Validate if the designated constraints aren't met. +type DeleteWorkAnalysisReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DeleteWorkAnalysisReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DeleteWorkAnalysisReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DeleteWorkAnalysisReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DeleteWorkAnalysisReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DeleteWorkAnalysisReqValidationError) ErrorName() string { + return "DeleteWorkAnalysisReqValidationError" +} + +// Error satisfies the builtin error interface +func (e DeleteWorkAnalysisReqValidationError) 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 %sDeleteWorkAnalysisReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DeleteWorkAnalysisReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DeleteWorkAnalysisReqValidationError{} + +// Validate checks the field values on ArtistDataListReq 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 *ArtistDataListReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistDataListReq 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 +// ArtistDataListReqMultiError, or nil if none found. +func (m *ArtistDataListReq) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistDataListReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistVal + + // no validation rules for BundleName + + // no validation rules for ExpiredTimeStart + + // no validation rules for ExpiredTimeEnd + + // no validation rules for SubmitTimeStart + + // no validation rules for SubmitTimeEnd + + // no validation rules for Page + + // no validation rules for PageSize + + if len(errors) > 0 { + return ArtistDataListReqMultiError(errors) + } + + return nil +} + +// ArtistDataListReqMultiError is an error wrapping multiple validation errors +// returned by ArtistDataListReq.ValidateAll() if the designated constraints +// aren't met. +type ArtistDataListReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistDataListReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistDataListReqMultiError) AllErrors() []error { return m } + +// ArtistDataListReqValidationError is the validation error returned by +// ArtistDataListReq.Validate if the designated constraints aren't met. +type ArtistDataListReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistDataListReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistDataListReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistDataListReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistDataListReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistDataListReqValidationError) ErrorName() string { + return "ArtistDataListReqValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistDataListReqValidationError) 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 %sArtistDataListReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistDataListReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistDataListReqValidationError{} + +// Validate checks the field values on ArtistDataRespItem 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 *ArtistDataRespItem) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistDataRespItem 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 +// ArtistDataRespItemMultiError, or nil if none found. +func (m *ArtistDataRespItem) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistDataRespItem) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistName + + // no validation rules for ArtistUuid + + // no validation rules for SubNum + + // no validation rules for ArtistPhone + + // no validation rules for BundleName + + // no validation rules for AccountNumber + + // no validation rules for AccountConsumptionNumber + + // no validation rules for DataAnalysisNumber + + // no validation rules for DataAnalysisConsumptionNumber + + // no validation rules for SubmitTime + + // no validation rules for FansCount + + // no validation rules for ViewsCount + + // no validation rules for LikesCount + + // no validation rules for CommentsCount + + // no validation rules for SharesCount + + // no validation rules for CastWorkCount + + // no validation rules for ExpiredTime + + // no validation rules for VideoCount + + // no validation rules for ImageCount + + if len(errors) > 0 { + return ArtistDataRespItemMultiError(errors) + } + + return nil +} + +// ArtistDataRespItemMultiError is an error wrapping multiple validation errors +// returned by ArtistDataRespItem.ValidateAll() if the designated constraints +// aren't met. +type ArtistDataRespItemMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistDataRespItemMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistDataRespItemMultiError) AllErrors() []error { return m } + +// ArtistDataRespItemValidationError is the validation error returned by +// ArtistDataRespItem.Validate if the designated constraints aren't met. +type ArtistDataRespItemValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistDataRespItemValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistDataRespItemValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistDataRespItemValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistDataRespItemValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistDataRespItemValidationError) ErrorName() string { + return "ArtistDataRespItemValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistDataRespItemValidationError) 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 %sArtistDataRespItem.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistDataRespItemValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistDataRespItemValidationError{} + +// Validate checks the field values on ArtistDataListResp 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 *ArtistDataListResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistDataListResp 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 +// ArtistDataListRespMultiError, or nil if none found. +func (m *ArtistDataListResp) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistDataListResp) 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, ArtistDataListRespValidationError{ + 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, ArtistDataListRespValidationError{ + 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 ArtistDataListRespValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for Count + + if len(errors) > 0 { + return ArtistDataListRespMultiError(errors) + } + + return nil +} + +// ArtistDataListRespMultiError is an error wrapping multiple validation errors +// returned by ArtistDataListResp.ValidateAll() if the designated constraints +// aren't met. +type ArtistDataListRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistDataListRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistDataListRespMultiError) AllErrors() []error { return m } + +// ArtistDataListRespValidationError is the validation error returned by +// ArtistDataListResp.Validate if the designated constraints aren't met. +type ArtistDataListRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistDataListRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistDataListRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistDataListRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistDataListRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistDataListRespValidationError) ErrorName() string { + return "ArtistDataListRespValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistDataListRespValidationError) 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 %sArtistDataListResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistDataListRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistDataListRespValidationError{} + +// Validate checks the field values on MediaDataListReq 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 *MediaDataListReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on MediaDataListReq 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 +// MediaDataListReqMultiError, or nil if none found. +func (m *MediaDataListReq) ValidateAll() error { + return m.validate(true) +} + +func (m *MediaDataListReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistVal + + // no validation rules for PlatformUserName + + // no validation rules for PlatformID + + // no validation rules for Page + + // no validation rules for PageSize + + if len(errors) > 0 { + return MediaDataListReqMultiError(errors) + } + + return nil +} + +// MediaDataListReqMultiError is an error wrapping multiple validation errors +// returned by MediaDataListReq.ValidateAll() if the designated constraints +// aren't met. +type MediaDataListReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m MediaDataListReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m MediaDataListReqMultiError) AllErrors() []error { return m } + +// MediaDataListReqValidationError is the validation error returned by +// MediaDataListReq.Validate if the designated constraints aren't met. +type MediaDataListReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MediaDataListReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MediaDataListReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MediaDataListReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MediaDataListReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MediaDataListReqValidationError) ErrorName() string { return "MediaDataListReqValidationError" } + +// Error satisfies the builtin error interface +func (e MediaDataListReqValidationError) 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 %sMediaDataListReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MediaDataListReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MediaDataListReqValidationError{} + +// Validate checks the field values on MediaDataListItem 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 *MediaDataListItem) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on MediaDataListItem 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 +// MediaDataListItemMultiError, or nil if none found. +func (m *MediaDataListItem) ValidateAll() error { + return m.validate(true) +} + +func (m *MediaDataListItem) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistName + + // no validation rules for ArtistUuid + + // no validation rules for SubNum + + // no validation rules for ArtistPhone + + // no validation rules for PlatformUserName + + // no validation rules for PlatformID + + // no validation rules for SubmitTime + + // no validation rules for FansCount + + // no validation rules for ViewsCount + + // no validation rules for LikesCount + + // no validation rules for CommentsCount + + // no validation rules for SharesCount + + // no validation rules for CastWorkCount + + // no validation rules for VideoCount + + // no validation rules for ImageCount + + if len(errors) > 0 { + return MediaDataListItemMultiError(errors) + } + + return nil +} + +// MediaDataListItemMultiError is an error wrapping multiple validation errors +// returned by MediaDataListItem.ValidateAll() if the designated constraints +// aren't met. +type MediaDataListItemMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m MediaDataListItemMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m MediaDataListItemMultiError) AllErrors() []error { return m } + +// MediaDataListItemValidationError is the validation error returned by +// MediaDataListItem.Validate if the designated constraints aren't met. +type MediaDataListItemValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MediaDataListItemValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MediaDataListItemValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MediaDataListItemValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MediaDataListItemValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MediaDataListItemValidationError) ErrorName() string { + return "MediaDataListItemValidationError" +} + +// Error satisfies the builtin error interface +func (e MediaDataListItemValidationError) 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 %sMediaDataListItem.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MediaDataListItemValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MediaDataListItemValidationError{} + +// Validate checks the field values on MediaDataListResp 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 *MediaDataListResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on MediaDataListResp 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 +// MediaDataListRespMultiError, or nil if none found. +func (m *MediaDataListResp) ValidateAll() error { + return m.validate(true) +} + +func (m *MediaDataListResp) 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, MediaDataListRespValidationError{ + 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, MediaDataListRespValidationError{ + 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 MediaDataListRespValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for Count + + if len(errors) > 0 { + return MediaDataListRespMultiError(errors) + } + + return nil +} + +// MediaDataListRespMultiError is an error wrapping multiple validation errors +// returned by MediaDataListResp.ValidateAll() if the designated constraints +// aren't met. +type MediaDataListRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m MediaDataListRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m MediaDataListRespMultiError) AllErrors() []error { return m } + +// MediaDataListRespValidationError is the validation error returned by +// MediaDataListResp.Validate if the designated constraints aren't met. +type MediaDataListRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MediaDataListRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MediaDataListRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MediaDataListRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MediaDataListRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MediaDataListRespValidationError) ErrorName() string { + return "MediaDataListRespValidationError" +} + +// Error satisfies the builtin error interface +func (e MediaDataListRespValidationError) 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 %sMediaDataListResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MediaDataListRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MediaDataListRespValidationError{} + +// Validate checks the field values on DataOverviewReq 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 *DataOverviewReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DataOverviewReq 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 +// DataOverviewReqMultiError, or nil if none found. +func (m *DataOverviewReq) ValidateAll() error { + return m.validate(true) +} + +func (m *DataOverviewReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Date + + if len(errors) > 0 { + return DataOverviewReqMultiError(errors) + } + + return nil +} + +// DataOverviewReqMultiError is an error wrapping multiple validation errors +// returned by DataOverviewReq.ValidateAll() if the designated constraints +// aren't met. +type DataOverviewReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DataOverviewReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m DataOverviewReqMultiError) AllErrors() []error { return m } + +// DataOverviewReqValidationError is the validation error returned by +// DataOverviewReq.Validate if the designated constraints aren't met. +type DataOverviewReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DataOverviewReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DataOverviewReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DataOverviewReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DataOverviewReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DataOverviewReqValidationError) ErrorName() string { return "DataOverviewReqValidationError" } + +// Error satisfies the builtin error interface +func (e DataOverviewReqValidationError) 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 %sDataOverviewReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DataOverviewReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DataOverviewReqValidationError{} + +// Validate checks the field values on DataOverviewResp 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 *DataOverviewResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DataOverviewResp 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 +// DataOverviewRespMultiError, or nil if none found. +func (m *DataOverviewResp) ValidateAll() error { + return m.validate(true) +} + +func (m *DataOverviewResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for AccountCount + + // no validation rules for TodayAccountCount + + // no validation rules for FansCount + + // no validation rules for TodayFansCount + + // no validation rules for ViewsCount + + // no validation rules for TodayViewsCount + + // no validation rules for LikesCount + + // no validation rules for TodayLikesCount + + // no validation rules for CommentsCount + + // no validation rules for TodayCommentsCount + + // no validation rules for SharesCount + + // no validation rules for TodaySharesCount + + // no validation rules for ImageCount + + // no validation rules for TodayImageCount + + // no validation rules for VideoCount + + // no validation rules for TodayVideoCount + + // no validation rules for ConfirmDataCount + + // no validation rules for TodayConfirmDataCount + + // no validation rules for ToBeConfirmedDataCount + + // no validation rules for ApprovingDataCount + + if len(errors) > 0 { + return DataOverviewRespMultiError(errors) + } + + return nil +} + +// DataOverviewRespMultiError is an error wrapping multiple validation errors +// returned by DataOverviewResp.ValidateAll() if the designated constraints +// aren't met. +type DataOverviewRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DataOverviewRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m DataOverviewRespMultiError) AllErrors() []error { return m } + +// DataOverviewRespValidationError is the validation error returned by +// DataOverviewResp.Validate if the designated constraints aren't met. +type DataOverviewRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DataOverviewRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DataOverviewRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DataOverviewRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DataOverviewRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DataOverviewRespValidationError) ErrorName() string { return "DataOverviewRespValidationError" } + +// Error satisfies the builtin error interface +func (e DataOverviewRespValidationError) 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 %sDataOverviewResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DataOverviewRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DataOverviewRespValidationError{} + +// Validate checks the field values on ArtistMetricsSeriesReq 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 *ArtistMetricsSeriesReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistMetricsSeriesReq 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 +// ArtistMetricsSeriesReqMultiError, or nil if none found. +func (m *ArtistMetricsSeriesReq) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistMetricsSeriesReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUUID + + // no validation rules for PeriodTypeFans + + // no validation rules for PeriodTypeViews + + // no validation rules for PeriodTypeLikes + + // no validation rules for PeriodTypeComments + + // no validation rules for PeriodTypeShares + + if len(errors) > 0 { + return ArtistMetricsSeriesReqMultiError(errors) + } + + return nil +} + +// ArtistMetricsSeriesReqMultiError is an error wrapping multiple validation +// errors returned by ArtistMetricsSeriesReq.ValidateAll() if the designated +// constraints aren't met. +type ArtistMetricsSeriesReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistMetricsSeriesReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistMetricsSeriesReqMultiError) AllErrors() []error { return m } + +// ArtistMetricsSeriesReqValidationError is the validation error returned by +// ArtistMetricsSeriesReq.Validate if the designated constraints aren't met. +type ArtistMetricsSeriesReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistMetricsSeriesReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistMetricsSeriesReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistMetricsSeriesReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistMetricsSeriesReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistMetricsSeriesReqValidationError) ErrorName() string { + return "ArtistMetricsSeriesReqValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistMetricsSeriesReqValidationError) 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 %sArtistMetricsSeriesReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistMetricsSeriesReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistMetricsSeriesReqValidationError{} + +// Validate checks the field values on ArtistMetricsSeriesResp 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 *ArtistMetricsSeriesResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistMetricsSeriesResp 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 +// ArtistMetricsSeriesRespMultiError, or nil if none found. +func (m *ArtistMetricsSeriesResp) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistMetricsSeriesResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetFansSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "FansSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "FansSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetFansSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ArtistMetricsSeriesRespValidationError{ + field: "FansSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetViewsSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "ViewsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "ViewsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetViewsSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ArtistMetricsSeriesRespValidationError{ + field: "ViewsSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetLikesSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "LikesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "LikesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetLikesSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ArtistMetricsSeriesRespValidationError{ + field: "LikesSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetCommentsSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "CommentsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "CommentsSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetCommentsSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ArtistMetricsSeriesRespValidationError{ + field: "CommentsSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetSharesSeries()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "SharesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "SharesSeries", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSharesSeries()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ArtistMetricsSeriesRespValidationError{ + field: "SharesSeries", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetBestPostTime()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "BestPostTime", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "BestPostTime", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetBestPostTime()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ArtistMetricsSeriesRespValidationError{ + field: "BestPostTime", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if all { + switch v := interface{}(m.GetMostActiveDay()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "MostActiveDay", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsSeriesRespValidationError{ + field: "MostActiveDay", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMostActiveDay()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ArtistMetricsSeriesRespValidationError{ + field: "MostActiveDay", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return ArtistMetricsSeriesRespMultiError(errors) + } + + return nil +} + +// ArtistMetricsSeriesRespMultiError is an error wrapping multiple validation +// errors returned by ArtistMetricsSeriesResp.ValidateAll() if the designated +// constraints aren't met. +type ArtistMetricsSeriesRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistMetricsSeriesRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistMetricsSeriesRespMultiError) AllErrors() []error { return m } + +// ArtistMetricsSeriesRespValidationError is the validation error returned by +// ArtistMetricsSeriesResp.Validate if the designated constraints aren't met. +type ArtistMetricsSeriesRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistMetricsSeriesRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistMetricsSeriesRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistMetricsSeriesRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistMetricsSeriesRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistMetricsSeriesRespValidationError) ErrorName() string { + return "ArtistMetricsSeriesRespValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistMetricsSeriesRespValidationError) 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 %sArtistMetricsSeriesResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistMetricsSeriesRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistMetricsSeriesRespValidationError{} + +// Validate checks the field values on ArtistMetricsDailyWindowReq 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 *ArtistMetricsDailyWindowReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistMetricsDailyWindowReq 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 +// ArtistMetricsDailyWindowReqMultiError, or nil if none found. +func (m *ArtistMetricsDailyWindowReq) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistMetricsDailyWindowReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUUID + + // no validation rules for PlatformID + + // no validation rules for Date + + if len(errors) > 0 { + return ArtistMetricsDailyWindowReqMultiError(errors) + } + + return nil +} + +// ArtistMetricsDailyWindowReqMultiError is an error wrapping multiple +// validation errors returned by ArtistMetricsDailyWindowReq.ValidateAll() if +// the designated constraints aren't met. +type ArtistMetricsDailyWindowReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistMetricsDailyWindowReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistMetricsDailyWindowReqMultiError) AllErrors() []error { return m } + +// ArtistMetricsDailyWindowReqValidationError is the validation error returned +// by ArtistMetricsDailyWindowReq.Validate if the designated constraints +// aren't met. +type ArtistMetricsDailyWindowReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistMetricsDailyWindowReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistMetricsDailyWindowReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistMetricsDailyWindowReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistMetricsDailyWindowReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistMetricsDailyWindowReqValidationError) ErrorName() string { + return "ArtistMetricsDailyWindowReqValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistMetricsDailyWindowReqValidationError) 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 %sArtistMetricsDailyWindowReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistMetricsDailyWindowReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistMetricsDailyWindowReqValidationError{} + +// Validate checks the field values on SimplePoint 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 *SimplePoint) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SimplePoint 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 SimplePointMultiError, or +// nil if none found. +func (m *SimplePoint) ValidateAll() error { + return m.validate(true) +} + +func (m *SimplePoint) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Date + + // no validation rules for Value + + if len(errors) > 0 { + return SimplePointMultiError(errors) + } + + return nil +} + +// SimplePointMultiError is an error wrapping multiple validation errors +// returned by SimplePoint.ValidateAll() if the designated constraints aren't met. +type SimplePointMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SimplePointMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SimplePointMultiError) AllErrors() []error { return m } + +// SimplePointValidationError is the validation error returned by +// SimplePoint.Validate if the designated constraints aren't met. +type SimplePointValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SimplePointValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SimplePointValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SimplePointValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SimplePointValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SimplePointValidationError) ErrorName() string { return "SimplePointValidationError" } + +// Error satisfies the builtin error interface +func (e SimplePointValidationError) 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 %sSimplePoint.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SimplePointValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SimplePointValidationError{} + +// Validate checks the field values on BestPostTimePoint 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 *BestPostTimePoint) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on BestPostTimePoint 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 +// BestPostTimePointMultiError, or nil if none found. +func (m *BestPostTimePoint) ValidateAll() error { + return m.validate(true) +} + +func (m *BestPostTimePoint) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for TimePoint + + // no validation rules for Value + + if len(errors) > 0 { + return BestPostTimePointMultiError(errors) + } + + return nil +} + +// BestPostTimePointMultiError is an error wrapping multiple validation errors +// returned by BestPostTimePoint.ValidateAll() if the designated constraints +// aren't met. +type BestPostTimePointMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m BestPostTimePointMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m BestPostTimePointMultiError) AllErrors() []error { return m } + +// BestPostTimePointValidationError is the validation error returned by +// BestPostTimePoint.Validate if the designated constraints aren't met. +type BestPostTimePointValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e BestPostTimePointValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e BestPostTimePointValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e BestPostTimePointValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e BestPostTimePointValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e BestPostTimePointValidationError) ErrorName() string { + return "BestPostTimePointValidationError" +} + +// Error satisfies the builtin error interface +func (e BestPostTimePointValidationError) 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 %sBestPostTimePoint.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = BestPostTimePointValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = BestPostTimePointValidationError{} + +// Validate checks the field values on MostActiveDayPoint 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 *MostActiveDayPoint) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on MostActiveDayPoint 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 +// MostActiveDayPointMultiError, or nil if none found. +func (m *MostActiveDayPoint) ValidateAll() error { + return m.validate(true) +} + +func (m *MostActiveDayPoint) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Day + + // no validation rules for Value + + if len(errors) > 0 { + return MostActiveDayPointMultiError(errors) + } + + return nil +} + +// MostActiveDayPointMultiError is an error wrapping multiple validation errors +// returned by MostActiveDayPoint.ValidateAll() if the designated constraints +// aren't met. +type MostActiveDayPointMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m MostActiveDayPointMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m MostActiveDayPointMultiError) AllErrors() []error { return m } + +// MostActiveDayPointValidationError is the validation error returned by +// MostActiveDayPoint.Validate if the designated constraints aren't met. +type MostActiveDayPointValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MostActiveDayPointValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MostActiveDayPointValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MostActiveDayPointValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MostActiveDayPointValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MostActiveDayPointValidationError) ErrorName() string { + return "MostActiveDayPointValidationError" +} + +// Error satisfies the builtin error interface +func (e MostActiveDayPointValidationError) 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 %sMostActiveDayPoint.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MostActiveDayPointValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MostActiveDayPointValidationError{} + +// Validate checks the field values on ArtistMetricsDailyWindowResp 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 *ArtistMetricsDailyWindowResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistMetricsDailyWindowResp 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 +// ArtistMetricsDailyWindowRespMultiError, or nil if none found. +func (m *ArtistMetricsDailyWindowResp) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistMetricsDailyWindowResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for FansCount + + // no validation rules for ViewsCount + + // no validation rules for LikesCount + + // no validation rules for CommentsCount + + // no validation rules for SharesCount + + for idx, item := range m.GetFans() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Fans[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Fans[%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 ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Fans[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetViews() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Views[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Views[%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 ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Views[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetLikes() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Likes[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Likes[%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 ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Likes[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetComments() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Comments[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Comments[%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 ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Comments[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetShares() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Shares[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Shares[%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 ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("Shares[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetBestPostTime() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("BestPostTime[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("BestPostTime[%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 ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("BestPostTime[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetMostActiveDay() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("MostActiveDay[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("MostActiveDay[%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 ArtistMetricsDailyWindowRespValidationError{ + field: fmt.Sprintf("MostActiveDay[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return ArtistMetricsDailyWindowRespMultiError(errors) + } + + return nil +} + +// ArtistMetricsDailyWindowRespMultiError is an error wrapping multiple +// validation errors returned by ArtistMetricsDailyWindowResp.ValidateAll() if +// the designated constraints aren't met. +type ArtistMetricsDailyWindowRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistMetricsDailyWindowRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistMetricsDailyWindowRespMultiError) AllErrors() []error { return m } + +// ArtistMetricsDailyWindowRespValidationError is the validation error returned +// by ArtistMetricsDailyWindowResp.Validate if the designated constraints +// aren't met. +type ArtistMetricsDailyWindowRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistMetricsDailyWindowRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistMetricsDailyWindowRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistMetricsDailyWindowRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistMetricsDailyWindowRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistMetricsDailyWindowRespValidationError) ErrorName() string { + return "ArtistMetricsDailyWindowRespValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistMetricsDailyWindowRespValidationError) 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 %sArtistMetricsDailyWindowResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistMetricsDailyWindowRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistMetricsDailyWindowRespValidationError{} + +// Validate checks the field values on TobeConfirmedListReq 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 *TobeConfirmedListReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on TobeConfirmedListReq 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 +// TobeConfirmedListReqMultiError, or nil if none found. +func (m *TobeConfirmedListReq) ValidateAll() error { + return m.validate(true) +} + +func (m *TobeConfirmedListReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUuid + + // no validation rules for Page + + // no validation rules for PageSize + + if len(errors) > 0 { + return TobeConfirmedListReqMultiError(errors) + } + + return nil +} + +// TobeConfirmedListReqMultiError is an error wrapping multiple validation +// errors returned by TobeConfirmedListReq.ValidateAll() if the designated +// constraints aren't met. +type TobeConfirmedListReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m TobeConfirmedListReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m TobeConfirmedListReqMultiError) AllErrors() []error { return m } + +// TobeConfirmedListReqValidationError is the validation error returned by +// TobeConfirmedListReq.Validate if the designated constraints aren't met. +type TobeConfirmedListReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e TobeConfirmedListReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e TobeConfirmedListReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e TobeConfirmedListReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e TobeConfirmedListReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e TobeConfirmedListReqValidationError) ErrorName() string { + return "TobeConfirmedListReqValidationError" +} + +// Error satisfies the builtin error interface +func (e TobeConfirmedListReqValidationError) 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 %sTobeConfirmedListReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = TobeConfirmedListReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = TobeConfirmedListReqValidationError{} + +// Validate checks the field values on TobeConfirmedItem 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 *TobeConfirmedItem) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on TobeConfirmedItem 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 +// TobeConfirmedItemMultiError, or nil if none found. +func (m *TobeConfirmedItem) ValidateAll() error { + return m.validate(true) +} + +func (m *TobeConfirmedItem) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for Title + + // no validation rules for Content + + // no validation rules for WorkCategory + + // no validation rules for UpdateTime + + // no validation rules for WorkStatus + + // no validation rules for PlatformIds + + // no validation rules for ArtistName + + // no validation rules for ArtistUuid + + // no validation rules for MediaAccUserIds + + // no validation rules for MediaNames + + // no validation rules for ConfirmedAt + + // no validation rules for ItemType + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + // no validation rules for DeletedAt + + if len(errors) > 0 { + return TobeConfirmedItemMultiError(errors) + } + + return nil +} + +// TobeConfirmedItemMultiError is an error wrapping multiple validation errors +// returned by TobeConfirmedItem.ValidateAll() if the designated constraints +// aren't met. +type TobeConfirmedItemMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m TobeConfirmedItemMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m TobeConfirmedItemMultiError) AllErrors() []error { return m } + +// TobeConfirmedItemValidationError is the validation error returned by +// TobeConfirmedItem.Validate if the designated constraints aren't met. +type TobeConfirmedItemValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e TobeConfirmedItemValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e TobeConfirmedItemValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e TobeConfirmedItemValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e TobeConfirmedItemValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e TobeConfirmedItemValidationError) ErrorName() string { + return "TobeConfirmedItemValidationError" +} + +// Error satisfies the builtin error interface +func (e TobeConfirmedItemValidationError) 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 %sTobeConfirmedItem.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = TobeConfirmedItemValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = TobeConfirmedItemValidationError{} + +// Validate checks the field values on TobeConfirmedListResp 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 *TobeConfirmedListResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on TobeConfirmedListResp 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 +// TobeConfirmedListRespMultiError, or nil if none found. +func (m *TobeConfirmedListResp) ValidateAll() error { + return m.validate(true) +} + +func (m *TobeConfirmedListResp) 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, TobeConfirmedListRespValidationError{ + 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, TobeConfirmedListRespValidationError{ + 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 TobeConfirmedListRespValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for Count + + if len(errors) > 0 { + return TobeConfirmedListRespMultiError(errors) + } + + return nil +} + +// TobeConfirmedListRespMultiError is an error wrapping multiple validation +// errors returned by TobeConfirmedListResp.ValidateAll() if the designated +// constraints aren't met. +type TobeConfirmedListRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m TobeConfirmedListRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m TobeConfirmedListRespMultiError) AllErrors() []error { return m } + +// TobeConfirmedListRespValidationError is the validation error returned by +// TobeConfirmedListResp.Validate if the designated constraints aren't met. +type TobeConfirmedListRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e TobeConfirmedListRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e TobeConfirmedListRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e TobeConfirmedListRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e TobeConfirmedListRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e TobeConfirmedListRespValidationError) ErrorName() string { + return "TobeConfirmedListRespValidationError" +} + +// Error satisfies the builtin error interface +func (e TobeConfirmedListRespValidationError) 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 %sTobeConfirmedListResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = TobeConfirmedListRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = TobeConfirmedListRespValidationError{} + +// Validate checks the field values on UpdateWorkAnalysisApprovalIDReq 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 *UpdateWorkAnalysisApprovalIDReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateWorkAnalysisApprovalIDReq 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 +// UpdateWorkAnalysisApprovalIDReqMultiError, or nil if none found. +func (m *UpdateWorkAnalysisApprovalIDReq) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateWorkAnalysisApprovalIDReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for ApprovalID + + if len(errors) > 0 { + return UpdateWorkAnalysisApprovalIDReqMultiError(errors) + } + + return nil +} + +// UpdateWorkAnalysisApprovalIDReqMultiError is an error wrapping multiple +// validation errors returned by UpdateWorkAnalysisApprovalIDReq.ValidateAll() +// if the designated constraints aren't met. +type UpdateWorkAnalysisApprovalIDReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateWorkAnalysisApprovalIDReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateWorkAnalysisApprovalIDReqMultiError) AllErrors() []error { return m } + +// UpdateWorkAnalysisApprovalIDReqValidationError is the validation error +// returned by UpdateWorkAnalysisApprovalIDReq.Validate if the designated +// constraints aren't met. +type UpdateWorkAnalysisApprovalIDReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateWorkAnalysisApprovalIDReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateWorkAnalysisApprovalIDReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateWorkAnalysisApprovalIDReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateWorkAnalysisApprovalIDReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateWorkAnalysisApprovalIDReqValidationError) ErrorName() string { + return "UpdateWorkAnalysisApprovalIDReqValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateWorkAnalysisApprovalIDReqValidationError) 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 %sUpdateWorkAnalysisApprovalIDReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateWorkAnalysisApprovalIDReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateWorkAnalysisApprovalIDReqValidationError{} + +// Validate checks the field values on MediaMetricsDailyItem 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 *MediaMetricsDailyItem) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on MediaMetricsDailyItem 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 +// MediaMetricsDailyItemMultiError, or nil if none found. +func (m *MediaMetricsDailyItem) ValidateAll() error { + return m.validate(true) +} + +func (m *MediaMetricsDailyItem) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for ArtistUuid + + // no validation rules for MediaAccUserID + + // no validation rules for MediaName + + // no validation rules for ArtistName + + // no validation rules for ArtistPhone + + // no validation rules for PlatformID + + // no validation rules for Date + + // no validation rules for FansCount + + // no validation rules for ViewsCount + + // no validation rules for LikesCount + + // no validation rules for CommentsCount + + // no validation rules for SharesCount + + // no validation rules for VideoCount + + // no validation rules for ImageCount + + if len(errors) > 0 { + return MediaMetricsDailyItemMultiError(errors) + } + + return nil +} + +// MediaMetricsDailyItemMultiError is an error wrapping multiple validation +// errors returned by MediaMetricsDailyItem.ValidateAll() if the designated +// constraints aren't met. +type MediaMetricsDailyItemMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m MediaMetricsDailyItemMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m MediaMetricsDailyItemMultiError) AllErrors() []error { return m } + +// MediaMetricsDailyItemValidationError is the validation error returned by +// MediaMetricsDailyItem.Validate if the designated constraints aren't met. +type MediaMetricsDailyItemValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MediaMetricsDailyItemValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MediaMetricsDailyItemValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MediaMetricsDailyItemValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MediaMetricsDailyItemValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MediaMetricsDailyItemValidationError) ErrorName() string { + return "MediaMetricsDailyItemValidationError" +} + +// Error satisfies the builtin error interface +func (e MediaMetricsDailyItemValidationError) 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 %sMediaMetricsDailyItem.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MediaMetricsDailyItemValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MediaMetricsDailyItemValidationError{} + +// Validate checks the field values on UpsertMediaMetricsDailyBatchReq 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 *UpsertMediaMetricsDailyBatchReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpsertMediaMetricsDailyBatchReq 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 +// UpsertMediaMetricsDailyBatchReqMultiError, or nil if none found. +func (m *UpsertMediaMetricsDailyBatchReq) ValidateAll() error { + return m.validate(true) +} + +func (m *UpsertMediaMetricsDailyBatchReq) 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, UpsertMediaMetricsDailyBatchReqValidationError{ + 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, UpsertMediaMetricsDailyBatchReqValidationError{ + 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 UpsertMediaMetricsDailyBatchReqValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return UpsertMediaMetricsDailyBatchReqMultiError(errors) + } + + return nil +} + +// UpsertMediaMetricsDailyBatchReqMultiError is an error wrapping multiple +// validation errors returned by UpsertMediaMetricsDailyBatchReq.ValidateAll() +// if the designated constraints aren't met. +type UpsertMediaMetricsDailyBatchReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpsertMediaMetricsDailyBatchReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpsertMediaMetricsDailyBatchReqMultiError) AllErrors() []error { return m } + +// UpsertMediaMetricsDailyBatchReqValidationError is the validation error +// returned by UpsertMediaMetricsDailyBatchReq.Validate if the designated +// constraints aren't met. +type UpsertMediaMetricsDailyBatchReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpsertMediaMetricsDailyBatchReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpsertMediaMetricsDailyBatchReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpsertMediaMetricsDailyBatchReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpsertMediaMetricsDailyBatchReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpsertMediaMetricsDailyBatchReqValidationError) ErrorName() string { + return "UpsertMediaMetricsDailyBatchReqValidationError" +} + +// Error satisfies the builtin error interface +func (e UpsertMediaMetricsDailyBatchReqValidationError) 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 %sUpsertMediaMetricsDailyBatchReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpsertMediaMetricsDailyBatchReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpsertMediaMetricsDailyBatchReqValidationError{} + +// Validate checks the field values on UpsertMediaMetricsDailyBatchResp 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 *UpsertMediaMetricsDailyBatchResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpsertMediaMetricsDailyBatchResp 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 +// UpsertMediaMetricsDailyBatchRespMultiError, or nil if none found. +func (m *UpsertMediaMetricsDailyBatchResp) ValidateAll() error { + return m.validate(true) +} + +func (m *UpsertMediaMetricsDailyBatchResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Success + + if len(errors) > 0 { + return UpsertMediaMetricsDailyBatchRespMultiError(errors) + } + + return nil +} + +// UpsertMediaMetricsDailyBatchRespMultiError is an error wrapping multiple +// validation errors returned by +// UpsertMediaMetricsDailyBatchResp.ValidateAll() if the designated +// constraints aren't met. +type UpsertMediaMetricsDailyBatchRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpsertMediaMetricsDailyBatchRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpsertMediaMetricsDailyBatchRespMultiError) AllErrors() []error { return m } + +// UpsertMediaMetricsDailyBatchRespValidationError is the validation error +// returned by UpsertMediaMetricsDailyBatchResp.Validate if the designated +// constraints aren't met. +type UpsertMediaMetricsDailyBatchRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpsertMediaMetricsDailyBatchRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpsertMediaMetricsDailyBatchRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpsertMediaMetricsDailyBatchRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpsertMediaMetricsDailyBatchRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpsertMediaMetricsDailyBatchRespValidationError) ErrorName() string { + return "UpsertMediaMetricsDailyBatchRespValidationError" +} + +// Error satisfies the builtin error interface +func (e UpsertMediaMetricsDailyBatchRespValidationError) 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 %sUpsertMediaMetricsDailyBatchResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpsertMediaMetricsDailyBatchRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpsertMediaMetricsDailyBatchRespValidationError{} + +// Validate checks the field values on WorkMetricsDailyItem 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 *WorkMetricsDailyItem) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkMetricsDailyItem 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 +// WorkMetricsDailyItemMultiError, or nil if none found. +func (m *WorkMetricsDailyItem) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkMetricsDailyItem) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for WorkUuid + + // no validation rules for ArtistUuid + + // no validation rules for MediaAccUserID + + // no validation rules for MediaName + + // no validation rules for ArtistName + + // no validation rules for ArtistPhone + + // no validation rules for PlatformID + + // no validation rules for Date + + // no validation rules for ViewsCount + + // no validation rules for LikesCount + + // no validation rules for CommentsCount + + // no validation rules for SharesCount + + if len(errors) > 0 { + return WorkMetricsDailyItemMultiError(errors) + } + + return nil +} + +// WorkMetricsDailyItemMultiError is an error wrapping multiple validation +// errors returned by WorkMetricsDailyItem.ValidateAll() if the designated +// constraints aren't met. +type WorkMetricsDailyItemMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkMetricsDailyItemMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkMetricsDailyItemMultiError) AllErrors() []error { return m } + +// WorkMetricsDailyItemValidationError is the validation error returned by +// WorkMetricsDailyItem.Validate if the designated constraints aren't met. +type WorkMetricsDailyItemValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkMetricsDailyItemValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkMetricsDailyItemValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkMetricsDailyItemValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkMetricsDailyItemValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkMetricsDailyItemValidationError) ErrorName() string { + return "WorkMetricsDailyItemValidationError" +} + +// Error satisfies the builtin error interface +func (e WorkMetricsDailyItemValidationError) 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 %sWorkMetricsDailyItem.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkMetricsDailyItemValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkMetricsDailyItemValidationError{} + +// Validate checks the field values on UpsertWorkMetricsDailyBatchReq 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 *UpsertWorkMetricsDailyBatchReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpsertWorkMetricsDailyBatchReq 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 +// UpsertWorkMetricsDailyBatchReqMultiError, or nil if none found. +func (m *UpsertWorkMetricsDailyBatchReq) ValidateAll() error { + return m.validate(true) +} + +func (m *UpsertWorkMetricsDailyBatchReq) 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, UpsertWorkMetricsDailyBatchReqValidationError{ + 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, UpsertWorkMetricsDailyBatchReqValidationError{ + 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 UpsertWorkMetricsDailyBatchReqValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return UpsertWorkMetricsDailyBatchReqMultiError(errors) + } + + return nil +} + +// UpsertWorkMetricsDailyBatchReqMultiError is an error wrapping multiple +// validation errors returned by UpsertWorkMetricsDailyBatchReq.ValidateAll() +// if the designated constraints aren't met. +type UpsertWorkMetricsDailyBatchReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpsertWorkMetricsDailyBatchReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpsertWorkMetricsDailyBatchReqMultiError) AllErrors() []error { return m } + +// UpsertWorkMetricsDailyBatchReqValidationError is the validation error +// returned by UpsertWorkMetricsDailyBatchReq.Validate if the designated +// constraints aren't met. +type UpsertWorkMetricsDailyBatchReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpsertWorkMetricsDailyBatchReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpsertWorkMetricsDailyBatchReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpsertWorkMetricsDailyBatchReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpsertWorkMetricsDailyBatchReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpsertWorkMetricsDailyBatchReqValidationError) ErrorName() string { + return "UpsertWorkMetricsDailyBatchReqValidationError" +} + +// Error satisfies the builtin error interface +func (e UpsertWorkMetricsDailyBatchReqValidationError) 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 %sUpsertWorkMetricsDailyBatchReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpsertWorkMetricsDailyBatchReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpsertWorkMetricsDailyBatchReqValidationError{} + +// Validate checks the field values on UpsertWorkMetricsDailyBatchResp 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 *UpsertWorkMetricsDailyBatchResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpsertWorkMetricsDailyBatchResp 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 +// UpsertWorkMetricsDailyBatchRespMultiError, or nil if none found. +func (m *UpsertWorkMetricsDailyBatchResp) ValidateAll() error { + return m.validate(true) +} + +func (m *UpsertWorkMetricsDailyBatchResp) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Success + + if len(errors) > 0 { + return UpsertWorkMetricsDailyBatchRespMultiError(errors) + } + + return nil +} + +// UpsertWorkMetricsDailyBatchRespMultiError is an error wrapping multiple +// validation errors returned by UpsertWorkMetricsDailyBatchResp.ValidateAll() +// if the designated constraints aren't met. +type UpsertWorkMetricsDailyBatchRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpsertWorkMetricsDailyBatchRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpsertWorkMetricsDailyBatchRespMultiError) AllErrors() []error { return m } + +// UpsertWorkMetricsDailyBatchRespValidationError is the validation error +// returned by UpsertWorkMetricsDailyBatchResp.Validate if the designated +// constraints aren't met. +type UpsertWorkMetricsDailyBatchRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpsertWorkMetricsDailyBatchRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpsertWorkMetricsDailyBatchRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpsertWorkMetricsDailyBatchRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpsertWorkMetricsDailyBatchRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpsertWorkMetricsDailyBatchRespValidationError) ErrorName() string { + return "UpsertWorkMetricsDailyBatchRespValidationError" +} + +// Error satisfies the builtin error interface +func (e UpsertWorkMetricsDailyBatchRespValidationError) 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 %sUpsertWorkMetricsDailyBatchResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpsertWorkMetricsDailyBatchRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpsertWorkMetricsDailyBatchRespValidationError{} + +// Validate checks the field values on GetArtistAyrShareInfoReq 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 *GetArtistAyrShareInfoReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtistAyrShareInfoReq 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 +// GetArtistAyrShareInfoReqMultiError, or nil if none found. +func (m *GetArtistAyrShareInfoReq) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtistAyrShareInfoReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUuid + + // no validation rules for SubNum + + // no validation rules for Status + + // no validation rules for Page + + // no validation rules for PageSize + + if len(errors) > 0 { + return GetArtistAyrShareInfoReqMultiError(errors) + } + + return nil +} + +// GetArtistAyrShareInfoReqMultiError is an error wrapping multiple validation +// errors returned by GetArtistAyrShareInfoReq.ValidateAll() if the designated +// constraints aren't met. +type GetArtistAyrShareInfoReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtistAyrShareInfoReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtistAyrShareInfoReqMultiError) AllErrors() []error { return m } + +// GetArtistAyrShareInfoReqValidationError is the validation error returned by +// GetArtistAyrShareInfoReq.Validate if the designated constraints aren't met. +type GetArtistAyrShareInfoReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtistAyrShareInfoReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtistAyrShareInfoReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtistAyrShareInfoReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtistAyrShareInfoReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtistAyrShareInfoReqValidationError) ErrorName() string { + return "GetArtistAyrShareInfoReqValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtistAyrShareInfoReqValidationError) 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 %sGetArtistAyrShareInfoReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtistAyrShareInfoReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtistAyrShareInfoReqValidationError{} + +// Validate checks the field values on ArtistAyrShareInfo 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 *ArtistAyrShareInfo) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistAyrShareInfo 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 +// ArtistAyrShareInfoMultiError, or nil if none found. +func (m *ArtistAyrShareInfo) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistAyrShareInfo) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for ArtistUuid + + // no validation rules for SubNum + + // no validation rules for RefId + + // no validation rules for ProfileKey + + // no validation rules for AyrShareCreateTime + + // no validation rules for Status + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return ArtistAyrShareInfoMultiError(errors) + } + + return nil +} + +// ArtistAyrShareInfoMultiError is an error wrapping multiple validation errors +// returned by ArtistAyrShareInfo.ValidateAll() if the designated constraints +// aren't met. +type ArtistAyrShareInfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistAyrShareInfoMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistAyrShareInfoMultiError) AllErrors() []error { return m } + +// ArtistAyrShareInfoValidationError is the validation error returned by +// ArtistAyrShareInfo.Validate if the designated constraints aren't met. +type ArtistAyrShareInfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistAyrShareInfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistAyrShareInfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistAyrShareInfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistAyrShareInfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistAyrShareInfoValidationError) ErrorName() string { + return "ArtistAyrShareInfoValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistAyrShareInfoValidationError) 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 %sArtistAyrShareInfo.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistAyrShareInfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistAyrShareInfoValidationError{} + +// Validate checks the field values on GetArtistAyrShareInfoResp 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 *GetArtistAyrShareInfoResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtistAyrShareInfoResp 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 +// GetArtistAyrShareInfoRespMultiError, or nil if none found. +func (m *GetArtistAyrShareInfoResp) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtistAyrShareInfoResp) 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, GetArtistAyrShareInfoRespValidationError{ + 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, GetArtistAyrShareInfoRespValidationError{ + 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 GetArtistAyrShareInfoRespValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for Count + + if len(errors) > 0 { + return GetArtistAyrShareInfoRespMultiError(errors) + } + + return nil +} + +// GetArtistAyrShareInfoRespMultiError is an error wrapping multiple validation +// errors returned by GetArtistAyrShareInfoResp.ValidateAll() if the +// designated constraints aren't met. +type GetArtistAyrShareInfoRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtistAyrShareInfoRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtistAyrShareInfoRespMultiError) AllErrors() []error { return m } + +// GetArtistAyrShareInfoRespValidationError is the validation error returned by +// GetArtistAyrShareInfoResp.Validate if the designated constraints aren't met. +type GetArtistAyrShareInfoRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtistAyrShareInfoRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtistAyrShareInfoRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtistAyrShareInfoRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtistAyrShareInfoRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtistAyrShareInfoRespValidationError) ErrorName() string { + return "GetArtistAyrShareInfoRespValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtistAyrShareInfoRespValidationError) 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 %sGetArtistAyrShareInfoResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtistAyrShareInfoRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtistAyrShareInfoRespValidationError{} + +// Validate checks the field values on ListWorkPlatformInfoReq 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 *ListWorkPlatformInfoReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ListWorkPlatformInfoReq 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 +// ListWorkPlatformInfoReqMultiError, or nil if none found. +func (m *ListWorkPlatformInfoReq) ValidateAll() error { + return m.validate(true) +} + +func (m *ListWorkPlatformInfoReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for PublishMediaStatus + + // no validation rules for Page + + // no validation rules for PageSize + + if len(errors) > 0 { + return ListWorkPlatformInfoReqMultiError(errors) + } + + return nil +} + +// ListWorkPlatformInfoReqMultiError is an error wrapping multiple validation +// errors returned by ListWorkPlatformInfoReq.ValidateAll() if the designated +// constraints aren't met. +type ListWorkPlatformInfoReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ListWorkPlatformInfoReqMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ListWorkPlatformInfoReqMultiError) AllErrors() []error { return m } + +// ListWorkPlatformInfoReqValidationError is the validation error returned by +// ListWorkPlatformInfoReq.Validate if the designated constraints aren't met. +type ListWorkPlatformInfoReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ListWorkPlatformInfoReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ListWorkPlatformInfoReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ListWorkPlatformInfoReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ListWorkPlatformInfoReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ListWorkPlatformInfoReqValidationError) ErrorName() string { + return "ListWorkPlatformInfoReqValidationError" +} + +// Error satisfies the builtin error interface +func (e ListWorkPlatformInfoReqValidationError) 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 %sListWorkPlatformInfoReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ListWorkPlatformInfoReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ListWorkPlatformInfoReqValidationError{} + +// Validate checks the field values on WorkPlatformInfo 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 *WorkPlatformInfo) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on WorkPlatformInfo 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 +// WorkPlatformInfoMultiError, or nil if none found. +func (m *WorkPlatformInfo) ValidateAll() error { + return m.validate(true) +} + +func (m *WorkPlatformInfo) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Uuid + + // no validation rules for WorkUuid + + // no validation rules for MediaUserID + + // no validation rules for PlatformID + + // no validation rules for PublishResp + + // no validation rules for PublishMediaID + + // no validation rules for PublishMediaStatus + + // no validation rules for Remark + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + if len(errors) > 0 { + return WorkPlatformInfoMultiError(errors) + } + + return nil +} + +// WorkPlatformInfoMultiError is an error wrapping multiple validation errors +// returned by WorkPlatformInfo.ValidateAll() if the designated constraints +// aren't met. +type WorkPlatformInfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m WorkPlatformInfoMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m WorkPlatformInfoMultiError) AllErrors() []error { return m } + +// WorkPlatformInfoValidationError is the validation error returned by +// WorkPlatformInfo.Validate if the designated constraints aren't met. +type WorkPlatformInfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e WorkPlatformInfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e WorkPlatformInfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e WorkPlatformInfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e WorkPlatformInfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e WorkPlatformInfoValidationError) ErrorName() string { return "WorkPlatformInfoValidationError" } + +// Error satisfies the builtin error interface +func (e WorkPlatformInfoValidationError) 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 %sWorkPlatformInfo.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = WorkPlatformInfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = WorkPlatformInfoValidationError{} + +// Validate checks the field values on ListWorkPlatformInfoResp 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 *ListWorkPlatformInfoResp) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ListWorkPlatformInfoResp 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 +// ListWorkPlatformInfoRespMultiError, or nil if none found. +func (m *ListWorkPlatformInfoResp) ValidateAll() error { + return m.validate(true) +} + +func (m *ListWorkPlatformInfoResp) 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, ListWorkPlatformInfoRespValidationError{ + 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, ListWorkPlatformInfoRespValidationError{ + 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 ListWorkPlatformInfoRespValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for Count + + if len(errors) > 0 { + return ListWorkPlatformInfoRespMultiError(errors) + } + + return nil +} + +// ListWorkPlatformInfoRespMultiError is an error wrapping multiple validation +// errors returned by ListWorkPlatformInfoResp.ValidateAll() if the designated +// constraints aren't met. +type ListWorkPlatformInfoRespMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ListWorkPlatformInfoRespMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ListWorkPlatformInfoRespMultiError) AllErrors() []error { return m } + +// ListWorkPlatformInfoRespValidationError is the validation error returned by +// ListWorkPlatformInfoResp.Validate if the designated constraints aren't met. +type ListWorkPlatformInfoRespValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ListWorkPlatformInfoRespValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ListWorkPlatformInfoRespValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ListWorkPlatformInfoRespValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ListWorkPlatformInfoRespValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ListWorkPlatformInfoRespValidationError) ErrorName() string { + return "ListWorkPlatformInfoRespValidationError" +} + +// Error satisfies the builtin error interface +func (e ListWorkPlatformInfoRespValidationError) 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 %sListWorkPlatformInfoResp.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ListWorkPlatformInfoRespValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ListWorkPlatformInfoRespValidationError{} + // Validate checks the field values on WorkListResp_Info 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. @@ -8603,3 +17877,372 @@ var _ interface { Cause() error ErrorName() string } = PublishResp_InfoValidationError{} + +// Validate checks the field values on RefreshWorkListResp_Info 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 *RefreshWorkListResp_Info) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on RefreshWorkListResp_Info 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 +// RefreshWorkListResp_InfoMultiError, or nil if none found. +func (m *RefreshWorkListResp_Info) ValidateAll() error { + return m.validate(true) +} + +func (m *RefreshWorkListResp_Info) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for WorkUuid + + for idx, item := range m.GetPlatformInfoData() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, RefreshWorkListResp_InfoValidationError{ + field: fmt.Sprintf("PlatformInfoData[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, RefreshWorkListResp_InfoValidationError{ + field: fmt.Sprintf("PlatformInfoData[%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 RefreshWorkListResp_InfoValidationError{ + field: fmt.Sprintf("PlatformInfoData[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for ProfileKey + + if len(errors) > 0 { + return RefreshWorkListResp_InfoMultiError(errors) + } + + return nil +} + +// RefreshWorkListResp_InfoMultiError is an error wrapping multiple validation +// errors returned by RefreshWorkListResp_Info.ValidateAll() if the designated +// constraints aren't met. +type RefreshWorkListResp_InfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m RefreshWorkListResp_InfoMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m RefreshWorkListResp_InfoMultiError) AllErrors() []error { return m } + +// RefreshWorkListResp_InfoValidationError is the validation error returned by +// RefreshWorkListResp_Info.Validate if the designated constraints aren't met. +type RefreshWorkListResp_InfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RefreshWorkListResp_InfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RefreshWorkListResp_InfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RefreshWorkListResp_InfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RefreshWorkListResp_InfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RefreshWorkListResp_InfoValidationError) ErrorName() string { + return "RefreshWorkListResp_InfoValidationError" +} + +// Error satisfies the builtin error interface +func (e RefreshWorkListResp_InfoValidationError) 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 %sRefreshWorkListResp_Info.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RefreshWorkListResp_InfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RefreshWorkListResp_InfoValidationError{} + +// Validate checks the field values on RefreshWorkListResp_Info_PlatformInfo +// 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 *RefreshWorkListResp_Info_PlatformInfo) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on RefreshWorkListResp_Info_PlatformInfo +// 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 +// RefreshWorkListResp_Info_PlatformInfoMultiError, or nil if none found. +func (m *RefreshWorkListResp_Info_PlatformInfo) ValidateAll() error { + return m.validate(true) +} + +func (m *RefreshWorkListResp_Info_PlatformInfo) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for PublishMediaID + + // no validation rules for PlatformID + + // no validation rules for PublishMediaStatus + + // no validation rules for MediaUserID + + // no validation rules for PlatformUuid + + // no validation rules for Token + + if len(errors) > 0 { + return RefreshWorkListResp_Info_PlatformInfoMultiError(errors) + } + + return nil +} + +// RefreshWorkListResp_Info_PlatformInfoMultiError is an error wrapping +// multiple validation errors returned by +// RefreshWorkListResp_Info_PlatformInfo.ValidateAll() if the designated +// constraints aren't met. +type RefreshWorkListResp_Info_PlatformInfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m RefreshWorkListResp_Info_PlatformInfoMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m RefreshWorkListResp_Info_PlatformInfoMultiError) AllErrors() []error { return m } + +// RefreshWorkListResp_Info_PlatformInfoValidationError is the validation error +// returned by RefreshWorkListResp_Info_PlatformInfo.Validate if the +// designated constraints aren't met. +type RefreshWorkListResp_Info_PlatformInfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RefreshWorkListResp_Info_PlatformInfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RefreshWorkListResp_Info_PlatformInfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RefreshWorkListResp_Info_PlatformInfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RefreshWorkListResp_Info_PlatformInfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RefreshWorkListResp_Info_PlatformInfoValidationError) ErrorName() string { + return "RefreshWorkListResp_Info_PlatformInfoValidationError" +} + +// Error satisfies the builtin error interface +func (e RefreshWorkListResp_Info_PlatformInfoValidationError) 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 %sRefreshWorkListResp_Info_PlatformInfo.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RefreshWorkListResp_Info_PlatformInfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RefreshWorkListResp_Info_PlatformInfoValidationError{} + +// Validate checks the field values on UpdateOAuthReq_Info 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 *UpdateOAuthReq_Info) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UpdateOAuthReq_Info 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 +// UpdateOAuthReq_InfoMultiError, or nil if none found. +func (m *UpdateOAuthReq_Info) ValidateAll() error { + return m.validate(true) +} + +func (m *UpdateOAuthReq_Info) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUuid + + // no validation rules for PlatformID + + // no validation rules for AsID + + // no validation rules for PlatformUserName + + // no validation rules for AutInfo + + if len(errors) > 0 { + return UpdateOAuthReq_InfoMultiError(errors) + } + + return nil +} + +// UpdateOAuthReq_InfoMultiError is an error wrapping multiple validation +// errors returned by UpdateOAuthReq_Info.ValidateAll() if the designated +// constraints aren't met. +type UpdateOAuthReq_InfoMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UpdateOAuthReq_InfoMultiError) Error() string { + msgs := make([]string, 0, len(m)) + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UpdateOAuthReq_InfoMultiError) AllErrors() []error { return m } + +// UpdateOAuthReq_InfoValidationError is the validation error returned by +// UpdateOAuthReq_Info.Validate if the designated constraints aren't met. +type UpdateOAuthReq_InfoValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UpdateOAuthReq_InfoValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UpdateOAuthReq_InfoValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UpdateOAuthReq_InfoValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UpdateOAuthReq_InfoValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UpdateOAuthReq_InfoValidationError) ErrorName() string { + return "UpdateOAuthReq_InfoValidationError" +} + +// Error satisfies the builtin error interface +func (e UpdateOAuthReq_InfoValidationError) 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 %sUpdateOAuthReq_Info.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UpdateOAuthReq_InfoValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UpdateOAuthReq_InfoValidationError{} diff --git a/api/cast/cast_triple.pb.go b/api/cast/cast_triple.pb.go index 2927e29..40e6f77 100644 --- a/api/cast/cast_triple.pb.go +++ b/api/cast/cast_triple.pb.go @@ -35,6 +35,7 @@ type CastClient interface { BindManager(ctx context.Context, in *BindManagerReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) UpdateWorkImage(ctx context.Context, in *UpdateWorkImageReq, opts ...grpc_go.CallOption) (*UpdateWorkImageResp, common.ErrorWithAttachment) UpdateWorkVideo(ctx context.Context, in *UpdateWorkVideoReq, opts ...grpc_go.CallOption) (*UpdateWorkVideoResp, common.ErrorWithAttachment) + MediaInfo(ctx context.Context, in *MediaInfoReq, opts ...grpc_go.CallOption) (*MediaInfoResp, common.ErrorWithAttachment) WorkList(ctx context.Context, in *WorkListReq, opts ...grpc_go.CallOption) (*WorkListResp, common.ErrorWithAttachment) WorkDetail(ctx context.Context, in *WorkDetailReq, opts ...grpc_go.CallOption) (*WorkDetailResp, common.ErrorWithAttachment) UpdateStatus(ctx context.Context, in *UpdateStatusReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) @@ -46,8 +47,13 @@ type CastClient interface { WorkInfo(ctx context.Context, in *WorkInfoReq, opts ...grpc_go.CallOption) (*WorkInfoResp, common.ErrorWithAttachment) ArtistInfo(ctx context.Context, in *ArtistInfoReq, opts ...grpc_go.CallOption) (*ArtistInfoResp, common.ErrorWithAttachment) ImportWorkBatch(ctx context.Context, in *ImportWorkBatchReq, opts ...grpc_go.CallOption) (*ImportWorkBatchResp, common.ErrorWithAttachment) + UpdateWorkPlatformInfo(ctx context.Context, in *UpdateWorkPlatformInfoReq, opts ...grpc_go.CallOption) (*UpdateWorkPlatformInfoResp, common.ErrorWithAttachment) + UpdateWorkPublishLog(ctx context.Context, in *UpdateWorkPublishLogReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + RefreshWorkList(ctx context.Context, in *RefreshWorkListReq, opts ...grpc_go.CallOption) (*RefreshWorkListResp, common.ErrorWithAttachment) OAuthAccount(ctx context.Context, in *OAuthAccountReq, opts ...grpc_go.CallOption) (*OAuthAccountResp, common.ErrorWithAttachment) + OAuthAccountV2(ctx context.Context, in *OAuthAccountV2Req, opts ...grpc_go.CallOption) (*OAuthAccountV2Resp, common.ErrorWithAttachment) OAuthCodeToToken(ctx context.Context, in *OAuthCodeToTokenReq, opts ...grpc_go.CallOption) (*OAuthCodeToTokenResp, common.ErrorWithAttachment) + UpdateOAuth(ctx context.Context, in *UpdateOAuthReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) RefreshToken(ctx context.Context, in *RefreshTokenReq, opts ...grpc_go.CallOption) (*RefreshTokenResp, common.ErrorWithAttachment) PublishMediaInfo(ctx context.Context, in *PublishMediaInfoReq, opts ...grpc_go.CallOption) (*PublishMediaInfoResp, common.ErrorWithAttachment) Test(ctx context.Context, in *emptypb.Empty, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) @@ -66,6 +72,34 @@ type CastClient interface { GetPrompt(ctx context.Context, in *GetPromptReq, opts ...grpc_go.CallOption) (*GetPromptResp, common.ErrorWithAttachment) ListPrompts(ctx context.Context, in *ListPromptsReq, opts ...grpc_go.CallOption) (*ListPromptsResp, common.ErrorWithAttachment) UpdatePromptBatch(ctx context.Context, in *UpdatePromptBatchReq, opts ...grpc_go.CallOption) (*UpdatePromptBatchResp, common.ErrorWithAttachment) + // 艺人相关接口 + UpdateArtist(ctx context.Context, in *UpdateArtistReq, opts ...grpc_go.CallOption) (*UpdateArtistResp, common.ErrorWithAttachment) + GetArtist(ctx context.Context, in *GetArtistReq, opts ...grpc_go.CallOption) (*GetArtistResp, common.ErrorWithAttachment) + // 作品分析相关接口 + CreateWorkAnalysis(ctx context.Context, in *CreateWorkAnalysisReq, opts ...grpc_go.CallOption) (*CreateWorkAnalysisResp, common.ErrorWithAttachment) + UpdateWorkAnalysis(ctx context.Context, in *UpdateWorkAnalysisReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + UpdateWorkAnalysisStatus(ctx context.Context, in *UpdateWorkAnalysisStatusReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + GetWorkAnalysis(ctx context.Context, in *GetWorkAnalysisDetailReq, opts ...grpc_go.CallOption) (*GetWorkAnalysisDetailResp, common.ErrorWithAttachment) + GetLatestWorkAnalysis(ctx context.Context, in *GetLatestWorkAnalysisReq, opts ...grpc_go.CallOption) (*GetWorkAnalysisResp, common.ErrorWithAttachment) + ListWorkAnalysis(ctx context.Context, in *ListWorkAnalysisReq, opts ...grpc_go.CallOption) (*ListWorkAnalysisResp, common.ErrorWithAttachment) + DeleteWorkAnalysis(ctx context.Context, in *DeleteWorkAnalysisReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + UpdateWorkAnalysisApprovalID(ctx context.Context, in *UpdateWorkAnalysisApprovalIDReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + // 数据列表相关接口 + ArtistDataList(ctx context.Context, in *ArtistDataListReq, opts ...grpc_go.CallOption) (*ArtistDataListResp, common.ErrorWithAttachment) + MediaDataList(ctx context.Context, in *MediaDataListReq, opts ...grpc_go.CallOption) (*MediaDataListResp, common.ErrorWithAttachment) + DataOverview(ctx context.Context, in *DataOverviewReq, opts ...grpc_go.CallOption) (*DataOverviewResp, common.ErrorWithAttachment) + // 艺人指标相关接口 + ArtistMetricsSeries(ctx context.Context, in *ArtistMetricsSeriesReq, opts ...grpc_go.CallOption) (*ArtistMetricsSeriesResp, common.ErrorWithAttachment) + ArtistMetricsDailyWindow(ctx context.Context, in *ArtistMetricsDailyWindowReq, opts ...grpc_go.CallOption) (*ArtistMetricsDailyWindowResp, common.ErrorWithAttachment) + // 待确认数据相关接口 + TobeConfirmedList(ctx context.Context, in *TobeConfirmedListReq, opts ...grpc_go.CallOption) (*TobeConfirmedListResp, common.ErrorWithAttachment) + // 日级指标批量更新接口 + UpsertMediaMetricsDailyBatch(ctx context.Context, in *UpsertMediaMetricsDailyBatchReq, opts ...grpc_go.CallOption) (*UpsertMediaMetricsDailyBatchResp, common.ErrorWithAttachment) + UpsertWorkMetricsDailyBatch(ctx context.Context, in *UpsertWorkMetricsDailyBatchReq, opts ...grpc_go.CallOption) (*UpsertWorkMetricsDailyBatchResp, common.ErrorWithAttachment) + // 艺人AyrShare信息相关接口 + GetArtistAyrShareInfo(ctx context.Context, in *GetArtistAyrShareInfoReq, opts ...grpc_go.CallOption) (*GetArtistAyrShareInfoResp, common.ErrorWithAttachment) + // 作品平台信息相关接口 + ListWorkPlatformInfo(ctx context.Context, in *ListWorkPlatformInfoReq, opts ...grpc_go.CallOption) (*ListWorkPlatformInfoResp, common.ErrorWithAttachment) } type castClient struct { @@ -73,41 +107,67 @@ type castClient struct { } type CastClientImpl struct { - MediaUserList func(ctx context.Context, in *MediaUserListReq) (*MediaUserListResp, error) - UpdateMediaAccount func(ctx context.Context, in *UpdateMediaAccountReq) (*UpdateMediaAccountResp, error) - UnbindManager func(ctx context.Context, in *UnbindManagerReq) (*UnbindManagerResp, error) - BindManager func(ctx context.Context, in *BindManagerReq) (*emptypb.Empty, error) - UpdateWorkImage func(ctx context.Context, in *UpdateWorkImageReq) (*UpdateWorkImageResp, error) - UpdateWorkVideo func(ctx context.Context, in *UpdateWorkVideoReq) (*UpdateWorkVideoResp, error) - WorkList func(ctx context.Context, in *WorkListReq) (*WorkListResp, error) - WorkDetail func(ctx context.Context, in *WorkDetailReq) (*WorkDetailResp, error) - UpdateStatus func(ctx context.Context, in *UpdateStatusReq) (*emptypb.Empty, error) - MediaAccounts func(ctx context.Context, in *MediaAccountsReq) (*MediaAccountsResp, error) - MediaWorks func(ctx context.Context, in *MediaWorksReq) (*MediaWorksResp, error) - Publish func(ctx context.Context, in *PublishReq) (*PublishResp, error) - RePublish func(ctx context.Context, in *RePublishReq) (*RePublishResp, error) - DelWork func(ctx context.Context, in *DelWorkReq) (*emptypb.Empty, error) - WorkInfo func(ctx context.Context, in *WorkInfoReq) (*WorkInfoResp, error) - ArtistInfo func(ctx context.Context, in *ArtistInfoReq) (*ArtistInfoResp, error) - ImportWorkBatch func(ctx context.Context, in *ImportWorkBatchReq) (*ImportWorkBatchResp, error) - OAuthAccount func(ctx context.Context, in *OAuthAccountReq) (*OAuthAccountResp, error) - OAuthCodeToToken func(ctx context.Context, in *OAuthCodeToTokenReq) (*OAuthCodeToTokenResp, error) - RefreshToken func(ctx context.Context, in *RefreshTokenReq) (*RefreshTokenResp, error) - PublishMediaInfo func(ctx context.Context, in *PublishMediaInfoReq) (*PublishMediaInfoResp, error) - Test func(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error) - UpdateVideoScript func(ctx context.Context, in *UpdateVideoScriptReq) (*UpdateVideoScriptResp, error) - GetVideoScript func(ctx context.Context, in *GetVideoScriptReq) (*GetVideoScriptResp, error) - ListVideoScripts func(ctx context.Context, in *ListVideoScriptsReq) (*ListVideoScriptsResp, error) - DeleteVideoScript func(ctx context.Context, in *DeleteVideoScriptReq) (*emptypb.Empty, error) - UpdateVideoScriptBatch func(ctx context.Context, in *UpdateVideoScriptBatchReq) (*UpdateVideoScriptBatchResp, error) - UpdateScriptStatus func(ctx context.Context, in *UpdateScriptStatusReq) (*emptypb.Empty, error) - GetLayout func(ctx context.Context, in *GetLayoutReq) (*GetLayoutResp, error) - SetLayout func(ctx context.Context, in *SetLayoutReq) (*emptypb.Empty, error) - UpdatePrompt func(ctx context.Context, in *UpdatePromptReq) (*emptypb.Empty, error) - DeletePrompt func(ctx context.Context, in *DeletePromptReq) (*emptypb.Empty, error) - GetPrompt func(ctx context.Context, in *GetPromptReq) (*GetPromptResp, error) - ListPrompts func(ctx context.Context, in *ListPromptsReq) (*ListPromptsResp, error) - UpdatePromptBatch func(ctx context.Context, in *UpdatePromptBatchReq) (*UpdatePromptBatchResp, error) + MediaUserList func(ctx context.Context, in *MediaUserListReq) (*MediaUserListResp, error) + UpdateMediaAccount func(ctx context.Context, in *UpdateMediaAccountReq) (*UpdateMediaAccountResp, error) + UnbindManager func(ctx context.Context, in *UnbindManagerReq) (*UnbindManagerResp, error) + BindManager func(ctx context.Context, in *BindManagerReq) (*emptypb.Empty, error) + UpdateWorkImage func(ctx context.Context, in *UpdateWorkImageReq) (*UpdateWorkImageResp, error) + UpdateWorkVideo func(ctx context.Context, in *UpdateWorkVideoReq) (*UpdateWorkVideoResp, error) + MediaInfo func(ctx context.Context, in *MediaInfoReq) (*MediaInfoResp, error) + WorkList func(ctx context.Context, in *WorkListReq) (*WorkListResp, error) + WorkDetail func(ctx context.Context, in *WorkDetailReq) (*WorkDetailResp, error) + UpdateStatus func(ctx context.Context, in *UpdateStatusReq) (*emptypb.Empty, error) + MediaAccounts func(ctx context.Context, in *MediaAccountsReq) (*MediaAccountsResp, error) + MediaWorks func(ctx context.Context, in *MediaWorksReq) (*MediaWorksResp, error) + Publish func(ctx context.Context, in *PublishReq) (*PublishResp, error) + RePublish func(ctx context.Context, in *RePublishReq) (*RePublishResp, error) + DelWork func(ctx context.Context, in *DelWorkReq) (*emptypb.Empty, error) + WorkInfo func(ctx context.Context, in *WorkInfoReq) (*WorkInfoResp, error) + ArtistInfo func(ctx context.Context, in *ArtistInfoReq) (*ArtistInfoResp, error) + ImportWorkBatch func(ctx context.Context, in *ImportWorkBatchReq) (*ImportWorkBatchResp, error) + UpdateWorkPlatformInfo func(ctx context.Context, in *UpdateWorkPlatformInfoReq) (*UpdateWorkPlatformInfoResp, error) + UpdateWorkPublishLog func(ctx context.Context, in *UpdateWorkPublishLogReq) (*emptypb.Empty, error) + RefreshWorkList func(ctx context.Context, in *RefreshWorkListReq) (*RefreshWorkListResp, error) + OAuthAccount func(ctx context.Context, in *OAuthAccountReq) (*OAuthAccountResp, error) + OAuthAccountV2 func(ctx context.Context, in *OAuthAccountV2Req) (*OAuthAccountV2Resp, error) + OAuthCodeToToken func(ctx context.Context, in *OAuthCodeToTokenReq) (*OAuthCodeToTokenResp, error) + UpdateOAuth func(ctx context.Context, in *UpdateOAuthReq) (*emptypb.Empty, error) + RefreshToken func(ctx context.Context, in *RefreshTokenReq) (*RefreshTokenResp, error) + PublishMediaInfo func(ctx context.Context, in *PublishMediaInfoReq) (*PublishMediaInfoResp, error) + Test func(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error) + UpdateVideoScript func(ctx context.Context, in *UpdateVideoScriptReq) (*UpdateVideoScriptResp, error) + GetVideoScript func(ctx context.Context, in *GetVideoScriptReq) (*GetVideoScriptResp, error) + ListVideoScripts func(ctx context.Context, in *ListVideoScriptsReq) (*ListVideoScriptsResp, error) + DeleteVideoScript func(ctx context.Context, in *DeleteVideoScriptReq) (*emptypb.Empty, error) + UpdateVideoScriptBatch func(ctx context.Context, in *UpdateVideoScriptBatchReq) (*UpdateVideoScriptBatchResp, error) + UpdateScriptStatus func(ctx context.Context, in *UpdateScriptStatusReq) (*emptypb.Empty, error) + GetLayout func(ctx context.Context, in *GetLayoutReq) (*GetLayoutResp, error) + SetLayout func(ctx context.Context, in *SetLayoutReq) (*emptypb.Empty, error) + UpdatePrompt func(ctx context.Context, in *UpdatePromptReq) (*emptypb.Empty, error) + DeletePrompt func(ctx context.Context, in *DeletePromptReq) (*emptypb.Empty, error) + GetPrompt func(ctx context.Context, in *GetPromptReq) (*GetPromptResp, error) + ListPrompts func(ctx context.Context, in *ListPromptsReq) (*ListPromptsResp, error) + UpdatePromptBatch func(ctx context.Context, in *UpdatePromptBatchReq) (*UpdatePromptBatchResp, error) + UpdateArtist func(ctx context.Context, in *UpdateArtistReq) (*UpdateArtistResp, error) + GetArtist func(ctx context.Context, in *GetArtistReq) (*GetArtistResp, error) + CreateWorkAnalysis func(ctx context.Context, in *CreateWorkAnalysisReq) (*CreateWorkAnalysisResp, error) + UpdateWorkAnalysis func(ctx context.Context, in *UpdateWorkAnalysisReq) (*emptypb.Empty, error) + UpdateWorkAnalysisStatus func(ctx context.Context, in *UpdateWorkAnalysisStatusReq) (*emptypb.Empty, error) + GetWorkAnalysis func(ctx context.Context, in *GetWorkAnalysisDetailReq) (*GetWorkAnalysisDetailResp, error) + GetLatestWorkAnalysis func(ctx context.Context, in *GetLatestWorkAnalysisReq) (*GetWorkAnalysisResp, error) + ListWorkAnalysis func(ctx context.Context, in *ListWorkAnalysisReq) (*ListWorkAnalysisResp, error) + DeleteWorkAnalysis func(ctx context.Context, in *DeleteWorkAnalysisReq) (*emptypb.Empty, error) + UpdateWorkAnalysisApprovalID func(ctx context.Context, in *UpdateWorkAnalysisApprovalIDReq) (*emptypb.Empty, error) + ArtistDataList func(ctx context.Context, in *ArtistDataListReq) (*ArtistDataListResp, error) + MediaDataList func(ctx context.Context, in *MediaDataListReq) (*MediaDataListResp, error) + DataOverview func(ctx context.Context, in *DataOverviewReq) (*DataOverviewResp, error) + ArtistMetricsSeries func(ctx context.Context, in *ArtistMetricsSeriesReq) (*ArtistMetricsSeriesResp, error) + ArtistMetricsDailyWindow func(ctx context.Context, in *ArtistMetricsDailyWindowReq) (*ArtistMetricsDailyWindowResp, error) + TobeConfirmedList func(ctx context.Context, in *TobeConfirmedListReq) (*TobeConfirmedListResp, error) + UpsertMediaMetricsDailyBatch func(ctx context.Context, in *UpsertMediaMetricsDailyBatchReq) (*UpsertMediaMetricsDailyBatchResp, error) + UpsertWorkMetricsDailyBatch func(ctx context.Context, in *UpsertWorkMetricsDailyBatchReq) (*UpsertWorkMetricsDailyBatchResp, error) + GetArtistAyrShareInfo func(ctx context.Context, in *GetArtistAyrShareInfoReq) (*GetArtistAyrShareInfoResp, error) + ListWorkPlatformInfo func(ctx context.Context, in *ListWorkPlatformInfoReq) (*ListWorkPlatformInfoResp, error) } func (c *CastClientImpl) GetDubboStub(cc *triple.TripleConn) CastClient { @@ -158,6 +218,12 @@ func (c *castClient) UpdateWorkVideo(ctx context.Context, in *UpdateWorkVideoReq return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateWorkVideo", in, out) } +func (c *castClient) MediaInfo(ctx context.Context, in *MediaInfoReq, opts ...grpc_go.CallOption) (*MediaInfoResp, common.ErrorWithAttachment) { + out := new(MediaInfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/MediaInfo", in, out) +} + func (c *castClient) WorkList(ctx context.Context, in *WorkListReq, opts ...grpc_go.CallOption) (*WorkListResp, common.ErrorWithAttachment) { out := new(WorkListResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -224,18 +290,48 @@ func (c *castClient) ImportWorkBatch(ctx context.Context, in *ImportWorkBatchReq return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ImportWorkBatch", in, out) } +func (c *castClient) UpdateWorkPlatformInfo(ctx context.Context, in *UpdateWorkPlatformInfoReq, opts ...grpc_go.CallOption) (*UpdateWorkPlatformInfoResp, common.ErrorWithAttachment) { + out := new(UpdateWorkPlatformInfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateWorkPlatformInfo", in, out) +} + +func (c *castClient) UpdateWorkPublishLog(ctx context.Context, in *UpdateWorkPublishLogReq, 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+"/UpdateWorkPublishLog", in, out) +} + +func (c *castClient) RefreshWorkList(ctx context.Context, in *RefreshWorkListReq, opts ...grpc_go.CallOption) (*RefreshWorkListResp, common.ErrorWithAttachment) { + out := new(RefreshWorkListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RefreshWorkList", in, out) +} + func (c *castClient) OAuthAccount(ctx context.Context, in *OAuthAccountReq, opts ...grpc_go.CallOption) (*OAuthAccountResp, common.ErrorWithAttachment) { out := new(OAuthAccountResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OAuthAccount", in, out) } +func (c *castClient) OAuthAccountV2(ctx context.Context, in *OAuthAccountV2Req, opts ...grpc_go.CallOption) (*OAuthAccountV2Resp, common.ErrorWithAttachment) { + out := new(OAuthAccountV2Resp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OAuthAccountV2", in, out) +} + func (c *castClient) OAuthCodeToToken(ctx context.Context, in *OAuthCodeToTokenReq, opts ...grpc_go.CallOption) (*OAuthCodeToTokenResp, common.ErrorWithAttachment) { out := new(OAuthCodeToTokenResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OAuthCodeToToken", in, out) } +func (c *castClient) UpdateOAuth(ctx context.Context, in *UpdateOAuthReq, 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+"/UpdateOAuth", in, out) +} + func (c *castClient) RefreshToken(ctx context.Context, in *RefreshTokenReq, opts ...grpc_go.CallOption) (*RefreshTokenResp, common.ErrorWithAttachment) { out := new(RefreshTokenResp) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -332,6 +428,126 @@ func (c *castClient) UpdatePromptBatch(ctx context.Context, in *UpdatePromptBatc return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdatePromptBatch", in, out) } +func (c *castClient) UpdateArtist(ctx context.Context, in *UpdateArtistReq, opts ...grpc_go.CallOption) (*UpdateArtistResp, common.ErrorWithAttachment) { + out := new(UpdateArtistResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateArtist", in, out) +} + +func (c *castClient) GetArtist(ctx context.Context, in *GetArtistReq, opts ...grpc_go.CallOption) (*GetArtistResp, common.ErrorWithAttachment) { + out := new(GetArtistResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtist", in, out) +} + +func (c *castClient) CreateWorkAnalysis(ctx context.Context, in *CreateWorkAnalysisReq, opts ...grpc_go.CallOption) (*CreateWorkAnalysisResp, common.ErrorWithAttachment) { + out := new(CreateWorkAnalysisResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateWorkAnalysis", in, out) +} + +func (c *castClient) UpdateWorkAnalysis(ctx context.Context, in *UpdateWorkAnalysisReq, 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+"/UpdateWorkAnalysis", in, out) +} + +func (c *castClient) UpdateWorkAnalysisStatus(ctx context.Context, in *UpdateWorkAnalysisStatusReq, 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+"/UpdateWorkAnalysisStatus", in, out) +} + +func (c *castClient) GetWorkAnalysis(ctx context.Context, in *GetWorkAnalysisDetailReq, opts ...grpc_go.CallOption) (*GetWorkAnalysisDetailResp, common.ErrorWithAttachment) { + out := new(GetWorkAnalysisDetailResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetWorkAnalysis", in, out) +} + +func (c *castClient) GetLatestWorkAnalysis(ctx context.Context, in *GetLatestWorkAnalysisReq, opts ...grpc_go.CallOption) (*GetWorkAnalysisResp, common.ErrorWithAttachment) { + out := new(GetWorkAnalysisResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetLatestWorkAnalysis", in, out) +} + +func (c *castClient) ListWorkAnalysis(ctx context.Context, in *ListWorkAnalysisReq, opts ...grpc_go.CallOption) (*ListWorkAnalysisResp, common.ErrorWithAttachment) { + out := new(ListWorkAnalysisResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ListWorkAnalysis", in, out) +} + +func (c *castClient) DeleteWorkAnalysis(ctx context.Context, in *DeleteWorkAnalysisReq, 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+"/DeleteWorkAnalysis", in, out) +} + +func (c *castClient) UpdateWorkAnalysisApprovalID(ctx context.Context, in *UpdateWorkAnalysisApprovalIDReq, 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+"/UpdateWorkAnalysisApprovalID", in, out) +} + +func (c *castClient) ArtistDataList(ctx context.Context, in *ArtistDataListReq, opts ...grpc_go.CallOption) (*ArtistDataListResp, common.ErrorWithAttachment) { + out := new(ArtistDataListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ArtistDataList", in, out) +} + +func (c *castClient) MediaDataList(ctx context.Context, in *MediaDataListReq, opts ...grpc_go.CallOption) (*MediaDataListResp, common.ErrorWithAttachment) { + out := new(MediaDataListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/MediaDataList", in, out) +} + +func (c *castClient) DataOverview(ctx context.Context, in *DataOverviewReq, opts ...grpc_go.CallOption) (*DataOverviewResp, common.ErrorWithAttachment) { + out := new(DataOverviewResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DataOverview", in, out) +} + +func (c *castClient) ArtistMetricsSeries(ctx context.Context, in *ArtistMetricsSeriesReq, opts ...grpc_go.CallOption) (*ArtistMetricsSeriesResp, common.ErrorWithAttachment) { + out := new(ArtistMetricsSeriesResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ArtistMetricsSeries", in, out) +} + +func (c *castClient) ArtistMetricsDailyWindow(ctx context.Context, in *ArtistMetricsDailyWindowReq, opts ...grpc_go.CallOption) (*ArtistMetricsDailyWindowResp, common.ErrorWithAttachment) { + out := new(ArtistMetricsDailyWindowResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ArtistMetricsDailyWindow", in, out) +} + +func (c *castClient) TobeConfirmedList(ctx context.Context, in *TobeConfirmedListReq, opts ...grpc_go.CallOption) (*TobeConfirmedListResp, common.ErrorWithAttachment) { + out := new(TobeConfirmedListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/TobeConfirmedList", in, out) +} + +func (c *castClient) UpsertMediaMetricsDailyBatch(ctx context.Context, in *UpsertMediaMetricsDailyBatchReq, opts ...grpc_go.CallOption) (*UpsertMediaMetricsDailyBatchResp, common.ErrorWithAttachment) { + out := new(UpsertMediaMetricsDailyBatchResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpsertMediaMetricsDailyBatch", in, out) +} + +func (c *castClient) UpsertWorkMetricsDailyBatch(ctx context.Context, in *UpsertWorkMetricsDailyBatchReq, opts ...grpc_go.CallOption) (*UpsertWorkMetricsDailyBatchResp, common.ErrorWithAttachment) { + out := new(UpsertWorkMetricsDailyBatchResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpsertWorkMetricsDailyBatch", in, out) +} + +func (c *castClient) GetArtistAyrShareInfo(ctx context.Context, in *GetArtistAyrShareInfoReq, opts ...grpc_go.CallOption) (*GetArtistAyrShareInfoResp, common.ErrorWithAttachment) { + out := new(GetArtistAyrShareInfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtistAyrShareInfo", in, out) +} + +func (c *castClient) ListWorkPlatformInfo(ctx context.Context, in *ListWorkPlatformInfoReq, opts ...grpc_go.CallOption) (*ListWorkPlatformInfoResp, common.ErrorWithAttachment) { + out := new(ListWorkPlatformInfoResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ListWorkPlatformInfo", in, out) +} + // CastServer is the server API for Cast service. // All implementations must embed UnimplementedCastServer // for forward compatibility @@ -342,6 +558,7 @@ type CastServer interface { BindManager(context.Context, *BindManagerReq) (*emptypb.Empty, error) UpdateWorkImage(context.Context, *UpdateWorkImageReq) (*UpdateWorkImageResp, error) UpdateWorkVideo(context.Context, *UpdateWorkVideoReq) (*UpdateWorkVideoResp, error) + MediaInfo(context.Context, *MediaInfoReq) (*MediaInfoResp, error) WorkList(context.Context, *WorkListReq) (*WorkListResp, error) WorkDetail(context.Context, *WorkDetailReq) (*WorkDetailResp, error) UpdateStatus(context.Context, *UpdateStatusReq) (*emptypb.Empty, error) @@ -353,8 +570,13 @@ type CastServer interface { WorkInfo(context.Context, *WorkInfoReq) (*WorkInfoResp, error) ArtistInfo(context.Context, *ArtistInfoReq) (*ArtistInfoResp, error) ImportWorkBatch(context.Context, *ImportWorkBatchReq) (*ImportWorkBatchResp, error) + UpdateWorkPlatformInfo(context.Context, *UpdateWorkPlatformInfoReq) (*UpdateWorkPlatformInfoResp, error) + UpdateWorkPublishLog(context.Context, *UpdateWorkPublishLogReq) (*emptypb.Empty, error) + RefreshWorkList(context.Context, *RefreshWorkListReq) (*RefreshWorkListResp, error) OAuthAccount(context.Context, *OAuthAccountReq) (*OAuthAccountResp, error) + OAuthAccountV2(context.Context, *OAuthAccountV2Req) (*OAuthAccountV2Resp, error) OAuthCodeToToken(context.Context, *OAuthCodeToTokenReq) (*OAuthCodeToTokenResp, error) + UpdateOAuth(context.Context, *UpdateOAuthReq) (*emptypb.Empty, error) RefreshToken(context.Context, *RefreshTokenReq) (*RefreshTokenResp, error) PublishMediaInfo(context.Context, *PublishMediaInfoReq) (*PublishMediaInfoResp, error) Test(context.Context, *emptypb.Empty) (*emptypb.Empty, error) @@ -373,6 +595,34 @@ type CastServer interface { GetPrompt(context.Context, *GetPromptReq) (*GetPromptResp, error) ListPrompts(context.Context, *ListPromptsReq) (*ListPromptsResp, error) UpdatePromptBatch(context.Context, *UpdatePromptBatchReq) (*UpdatePromptBatchResp, error) + // 艺人相关接口 + UpdateArtist(context.Context, *UpdateArtistReq) (*UpdateArtistResp, error) + GetArtist(context.Context, *GetArtistReq) (*GetArtistResp, error) + // 作品分析相关接口 + CreateWorkAnalysis(context.Context, *CreateWorkAnalysisReq) (*CreateWorkAnalysisResp, error) + UpdateWorkAnalysis(context.Context, *UpdateWorkAnalysisReq) (*emptypb.Empty, error) + UpdateWorkAnalysisStatus(context.Context, *UpdateWorkAnalysisStatusReq) (*emptypb.Empty, error) + GetWorkAnalysis(context.Context, *GetWorkAnalysisDetailReq) (*GetWorkAnalysisDetailResp, error) + GetLatestWorkAnalysis(context.Context, *GetLatestWorkAnalysisReq) (*GetWorkAnalysisResp, error) + ListWorkAnalysis(context.Context, *ListWorkAnalysisReq) (*ListWorkAnalysisResp, error) + DeleteWorkAnalysis(context.Context, *DeleteWorkAnalysisReq) (*emptypb.Empty, error) + UpdateWorkAnalysisApprovalID(context.Context, *UpdateWorkAnalysisApprovalIDReq) (*emptypb.Empty, error) + // 数据列表相关接口 + ArtistDataList(context.Context, *ArtistDataListReq) (*ArtistDataListResp, error) + MediaDataList(context.Context, *MediaDataListReq) (*MediaDataListResp, error) + DataOverview(context.Context, *DataOverviewReq) (*DataOverviewResp, error) + // 艺人指标相关接口 + ArtistMetricsSeries(context.Context, *ArtistMetricsSeriesReq) (*ArtistMetricsSeriesResp, error) + ArtistMetricsDailyWindow(context.Context, *ArtistMetricsDailyWindowReq) (*ArtistMetricsDailyWindowResp, error) + // 待确认数据相关接口 + TobeConfirmedList(context.Context, *TobeConfirmedListReq) (*TobeConfirmedListResp, error) + // 日级指标批量更新接口 + UpsertMediaMetricsDailyBatch(context.Context, *UpsertMediaMetricsDailyBatchReq) (*UpsertMediaMetricsDailyBatchResp, error) + UpsertWorkMetricsDailyBatch(context.Context, *UpsertWorkMetricsDailyBatchReq) (*UpsertWorkMetricsDailyBatchResp, error) + // 艺人AyrShare信息相关接口 + GetArtistAyrShareInfo(context.Context, *GetArtistAyrShareInfoReq) (*GetArtistAyrShareInfoResp, error) + // 作品平台信息相关接口 + ListWorkPlatformInfo(context.Context, *ListWorkPlatformInfoReq) (*ListWorkPlatformInfoResp, error) mustEmbedUnimplementedCastServer() } @@ -399,6 +649,9 @@ func (UnimplementedCastServer) UpdateWorkImage(context.Context, *UpdateWorkImage func (UnimplementedCastServer) UpdateWorkVideo(context.Context, *UpdateWorkVideoReq) (*UpdateWorkVideoResp, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkVideo not implemented") } +func (UnimplementedCastServer) MediaInfo(context.Context, *MediaInfoReq) (*MediaInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method MediaInfo not implemented") +} func (UnimplementedCastServer) WorkList(context.Context, *WorkListReq) (*WorkListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method WorkList not implemented") } @@ -432,12 +685,27 @@ func (UnimplementedCastServer) ArtistInfo(context.Context, *ArtistInfoReq) (*Art func (UnimplementedCastServer) ImportWorkBatch(context.Context, *ImportWorkBatchReq) (*ImportWorkBatchResp, error) { return nil, status.Errorf(codes.Unimplemented, "method ImportWorkBatch not implemented") } +func (UnimplementedCastServer) UpdateWorkPlatformInfo(context.Context, *UpdateWorkPlatformInfoReq) (*UpdateWorkPlatformInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkPlatformInfo not implemented") +} +func (UnimplementedCastServer) UpdateWorkPublishLog(context.Context, *UpdateWorkPublishLogReq) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkPublishLog not implemented") +} +func (UnimplementedCastServer) RefreshWorkList(context.Context, *RefreshWorkListReq) (*RefreshWorkListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method RefreshWorkList not implemented") +} func (UnimplementedCastServer) OAuthAccount(context.Context, *OAuthAccountReq) (*OAuthAccountResp, error) { return nil, status.Errorf(codes.Unimplemented, "method OAuthAccount not implemented") } +func (UnimplementedCastServer) OAuthAccountV2(context.Context, *OAuthAccountV2Req) (*OAuthAccountV2Resp, error) { + return nil, status.Errorf(codes.Unimplemented, "method OAuthAccountV2 not implemented") +} func (UnimplementedCastServer) OAuthCodeToToken(context.Context, *OAuthCodeToTokenReq) (*OAuthCodeToTokenResp, error) { return nil, status.Errorf(codes.Unimplemented, "method OAuthCodeToToken not implemented") } +func (UnimplementedCastServer) UpdateOAuth(context.Context, *UpdateOAuthReq) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateOAuth not implemented") +} func (UnimplementedCastServer) RefreshToken(context.Context, *RefreshTokenReq) (*RefreshTokenResp, error) { return nil, status.Errorf(codes.Unimplemented, "method RefreshToken not implemented") } @@ -486,6 +754,66 @@ func (UnimplementedCastServer) ListPrompts(context.Context, *ListPromptsReq) (*L func (UnimplementedCastServer) UpdatePromptBatch(context.Context, *UpdatePromptBatchReq) (*UpdatePromptBatchResp, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdatePromptBatch not implemented") } +func (UnimplementedCastServer) UpdateArtist(context.Context, *UpdateArtistReq) (*UpdateArtistResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateArtist not implemented") +} +func (UnimplementedCastServer) GetArtist(context.Context, *GetArtistReq) (*GetArtistResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtist not implemented") +} +func (UnimplementedCastServer) CreateWorkAnalysis(context.Context, *CreateWorkAnalysisReq) (*CreateWorkAnalysisResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateWorkAnalysis not implemented") +} +func (UnimplementedCastServer) UpdateWorkAnalysis(context.Context, *UpdateWorkAnalysisReq) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkAnalysis not implemented") +} +func (UnimplementedCastServer) UpdateWorkAnalysisStatus(context.Context, *UpdateWorkAnalysisStatusReq) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkAnalysisStatus not implemented") +} +func (UnimplementedCastServer) GetWorkAnalysis(context.Context, *GetWorkAnalysisDetailReq) (*GetWorkAnalysisDetailResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetWorkAnalysis not implemented") +} +func (UnimplementedCastServer) GetLatestWorkAnalysis(context.Context, *GetLatestWorkAnalysisReq) (*GetWorkAnalysisResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetLatestWorkAnalysis not implemented") +} +func (UnimplementedCastServer) ListWorkAnalysis(context.Context, *ListWorkAnalysisReq) (*ListWorkAnalysisResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListWorkAnalysis not implemented") +} +func (UnimplementedCastServer) DeleteWorkAnalysis(context.Context, *DeleteWorkAnalysisReq) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteWorkAnalysis not implemented") +} +func (UnimplementedCastServer) UpdateWorkAnalysisApprovalID(context.Context, *UpdateWorkAnalysisApprovalIDReq) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkAnalysisApprovalID not implemented") +} +func (UnimplementedCastServer) ArtistDataList(context.Context, *ArtistDataListReq) (*ArtistDataListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ArtistDataList not implemented") +} +func (UnimplementedCastServer) MediaDataList(context.Context, *MediaDataListReq) (*MediaDataListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method MediaDataList not implemented") +} +func (UnimplementedCastServer) DataOverview(context.Context, *DataOverviewReq) (*DataOverviewResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DataOverview not implemented") +} +func (UnimplementedCastServer) ArtistMetricsSeries(context.Context, *ArtistMetricsSeriesReq) (*ArtistMetricsSeriesResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ArtistMetricsSeries not implemented") +} +func (UnimplementedCastServer) ArtistMetricsDailyWindow(context.Context, *ArtistMetricsDailyWindowReq) (*ArtistMetricsDailyWindowResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ArtistMetricsDailyWindow not implemented") +} +func (UnimplementedCastServer) TobeConfirmedList(context.Context, *TobeConfirmedListReq) (*TobeConfirmedListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method TobeConfirmedList not implemented") +} +func (UnimplementedCastServer) UpsertMediaMetricsDailyBatch(context.Context, *UpsertMediaMetricsDailyBatchReq) (*UpsertMediaMetricsDailyBatchResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpsertMediaMetricsDailyBatch not implemented") +} +func (UnimplementedCastServer) UpsertWorkMetricsDailyBatch(context.Context, *UpsertWorkMetricsDailyBatchReq) (*UpsertWorkMetricsDailyBatchResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpsertWorkMetricsDailyBatch not implemented") +} +func (UnimplementedCastServer) GetArtistAyrShareInfo(context.Context, *GetArtistAyrShareInfoReq) (*GetArtistAyrShareInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtistAyrShareInfo not implemented") +} +func (UnimplementedCastServer) ListWorkPlatformInfo(context.Context, *ListWorkPlatformInfoReq) (*ListWorkPlatformInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListWorkPlatformInfo not implemented") +} func (s *UnimplementedCastServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } @@ -688,6 +1016,35 @@ func _Cast_UpdateWorkVideo_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Cast_MediaInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(MediaInfoReq) + 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("MediaInfo", 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 _Cast_WorkList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(WorkListReq) if err := dec(in); err != nil { @@ -1007,6 +1364,93 @@ func _Cast_ImportWorkBatch_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Cast_UpdateWorkPlatformInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkPlatformInfoReq) + 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("UpdateWorkPlatformInfo", 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 _Cast_UpdateWorkPublishLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkPublishLogReq) + 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("UpdateWorkPublishLog", 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 _Cast_RefreshWorkList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RefreshWorkListReq) + 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("RefreshWorkList", 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 _Cast_OAuthAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(OAuthAccountReq) if err := dec(in); err != nil { @@ -1036,6 +1480,35 @@ func _Cast_OAuthAccount_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +func _Cast_OAuthAccountV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(OAuthAccountV2Req) + 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("OAuthAccountV2", 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 _Cast_OAuthCodeToToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(OAuthCodeToTokenReq) if err := dec(in); err != nil { @@ -1065,6 +1538,35 @@ func _Cast_OAuthCodeToToken_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Cast_UpdateOAuth_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateOAuthReq) + 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("UpdateOAuth", 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 _Cast_RefreshToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(RefreshTokenReq) if err := dec(in); err != nil { @@ -1529,6 +2031,586 @@ func _Cast_UpdatePromptBatch_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Cast_UpdateArtist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateArtistReq) + 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("UpdateArtist", 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 _Cast_GetArtist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtistReq) + 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("GetArtist", 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 _Cast_CreateWorkAnalysis_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateWorkAnalysisReq) + 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("CreateWorkAnalysis", 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 _Cast_UpdateWorkAnalysis_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkAnalysisReq) + 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("UpdateWorkAnalysis", 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 _Cast_UpdateWorkAnalysisStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkAnalysisStatusReq) + 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("UpdateWorkAnalysisStatus", 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 _Cast_GetWorkAnalysis_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetWorkAnalysisDetailReq) + 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("GetWorkAnalysis", 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 _Cast_GetLatestWorkAnalysis_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetLatestWorkAnalysisReq) + 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("GetLatestWorkAnalysis", 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 _Cast_ListWorkAnalysis_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ListWorkAnalysisReq) + 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("ListWorkAnalysis", 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 _Cast_DeleteWorkAnalysis_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteWorkAnalysisReq) + 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("DeleteWorkAnalysis", 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 _Cast_UpdateWorkAnalysisApprovalID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkAnalysisApprovalIDReq) + 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("UpdateWorkAnalysisApprovalID", 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 _Cast_ArtistDataList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ArtistDataListReq) + 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("ArtistDataList", 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 _Cast_MediaDataList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(MediaDataListReq) + 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("MediaDataList", 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 _Cast_DataOverview_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DataOverviewReq) + 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("DataOverview", 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 _Cast_ArtistMetricsSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ArtistMetricsSeriesReq) + 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("ArtistMetricsSeries", 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 _Cast_ArtistMetricsDailyWindow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ArtistMetricsDailyWindowReq) + 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("ArtistMetricsDailyWindow", 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 _Cast_TobeConfirmedList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(TobeConfirmedListReq) + 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("TobeConfirmedList", 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 _Cast_UpsertMediaMetricsDailyBatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpsertMediaMetricsDailyBatchReq) + 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("UpsertMediaMetricsDailyBatch", 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 _Cast_UpsertWorkMetricsDailyBatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpsertWorkMetricsDailyBatchReq) + 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("UpsertWorkMetricsDailyBatch", 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 _Cast_GetArtistAyrShareInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtistAyrShareInfoReq) + 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("GetArtistAyrShareInfo", 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 _Cast_ListWorkPlatformInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ListWorkPlatformInfoReq) + 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("ListWorkPlatformInfo", 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) +} + // Cast_ServiceDesc is the grpc_go.ServiceDesc for Cast service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1560,6 +2642,10 @@ var Cast_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "UpdateWorkVideo", Handler: _Cast_UpdateWorkVideo_Handler, }, + { + MethodName: "MediaInfo", + Handler: _Cast_MediaInfo_Handler, + }, { MethodName: "WorkList", Handler: _Cast_WorkList_Handler, @@ -1604,14 +2690,34 @@ var Cast_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "ImportWorkBatch", Handler: _Cast_ImportWorkBatch_Handler, }, + { + MethodName: "UpdateWorkPlatformInfo", + Handler: _Cast_UpdateWorkPlatformInfo_Handler, + }, + { + MethodName: "UpdateWorkPublishLog", + Handler: _Cast_UpdateWorkPublishLog_Handler, + }, + { + MethodName: "RefreshWorkList", + Handler: _Cast_RefreshWorkList_Handler, + }, { MethodName: "OAuthAccount", Handler: _Cast_OAuthAccount_Handler, }, + { + MethodName: "OAuthAccountV2", + Handler: _Cast_OAuthAccountV2_Handler, + }, { MethodName: "OAuthCodeToToken", Handler: _Cast_OAuthCodeToToken_Handler, }, + { + MethodName: "UpdateOAuth", + Handler: _Cast_UpdateOAuth_Handler, + }, { MethodName: "RefreshToken", Handler: _Cast_RefreshToken_Handler, @@ -1676,6 +2782,86 @@ var Cast_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "UpdatePromptBatch", Handler: _Cast_UpdatePromptBatch_Handler, }, + { + MethodName: "UpdateArtist", + Handler: _Cast_UpdateArtist_Handler, + }, + { + MethodName: "GetArtist", + Handler: _Cast_GetArtist_Handler, + }, + { + MethodName: "CreateWorkAnalysis", + Handler: _Cast_CreateWorkAnalysis_Handler, + }, + { + MethodName: "UpdateWorkAnalysis", + Handler: _Cast_UpdateWorkAnalysis_Handler, + }, + { + MethodName: "UpdateWorkAnalysisStatus", + Handler: _Cast_UpdateWorkAnalysisStatus_Handler, + }, + { + MethodName: "GetWorkAnalysis", + Handler: _Cast_GetWorkAnalysis_Handler, + }, + { + MethodName: "GetLatestWorkAnalysis", + Handler: _Cast_GetLatestWorkAnalysis_Handler, + }, + { + MethodName: "ListWorkAnalysis", + Handler: _Cast_ListWorkAnalysis_Handler, + }, + { + MethodName: "DeleteWorkAnalysis", + Handler: _Cast_DeleteWorkAnalysis_Handler, + }, + { + MethodName: "UpdateWorkAnalysisApprovalID", + Handler: _Cast_UpdateWorkAnalysisApprovalID_Handler, + }, + { + MethodName: "ArtistDataList", + Handler: _Cast_ArtistDataList_Handler, + }, + { + MethodName: "MediaDataList", + Handler: _Cast_MediaDataList_Handler, + }, + { + MethodName: "DataOverview", + Handler: _Cast_DataOverview_Handler, + }, + { + MethodName: "ArtistMetricsSeries", + Handler: _Cast_ArtistMetricsSeries_Handler, + }, + { + MethodName: "ArtistMetricsDailyWindow", + Handler: _Cast_ArtistMetricsDailyWindow_Handler, + }, + { + MethodName: "TobeConfirmedList", + Handler: _Cast_TobeConfirmedList_Handler, + }, + { + MethodName: "UpsertMediaMetricsDailyBatch", + Handler: _Cast_UpsertMediaMetricsDailyBatch_Handler, + }, + { + MethodName: "UpsertWorkMetricsDailyBatch", + Handler: _Cast_UpsertWorkMetricsDailyBatch_Handler, + }, + { + MethodName: "GetArtistAyrShareInfo", + Handler: _Cast_GetArtistAyrShareInfo_Handler, + }, + { + MethodName: "ListWorkPlatformInfo", + Handler: _Cast_ListWorkPlatformInfo_Handler, + }, }, Streams: []grpc_go.StreamDesc{}, Metadata: "pb/fiee/cast.proto", diff --git a/api/pb/aryshare/ayrshare.pb.go b/api/pb/aryshare/ayrshare.pb.go new file mode 100644 index 0000000..6bdfcbf --- /dev/null +++ b/api/pb/aryshare/ayrshare.pb.go @@ -0,0 +1,3239 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc v3.21.1 +// source: pb/ayrshare.proto + +package aryshare + +import ( + _ "github.com/mwitkow/go-proto-validators" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Instagram 用户标签(带坐标) +type UserTag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username"` + X float64 `protobuf:"fixed64,2,opt,name=x,proto3" json:"x"` // Required for images, cannot be used with Reels + Y float64 `protobuf:"fixed64,3,opt,name=y,proto3" json:"y"` // Required for images, cannot be used with Reels +} + +func (x *UserTag) Reset() { + *x = UserTag{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserTag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserTag) ProtoMessage() {} + +func (x *UserTag) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserTag.ProtoReflect.Descriptor instead. +func (*UserTag) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{0} +} + +func (x *UserTag) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *UserTag) GetX() float64 { + if x != nil { + return x.X + } + return 0 +} + +func (x *UserTag) GetY() float64 { + if x != nil { + return x.Y + } + return 0 +} + +// Instagram 特定发布选项 +type InstagramOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ShareReelsFeed bool `protobuf:"varint,1,opt,name=shareReelsFeed,proto3" json:"shareReelsFeed"` // Whether Reel can appear in both Feed and Reels tabs + AudioName string `protobuf:"bytes,2,opt,name=audioName,proto3" json:"audioName"` // Name of the audio music for Reels + ThumbNail string `protobuf:"bytes,3,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of the Reel cover image (thumbnail) + ThumbNailOffset int32 `protobuf:"varint,4,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset"` // Offset in milliseconds of the thumbnail frame + Stories bool `protobuf:"varint,5,opt,name=stories,proto3" json:"stories"` // Whether to post as Instagram Story + AltText []string `protobuf:"bytes,6,rep,name=altText,proto3" json:"altText"` // Array of alternative text for images (up to 1000 chars per image) + LocationId string `protobuf:"bytes,7,opt,name=locationId,proto3" json:"locationId"` // Facebook Page ID or Page name + UserTags []*UserTag `protobuf:"bytes,8,rep,name=userTags,proto3" json:"userTags"` // Array of user tags with username and coordinates + Collaborators []string `protobuf:"bytes,9,rep,name=collaborators,proto3" json:"collaborators"` // Array of Instagram usernames (up to 3) + AutoResize bool `protobuf:"varint,10,opt,name=autoResize,proto3" json:"autoResize"` // Auto resize images to 1080x1080px (Max Pack required) + DisableComments bool `protobuf:"varint,11,opt,name=disableComments,proto3" json:"disableComments"` // Disable comments on the published post +} + +func (x *InstagramOptions) Reset() { + *x = InstagramOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstagramOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstagramOptions) ProtoMessage() {} + +func (x *InstagramOptions) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstagramOptions.ProtoReflect.Descriptor instead. +func (*InstagramOptions) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{1} +} + +func (x *InstagramOptions) GetShareReelsFeed() bool { + if x != nil { + return x.ShareReelsFeed + } + return false +} + +func (x *InstagramOptions) GetAudioName() string { + if x != nil { + return x.AudioName + } + return "" +} + +func (x *InstagramOptions) GetThumbNail() string { + if x != nil { + return x.ThumbNail + } + return "" +} + +func (x *InstagramOptions) GetThumbNailOffset() int32 { + if x != nil { + return x.ThumbNailOffset + } + return 0 +} + +func (x *InstagramOptions) GetStories() bool { + if x != nil { + return x.Stories + } + return false +} + +func (x *InstagramOptions) GetAltText() []string { + if x != nil { + return x.AltText + } + return nil +} + +func (x *InstagramOptions) GetLocationId() string { + if x != nil { + return x.LocationId + } + return "" +} + +func (x *InstagramOptions) GetUserTags() []*UserTag { + if x != nil { + return x.UserTags + } + return nil +} + +func (x *InstagramOptions) GetCollaborators() []string { + if x != nil { + return x.Collaborators + } + return nil +} + +func (x *InstagramOptions) GetAutoResize() bool { + if x != nil { + return x.AutoResize + } + return false +} + +func (x *InstagramOptions) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +// TikTok 特定发布选项 +type TikTokOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AutoAddMusic bool `protobuf:"varint,1,opt,name=autoAddMusic,proto3" json:"autoAddMusic"` // Whether to automatically add recommended music (image only) + DisableComments bool `protobuf:"varint,2,opt,name=disableComments,proto3" json:"disableComments"` // Whether to disable comments on the published post + DisableDuet bool `protobuf:"varint,3,opt,name=disableDuet,proto3" json:"disableDuet"` // Disable duets on the published video (video only) + DisableStitch bool `protobuf:"varint,4,opt,name=disableStitch,proto3" json:"disableStitch"` // Disable stitch on the published video (video only) + Draft bool `protobuf:"varint,5,opt,name=draft,proto3" json:"draft"` // Whether to create a draft post + IsAIGenerated bool `protobuf:"varint,6,opt,name=isAIGenerated,proto3" json:"isAIGenerated"` // Whether to enable AI-generated content toggle (video only) + IsBrandedContent bool `protobuf:"varint,7,opt,name=isBrandedContent,proto3" json:"isBrandedContent"` // Whether to enable Branded Content toggle + IsBrandOrganic bool `protobuf:"varint,8,opt,name=isBrandOrganic,proto3" json:"isBrandOrganic"` // Whether to enable Brand Organic Content toggle + ImageCoverIndex int32 `protobuf:"varint,9,opt,name=imageCoverIndex,proto3" json:"imageCoverIndex"` // Index of mediaUrls to be used as cover (image only, default 0) + Title string `protobuf:"bytes,10,opt,name=title,proto3" json:"title"` // Title of the post (image only) + ThumbNailOffset int32 `protobuf:"varint,11,opt,name=thumbNailOffset,proto3" json:"thumbNailOffset"` // Frame to use for video cover in milliseconds (video only) + ThumbNail string `protobuf:"bytes,12,opt,name=thumbNail,proto3" json:"thumbNail"` // URL of thumbnail image for video (video only) + Visibility string `protobuf:"bytes,13,opt,name=visibility,proto3" json:"visibility"` // How the post is shared: "public", "private", "followers", "friends" (image only, default "public") +} + +func (x *TikTokOptions) Reset() { + *x = TikTokOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TikTokOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TikTokOptions) ProtoMessage() {} + +func (x *TikTokOptions) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TikTokOptions.ProtoReflect.Descriptor instead. +func (*TikTokOptions) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{2} +} + +func (x *TikTokOptions) GetAutoAddMusic() bool { + if x != nil { + return x.AutoAddMusic + } + return false +} + +func (x *TikTokOptions) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +func (x *TikTokOptions) GetDisableDuet() bool { + if x != nil { + return x.DisableDuet + } + return false +} + +func (x *TikTokOptions) GetDisableStitch() bool { + if x != nil { + return x.DisableStitch + } + return false +} + +func (x *TikTokOptions) GetDraft() bool { + if x != nil { + return x.Draft + } + return false +} + +func (x *TikTokOptions) GetIsAIGenerated() bool { + if x != nil { + return x.IsAIGenerated + } + return false +} + +func (x *TikTokOptions) GetIsBrandedContent() bool { + if x != nil { + return x.IsBrandedContent + } + return false +} + +func (x *TikTokOptions) GetIsBrandOrganic() bool { + if x != nil { + return x.IsBrandOrganic + } + return false +} + +func (x *TikTokOptions) GetImageCoverIndex() int32 { + if x != nil { + return x.ImageCoverIndex + } + return 0 +} + +func (x *TikTokOptions) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *TikTokOptions) GetThumbNailOffset() int32 { + if x != nil { + return x.ThumbNailOffset + } + return 0 +} + +func (x *TikTokOptions) GetThumbNail() string { + if x != nil { + return x.ThumbNail + } + return "" +} + +func (x *TikTokOptions) GetVisibility() string { + if x != nil { + return x.Visibility + } + return "" +} + +// 发布帖子到社交媒体平台 +type PostRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Post string `protobuf:"bytes,1,opt,name=post,proto3" json:"post"` + Platforms []string `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"` + MediaUrls []string `protobuf:"bytes,3,rep,name=mediaUrls,proto3" json:"mediaUrls"` + IsVideo bool `protobuf:"varint,4,opt,name=isVideo,proto3" json:"isVideo"` + ScheduleDate string `protobuf:"bytes,5,opt,name=scheduleDate,proto3" json:"scheduleDate"` + ValidateScheduled bool `protobuf:"varint,6,opt,name=validateScheduled,proto3" json:"validateScheduled"` + ShortenLinks bool `protobuf:"varint,7,opt,name=shortenLinks,proto3" json:"shortenLinks"` + DisableComments bool `protobuf:"varint,8,opt,name=disableComments,proto3" json:"disableComments"` + InstagramOptions *InstagramOptions `protobuf:"bytes,9,opt,name=instagramOptions,proto3" json:"instagramOptions"` + TikTokOptions *TikTokOptions `protobuf:"bytes,10,opt,name=tikTokOptions,proto3" json:"tikTokOptions"` + ProfileKey string `protobuf:"bytes,11,opt,name=profileKey,proto3" json:"profileKey"` +} + +func (x *PostRequest) Reset() { + *x = PostRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostRequest) ProtoMessage() {} + +func (x *PostRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostRequest.ProtoReflect.Descriptor instead. +func (*PostRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{3} +} + +func (x *PostRequest) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *PostRequest) GetPlatforms() []string { + if x != nil { + return x.Platforms + } + return nil +} + +func (x *PostRequest) GetMediaUrls() []string { + if x != nil { + return x.MediaUrls + } + return nil +} + +func (x *PostRequest) GetIsVideo() bool { + if x != nil { + return x.IsVideo + } + return false +} + +func (x *PostRequest) GetScheduleDate() string { + if x != nil { + return x.ScheduleDate + } + return "" +} + +func (x *PostRequest) GetValidateScheduled() bool { + if x != nil { + return x.ValidateScheduled + } + return false +} + +func (x *PostRequest) GetShortenLinks() bool { + if x != nil { + return x.ShortenLinks + } + return false +} + +func (x *PostRequest) GetDisableComments() bool { + if x != nil { + return x.DisableComments + } + return false +} + +func (x *PostRequest) GetInstagramOptions() *InstagramOptions { + if x != nil { + return x.InstagramOptions + } + return nil +} + +func (x *PostRequest) GetTikTokOptions() *TikTokOptions { + if x != nil { + return x.TikTokOptions + } + return nil +} + +func (x *PostRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +// 单个平台的帖子ID响应 +type PostId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"` + Cid string `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid"` + PostUrl string `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl"` + Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"` + Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type"` + Owner string `protobuf:"bytes,7,opt,name=owner,proto3" json:"owner"` + MediaId string `protobuf:"bytes,8,opt,name=mediaId,proto3" json:"mediaId"` + Ended string `protobuf:"bytes,9,opt,name=ended,proto3" json:"ended"` + IdShare string `protobuf:"bytes,10,opt,name=idShare,proto3" json:"idShare"` + IsVideo bool `protobuf:"varint,11,opt,name=isVideo,proto3" json:"isVideo"` + UsedQuota int32 `protobuf:"varint,12,opt,name=usedQuota,proto3" json:"usedQuota"` +} + +func (x *PostId) Reset() { + *x = PostId{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostId) ProtoMessage() {} + +func (x *PostId) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostId.ProtoReflect.Descriptor instead. +func (*PostId) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{4} +} + +func (x *PostId) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostId) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PostId) GetCid() string { + if x != nil { + return x.Cid + } + return "" +} + +func (x *PostId) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *PostId) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *PostId) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *PostId) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *PostId) GetMediaId() string { + if x != nil { + return x.MediaId + } + return "" +} + +func (x *PostId) GetEnded() string { + if x != nil { + return x.Ended + } + return "" +} + +func (x *PostId) GetIdShare() string { + if x != nil { + return x.IdShare + } + return "" +} + +func (x *PostId) GetIsVideo() bool { + if x != nil { + return x.IsVideo + } + return false +} + +func (x *PostId) GetUsedQuota() int32 { + if x != nil { + return x.UsedQuota + } + return 0 +} + +// 帖子项(使用 profile key 时的响应格式) +type PostItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors"` + PostIds []*PostId `protobuf:"bytes,3,rep,name=postIds,proto3" json:"postIds"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id"` + RefId string `protobuf:"bytes,5,opt,name=refId,proto3" json:"refId"` + ProfileTitle string `protobuf:"bytes,6,opt,name=profileTitle,proto3" json:"profileTitle"` + Post string `protobuf:"bytes,7,opt,name=post,proto3" json:"post"` +} + +func (x *PostItem) Reset() { + *x = PostItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostItem) ProtoMessage() {} + +func (x *PostItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostItem.ProtoReflect.Descriptor instead. +func (*PostItem) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{5} +} + +func (x *PostItem) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostItem) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *PostItem) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *PostItem) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PostItem) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *PostItem) GetProfileTitle() string { + if x != nil { + return x.ProfileTitle + } + return "" +} + +func (x *PostItem) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +// 发布帖子响应 +type PostResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Posts []*PostItem `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts"` + // 兼容旧版本响应格式(不使用 profile key 时) + Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors"` + PostIds []*PostId `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id"` +} + +func (x *PostResponse) Reset() { + *x = PostResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostResponse) ProtoMessage() {} + +func (x *PostResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostResponse.ProtoReflect.Descriptor instead. +func (*PostResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{6} +} + +func (x *PostResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PostResponse) GetPosts() []*PostItem { + if x != nil { + return x.Posts + } + return nil +} + +func (x *PostResponse) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *PostResponse) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *PostResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +// 获取帖子请求 +type GetPostRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` + ProfileKey string `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"` +} + +func (x *GetPostRequest) Reset() { + *x = GetPostRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPostRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPostRequest) ProtoMessage() {} + +func (x *GetPostRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPostRequest.ProtoReflect.Descriptor instead. +func (*GetPostRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{7} +} + +func (x *GetPostRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetPostRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +// 获取帖子响应 +type GetPostResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created"` + Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` + MediaUrls []string `protobuf:"bytes,4,rep,name=mediaUrls,proto3" json:"mediaUrls"` + Platforms []string `protobuf:"bytes,5,rep,name=platforms,proto3" json:"platforms"` + Post string `protobuf:"bytes,6,opt,name=post,proto3" json:"post"` + PostIds []*PostId `protobuf:"bytes,7,rep,name=postIds,proto3" json:"postIds"` + ProfileTitle string `protobuf:"bytes,8,opt,name=profileTitle,proto3" json:"profileTitle"` + RefId string `protobuf:"bytes,9,opt,name=refId,proto3" json:"refId"` + ScheduleDate string `protobuf:"bytes,10,opt,name=scheduleDate,proto3" json:"scheduleDate"` + ShortenLinks bool `protobuf:"varint,11,opt,name=shortenLinks,proto3" json:"shortenLinks"` + Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status"` + Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type"` +} + +func (x *GetPostResponse) Reset() { + *x = GetPostResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPostResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPostResponse) ProtoMessage() {} + +func (x *GetPostResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPostResponse.ProtoReflect.Descriptor instead. +func (*GetPostResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{8} +} + +func (x *GetPostResponse) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *GetPostResponse) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +func (x *GetPostResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetPostResponse) GetMediaUrls() []string { + if x != nil { + return x.MediaUrls + } + return nil +} + +func (x *GetPostResponse) GetPlatforms() []string { + if x != nil { + return x.Platforms + } + return nil +} + +func (x *GetPostResponse) GetPost() string { + if x != nil { + return x.Post + } + return "" +} + +func (x *GetPostResponse) GetPostIds() []*PostId { + if x != nil { + return x.PostIds + } + return nil +} + +func (x *GetPostResponse) GetProfileTitle() string { + if x != nil { + return x.ProfileTitle + } + return "" +} + +func (x *GetPostResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetPostResponse) GetScheduleDate() string { + if x != nil { + return x.ScheduleDate + } + return "" +} + +func (x *GetPostResponse) GetShortenLinks() bool { + if x != nil { + return x.ShortenLinks + } + return false +} + +func (x *GetPostResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *GetPostResponse) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +// 获取用户详情请求 +type GetUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProfileKey string `protobuf:"bytes,1,opt,name=profileKey,proto3" json:"profileKey"` + InstagramDetails bool `protobuf:"varint,2,opt,name=instagramDetails,proto3" json:"instagramDetails"` +} + +func (x *GetUserRequest) Reset() { + *x = GetUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserRequest) ProtoMessage() {} + +func (x *GetUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserRequest.ProtoReflect.Descriptor instead. +func (*GetUserRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{9} +} + +func (x *GetUserRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *GetUserRequest) GetInstagramDetails() bool { + if x != nil { + return x.InstagramDetails + } + return false +} + +// 时间戳 +type Timestamp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Seconds int64 `protobuf:"varint,1,opt,name=seconds,json=_seconds,proto3" json:"seconds"` + Nanoseconds int64 `protobuf:"varint,2,opt,name=nanoseconds,json=_nanoseconds,proto3" json:"nanoseconds"` + Utc string `protobuf:"bytes,3,opt,name=utc,proto3" json:"utc"` +} + +func (x *Timestamp) Reset() { + *x = Timestamp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Timestamp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Timestamp) ProtoMessage() {} + +func (x *Timestamp) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Timestamp.ProtoReflect.Descriptor instead. +func (*Timestamp) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{10} +} + +func (x *Timestamp) GetSeconds() int64 { + if x != nil { + return x.Seconds + } + return 0 +} + +func (x *Timestamp) GetNanoseconds() int64 { + if x != nil { + return x.Nanoseconds + } + return 0 +} + +func (x *Timestamp) GetUtc() string { + if x != nil { + return x.Utc + } + return "" +} + +// Twitter 使用情况 +type TwitterUsage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MonthlyUsage int32 `protobuf:"varint,1,opt,name=monthlyUsage,proto3" json:"monthlyUsage"` + MonthlyLimit int32 `protobuf:"varint,2,opt,name=monthlyLimit,proto3" json:"monthlyLimit"` + MonthlyReset string `protobuf:"bytes,3,opt,name=monthlyReset,proto3" json:"monthlyReset"` +} + +func (x *TwitterUsage) Reset() { + *x = TwitterUsage{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TwitterUsage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TwitterUsage) ProtoMessage() {} + +func (x *TwitterUsage) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TwitterUsage.ProtoReflect.Descriptor instead. +func (*TwitterUsage) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{11} +} + +func (x *TwitterUsage) GetMonthlyUsage() int32 { + if x != nil { + return x.MonthlyUsage + } + return 0 +} + +func (x *TwitterUsage) GetMonthlyLimit() int32 { + if x != nil { + return x.MonthlyLimit + } + return 0 +} + +func (x *TwitterUsage) GetMonthlyReset() string { + if x != nil { + return x.MonthlyReset + } + return "" +} + +// 社交媒体账户显示名称和详情 +type DisplayName struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Created string `protobuf:"bytes,1,opt,name=created,proto3" json:"created"` + DisplayName string `protobuf:"bytes,2,opt,name=displayName,proto3" json:"displayName"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` + ProfileUrl string `protobuf:"bytes,5,opt,name=profileUrl,proto3" json:"profileUrl"` + UserImage string `protobuf:"bytes,6,opt,name=userImage,proto3" json:"userImage"` + Username string `protobuf:"bytes,7,opt,name=username,proto3" json:"username"` + Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description"` + MessagingActive bool `protobuf:"varint,9,opt,name=messagingActive,proto3" json:"messagingActive"` + PageName string `protobuf:"bytes,10,opt,name=pageName,proto3" json:"pageName"` + UserId string `protobuf:"bytes,11,opt,name=userId,proto3" json:"userId"` + MapsUrl string `protobuf:"bytes,12,opt,name=mapsUrl,proto3" json:"mapsUrl"` + PlaceId string `protobuf:"bytes,13,opt,name=placeId,proto3" json:"placeId"` + ReviewUrl string `protobuf:"bytes,14,opt,name=reviewUrl,proto3" json:"reviewUrl"` + IgId string `protobuf:"bytes,15,opt,name=igId,proto3" json:"igId"` + Type string `protobuf:"bytes,16,opt,name=type,proto3" json:"type"` + UsedQuota int32 `protobuf:"varint,17,opt,name=usedQuota,proto3" json:"usedQuota"` + RefreshDaysRemaining int32 `protobuf:"varint,18,opt,name=refreshDaysRemaining,proto3" json:"refreshDaysRemaining"` + RefreshRequired string `protobuf:"bytes,19,opt,name=refreshRequired,proto3" json:"refreshRequired"` + IsEligibleForGeoRestrictions bool `protobuf:"varint,20,opt,name=isEligibleForGeoRestrictions,proto3" json:"isEligibleForGeoRestrictions"` + IsVerified bool `protobuf:"varint,21,opt,name=isVerified,proto3" json:"isVerified"` + SubscriptionType string `protobuf:"bytes,22,opt,name=subscriptionType,proto3" json:"subscriptionType"` + TwitterUsage *TwitterUsage `protobuf:"bytes,23,opt,name=twitterUsage,proto3" json:"twitterUsage"` + VerifiedType string `protobuf:"bytes,24,opt,name=verifiedType,proto3" json:"verifiedType"` +} + +func (x *DisplayName) Reset() { + *x = DisplayName{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DisplayName) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisplayName) ProtoMessage() {} + +func (x *DisplayName) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisplayName.ProtoReflect.Descriptor instead. +func (*DisplayName) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{12} +} + +func (x *DisplayName) GetCreated() string { + if x != nil { + return x.Created + } + return "" +} + +func (x *DisplayName) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *DisplayName) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DisplayName) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *DisplayName) GetProfileUrl() string { + if x != nil { + return x.ProfileUrl + } + return "" +} + +func (x *DisplayName) GetUserImage() string { + if x != nil { + return x.UserImage + } + return "" +} + +func (x *DisplayName) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *DisplayName) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *DisplayName) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +func (x *DisplayName) GetPageName() string { + if x != nil { + return x.PageName + } + return "" +} + +func (x *DisplayName) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *DisplayName) GetMapsUrl() string { + if x != nil { + return x.MapsUrl + } + return "" +} + +func (x *DisplayName) GetPlaceId() string { + if x != nil { + return x.PlaceId + } + return "" +} + +func (x *DisplayName) GetReviewUrl() string { + if x != nil { + return x.ReviewUrl + } + return "" +} + +func (x *DisplayName) GetIgId() string { + if x != nil { + return x.IgId + } + return "" +} + +func (x *DisplayName) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *DisplayName) GetUsedQuota() int32 { + if x != nil { + return x.UsedQuota + } + return 0 +} + +func (x *DisplayName) GetRefreshDaysRemaining() int32 { + if x != nil { + return x.RefreshDaysRemaining + } + return 0 +} + +func (x *DisplayName) GetRefreshRequired() string { + if x != nil { + return x.RefreshRequired + } + return "" +} + +func (x *DisplayName) GetIsEligibleForGeoRestrictions() bool { + if x != nil { + return x.IsEligibleForGeoRestrictions + } + return false +} + +func (x *DisplayName) GetIsVerified() bool { + if x != nil { + return x.IsVerified + } + return false +} + +func (x *DisplayName) GetSubscriptionType() string { + if x != nil { + return x.SubscriptionType + } + return "" +} + +func (x *DisplayName) GetTwitterUsage() *TwitterUsage { + if x != nil { + return x.TwitterUsage + } + return nil +} + +func (x *DisplayName) GetVerifiedType() string { + if x != nil { + return x.VerifiedType + } + return "" +} + +// 获取用户详情响应 +type GetUserResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ActiveSocialAccounts []string `protobuf:"bytes,1,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts"` + Created *Timestamp `protobuf:"bytes,2,opt,name=created,proto3" json:"created"` + DisplayNames []*DisplayName `protobuf:"bytes,3,rep,name=displayNames,proto3" json:"displayNames"` + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email"` + LastApiCall string `protobuf:"bytes,5,opt,name=lastApiCall,proto3" json:"lastApiCall"` + MessagingConversationMonthlyCount int32 `protobuf:"varint,6,opt,name=messagingConversationMonthlyCount,proto3" json:"messagingConversationMonthlyCount"` + MessagingEnabled bool `protobuf:"varint,7,opt,name=messagingEnabled,proto3" json:"messagingEnabled"` + MonthlyApiCalls int32 `protobuf:"varint,8,opt,name=monthlyApiCalls,proto3" json:"monthlyApiCalls"` + MonthlyPostCount int32 `protobuf:"varint,9,opt,name=monthlyPostCount,proto3" json:"monthlyPostCount"` + MonthlyPostQuota int32 `protobuf:"varint,10,opt,name=monthlyPostQuota,proto3" json:"monthlyPostQuota"` + MonthlyApiCallsQuota int32 `protobuf:"varint,11,opt,name=monthlyApiCallsQuota,proto3" json:"monthlyApiCallsQuota"` + RefId string `protobuf:"bytes,12,opt,name=refId,proto3" json:"refId"` + Title string `protobuf:"bytes,13,opt,name=title,proto3" json:"title"` + LastUpdated string `protobuf:"bytes,14,opt,name=lastUpdated,proto3" json:"lastUpdated"` + NextUpdate string `protobuf:"bytes,15,opt,name=nextUpdate,proto3" json:"nextUpdate"` +} + +func (x *GetUserResponse) Reset() { + *x = GetUserResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserResponse) ProtoMessage() {} + +func (x *GetUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserResponse.ProtoReflect.Descriptor instead. +func (*GetUserResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{13} +} + +func (x *GetUserResponse) GetActiveSocialAccounts() []string { + if x != nil { + return x.ActiveSocialAccounts + } + return nil +} + +func (x *GetUserResponse) GetCreated() *Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *GetUserResponse) GetDisplayNames() []*DisplayName { + if x != nil { + return x.DisplayNames + } + return nil +} + +func (x *GetUserResponse) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *GetUserResponse) GetLastApiCall() string { + if x != nil { + return x.LastApiCall + } + return "" +} + +func (x *GetUserResponse) GetMessagingConversationMonthlyCount() int32 { + if x != nil { + return x.MessagingConversationMonthlyCount + } + return 0 +} + +func (x *GetUserResponse) GetMessagingEnabled() bool { + if x != nil { + return x.MessagingEnabled + } + return false +} + +func (x *GetUserResponse) GetMonthlyApiCalls() int32 { + if x != nil { + return x.MonthlyApiCalls + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyPostCount() int32 { + if x != nil { + return x.MonthlyPostCount + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyPostQuota() int32 { + if x != nil { + return x.MonthlyPostQuota + } + return 0 +} + +func (x *GetUserResponse) GetMonthlyApiCallsQuota() int32 { + if x != nil { + return x.MonthlyApiCallsQuota + } + return 0 +} + +func (x *GetUserResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetUserResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetUserResponse) GetLastUpdated() string { + if x != nil { + return x.LastUpdated + } + return "" +} + +func (x *GetUserResponse) GetNextUpdate() string { + if x != nil { + return x.NextUpdate + } + return "" +} + +// 创建用户配置请求 +type CreateProfileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + MessagingActive bool `protobuf:"varint,2,opt,name=messagingActive,proto3" json:"messagingActive"` + HideTopHeader bool `protobuf:"varint,3,opt,name=hideTopHeader,proto3" json:"hideTopHeader"` + TopHeader string `protobuf:"bytes,4,opt,name=topHeader,proto3" json:"topHeader"` + DisableSocial []string `protobuf:"bytes,5,rep,name=disableSocial,proto3" json:"disableSocial"` + Team bool `protobuf:"varint,6,opt,name=team,proto3" json:"team"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email"` + SubHeader string `protobuf:"bytes,8,opt,name=subHeader,proto3" json:"subHeader"` + Tags []string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags"` +} + +func (x *CreateProfileRequest) Reset() { + *x = CreateProfileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProfileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProfileRequest) ProtoMessage() {} + +func (x *CreateProfileRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateProfileRequest.ProtoReflect.Descriptor instead. +func (*CreateProfileRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateProfileRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CreateProfileRequest) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +func (x *CreateProfileRequest) GetHideTopHeader() bool { + if x != nil { + return x.HideTopHeader + } + return false +} + +func (x *CreateProfileRequest) GetTopHeader() string { + if x != nil { + return x.TopHeader + } + return "" +} + +func (x *CreateProfileRequest) GetDisableSocial() []string { + if x != nil { + return x.DisableSocial + } + return nil +} + +func (x *CreateProfileRequest) GetTeam() bool { + if x != nil { + return x.Team + } + return false +} + +func (x *CreateProfileRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *CreateProfileRequest) GetSubHeader() string { + if x != nil { + return x.SubHeader + } + return "" +} + +func (x *CreateProfileRequest) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +// 创建用户配置响应 +type CreateProfileResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + RefId string `protobuf:"bytes,3,opt,name=refId,proto3" json:"refId"` + ProfileKey string `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"` + MessagingActive bool `protobuf:"varint,5,opt,name=messagingActive,proto3" json:"messagingActive"` +} + +func (x *CreateProfileResponse) Reset() { + *x = CreateProfileResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProfileResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProfileResponse) ProtoMessage() {} + +func (x *CreateProfileResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateProfileResponse.ProtoReflect.Descriptor instead. +func (*CreateProfileResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{15} +} + +func (x *CreateProfileResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *CreateProfileResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CreateProfileResponse) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *CreateProfileResponse) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *CreateProfileResponse) GetMessagingActive() bool { + if x != nil { + return x.MessagingActive + } + return false +} + +// 获取用户配置列表请求 +type GetProfilesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"` + RefId string `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId"` + HasActiveSocialAccounts bool `protobuf:"varint,3,opt,name=hasActiveSocialAccounts,proto3" json:"hasActiveSocialAccounts"` + IncludesActiveSocialAccounts []string `protobuf:"bytes,4,rep,name=includesActiveSocialAccounts,proto3" json:"includesActiveSocialAccounts"` + // Types that are assignable to ActionLog: + // + // *GetProfilesRequest_ActionLogBool + // *GetProfilesRequest_ActionLogInt + ActionLog isGetProfilesRequest_ActionLog `protobuf_oneof:"actionLog"` + Limit int32 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit"` + Cursor string `protobuf:"bytes,8,opt,name=cursor,proto3" json:"cursor"` +} + +func (x *GetProfilesRequest) Reset() { + *x = GetProfilesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProfilesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProfilesRequest) ProtoMessage() {} + +func (x *GetProfilesRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProfilesRequest.ProtoReflect.Descriptor instead. +func (*GetProfilesRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{16} +} + +func (x *GetProfilesRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GetProfilesRequest) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *GetProfilesRequest) GetHasActiveSocialAccounts() bool { + if x != nil { + return x.HasActiveSocialAccounts + } + return false +} + +func (x *GetProfilesRequest) GetIncludesActiveSocialAccounts() []string { + if x != nil { + return x.IncludesActiveSocialAccounts + } + return nil +} + +func (m *GetProfilesRequest) GetActionLog() isGetProfilesRequest_ActionLog { + if m != nil { + return m.ActionLog + } + return nil +} + +func (x *GetProfilesRequest) GetActionLogBool() bool { + if x, ok := x.GetActionLog().(*GetProfilesRequest_ActionLogBool); ok { + return x.ActionLogBool + } + return false +} + +func (x *GetProfilesRequest) GetActionLogInt() int32 { + if x, ok := x.GetActionLog().(*GetProfilesRequest_ActionLogInt); ok { + return x.ActionLogInt + } + return 0 +} + +func (x *GetProfilesRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *GetProfilesRequest) GetCursor() string { + if x != nil { + return x.Cursor + } + return "" +} + +type isGetProfilesRequest_ActionLog interface { + isGetProfilesRequest_ActionLog() +} + +type GetProfilesRequest_ActionLogBool struct { + ActionLogBool bool `protobuf:"varint,5,opt,name=actionLogBool,proto3,oneof"` +} + +type GetProfilesRequest_ActionLogInt struct { + ActionLogInt int32 `protobuf:"varint,6,opt,name=actionLogInt,proto3,oneof"` +} + +func (*GetProfilesRequest_ActionLogBool) isGetProfilesRequest_ActionLog() {} + +func (*GetProfilesRequest_ActionLogInt) isGetProfilesRequest_ActionLog() {} + +// 用户配置项 +type ProfileItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + DisplayTitle string `protobuf:"bytes,3,opt,name=displayTitle,proto3" json:"displayTitle"` + Created *Timestamp `protobuf:"bytes,4,opt,name=created,proto3" json:"created"` + CreatedUTC string `protobuf:"bytes,5,opt,name=createdUTC,proto3" json:"createdUTC"` + RefId string `protobuf:"bytes,6,opt,name=refId,proto3" json:"refId"` + ActiveSocialAccounts []string `protobuf:"bytes,7,rep,name=activeSocialAccounts,proto3" json:"activeSocialAccounts"` + Suspended bool `protobuf:"varint,8,opt,name=suspended,proto3" json:"suspended"` +} + +func (x *ProfileItem) Reset() { + *x = ProfileItem{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProfileItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProfileItem) ProtoMessage() {} + +func (x *ProfileItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProfileItem.ProtoReflect.Descriptor instead. +func (*ProfileItem) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{17} +} + +func (x *ProfileItem) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ProfileItem) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ProfileItem) GetDisplayTitle() string { + if x != nil { + return x.DisplayTitle + } + return "" +} + +func (x *ProfileItem) GetCreated() *Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *ProfileItem) GetCreatedUTC() string { + if x != nil { + return x.CreatedUTC + } + return "" +} + +func (x *ProfileItem) GetRefId() string { + if x != nil { + return x.RefId + } + return "" +} + +func (x *ProfileItem) GetActiveSocialAccounts() []string { + if x != nil { + return x.ActiveSocialAccounts + } + return nil +} + +func (x *ProfileItem) GetSuspended() bool { + if x != nil { + return x.Suspended + } + return false +} + +// 分页信息 +type Pagination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HasMore bool `protobuf:"varint,1,opt,name=hasMore,proto3" json:"hasMore"` + NextCursor string `protobuf:"bytes,2,opt,name=nextCursor,proto3" json:"nextCursor"` + Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit"` +} + +func (x *Pagination) Reset() { + *x = Pagination{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Pagination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Pagination) ProtoMessage() {} + +func (x *Pagination) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Pagination.ProtoReflect.Descriptor instead. +func (*Pagination) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{18} +} + +func (x *Pagination) GetHasMore() bool { + if x != nil { + return x.HasMore + } + return false +} + +func (x *Pagination) GetNextCursor() string { + if x != nil { + return x.NextCursor + } + return "" +} + +func (x *Pagination) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +// 获取用户配置列表响应 +type GetProfilesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Profiles []*ProfileItem `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles"` + Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count"` + LastUpdated string `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated"` + NextUpdate string `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate"` + Pagination *Pagination `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination"` +} + +func (x *GetProfilesResponse) Reset() { + *x = GetProfilesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProfilesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProfilesResponse) ProtoMessage() {} + +func (x *GetProfilesResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GetProfilesResponse.ProtoReflect.Descriptor instead. +func (*GetProfilesResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{19} +} + +func (x *GetProfilesResponse) GetProfiles() []*ProfileItem { + if x != nil { + return x.Profiles + } + return nil +} + +func (x *GetProfilesResponse) GetCount() int32 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *GetProfilesResponse) GetLastUpdated() string { + if x != nil { + return x.LastUpdated + } + return "" +} + +func (x *GetProfilesResponse) GetNextUpdate() string { + if x != nil { + return x.NextUpdate + } + return "" +} + +func (x *GetProfilesResponse) GetPagination() *Pagination { + if x != nil { + return x.Pagination + } + return nil +} + +// 邮件配置对象 +type Email struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + To string `protobuf:"bytes,1,opt,name=to,proto3" json:"to"` + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject"` + Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body"` +} + +func (x *Email) Reset() { + *x = Email{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Email) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Email) ProtoMessage() {} + +func (x *Email) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 Email.ProtoReflect.Descriptor instead. +func (*Email) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{20} +} + +func (x *Email) GetTo() string { + if x != nil { + return x.To + } + return "" +} + +func (x *Email) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *Email) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +// 生成JWT请求 +type GenerateJWTRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain"` + PrivateKey string `protobuf:"bytes,2,opt,name=privateKey,proto3" json:"privateKey"` + ProfileKey string `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"` + Logout bool `protobuf:"varint,4,opt,name=logout,proto3" json:"logout"` + Redirect string `protobuf:"bytes,5,opt,name=redirect,proto3" json:"redirect"` + AllowedSocial []string `protobuf:"bytes,6,rep,name=allowedSocial,proto3" json:"allowedSocial"` + Verify bool `protobuf:"varint,7,opt,name=verify,proto3" json:"verify"` + Base64 bool `protobuf:"varint,8,opt,name=base64,proto3" json:"base64"` + ExpiresIn int32 `protobuf:"varint,9,opt,name=expiresIn,proto3" json:"expiresIn"` + Email *Email `protobuf:"bytes,10,opt,name=email,proto3" json:"email"` +} + +func (x *GenerateJWTRequest) Reset() { + *x = GenerateJWTRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateJWTRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateJWTRequest) ProtoMessage() {} + +func (x *GenerateJWTRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GenerateJWTRequest.ProtoReflect.Descriptor instead. +func (*GenerateJWTRequest) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{21} +} + +func (x *GenerateJWTRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *GenerateJWTRequest) GetPrivateKey() string { + if x != nil { + return x.PrivateKey + } + return "" +} + +func (x *GenerateJWTRequest) GetProfileKey() string { + if x != nil { + return x.ProfileKey + } + return "" +} + +func (x *GenerateJWTRequest) GetLogout() bool { + if x != nil { + return x.Logout + } + return false +} + +func (x *GenerateJWTRequest) GetRedirect() string { + if x != nil { + return x.Redirect + } + return "" +} + +func (x *GenerateJWTRequest) GetAllowedSocial() []string { + if x != nil { + return x.AllowedSocial + } + return nil +} + +func (x *GenerateJWTRequest) GetVerify() bool { + if x != nil { + return x.Verify + } + return false +} + +func (x *GenerateJWTRequest) GetBase64() bool { + if x != nil { + return x.Base64 + } + return false +} + +func (x *GenerateJWTRequest) GetExpiresIn() int32 { + if x != nil { + return x.ExpiresIn + } + return 0 +} + +func (x *GenerateJWTRequest) GetEmail() *Email { + if x != nil { + return x.Email + } + return nil +} + +// 生成JWT响应 +type GenerateJWTResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token"` + Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url"` + EmailSent bool `protobuf:"varint,5,opt,name=emailSent,proto3" json:"emailSent"` + ExpiresIn string `protobuf:"bytes,6,opt,name=expiresIn,proto3" json:"expiresIn"` +} + +func (x *GenerateJWTResponse) Reset() { + *x = GenerateJWTResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_ayrshare_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateJWTResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateJWTResponse) ProtoMessage() {} + +func (x *GenerateJWTResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_ayrshare_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 GenerateJWTResponse.ProtoReflect.Descriptor instead. +func (*GenerateJWTResponse) Descriptor() ([]byte, []int) { + return file_pb_ayrshare_proto_rawDescGZIP(), []int{22} +} + +func (x *GenerateJWTResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *GenerateJWTResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *GenerateJWTResponse) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *GenerateJWTResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GenerateJWTResponse) GetEmailSent() bool { + if x != nil { + return x.EmailSent + } + return false +} + +func (x *GenerateJWTResponse) GetExpiresIn() string { + if x != nil { + return x.ExpiresIn + } + return "" +} + +var File_pb_ayrshare_proto protoreflect.FileDescriptor + +var file_pb_ayrshare_proto_rawDesc = []byte{ + 0x0a, 0x11, 0x70, 0x62, 0x2f, 0x61, 0x79, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x1a, 0x13, 0x70, + 0x62, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x12, 0x70, 0x62, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, + 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0c, 0x0a, + 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x22, 0x93, 0x03, 0x0a, 0x10, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, + 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x65, 0x6c, 0x73, 0x46, 0x65, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x65, + 0x6c, 0x73, 0x46, 0x65, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, + 0x69, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x68, 0x75, + 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, + 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, + 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x2d, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x54, 0x61, 0x67, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, + 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x52, + 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, + 0xdd, 0x03, 0x0a, 0x0d, 0x54, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x75, 0x73, 0x69, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, + 0x4d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x65, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x69, 0x74, + 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x69, 0x73, 0x41, 0x49, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x41, 0x49, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, + 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x42, 0x72, 0x61, 0x6e, 0x64, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, + 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x4e, 0x61, 0x69, 0x6c, 0x12, + 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, + 0x89, 0x04, 0x0a, 0x0b, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x32, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, + 0xdf, 0x1f, 0x1a, 0x2a, 0x16, 0x70, 0x6f, 0x73, 0x74, 0xe5, 0x86, 0x85, 0xe5, 0xae, 0xb9, 0xe4, + 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x04, 0x70, + 0x6f, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x29, 0xe2, 0xdf, 0x1f, 0x25, 0x2a, 0x21, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0xe5, 0xb9, 0xb3, 0xe5, 0x8f, 0xb0, 0xe5, 0x88, 0x97, + 0xe8, 0xa1, 0xa8, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x60, + 0x01, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, + 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, + 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x67, + 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x0d, + 0x74, 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x54, + 0x69, 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x74, 0x69, + 0x6b, 0x54, 0x6f, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xa4, 0x02, 0x0a, 0x06, + 0x50, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, + 0x64, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6e, 0x64, 0x65, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, + 0x74, 0x61, 0x22, 0xc4, 0x01, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, + 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, + 0x65, 0x66, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x22, 0xa4, 0x01, 0x0a, 0x0c, 0x50, 0x6f, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x73, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x5e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, + 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe5, 0xb8, 0x96, 0xe5, 0xad, 0x90, 0x49, 0x44, 0xe4, 0xb8, + 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, + 0x22, 0xfd, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, + 0x72, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, + 0x55, 0x72, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x49, + 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x4c, + 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x5c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, + 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5b, + 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x07, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x5f, 0x6e, 0x61, + 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x74, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x74, 0x63, 0x22, 0x7a, 0x0a, 0x0c, 0x54, + 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, + 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, + 0x6c, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x22, 0xb5, 0x06, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, + 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x70, + 0x73, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x73, + 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x69, + 0x67, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x67, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x12, 0x32, 0x0a, 0x14, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x61, 0x79, 0x73, + 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x14, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, + 0x42, 0x0a, 0x1c, 0x69, 0x73, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, + 0x47, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x69, 0x73, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, + 0x65, 0x46, 0x6f, 0x72, 0x47, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x3a, 0x0a, 0x0c, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x2e, 0x54, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x74, + 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x76, + 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x85, 0x05, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x41, + 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, + 0x73, 0x74, 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x4c, 0x0a, 0x21, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x74, 0x68, + 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, + 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x6f, + 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x2a, 0x0a, + 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, + 0x50, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, + 0x74, 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x6f, 0x73, 0x74, + 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x14, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, + 0x41, 0x70, 0x69, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x14, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x70, 0x69, 0x43, + 0x61, 0x6c, 0x6c, 0x73, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, + 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0xb7, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2f, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x19, 0xe2, 0xdf, 0x1f, 0x15, 0x2a, 0x11, 0x74, 0x69, 0x74, 0x6c, 0x65, 0xe4, 0xb8, 0x8d, 0xe8, + 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x68, + 0x69, 0x64, 0x65, 0x54, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x68, 0x69, 0x64, 0x65, 0x54, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, + 0x24, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, + 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, + 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0xc7, 0x02, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x17, + 0x68, 0x61, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, + 0x61, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x1c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1c, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x42, 0x6f, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x42, 0x6f, + 0x6f, 0x6c, 0x12, 0x24, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x49, + 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x6f, 0x67, 0x22, 0x96, 0x02, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, + 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, + 0x54, 0x43, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x55, 0x54, 0x43, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x5c, 0x0a, 0x0a, + 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, + 0x73, 0x4d, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, + 0x4d, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x75, + 0x72, 0x73, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6c, + 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, + 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x97, 0x03, 0x0a, 0x12, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x32, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1a, 0xe2, 0xdf, 0x1f, 0x16, 0x2a, 0x12, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0xe4, + 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x06, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, 0xdf, 0x1f, 0x1a, 0x2a, + 0x16, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, + 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe2, 0xdf, 0x1f, 0x1a, 0x2a, + 0x16, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, + 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, + 0x16, 0x0a, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x61, 0x73, 0x65, 0x36, + 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x12, + 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x25, 0x0a, + 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, + 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x05, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xa7, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x32, 0xab, + 0x03, 0x0a, 0x08, 0x41, 0x79, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x50, + 0x6f, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x72, 0x79, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x18, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x12, + 0x1c, 0x2e, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x5a, 0x0a, + 0x2e, 0x2f, 0x61, 0x72, 0x79, 0x73, 0x68, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_pb_ayrshare_proto_rawDescOnce sync.Once + file_pb_ayrshare_proto_rawDescData = file_pb_ayrshare_proto_rawDesc +) + +func file_pb_ayrshare_proto_rawDescGZIP() []byte { + file_pb_ayrshare_proto_rawDescOnce.Do(func() { + file_pb_ayrshare_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_ayrshare_proto_rawDescData) + }) + return file_pb_ayrshare_proto_rawDescData +} + +var file_pb_ayrshare_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_pb_ayrshare_proto_goTypes = []interface{}{ + (*UserTag)(nil), // 0: aryshare.UserTag + (*InstagramOptions)(nil), // 1: aryshare.InstagramOptions + (*TikTokOptions)(nil), // 2: aryshare.TikTokOptions + (*PostRequest)(nil), // 3: aryshare.PostRequest + (*PostId)(nil), // 4: aryshare.PostId + (*PostItem)(nil), // 5: aryshare.PostItem + (*PostResponse)(nil), // 6: aryshare.PostResponse + (*GetPostRequest)(nil), // 7: aryshare.GetPostRequest + (*GetPostResponse)(nil), // 8: aryshare.GetPostResponse + (*GetUserRequest)(nil), // 9: aryshare.GetUserRequest + (*Timestamp)(nil), // 10: aryshare.Timestamp + (*TwitterUsage)(nil), // 11: aryshare.TwitterUsage + (*DisplayName)(nil), // 12: aryshare.DisplayName + (*GetUserResponse)(nil), // 13: aryshare.GetUserResponse + (*CreateProfileRequest)(nil), // 14: aryshare.CreateProfileRequest + (*CreateProfileResponse)(nil), // 15: aryshare.CreateProfileResponse + (*GetProfilesRequest)(nil), // 16: aryshare.GetProfilesRequest + (*ProfileItem)(nil), // 17: aryshare.ProfileItem + (*Pagination)(nil), // 18: aryshare.Pagination + (*GetProfilesResponse)(nil), // 19: aryshare.GetProfilesResponse + (*Email)(nil), // 20: aryshare.Email + (*GenerateJWTRequest)(nil), // 21: aryshare.GenerateJWTRequest + (*GenerateJWTResponse)(nil), // 22: aryshare.GenerateJWTResponse +} +var file_pb_ayrshare_proto_depIdxs = []int32{ + 0, // 0: aryshare.InstagramOptions.userTags:type_name -> aryshare.UserTag + 1, // 1: aryshare.PostRequest.instagramOptions:type_name -> aryshare.InstagramOptions + 2, // 2: aryshare.PostRequest.tikTokOptions:type_name -> aryshare.TikTokOptions + 4, // 3: aryshare.PostItem.postIds:type_name -> aryshare.PostId + 5, // 4: aryshare.PostResponse.posts:type_name -> aryshare.PostItem + 4, // 5: aryshare.PostResponse.postIds:type_name -> aryshare.PostId + 4, // 6: aryshare.GetPostResponse.postIds:type_name -> aryshare.PostId + 11, // 7: aryshare.DisplayName.twitterUsage:type_name -> aryshare.TwitterUsage + 10, // 8: aryshare.GetUserResponse.created:type_name -> aryshare.Timestamp + 12, // 9: aryshare.GetUserResponse.displayNames:type_name -> aryshare.DisplayName + 10, // 10: aryshare.ProfileItem.created:type_name -> aryshare.Timestamp + 17, // 11: aryshare.GetProfilesResponse.profiles:type_name -> aryshare.ProfileItem + 18, // 12: aryshare.GetProfilesResponse.pagination:type_name -> aryshare.Pagination + 20, // 13: aryshare.GenerateJWTRequest.email:type_name -> aryshare.Email + 3, // 14: aryshare.Ayrshare.Post:input_type -> aryshare.PostRequest + 7, // 15: aryshare.Ayrshare.GetPost:input_type -> aryshare.GetPostRequest + 9, // 16: aryshare.Ayrshare.GetUser:input_type -> aryshare.GetUserRequest + 14, // 17: aryshare.Ayrshare.CreateProfile:input_type -> aryshare.CreateProfileRequest + 16, // 18: aryshare.Ayrshare.GetProfiles:input_type -> aryshare.GetProfilesRequest + 21, // 19: aryshare.Ayrshare.GenerateJWT:input_type -> aryshare.GenerateJWTRequest + 6, // 20: aryshare.Ayrshare.Post:output_type -> aryshare.PostResponse + 8, // 21: aryshare.Ayrshare.GetPost:output_type -> aryshare.GetPostResponse + 13, // 22: aryshare.Ayrshare.GetUser:output_type -> aryshare.GetUserResponse + 15, // 23: aryshare.Ayrshare.CreateProfile:output_type -> aryshare.CreateProfileResponse + 19, // 24: aryshare.Ayrshare.GetProfiles:output_type -> aryshare.GetProfilesResponse + 22, // 25: aryshare.Ayrshare.GenerateJWT:output_type -> aryshare.GenerateJWTResponse + 20, // [20:26] is the sub-list for method output_type + 14, // [14:20] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_pb_ayrshare_proto_init() } +func file_pb_ayrshare_proto_init() { + if File_pb_ayrshare_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pb_ayrshare_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserTag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstagramOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TikTokOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPostRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPostResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Timestamp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TwitterUsage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisplayName); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProfileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProfileResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProfilesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProfileItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Pagination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProfilesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Email); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateJWTRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_ayrshare_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateJWTResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_pb_ayrshare_proto_msgTypes[16].OneofWrappers = []interface{}{ + (*GetProfilesRequest_ActionLogBool)(nil), + (*GetProfilesRequest_ActionLogInt)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pb_ayrshare_proto_rawDesc, + NumEnums: 0, + NumMessages: 23, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pb_ayrshare_proto_goTypes, + DependencyIndexes: file_pb_ayrshare_proto_depIdxs, + MessageInfos: file_pb_ayrshare_proto_msgTypes, + }.Build() + File_pb_ayrshare_proto = out.File + file_pb_ayrshare_proto_rawDesc = nil + file_pb_ayrshare_proto_goTypes = nil + file_pb_ayrshare_proto_depIdxs = nil +} diff --git a/api/pb/aryshare/ayrshare.validator.pb.go b/api/pb/aryshare/ayrshare.validator.pb.go new file mode 100644 index 0000000..6cc7e5a --- /dev/null +++ b/api/pb/aryshare/ayrshare.validator.pb.go @@ -0,0 +1,194 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: pb/ayrshare.proto + +package aryshare + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + _ "github.com/mwitkow/go-proto-validators" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" + _ "google.golang.org/protobuf/types/descriptorpb" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *UserTag) Validate() error { + return nil +} +func (this *InstagramOptions) Validate() error { + for _, item := range this.UserTags { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("UserTags", err) + } + } + } + return nil +} +func (this *TikTokOptions) Validate() error { + return nil +} +func (this *PostRequest) Validate() error { + if this.Post == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Post", fmt.Errorf(`post内容不能为空`)) + } + if len(this.Platforms) < 1 { + return github_com_mwitkow_go_proto_validators.FieldError("Platforms", fmt.Errorf(`platforms平台列表不能为空`)) + } + if this.InstagramOptions != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.InstagramOptions); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("InstagramOptions", err) + } + } + if this.TikTokOptions != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TikTokOptions); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TikTokOptions", err) + } + } + return nil +} +func (this *PostId) Validate() error { + return nil +} +func (this *PostItem) Validate() error { + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *PostResponse) Validate() error { + for _, item := range this.Posts { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Posts", err) + } + } + } + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *GetPostRequest) Validate() error { + if this.Id == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Id", fmt.Errorf(`帖子ID不能为空`)) + } + return nil +} +func (this *GetPostResponse) Validate() error { + for _, item := range this.PostIds { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PostIds", err) + } + } + } + return nil +} +func (this *GetUserRequest) Validate() error { + return nil +} +func (this *Timestamp) Validate() error { + return nil +} +func (this *TwitterUsage) Validate() error { + return nil +} +func (this *DisplayName) Validate() error { + if this.TwitterUsage != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TwitterUsage); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TwitterUsage", err) + } + } + return nil +} +func (this *GetUserResponse) Validate() error { + if this.Created != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Created); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Created", err) + } + } + for _, item := range this.DisplayNames { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("DisplayNames", err) + } + } + } + return nil +} +func (this *CreateProfileRequest) Validate() error { + if this.Title == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Title", fmt.Errorf(`title不能为空`)) + } + return nil +} +func (this *CreateProfileResponse) Validate() error { + return nil +} +func (this *GetProfilesRequest) Validate() error { + return nil +} +func (this *ProfileItem) Validate() error { + if this.Created != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Created); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Created", err) + } + } + return nil +} +func (this *Pagination) Validate() error { + return nil +} +func (this *GetProfilesResponse) Validate() error { + for _, item := range this.Profiles { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Profiles", err) + } + } + } + if this.Pagination != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Pagination); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Pagination", err) + } + } + return nil +} +func (this *Email) Validate() error { + return nil +} +func (this *GenerateJWTRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`domain不能为空`)) + } + if this.PrivateKey == "" { + return github_com_mwitkow_go_proto_validators.FieldError("PrivateKey", fmt.Errorf(`privateKey不能为空`)) + } + if this.ProfileKey == "" { + return github_com_mwitkow_go_proto_validators.FieldError("ProfileKey", fmt.Errorf(`profileKey不能为空`)) + } + if this.Email != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Email); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Email", err) + } + } + return nil +} +func (this *GenerateJWTResponse) Validate() error { + return nil +} diff --git a/api/pb/aryshare/ayrshare_triple.pb.go b/api/pb/aryshare/ayrshare_triple.pb.go new file mode 100644 index 0000000..456bf96 --- /dev/null +++ b/api/pb/aryshare/ayrshare_triple.pb.go @@ -0,0 +1,378 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.8 +// - protoc v3.21.1 +// source: pb/ayrshare.proto + +package aryshare + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// AyrshareClient is the client API for Ayrshare service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AyrshareClient interface { + // 帖子相关 api + Post(ctx context.Context, in *PostRequest, opts ...grpc_go.CallOption) (*PostResponse, common.ErrorWithAttachment) + GetPost(ctx context.Context, in *GetPostRequest, opts ...grpc_go.CallOption) (*GetPostResponse, common.ErrorWithAttachment) + // 用户相关 api + GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc_go.CallOption) (*GetUserResponse, common.ErrorWithAttachment) + // 用户配置相关 api + CreateProfile(ctx context.Context, in *CreateProfileRequest, opts ...grpc_go.CallOption) (*CreateProfileResponse, common.ErrorWithAttachment) + GetProfiles(ctx context.Context, in *GetProfilesRequest, opts ...grpc_go.CallOption) (*GetProfilesResponse, common.ErrorWithAttachment) + GenerateJWT(ctx context.Context, in *GenerateJWTRequest, opts ...grpc_go.CallOption) (*GenerateJWTResponse, common.ErrorWithAttachment) +} + +type ayrshareClient struct { + cc *triple.TripleConn +} + +type AyrshareClientImpl struct { + Post func(ctx context.Context, in *PostRequest) (*PostResponse, error) + GetPost func(ctx context.Context, in *GetPostRequest) (*GetPostResponse, error) + GetUser func(ctx context.Context, in *GetUserRequest) (*GetUserResponse, error) + CreateProfile func(ctx context.Context, in *CreateProfileRequest) (*CreateProfileResponse, error) + GetProfiles func(ctx context.Context, in *GetProfilesRequest) (*GetProfilesResponse, error) + GenerateJWT func(ctx context.Context, in *GenerateJWTRequest) (*GenerateJWTResponse, error) +} + +func (c *AyrshareClientImpl) GetDubboStub(cc *triple.TripleConn) AyrshareClient { + return NewAyrshareClient(cc) +} + +func (c *AyrshareClientImpl) XXX_InterfaceName() string { + return "aryshare.Ayrshare" +} + +func NewAyrshareClient(cc *triple.TripleConn) AyrshareClient { + return &ayrshareClient{cc} +} + +func (c *ayrshareClient) Post(ctx context.Context, in *PostRequest, opts ...grpc_go.CallOption) (*PostResponse, common.ErrorWithAttachment) { + out := new(PostResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Post", in, out) +} + +func (c *ayrshareClient) GetPost(ctx context.Context, in *GetPostRequest, opts ...grpc_go.CallOption) (*GetPostResponse, common.ErrorWithAttachment) { + out := new(GetPostResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPost", in, out) +} + +func (c *ayrshareClient) GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc_go.CallOption) (*GetUserResponse, common.ErrorWithAttachment) { + out := new(GetUserResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetUser", in, out) +} + +func (c *ayrshareClient) CreateProfile(ctx context.Context, in *CreateProfileRequest, opts ...grpc_go.CallOption) (*CreateProfileResponse, common.ErrorWithAttachment) { + out := new(CreateProfileResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateProfile", in, out) +} + +func (c *ayrshareClient) GetProfiles(ctx context.Context, in *GetProfilesRequest, opts ...grpc_go.CallOption) (*GetProfilesResponse, common.ErrorWithAttachment) { + out := new(GetProfilesResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetProfiles", in, out) +} + +func (c *ayrshareClient) GenerateJWT(ctx context.Context, in *GenerateJWTRequest, opts ...grpc_go.CallOption) (*GenerateJWTResponse, common.ErrorWithAttachment) { + out := new(GenerateJWTResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GenerateJWT", in, out) +} + +// AyrshareServer is the server API for Ayrshare service. +// All implementations must embed UnimplementedAyrshareServer +// for forward compatibility +type AyrshareServer interface { + // 帖子相关 api + Post(context.Context, *PostRequest) (*PostResponse, error) + GetPost(context.Context, *GetPostRequest) (*GetPostResponse, error) + // 用户相关 api + GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error) + // 用户配置相关 api + CreateProfile(context.Context, *CreateProfileRequest) (*CreateProfileResponse, error) + GetProfiles(context.Context, *GetProfilesRequest) (*GetProfilesResponse, error) + GenerateJWT(context.Context, *GenerateJWTRequest) (*GenerateJWTResponse, error) + mustEmbedUnimplementedAyrshareServer() +} + +// UnimplementedAyrshareServer must be embedded to have forward compatible implementations. +type UnimplementedAyrshareServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedAyrshareServer) Post(context.Context, *PostRequest) (*PostResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Post not implemented") +} +func (UnimplementedAyrshareServer) GetPost(context.Context, *GetPostRequest) (*GetPostResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPost not implemented") +} +func (UnimplementedAyrshareServer) GetUser(context.Context, *GetUserRequest) (*GetUserResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUser not implemented") +} +func (UnimplementedAyrshareServer) CreateProfile(context.Context, *CreateProfileRequest) (*CreateProfileResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProfile not implemented") +} +func (UnimplementedAyrshareServer) GetProfiles(context.Context, *GetProfilesRequest) (*GetProfilesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProfiles not implemented") +} +func (UnimplementedAyrshareServer) GenerateJWT(context.Context, *GenerateJWTRequest) (*GenerateJWTResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateJWT not implemented") +} +func (s *UnimplementedAyrshareServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedAyrshareServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedAyrshareServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Ayrshare_ServiceDesc +} +func (s *UnimplementedAyrshareServer) XXX_InterfaceName() string { + return "aryshare.Ayrshare" +} + +func (UnimplementedAyrshareServer) mustEmbedUnimplementedAyrshareServer() {} + +// UnsafeAyrshareServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AyrshareServer will +// result in compilation errors. +type UnsafeAyrshareServer interface { + mustEmbedUnimplementedAyrshareServer() +} + +func RegisterAyrshareServer(s grpc_go.ServiceRegistrar, srv AyrshareServer) { + s.RegisterService(&Ayrshare_ServiceDesc, srv) +} + +func _Ayrshare_Post_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PostRequest) + 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("Post", 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 _Ayrshare_GetPost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPostRequest) + 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("GetPost", 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 _Ayrshare_GetUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserRequest) + 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("GetUser", 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 _Ayrshare_CreateProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProfileRequest) + 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("CreateProfile", 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 _Ayrshare_GetProfiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProfilesRequest) + 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("GetProfiles", 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 _Ayrshare_GenerateJWT_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateJWTRequest) + 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("GenerateJWT", 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) +} + +// Ayrshare_ServiceDesc is the grpc_go.ServiceDesc for Ayrshare service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Ayrshare_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "aryshare.Ayrshare", + HandlerType: (*AyrshareServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "Post", + Handler: _Ayrshare_Post_Handler, + }, + { + MethodName: "GetPost", + Handler: _Ayrshare_GetPost_Handler, + }, + { + MethodName: "GetUser", + Handler: _Ayrshare_GetUser_Handler, + }, + { + MethodName: "CreateProfile", + Handler: _Ayrshare_CreateProfile_Handler, + }, + { + MethodName: "GetProfiles", + Handler: _Ayrshare_GetProfiles_Handler, + }, + { + MethodName: "GenerateJWT", + Handler: _Ayrshare_GenerateJWT_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "pb/ayrshare.proto", +} diff --git a/api/pb/ayrshare.proto b/api/pb/ayrshare.proto new file mode 100644 index 0000000..2212cad --- /dev/null +++ b/api/pb/ayrshare.proto @@ -0,0 +1,297 @@ +syntax = "proto3"; + +package aryshare; +option go_package = "./aryshare"; + +import "pb/descriptor.proto"; +import "pb/validator.proto"; + +service Ayrshare { + // 帖子相关 api + rpc Post(PostRequest) returns (PostResponse); + rpc GetPost(GetPostRequest) returns (GetPostResponse); + + // 用户相关 api + rpc GetUser(GetUserRequest) returns (GetUserResponse); + + // 用户配置相关 api + rpc CreateProfile(CreateProfileRequest) returns (CreateProfileResponse); + rpc GetProfiles(GetProfilesRequest) returns (GetProfilesResponse); + rpc GenerateJWT(GenerateJWTRequest) returns (GenerateJWTResponse); +} + +// Instagram 用户标签(带坐标) +message UserTag { + string username = 1 [json_name = "username"]; + double x = 2 [json_name = "x"]; // Required for images, cannot be used with Reels + double y = 3 [json_name = "y"]; // Required for images, cannot be used with Reels +} + +// Instagram 特定发布选项 +message InstagramOptions { + bool shareReelsFeed = 1 [json_name = "shareReelsFeed"]; // Whether Reel can appear in both Feed and Reels tabs + string audioName = 2 [json_name = "audioName"]; // Name of the audio music for Reels + string thumbNail = 3 [json_name = "thumbNail"]; // URL of the Reel cover image (thumbnail) + int32 thumbNailOffset = 4 [json_name = "thumbNailOffset"]; // Offset in milliseconds of the thumbnail frame + bool stories = 5 [json_name = "stories"]; // Whether to post as Instagram Story + repeated string altText = 6 [json_name = "altText"]; // Array of alternative text for images (up to 1000 chars per image) + string locationId = 7 [json_name = "locationId"]; // Facebook Page ID or Page name + repeated UserTag userTags = 8 [json_name = "userTags"]; // Array of user tags with username and coordinates + repeated string collaborators = 9 [json_name = "collaborators"]; // Array of Instagram usernames (up to 3) + bool autoResize = 10 [json_name = "autoResize"]; // Auto resize images to 1080x1080px (Max Pack required) + bool disableComments = 11 [json_name = "disableComments"]; // Disable comments on the published post +} + +// TikTok 特定发布选项 +message TikTokOptions { + bool autoAddMusic = 1 [json_name = "autoAddMusic"]; // Whether to automatically add recommended music (image only) + bool disableComments = 2 [json_name = "disableComments"]; // Whether to disable comments on the published post + bool disableDuet = 3 [json_name = "disableDuet"]; // Disable duets on the published video (video only) + bool disableStitch = 4 [json_name = "disableStitch"]; // Disable stitch on the published video (video only) + bool draft = 5 [json_name = "draft"]; // Whether to create a draft post + bool isAIGenerated = 6 [json_name = "isAIGenerated"]; // Whether to enable AI-generated content toggle (video only) + bool isBrandedContent = 7 [json_name = "isBrandedContent"]; // Whether to enable Branded Content toggle + bool isBrandOrganic = 8 [json_name = "isBrandOrganic"]; // Whether to enable Brand Organic Content toggle + int32 imageCoverIndex = 9 [json_name = "imageCoverIndex"]; // Index of mediaUrls to be used as cover (image only, default 0) + string title = 10 [json_name = "title"]; // Title of the post (image only) + int32 thumbNailOffset = 11 [json_name = "thumbNailOffset"]; // Frame to use for video cover in milliseconds (video only) + string thumbNail = 12 [json_name = "thumbNail"]; // URL of thumbnail image for video (video only) + string visibility = 13 [json_name = "visibility"]; // How the post is shared: "public", "private", "followers", "friends" (image only, default "public") +} + +// 发布帖子到社交媒体平台 +message PostRequest { + string post = 1 [json_name = "post", (validator.field) = {string_not_empty: true, human_error: "post内容不能为空"}]; + repeated string platforms = 2 [json_name = "platforms", (validator.field) = {repeated_count_min: 1, human_error: "platforms平台列表不能为空"}]; + repeated string mediaUrls = 3 [json_name = "mediaUrls"]; + bool isVideo = 4 [json_name = "isVideo"]; + string scheduleDate = 5 [json_name = "scheduleDate"]; + bool validateScheduled = 6 [json_name = "validateScheduled"]; + bool shortenLinks = 7 [json_name = "shortenLinks"]; + bool disableComments = 8 [json_name = "disableComments"]; + InstagramOptions instagramOptions = 9 [json_name = "instagramOptions"]; + TikTokOptions tikTokOptions = 10 [json_name = "tikTokOptions"]; + string profileKey = 11 [json_name = "profileKey"]; +} + +// 单个平台的帖子ID响应 +message PostId { + string status = 1 [json_name = "status"]; + string id = 2 [json_name = "id"]; + string cid = 3 [json_name = "cid"]; + string postUrl = 4 [json_name = "postUrl"]; + string platform = 5 [json_name = "platform"]; + string type = 6 [json_name = "type"]; + string owner = 7 [json_name = "owner"]; + string mediaId = 8 [json_name = "mediaId"]; + string ended = 9 [json_name = "ended"]; + string idShare = 10 [json_name = "idShare"]; + bool isVideo = 11 [json_name = "isVideo"]; + int32 usedQuota = 12 [json_name = "usedQuota"]; +} + +// 帖子项(使用 profile key 时的响应格式) +message PostItem { + string status = 1 [json_name = "status"]; + repeated string errors = 2 [json_name = "errors"]; + repeated PostId postIds = 3 [json_name = "postIds"]; + string id = 4 [json_name = "id"]; + string refId = 5 [json_name = "refId"]; + string profileTitle = 6 [json_name = "profileTitle"]; + string post = 7 [json_name = "post"]; +} + +// 发布帖子响应 +message PostResponse { + string status = 1 [json_name = "status"]; + repeated PostItem posts = 2 [json_name = "posts"]; + // 兼容旧版本响应格式(不使用 profile key 时) + repeated string errors = 3 [json_name = "errors"]; + repeated PostId postIds = 4 [json_name = "postIds"]; + string id = 5 [json_name = "id"]; +} + +// 获取帖子请求 +message GetPostRequest { + string id = 1 [json_name = "id", (validator.field) = {string_not_empty: true, human_error: "帖子ID不能为空"}]; + string profileKey = 2 [json_name = "profileKey"]; +} + +// 获取帖子响应 +message GetPostResponse { + string created = 1 [json_name = "created"]; + repeated string errors = 2 [json_name = "errors"]; + string id = 3 [json_name = "id"]; + repeated string mediaUrls = 4 [json_name = "mediaUrls"]; + repeated string platforms = 5 [json_name = "platforms"]; + string post = 6 [json_name = "post"]; + repeated PostId postIds = 7 [json_name = "postIds"]; + string profileTitle = 8 [json_name = "profileTitle"]; + string refId = 9 [json_name = "refId"]; + string scheduleDate = 10 [json_name = "scheduleDate"]; + bool shortenLinks = 11 [json_name = "shortenLinks"]; + string status = 12 [json_name = "status"]; + string type = 13 [json_name = "type"]; +} + +// 获取用户详情请求 +message GetUserRequest { + string profileKey = 1 [json_name = "profileKey"]; + bool instagramDetails = 2 [json_name = "instagramDetails"]; +} + +// 时间戳 +message Timestamp { + int64 seconds = 1 [json_name = "_seconds"]; + int64 nanoseconds = 2 [json_name = "_nanoseconds"]; + string utc = 3 [json_name = "utc"]; +} + +// Twitter 使用情况 +message TwitterUsage { + int32 monthlyUsage = 1 [json_name = "monthlyUsage"]; + int32 monthlyLimit = 2 [json_name = "monthlyLimit"]; + string monthlyReset = 3 [json_name = "monthlyReset"]; +} + +// 社交媒体账户显示名称和详情 +message DisplayName { + string created = 1 [json_name = "created"]; + string displayName = 2 [json_name = "displayName"]; + string id = 3 [json_name = "id"]; + string platform = 4 [json_name = "platform"]; + string profileUrl = 5 [json_name = "profileUrl"]; + string userImage = 6 [json_name = "userImage"]; + string username = 7 [json_name = "username"]; + string description = 8 [json_name = "description"]; + bool messagingActive = 9 [json_name = "messagingActive"]; + string pageName = 10 [json_name = "pageName"]; + string userId = 11 [json_name = "userId"]; + string mapsUrl = 12 [json_name = "mapsUrl"]; + string placeId = 13 [json_name = "placeId"]; + string reviewUrl = 14 [json_name = "reviewUrl"]; + string igId = 15 [json_name = "igId"]; + string type = 16 [json_name = "type"]; + int32 usedQuota = 17 [json_name = "usedQuota"]; + int32 refreshDaysRemaining = 18 [json_name = "refreshDaysRemaining"]; + string refreshRequired = 19 [json_name = "refreshRequired"]; + bool isEligibleForGeoRestrictions = 20 [json_name = "isEligibleForGeoRestrictions"]; + bool isVerified = 21 [json_name = "isVerified"]; + string subscriptionType = 22 [json_name = "subscriptionType"]; + TwitterUsage twitterUsage = 23 [json_name = "twitterUsage"]; + string verifiedType = 24 [json_name = "verifiedType"]; +} + +// 获取用户详情响应 +message GetUserResponse { + repeated string activeSocialAccounts = 1 [json_name = "activeSocialAccounts"]; + Timestamp created = 2 [json_name = "created"]; + repeated DisplayName displayNames = 3 [json_name = "displayNames"]; + string email = 4 [json_name = "email"]; + string lastApiCall = 5 [json_name = "lastApiCall"]; + int32 messagingConversationMonthlyCount = 6 [json_name = "messagingConversationMonthlyCount"]; + bool messagingEnabled = 7 [json_name = "messagingEnabled"]; + int32 monthlyApiCalls = 8 [json_name = "monthlyApiCalls"]; + int32 monthlyPostCount = 9 [json_name = "monthlyPostCount"]; + int32 monthlyPostQuota = 10 [json_name = "monthlyPostQuota"]; + int32 monthlyApiCallsQuota = 11 [json_name = "monthlyApiCallsQuota"]; + string refId = 12 [json_name = "refId"]; + string title = 13 [json_name = "title"]; + string lastUpdated = 14 [json_name = "lastUpdated"]; + string nextUpdate = 15 [json_name = "nextUpdate"]; +} + +// 创建用户配置请求 +message CreateProfileRequest { + string title = 1 [json_name = "title", (validator.field) = {string_not_empty: true, human_error: "title不能为空"}]; + bool messagingActive = 2 [json_name = "messagingActive"]; + bool hideTopHeader = 3 [json_name = "hideTopHeader"]; + string topHeader = 4 [json_name = "topHeader"]; + repeated string disableSocial = 5 [json_name = "disableSocial"]; + bool team = 6 [json_name = "team"]; + string email = 7 [json_name = "email"]; + string subHeader = 8 [json_name = "subHeader"]; + repeated string tags = 9 [json_name = "tags"]; +} + +// 创建用户配置响应 +message CreateProfileResponse { + string status = 1 [json_name = "status"]; + string title = 2 [json_name = "title"]; + string refId = 3 [json_name = "refId"]; + string profileKey = 4 [json_name = "profileKey"]; + bool messagingActive = 5 [json_name = "messagingActive"]; +} + +// 获取用户配置列表请求 +message GetProfilesRequest { + string title = 1 [json_name = "title"]; + string refId = 2 [json_name = "refId"]; + bool hasActiveSocialAccounts = 3 [json_name = "hasActiveSocialAccounts"]; + repeated string includesActiveSocialAccounts = 4 [json_name = "includesActiveSocialAccounts"]; + oneof actionLog { + bool actionLogBool = 5 [json_name = "actionLogBool"]; + int32 actionLogInt = 6 [json_name = "actionLogInt"]; + } + int32 limit = 7 [json_name = "limit"]; + string cursor = 8 [json_name = "cursor"]; +} + +// 用户配置项 +message ProfileItem { + string status = 1 [json_name = "status"]; + string title = 2 [json_name = "title"]; + string displayTitle = 3 [json_name = "displayTitle"]; + Timestamp created = 4 [json_name = "created"]; + string createdUTC = 5 [json_name = "createdUTC"]; + string refId = 6 [json_name = "refId"]; + repeated string activeSocialAccounts = 7 [json_name = "activeSocialAccounts"]; + bool suspended = 8 [json_name = "suspended"]; +} + +// 分页信息 +message Pagination { + bool hasMore = 1 [json_name = "hasMore"]; + string nextCursor = 2 [json_name = "nextCursor"]; + int32 limit = 3 [json_name = "limit"]; +} + +// 获取用户配置列表响应 +message GetProfilesResponse { + repeated ProfileItem profiles = 1 [json_name = "profiles"]; + int32 count = 2 [json_name = "count"]; + string lastUpdated = 3 [json_name = "lastUpdated"]; + string nextUpdate = 4 [json_name = "nextUpdate"]; + Pagination pagination = 5 [json_name = "pagination"]; +} + +// 邮件配置对象 +message Email { + string to = 1 [json_name = "to"]; + string subject = 2 [json_name = "subject"]; + string body = 3 [json_name = "body"]; +} + +// 生成JWT请求 +message GenerateJWTRequest { + string domain = 1 [json_name = "domain", (validator.field) = {string_not_empty: true, human_error: "domain不能为空"}]; + string privateKey = 2 [json_name = "privateKey", (validator.field) = {string_not_empty: true, human_error: "privateKey不能为空"}]; + string profileKey = 3 [json_name = "profileKey", (validator.field) = {string_not_empty: true, human_error: "profileKey不能为空"}]; + bool logout = 4 [json_name = "logout"]; + string redirect = 5 [json_name = "redirect"]; + repeated string allowedSocial = 6 [json_name = "allowedSocial"]; + bool verify = 7 [json_name = "verify"]; + bool base64 = 8 [json_name = "base64"]; + int32 expiresIn = 9 [json_name = "expiresIn"]; + Email email = 10 [json_name = "email"]; +} + +// 生成JWT响应 +message GenerateJWTResponse { + string status = 1 [json_name = "status"]; + string title = 2 [json_name = "title"]; + string token = 3 [json_name = "token"]; + string url = 4 [json_name = "url"]; + bool emailSent = 5 [json_name = "emailSent"]; + string expiresIn = 6 [json_name = "expiresIn"]; +} diff --git a/api/pb/descriptor.proto b/api/pb/descriptor.proto new file mode 100644 index 0000000..5404b14 --- /dev/null +++ b/api/pb/descriptor.proto @@ -0,0 +1,923 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// The messages in this file describe the definitions found in .proto files. +// A valid .proto file can be translated directly to a FileDescriptorProto +// without any other information (e.g. without reading its imports). + + +syntax = "proto2"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/descriptorpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DescriptorProtos"; +option csharp_namespace = "Google.Protobuf.Reflection"; +option objc_class_prefix = "GPB"; +option cc_enable_arenas = true; + +// descriptor.proto must be optimized for speed because reflection-based +// algorithms don't work during bootstrapping. +option optimize_for = SPEED; + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +message FileDescriptorSet { + repeated FileDescriptorProto file = 1; +} + +// Describes a complete .proto file. +message FileDescriptorProto { + optional string name = 1; // file name, relative to root of source tree + optional string package = 2; // e.g. "foo", "foo.bar", etc. + + // Names of files imported by this file. + repeated string dependency = 3; + // Indexes of the public imported files in the dependency list above. + repeated int32 public_dependency = 10; + // Indexes of the weak imported files in the dependency list. + // For Google-internal migration only. Do not use. + repeated int32 weak_dependency = 11; + + // All top-level definitions in this file. + repeated DescriptorProto message_type = 4; + repeated EnumDescriptorProto enum_type = 5; + repeated ServiceDescriptorProto service = 6; + repeated FieldDescriptorProto extension = 7; + + optional FileOptions options = 8; + + // This field contains optional information about the original source code. + // You may safely remove this entire field without harming runtime + // functionality of the descriptors -- the information is needed only by + // development tools. + optional SourceCodeInfo source_code_info = 9; + + // The syntax of the proto file. + // The supported values are "proto2", "proto3", and "editions". + // + // If `edition` is present, this value must be "editions". + optional string syntax = 12; + + // The edition of the proto file, which is an opaque string. + optional string edition = 13; +} + +// Describes a message type. +message DescriptorProto { + optional string name = 1; + + repeated FieldDescriptorProto field = 2; + repeated FieldDescriptorProto extension = 6; + + repeated DescriptorProto nested_type = 3; + repeated EnumDescriptorProto enum_type = 4; + + message ExtensionRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + + optional ExtensionRangeOptions options = 3; + } + repeated ExtensionRange extension_range = 5; + + repeated OneofDescriptorProto oneof_decl = 8; + + optional MessageOptions options = 7; + + // Range of reserved tag numbers. Reserved tag numbers may not be used by + // fields or extension ranges in the same message. Reserved ranges may + // not overlap. + message ReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + } + repeated ReservedRange reserved_range = 9; + // Reserved field names, which may not be used by fields in the same message. + // A given name may only be reserved once. + repeated string reserved_name = 10; +} + +message ExtensionRangeOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// Describes a field within a message. +message FieldDescriptorProto { + enum Type { + // 0 is reserved for errors. + // Order is weird for historical reasons. + TYPE_DOUBLE = 1; + TYPE_FLOAT = 2; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + TYPE_INT64 = 3; + TYPE_UINT64 = 4; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + TYPE_INT32 = 5; + TYPE_FIXED64 = 6; + TYPE_FIXED32 = 7; + TYPE_BOOL = 8; + TYPE_STRING = 9; + // Tag-delimited aggregate. + // Group type is deprecated and not supported in proto3. However, Proto3 + // implementations should still be able to parse the group wire format and + // treat group fields as unknown fields. + TYPE_GROUP = 10; + TYPE_MESSAGE = 11; // Length-delimited aggregate. + + // New in version 2. + TYPE_BYTES = 12; + TYPE_UINT32 = 13; + TYPE_ENUM = 14; + TYPE_SFIXED32 = 15; + TYPE_SFIXED64 = 16; + TYPE_SINT32 = 17; // Uses ZigZag encoding. + TYPE_SINT64 = 18; // Uses ZigZag encoding. + } + + enum Label { + // 0 is reserved for errors + LABEL_OPTIONAL = 1; + LABEL_REQUIRED = 2; + LABEL_REPEATED = 3; + } + + optional string name = 1; + optional int32 number = 3; + optional Label label = 4; + + // If type_name is set, this need not be set. If both this and type_name + // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + optional Type type = 5; + + // For message and enum types, this is the name of the type. If the name + // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + // rules are used to find the type (i.e. first the nested types within this + // message are searched, then within the parent, on up to the root + // namespace). + optional string type_name = 6; + + // For extensions, this is the name of the type being extended. It is + // resolved in the same manner as type_name. + optional string extendee = 2; + + // For numeric types, contains the original text representation of the value. + // For booleans, "true" or "false". + // For strings, contains the default text contents (not escaped in any way). + // For bytes, contains the C escaped value. All bytes >= 128 are escaped. + optional string default_value = 7; + + // If set, gives the index of a oneof in the containing type's oneof_decl + // list. This field is a member of that oneof. + optional int32 oneof_index = 9; + + // JSON name of this field. The value is set by protocol compiler. If the + // user has set a "json_name" option on this field, that option's value + // will be used. Otherwise, it's deduced from the field's name by converting + // it to camelCase. + optional string json_name = 10; + + optional FieldOptions options = 8; + + // If true, this is a proto3 "optional". When a proto3 field is optional, it + // tracks presence regardless of field type. + // + // When proto3_optional is true, this field must be belong to a oneof to + // signal to old proto3 clients that presence is tracked for this field. This + // oneof is known as a "synthetic" oneof, and this field must be its sole + // member (each proto3 optional field gets its own synthetic oneof). Synthetic + // oneofs exist in the descriptor only, and do not generate any API. Synthetic + // oneofs must be ordered after all "real" oneofs. + // + // For message fields, proto3_optional doesn't create any semantic change, + // since non-repeated message fields always track presence. However it still + // indicates the semantic detail of whether the user wrote "optional" or not. + // This can be useful for round-tripping the .proto file. For consistency we + // give message fields a synthetic oneof also, even though it is not required + // to track presence. This is especially important because the parser can't + // tell if a field is a message or an enum, so it must always create a + // synthetic oneof. + // + // Proto2 optional fields do not set this flag, because they already indicate + // optional with `LABEL_OPTIONAL`. + optional bool proto3_optional = 17; +} + +// Describes a oneof. +message OneofDescriptorProto { + optional string name = 1; + optional OneofOptions options = 2; +} + +// Describes an enum type. +message EnumDescriptorProto { + optional string name = 1; + + repeated EnumValueDescriptorProto value = 2; + + optional EnumOptions options = 3; + + // Range of reserved numeric values. Reserved values may not be used by + // entries in the same enum. Reserved ranges may not overlap. + // + // Note that this is distinct from DescriptorProto.ReservedRange in that it + // is inclusive such that it can appropriately represent the entire int32 + // domain. + message EnumReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Inclusive. + } + + // Range of reserved numeric values. Reserved numeric values may not be used + // by enum values in the same enum declaration. Reserved ranges may not + // overlap. + repeated EnumReservedRange reserved_range = 4; + + // Reserved enum value names, which may not be reused. A given name may only + // be reserved once. + repeated string reserved_name = 5; +} + +// Describes a value within an enum. +message EnumValueDescriptorProto { + optional string name = 1; + optional int32 number = 2; + + optional EnumValueOptions options = 3; +} + +// Describes a service. +message ServiceDescriptorProto { + optional string name = 1; + repeated MethodDescriptorProto method = 2; + + optional ServiceOptions options = 3; +} + +// Describes a method of a service. +message MethodDescriptorProto { + optional string name = 1; + + // Input and output type names. These are resolved in the same way as + // FieldDescriptorProto.type_name, but must refer to a message type. + optional string input_type = 2; + optional string output_type = 3; + + optional MethodOptions options = 4; + + // Identifies if client streams multiple client messages + optional bool client_streaming = 5 [default = false]; + // Identifies if server streams multiple server messages + optional bool server_streaming = 6 [default = false]; +} + + +// =================================================================== +// Options + +// Each of the definitions above may have "options" attached. These are +// just annotations which may cause code to be generated slightly differently +// or may contain hints for code that manipulates protocol messages. +// +// Clients may define custom options as extensions of the *Options messages. +// These extensions may not yet be known at parsing time, so the parser cannot +// store the values in them. Instead it stores them in a field in the *Options +// message called uninterpreted_option. This field must have the same name +// across all *Options messages. We then use this field to populate the +// extensions when we build a descriptor, at which point all protos have been +// parsed and so all extensions are known. +// +// Extension numbers for custom options may be chosen as follows: +// * For options which will only be used within a single application or +// organization, or for experimental options, use field numbers 50000 +// through 99999. It is up to you to ensure that you do not use the +// same number for multiple options. +// * For options which will be published and used publicly by multiple +// independent entities, e-mail protobuf-global-extension-registry@google.com +// to reserve extension numbers. Simply provide your project name (e.g. +// Objective-C plugin) and your project website (if available) -- there's no +// need to explain how you intend to use them. Usually you only need one +// extension number. You can declare multiple options with only one extension +// number by putting them in a sub-message. See the Custom Options section of +// the docs for examples: +// https://developers.google.com/protocol-buffers/docs/proto#options +// If this turns out to be popular, a web service will be set up +// to automatically assign option numbers. + +message FileOptions { + + // Sets the Java package where classes generated from this .proto will be + // placed. By default, the proto package is used, but this is often + // inappropriate because proto packages do not normally start with backwards + // domain names. + optional string java_package = 1; + + + // Controls the name of the wrapper Java class generated for the .proto file. + // That class will always contain the .proto file's getDescriptor() method as + // well as any top-level extensions defined in the .proto file. + // If java_multiple_files is disabled, then all the other classes from the + // .proto file will be nested inside the single wrapper outer class. + optional string java_outer_classname = 8; + + // If enabled, then the Java code generator will generate a separate .java + // file for each top-level message, enum, and service defined in the .proto + // file. Thus, these types will *not* be nested inside the wrapper class + // named by java_outer_classname. However, the wrapper class will still be + // generated to contain the file's getDescriptor() method as well as any + // top-level extensions defined in the file. + optional bool java_multiple_files = 10 [default = false]; + + // This option does nothing. + optional bool java_generate_equals_and_hash = 20 [deprecated=true]; + + // If set true, then the Java2 code generator will generate code that + // throws an exception whenever an attempt is made to assign a non-UTF-8 + // byte sequence to a string field. + // Message reflection will do the same. + // However, an extension field still accepts non-UTF-8 byte sequences. + // This option has no effect on when used with the lite runtime. + optional bool java_string_check_utf8 = 27 [default = false]; + + + // Generated classes can be optimized for speed or code size. + enum OptimizeMode { + SPEED = 1; // Generate complete code for parsing, serialization, + // etc. + CODE_SIZE = 2; // Use ReflectionOps to implement these methods. + LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. + } + optional OptimizeMode optimize_for = 9 [default = SPEED]; + + // Sets the Go package where structs generated from this .proto will be + // placed. If omitted, the Go package will be derived from the following: + // - The basename of the package import path, if provided. + // - Otherwise, the package statement in the .proto file, if present. + // - Otherwise, the basename of the .proto file, without extension. + optional string go_package = 11; + + + + + // Should generic services be generated in each language? "Generic" services + // are not specific to any particular RPC system. They are generated by the + // main code generators in each language (without additional plugins). + // Generic services were the only kind of service generation supported by + // early versions of google.protobuf. + // + // Generic services are now considered deprecated in favor of using plugins + // that generate code specific to your particular RPC system. Therefore, + // these default to false. Old code which depends on generic services should + // explicitly set them to true. + optional bool cc_generic_services = 16 [default = false]; + optional bool java_generic_services = 17 [default = false]; + optional bool py_generic_services = 18 [default = false]; + optional bool php_generic_services = 42 [default = false]; + + // Is this file deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for everything in the file, or it will be completely ignored; in the very + // least, this is a formalization for deprecating files. + optional bool deprecated = 23 [default = false]; + + // Enables the use of arenas for the proto messages in this file. This applies + // only to generated classes for C++. + optional bool cc_enable_arenas = 31 [default = true]; + + + // Sets the objective c class prefix which is prepended to all objective c + // generated classes from this .proto. There is no default. + optional string objc_class_prefix = 36; + + // Namespace for generated classes; defaults to the package. + optional string csharp_namespace = 37; + + // By default Swift generators will take the proto package and CamelCase it + // replacing '.' with underscore and use that to prefix the types/symbols + // defined. When this options is provided, they will use this value instead + // to prefix the types/symbols defined. + optional string swift_prefix = 39; + + // Sets the php class prefix which is prepended to all php generated classes + // from this .proto. Default is empty. + optional string php_class_prefix = 40; + + // Use this option to change the namespace of php generated classes. Default + // is empty. When this option is empty, the package name will be used for + // determining the namespace. + optional string php_namespace = 41; + + // Use this option to change the namespace of php generated metadata classes. + // Default is empty. When this option is empty, the proto file name will be + // used for determining the namespace. + optional string php_metadata_namespace = 44; + + // Use this option to change the package of ruby generated classes. Default + // is empty. When this option is not set, the package name will be used for + // determining the ruby package. + optional string ruby_package = 45; + + + // The parser stores options it doesn't recognize here. + // See the documentation for the "Options" section above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. + // See the documentation for the "Options" section above. + extensions 1000 to max; + + reserved 38; +} + +message MessageOptions { + // Set true to use the old proto1 MessageSet wire format for extensions. + // This is provided for backwards-compatibility with the MessageSet wire + // format. You should not use this for any other reason: It's less + // efficient, has fewer features, and is more complicated. + // + // The message must be defined exactly as follows: + // message Foo { + // option message_set_wire_format = true; + // extensions 4 to max; + // } + // Note that the message cannot have any defined fields; MessageSets only + // have extensions. + // + // All extensions of your type must be singular messages; e.g. they cannot + // be int32s, enums, or repeated messages. + // + // Because this is an option, the above two restrictions are not enforced by + // the protocol compiler. + optional bool message_set_wire_format = 1 [default = false]; + + // Disables the generation of the standard "descriptor()" accessor, which can + // conflict with a field of the same name. This is meant to make migration + // from proto1 easier; new code should avoid fields named "descriptor". + optional bool no_standard_descriptor_accessor = 2 [default = false]; + + // Is this message deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the message, or it will be completely ignored; in the very least, + // this is a formalization for deprecating messages. + optional bool deprecated = 3 [default = false]; + + reserved 4, 5, 6; + + // Whether the message is an automatically generated map entry type for the + // maps field. + // + // For maps fields: + // map map_field = 1; + // The parsed descriptor looks like: + // message MapFieldEntry { + // option map_entry = true; + // optional KeyType key = 1; + // optional ValueType value = 2; + // } + // repeated MapFieldEntry map_field = 1; + // + // Implementations may choose not to generate the map_entry=true message, but + // use a native map in the target language to hold the keys and values. + // The reflection APIs in such implementations still need to work as + // if the field is a repeated message field. + // + // NOTE: Do not set the option in .proto files. Always use the maps syntax + // instead. The option should only be implicitly set by the proto compiler + // parser. + optional bool map_entry = 7; + + reserved 8; // javalite_serializable + reserved 9; // javanano_as_lite + + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message FieldOptions { + // The ctype option instructs the C++ code generator to use a different + // representation of the field than it normally would. See the specific + // options below. This option is not yet implemented in the open source + // release -- sorry, we'll try to include it in a future version! + optional CType ctype = 1 [default = STRING]; + enum CType { + // Default mode. + STRING = 0; + + CORD = 1; + + STRING_PIECE = 2; + } + // The packed option can be enabled for repeated primitive fields to enable + // a more efficient representation on the wire. Rather than repeatedly + // writing the tag and type for each element, the entire array is encoded as + // a single length-delimited blob. In proto3, only explicit setting it to + // false will avoid using packed encoding. + optional bool packed = 2; + + // The jstype option determines the JavaScript type used for values of the + // field. The option is permitted only for 64 bit integral and fixed types + // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + // is represented as JavaScript string, which avoids loss of precision that + // can happen when a large value is converted to a floating point JavaScript. + // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + // use the JavaScript "number" type. The behavior of the default option + // JS_NORMAL is implementation dependent. + // + // This option is an enum to permit additional types to be added, e.g. + // goog.math.Integer. + optional JSType jstype = 6 [default = JS_NORMAL]; + enum JSType { + // Use the default type. + JS_NORMAL = 0; + + // Use JavaScript strings. + JS_STRING = 1; + + // Use JavaScript numbers. + JS_NUMBER = 2; + } + + // Should this field be parsed lazily? Lazy applies only to message-type + // fields. It means that when the outer message is initially parsed, the + // inner message's contents will not be parsed but instead stored in encoded + // form. The inner message will actually be parsed when it is first accessed. + // + // This is only a hint. Implementations are free to choose whether to use + // eager or lazy parsing regardless of the value of this option. However, + // setting this option true suggests that the protocol author believes that + // using lazy parsing on this field is worth the additional bookkeeping + // overhead typically needed to implement it. + // + // This option does not affect the public interface of any generated code; + // all method signatures remain the same. Furthermore, thread-safety of the + // interface is not affected by this option; const methods remain safe to + // call from multiple threads concurrently, while non-const methods continue + // to require exclusive access. + // + // + // Note that implementations may choose not to check required fields within + // a lazy sub-message. That is, calling IsInitialized() on the outer message + // may return true even if the inner message has missing required fields. + // This is necessary because otherwise the inner message would have to be + // parsed in order to perform the check, defeating the purpose of lazy + // parsing. An implementation which chooses not to check required fields + // must be consistent about it. That is, for any particular sub-message, the + // implementation must either *always* check its required fields, or *never* + // check its required fields, regardless of whether or not the message has + // been parsed. + // + // As of May 2022, lazy verifies the contents of the byte stream during + // parsing. An invalid byte stream will cause the overall parsing to fail. + optional bool lazy = 5 [default = false]; + + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + optional bool deprecated = 3 [default = false]; + + // For Google-internal migration only. Do not use. + optional bool weak = 10 [default = false]; + + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 4; // removed jtype +} + +message OneofOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumOptions { + + // Set this option to true to allow mapping different tag names to the same + // value. + optional bool allow_alias = 2; + + // Is this enum deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum, or it will be completely ignored; in the very least, this + // is a formalization for deprecating enums. + optional bool deprecated = 3 [default = false]; + + reserved 5; // javanano_as_lite + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumValueOptions { + // Is this enum value deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum value, or it will be completely ignored; in the very least, + // this is a formalization for deprecating enum values. + optional bool deprecated = 1 [default = false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message ServiceOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this service deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the service, or it will be completely ignored; in the very least, + // this is a formalization for deprecating services. + optional bool deprecated = 33 [default = false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message MethodOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this method deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the method, or it will be completely ignored; in the very least, + // this is a formalization for deprecating methods. + optional bool deprecated = 33 [default = false]; + + // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + // or neither? HTTP based RPC implementation may choose GET verb for safe + // methods, and PUT verb for idempotent methods instead of the default POST. + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0; + NO_SIDE_EFFECTS = 1; // implies idempotent + IDEMPOTENT = 2; // idempotent, but may have side effects + } + optional IdempotencyLevel idempotency_level = 34 + [default = IDEMPOTENCY_UNKNOWN]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +message UninterpretedOption { + // The name of the uninterpreted option. Each string represents a segment in + // a dot-separated name. is_extension is true iff a segment represents an + // extension (denoted with parentheses in options specs in .proto files). + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". + message NamePart { + required string name_part = 1; + required bool is_extension = 2; + } + repeated NamePart name = 2; + + // The value of the uninterpreted option, in whatever type the tokenizer + // identified it as during parsing. Exactly one of these should be set. + optional string identifier_value = 3; + optional uint64 positive_int_value = 4; + optional int64 negative_int_value = 5; + optional double double_value = 6; + optional bytes string_value = 7; + optional string aggregate_value = 8; +} + +// =================================================================== +// Optional source code info + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +message SourceCodeInfo { + // A Location identifies a piece of source code in a .proto file which + // corresponds to a particular definition. This information is intended + // to be useful to IDEs, code indexers, documentation generators, and similar + // tools. + // + // For example, say we have a file like: + // message Foo { + // optional string foo = 1; + // } + // Let's look at just the field definition: + // optional string foo = 1; + // ^ ^^ ^^ ^ ^^^ + // a bc de f ghi + // We have the following locations: + // span path represents + // [a,i) [ 4, 0, 2, 0 ] The whole field definition. + // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + // + // Notes: + // - A location may refer to a repeated field itself (i.e. not to any + // particular index within it). This is used whenever a set of elements are + // logically enclosed in a single code segment. For example, an entire + // extend block (possibly containing multiple extension definitions) will + // have an outer location whose path refers to the "extensions" repeated + // field without an index. + // - Multiple locations may have the same path. This happens when a single + // logical declaration is spread out across multiple places. The most + // obvious example is the "extend" block again -- there may be multiple + // extend blocks in the same scope, each of which will have the same path. + // - A location's span is not always a subset of its parent's span. For + // example, the "extendee" of an extension declaration appears at the + // beginning of the "extend" block and is shared by all extensions within + // the block. + // - Just because a location's span is a subset of some other location's span + // does not mean that it is a descendant. For example, a "group" defines + // both a type and a field in a single declaration. Thus, the locations + // corresponding to the type and field and their components will overlap. + // - Code which tries to interpret locations should probably be designed to + // ignore those that it doesn't understand, as more types of locations could + // be recorded in the future. + repeated Location location = 1; + message Location { + // Identifies which part of the FileDescriptorProto was defined at this + // location. + // + // Each element is a field number or an index. They form a path from + // the root FileDescriptorProto to the place where the definition occurs. + // For example, this path: + // [ 4, 3, 2, 7, 1 ] + // refers to: + // file.message_type(3) // 4, 3 + // .field(7) // 2, 7 + // .name() // 1 + // This is because FileDescriptorProto.message_type has field number 4: + // repeated DescriptorProto message_type = 4; + // and DescriptorProto.field has field number 2: + // repeated FieldDescriptorProto field = 2; + // and FieldDescriptorProto.name has field number 1: + // optional string name = 1; + // + // Thus, the above path gives the location of a field name. If we removed + // the last element: + // [ 4, 3, 2, 7 ] + // this path refers to the whole field declaration (from the beginning + // of the label to the terminating semicolon). + repeated int32 path = 1 [packed = true]; + + // Always has exactly three or four elements: start line, start column, + // end line (optional, otherwise assumed same as start line), end column. + // These are packed into a single field for efficiency. Note that line + // and column numbers are zero-based -- typically you will want to add + // 1 to each before displaying to a user. + repeated int32 span = 2 [packed = true]; + + // If this SourceCodeInfo represents a complete declaration, these are any + // comments appearing before and after the declaration which appear to be + // attached to the declaration. + // + // A series of line comments appearing on consecutive lines, with no other + // tokens appearing on those lines, will be treated as a single comment. + // + // leading_detached_comments will keep paragraphs of comments that appear + // before (but not connected to) the current element. Each paragraph, + // separated by empty lines, will be one comment element in the repeated + // field. + // + // Only the comment content is provided; comment markers (e.g. //) are + // stripped out. For block comments, leading whitespace and an asterisk + // will be stripped from the beginning of each line other than the first. + // Newlines are included in the output. + // + // Examples: + // + // optional int32 foo = 1; // Comment attached to foo. + // // Comment attached to bar. + // optional int32 bar = 2; + // + // optional string baz = 3; + // // Comment attached to baz. + // // Another line attached to baz. + // + // // Comment attached to moo. + // // + // // Another line attached to moo. + // optional double moo = 4; + // + // // Detached comment for corge. This is not leading or trailing comments + // // to moo or corge because there are blank lines separating it from + // // both. + // + // // Detached comment for corge paragraph 2. + // + // optional string corge = 5; + // /* Block comment attached + // * to corge. Leading asterisks + // * will be removed. */ + // /* Block comment attached to + // * grault. */ + // optional int32 grault = 6; + // + // // ignored detached comments. + optional string leading_comments = 3; + optional string trailing_comments = 4; + repeated string leading_detached_comments = 6; + } +} + +// Describes the relationship between generated code and its original source +// file. A GeneratedCodeInfo message is associated with only one generated +// source file, but may contain references to different source .proto files. +message GeneratedCodeInfo { + // An Annotation connects some span of text in generated code to an element + // of its generating .proto file. + repeated Annotation annotation = 1; + message Annotation { + // Identifies the element in the original source .proto file. This field + // is formatted the same as SourceCodeInfo.Location.path. + repeated int32 path = 1 [packed = true]; + + // Identifies the filesystem path to the original source .proto. + optional string source_file = 2; + + // Identifies the starting offset in bytes in the generated code + // that relates to the identified object. + optional int32 begin = 3; + + // Identifies the ending offset in bytes in the generated code that + // relates to the identified offset. The end offset should be one past + // the last relevant byte (so the length of the text = end - begin). + optional int32 end = 4; + } +} diff --git a/api/pb/validate.proto b/api/pb/validate.proto new file mode 100644 index 0000000..646729e --- /dev/null +++ b/api/pb/validate.proto @@ -0,0 +1,862 @@ +syntax = "proto2"; +package validate; + +option go_package = "github.com/envoyproxy/protoc-gen-validate/validate"; +option java_package = "io.envoyproxy.pgv.validate"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +// Validation rules applied at the message level +extend google.protobuf.MessageOptions { + // Disabled nullifies any validation rules for this message, including any + // message fields associated with it that do support validation. + optional bool disabled = 1071; + // Ignore skips generation of validation methods for this message. + optional bool ignored = 1072; +} + +// Validation rules applied at the oneof level +extend google.protobuf.OneofOptions { + // Required ensures that exactly one the field options in a oneof is set; + // validation fails if no fields in the oneof are set. + optional bool required = 1071; +} + +// Validation rules applied at the field level +extend google.protobuf.FieldOptions { + // Rules specify the validations to be performed on this field. By default, + // no validation is performed against a field. + optional FieldRules rules = 1071; +} + +// FieldRules encapsulates the rules for each type of field. Depending on the +// field, the correct set should be used to ensure proper validations. +message FieldRules { + optional MessageRules message = 17; + oneof type { + // Scalar Field Types + FloatRules float = 1; + DoubleRules double = 2; + Int32Rules int32 = 3; + Int64Rules int64 = 4; + UInt32Rules uint32 = 5; + UInt64Rules uint64 = 6; + SInt32Rules sint32 = 7; + SInt64Rules sint64 = 8; + Fixed32Rules fixed32 = 9; + Fixed64Rules fixed64 = 10; + SFixed32Rules sfixed32 = 11; + SFixed64Rules sfixed64 = 12; + BoolRules bool = 13; + StringRules string = 14; + BytesRules bytes = 15; + + // Complex Field Types + EnumRules enum = 16; + RepeatedRules repeated = 18; + MapRules map = 19; + + // Well-Known Field Types + AnyRules any = 20; + DurationRules duration = 21; + TimestampRules timestamp = 22; + } +} + +// FloatRules describes the constraints applied to `float` values +message FloatRules { + // Const specifies that this field must be exactly the specified value + optional float const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional float lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional float lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional float gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional float gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated float in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated float not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// DoubleRules describes the constraints applied to `double` values +message DoubleRules { + // Const specifies that this field must be exactly the specified value + optional double const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional double lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional double lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional double gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional double gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated double in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated double not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// Int32Rules describes the constraints applied to `int32` values +message Int32Rules { + // Const specifies that this field must be exactly the specified value + optional int32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional int32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional int32 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional int32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional int32 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated int32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated int32 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// Int64Rules describes the constraints applied to `int64` values +message Int64Rules { + // Const specifies that this field must be exactly the specified value + optional int64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional int64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional int64 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional int64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional int64 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated int64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated int64 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// UInt32Rules describes the constraints applied to `uint32` values +message UInt32Rules { + // Const specifies that this field must be exactly the specified value + optional uint32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional uint32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional uint32 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional uint32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional uint32 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated uint32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated uint32 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// UInt64Rules describes the constraints applied to `uint64` values +message UInt64Rules { + // Const specifies that this field must be exactly the specified value + optional uint64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional uint64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional uint64 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional uint64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional uint64 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated uint64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated uint64 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// SInt32Rules describes the constraints applied to `sint32` values +message SInt32Rules { + // Const specifies that this field must be exactly the specified value + optional sint32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sint32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sint32 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sint32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sint32 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sint32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sint32 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// SInt64Rules describes the constraints applied to `sint64` values +message SInt64Rules { + // Const specifies that this field must be exactly the specified value + optional sint64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sint64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sint64 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sint64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sint64 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sint64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sint64 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// Fixed32Rules describes the constraints applied to `fixed32` values +message Fixed32Rules { + // Const specifies that this field must be exactly the specified value + optional fixed32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional fixed32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional fixed32 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional fixed32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional fixed32 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated fixed32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated fixed32 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// Fixed64Rules describes the constraints applied to `fixed64` values +message Fixed64Rules { + // Const specifies that this field must be exactly the specified value + optional fixed64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional fixed64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional fixed64 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional fixed64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional fixed64 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated fixed64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated fixed64 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// SFixed32Rules describes the constraints applied to `sfixed32` values +message SFixed32Rules { + // Const specifies that this field must be exactly the specified value + optional sfixed32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sfixed32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sfixed32 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sfixed32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sfixed32 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sfixed32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sfixed32 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// SFixed64Rules describes the constraints applied to `sfixed64` values +message SFixed64Rules { + // Const specifies that this field must be exactly the specified value + optional sfixed64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sfixed64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sfixed64 lte = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sfixed64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sfixed64 gte = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sfixed64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sfixed64 not_in = 7; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 8; +} + +// BoolRules describes the constraints applied to `bool` values +message BoolRules { + // Const specifies that this field must be exactly the specified value + optional bool const = 1; +} + +// StringRules describe the constraints applied to `string` values +message StringRules { + // Const specifies that this field must be exactly the specified value + optional string const = 1; + + // Len specifies that this field must be the specified number of + // characters (Unicode code points). Note that the number of + // characters may differ from the number of bytes in the string. + optional uint64 len = 19; + + // MinLen specifies that this field must be the specified number of + // characters (Unicode code points) at a minimum. Note that the number of + // characters may differ from the number of bytes in the string. + optional uint64 min_len = 2; + + // MaxLen specifies that this field must be the specified number of + // characters (Unicode code points) at a maximum. Note that the number of + // characters may differ from the number of bytes in the string. + optional uint64 max_len = 3; + + // LenBytes specifies that this field must be the specified number of bytes + optional uint64 len_bytes = 20; + + // MinBytes specifies that this field must be the specified number of bytes + // at a minimum + optional uint64 min_bytes = 4; + + // MaxBytes specifies that this field must be the specified number of bytes + // at a maximum + optional uint64 max_bytes = 5; + + // Pattern specifes that this field must match against the specified + // regular expression (RE2 syntax). The included expression should elide + // any delimiters. + optional string pattern = 6; + + // Prefix specifies that this field must have the specified substring at + // the beginning of the string. + optional string prefix = 7; + + // Suffix specifies that this field must have the specified substring at + // the end of the string. + optional string suffix = 8; + + // Contains specifies that this field must have the specified substring + // anywhere in the string. + optional string contains = 9; + + // NotContains specifies that this field cannot have the specified substring + // anywhere in the string. + optional string not_contains = 23; + + // In specifies that this field must be equal to one of the specified + // values + repeated string in = 10; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated string not_in = 11; + + // WellKnown rules provide advanced constraints against common string + // patterns + oneof well_known { + // Email specifies that the field must be a valid email address as + // defined by RFC 5322 + bool email = 12; + + // Hostname specifies that the field must be a valid hostname as + // defined by RFC 1034. This constraint does not support + // internationalized domain names (IDNs). + bool hostname = 13; + + // Ip specifies that the field must be a valid IP (v4 or v6) address. + // Valid IPv6 addresses should not include surrounding square brackets. + bool ip = 14; + + // Ipv4 specifies that the field must be a valid IPv4 address. + bool ipv4 = 15; + + // Ipv6 specifies that the field must be a valid IPv6 address. Valid + // IPv6 addresses should not include surrounding square brackets. + bool ipv6 = 16; + + // Uri specifies that the field must be a valid, absolute URI as defined + // by RFC 3986 + bool uri = 17; + + // UriRef specifies that the field must be a valid URI as defined by RFC + // 3986 and may be relative or absolute. + bool uri_ref = 18; + + // Address specifies that the field must be either a valid hostname as + // defined by RFC 1034 (which does not support internationalized domain + // names or IDNs), or it can be a valid IP (v4 or v6). + bool address = 21; + + // Uuid specifies that the field must be a valid UUID as defined by + // RFC 4122 + bool uuid = 22; + + // WellKnownRegex specifies a common well known pattern defined as a regex. + KnownRegex well_known_regex = 24; + } + + // This applies to regexes HTTP_HEADER_NAME and HTTP_HEADER_VALUE to enable + // strict header validation. + // By default, this is true, and HTTP header validations are RFC-compliant. + // Setting to false will enable a looser validations that only disallows + // \r\n\0 characters, which can be used to bypass header matching rules. + optional bool strict = 25 [default = true]; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 26; +} + +// WellKnownRegex contain some well-known patterns. +enum KnownRegex { + UNKNOWN = 0; + + // HTTP header name as defined by RFC 7230. + HTTP_HEADER_NAME = 1; + + // HTTP header value as defined by RFC 7230. + HTTP_HEADER_VALUE = 2; +} + +// BytesRules describe the constraints applied to `bytes` values +message BytesRules { + // Const specifies that this field must be exactly the specified value + optional bytes const = 1; + + // Len specifies that this field must be the specified number of bytes + optional uint64 len = 13; + + // MinLen specifies that this field must be the specified number of bytes + // at a minimum + optional uint64 min_len = 2; + + // MaxLen specifies that this field must be the specified number of bytes + // at a maximum + optional uint64 max_len = 3; + + // Pattern specifes that this field must match against the specified + // regular expression (RE2 syntax). The included expression should elide + // any delimiters. + optional string pattern = 4; + + // Prefix specifies that this field must have the specified bytes at the + // beginning of the string. + optional bytes prefix = 5; + + // Suffix specifies that this field must have the specified bytes at the + // end of the string. + optional bytes suffix = 6; + + // Contains specifies that this field must have the specified bytes + // anywhere in the string. + optional bytes contains = 7; + + // In specifies that this field must be equal to one of the specified + // values + repeated bytes in = 8; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated bytes not_in = 9; + + // WellKnown rules provide advanced constraints against common byte + // patterns + oneof well_known { + // Ip specifies that the field must be a valid IP (v4 or v6) address in + // byte format + bool ip = 10; + + // Ipv4 specifies that the field must be a valid IPv4 address in byte + // format + bool ipv4 = 11; + + // Ipv6 specifies that the field must be a valid IPv6 address in byte + // format + bool ipv6 = 12; + } + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 14; +} + +// EnumRules describe the constraints applied to enum values +message EnumRules { + // Const specifies that this field must be exactly the specified value + optional int32 const = 1; + + // DefinedOnly specifies that this field must be only one of the defined + // values for this enum, failing on any undefined value. + optional bool defined_only = 2; + + // In specifies that this field must be equal to one of the specified + // values + repeated int32 in = 3; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated int32 not_in = 4; +} + +// MessageRules describe the constraints applied to embedded message values. +// For message-type fields, validation is performed recursively. +message MessageRules { + // Skip specifies that the validation rules of this field should not be + // evaluated + optional bool skip = 1; + + // Required specifies that this field must be set + optional bool required = 2; +} + +// RepeatedRules describe the constraints applied to `repeated` values +message RepeatedRules { + // MinItems specifies that this field must have the specified number of + // items at a minimum + optional uint64 min_items = 1; + + // MaxItems specifies that this field must have the specified number of + // items at a maximum + optional uint64 max_items = 2; + + // Unique specifies that all elements in this field must be unique. This + // contraint is only applicable to scalar and enum types (messages are not + // supported). + optional bool unique = 3; + + // Items specifies the contraints to be applied to each item in the field. + // Repeated message fields will still execute validation against each item + // unless skip is specified here. + optional FieldRules items = 4; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 5; +} + +// MapRules describe the constraints applied to `map` values +message MapRules { + // MinPairs specifies that this field must have the specified number of + // KVs at a minimum + optional uint64 min_pairs = 1; + + // MaxPairs specifies that this field must have the specified number of + // KVs at a maximum + optional uint64 max_pairs = 2; + + // NoSparse specifies values in this field cannot be unset. This only + // applies to map's with message value types. + optional bool no_sparse = 3; + + // Keys specifies the constraints to be applied to each key in the field. + optional FieldRules keys = 4; + + // Values specifies the constraints to be applied to the value of each key + // in the field. Message values will still have their validations evaluated + // unless skip is specified here. + optional FieldRules values = 5; + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + optional bool ignore_empty = 6; +} + +// AnyRules describe constraints applied exclusively to the +// `google.protobuf.Any` well-known type +message AnyRules { + // Required specifies that this field must be set + optional bool required = 1; + + // In specifies that this field's `type_url` must be equal to one of the + // specified values. + repeated string in = 2; + + // NotIn specifies that this field's `type_url` must not be equal to any of + // the specified values. + repeated string not_in = 3; +} + +// DurationRules describe the constraints applied exclusively to the +// `google.protobuf.Duration` well-known type +message DurationRules { + // Required specifies that this field must be set + optional bool required = 1; + + // Const specifies that this field must be exactly the specified value + optional google.protobuf.Duration const = 2; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional google.protobuf.Duration lt = 3; + + // Lt specifies that this field must be less than the specified value, + // inclusive + optional google.protobuf.Duration lte = 4; + + // Gt specifies that this field must be greater than the specified value, + // exclusive + optional google.protobuf.Duration gt = 5; + + // Gte specifies that this field must be greater than the specified value, + // inclusive + optional google.protobuf.Duration gte = 6; + + // In specifies that this field must be equal to one of the specified + // values + repeated google.protobuf.Duration in = 7; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated google.protobuf.Duration not_in = 8; +} + +// TimestampRules describe the constraints applied exclusively to the +// `google.protobuf.Timestamp` well-known type +message TimestampRules { + // Required specifies that this field must be set + optional bool required = 1; + + // Const specifies that this field must be exactly the specified value + optional google.protobuf.Timestamp const = 2; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional google.protobuf.Timestamp lt = 3; + + // Lte specifies that this field must be less than the specified value, + // inclusive + optional google.protobuf.Timestamp lte = 4; + + // Gt specifies that this field must be greater than the specified value, + // exclusive + optional google.protobuf.Timestamp gt = 5; + + // Gte specifies that this field must be greater than the specified value, + // inclusive + optional google.protobuf.Timestamp gte = 6; + + // LtNow specifies that this must be less than the current time. LtNow + // can only be used with the Within rule. + optional bool lt_now = 7; + + // GtNow specifies that this must be greater than the current time. GtNow + // can only be used with the Within rule. + optional bool gt_now = 8; + + // Within specifies that this field must be within this duration of the + // current time. This constraint can be used alone or with the LtNow and + // GtNow rules. + optional google.protobuf.Duration within = 9; +} \ No newline at end of file diff --git a/api/pb/validator.proto b/api/pb/validator.proto new file mode 100644 index 0000000..b78a521 --- /dev/null +++ b/api/pb/validator.proto @@ -0,0 +1,78 @@ +// Copyright 2016 Michal Witkowski. All Rights Reserved. +// See LICENSE for licensing terms. + +// Protocol Buffers extensions for defining auto-generateable validators for messages. + + + +syntax = "proto2"; +package validator; + +import "pb/descriptor.proto"; + +option go_package = "github.com/mwitkow/go-proto-validators;validator"; + + +extend google.protobuf.FieldOptions { + optional FieldValidator field = 65020; +} + +extend google.protobuf.OneofOptions { + optional OneofValidator oneof = 65021; +} + +message FieldValidator { + // Uses a Golang RE2-syntax regex to match the field contents. + optional string regex = 1; + // Field value of integer strictly greater than this value. + optional int64 int_gt = 2; + // Field value of integer strictly smaller than this value. + optional int64 int_lt = 3; + // Used for nested message types, requires that the message type exists. + optional bool msg_exists = 4; + // Human error specifies a user-customizable error that is visible to the user. + optional string human_error = 5; + // Field value of double strictly greater than this value. + // Note that this value can only take on a valid floating point + // value. Use together with float_epsilon if you need something more specific. + optional double float_gt = 6; + // Field value of double strictly smaller than this value. + // Note that this value can only take on a valid floating point + // value. Use together with float_epsilon if you need something more specific. + optional double float_lt = 7; + // Field value of double describing the epsilon within which + // any comparison should be considered to be true. For example, + // when using float_gt = 0.35, using a float_epsilon of 0.05 + // would mean that any value above 0.30 is acceptable. It can be + // thought of as a {float_value_condition} +- {float_epsilon}. + // If unset, no correction for floating point inaccuracies in + // comparisons will be attempted. + optional double float_epsilon = 8; + // Floating-point value compared to which the field content should be greater or equal. + optional double float_gte = 9; + // Floating-point value compared to which the field content should be smaller or equal. + optional double float_lte = 10; + // Used for string fields, requires the string to be not empty (i.e different from ""). + optional bool string_not_empty = 11; + // Repeated field with at least this number of elements. + optional int64 repeated_count_min = 12; + // Repeated field with at most this number of elements. + optional int64 repeated_count_max = 13; + // Field value of length greater than this value. + optional int64 length_gt = 14; + // Field value of length smaller than this value. + optional int64 length_lt = 15; + // Field value of length strictly equal to this value. + optional int64 length_eq = 16; + // Requires that the value is in the enum. + optional bool is_in_enum = 17; + // Ensures that a string value is in UUID format. + // uuid_ver specifies the valid UUID versions. Valid values are: 0-5. + // If uuid_ver is 0 all UUID versions are accepted. + optional int32 uuid_ver = 18; +} + +message OneofValidator { + // Require that one of the oneof fields is set. + optional bool required = 1; +} diff --git a/cmd/config/config.go b/cmd/config/config.go index a4aee58..de22572 100644 --- a/cmd/config/config.go +++ b/cmd/config/config.go @@ -119,7 +119,9 @@ type System struct { ErpHost string FieeHost string AuthRedirectUrl string + AuthCallback string CronOpen bool + ProxyUrl string } type Oss struct { AccessKeyId string diff --git a/conf/alibabacloud.env b/conf/alibabacloud.env new file mode 100644 index 0000000..570c8e1 --- /dev/null +++ b/conf/alibabacloud.env @@ -0,0 +1,16 @@ +#=========== 阿里云内容安全配置 =========== +# STS登录模式配置 +# RAM用户AccessKey ID(用于获取STS临时凭证) +RAM_ACCESS_KEY_ID=LTAI5tNBzbeEbG1yCitvHsMb + +# RAM用户AccessKey Secret +RAM_ACCESS_KEY_SECRET=G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO + +# 要扮演的RAM角色ARN +RAM_ROLE_ARN=acs:ram::5828544250383902:role/content-secret + +# 阿里云区域(可选,默认为cn-shanghai) +ALIBABA_CLOUD_REGION=ap-southeast-1 + +# 阿里云端点(可选,默认为green.cn-shanghai.aliyuncs.com) +ALIBABA_CLOUD_ENDPOINT=green-cip.ap-southeast-1.aliyuncs.com \ No newline at end of file diff --git a/data/图文导入模板.xlsx b/data/图文导入模板.xlsx new file mode 100644 index 0000000..7fda799 Binary files /dev/null and b/data/图文导入模板.xlsx differ diff --git a/docs/dev/alibabacloud.env b/docs/dev/alibabacloud.env new file mode 100644 index 0000000..570c8e1 --- /dev/null +++ b/docs/dev/alibabacloud.env @@ -0,0 +1,16 @@ +#=========== 阿里云内容安全配置 =========== +# STS登录模式配置 +# RAM用户AccessKey ID(用于获取STS临时凭证) +RAM_ACCESS_KEY_ID=LTAI5tNBzbeEbG1yCitvHsMb + +# RAM用户AccessKey Secret +RAM_ACCESS_KEY_SECRET=G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO + +# 要扮演的RAM角色ARN +RAM_ROLE_ARN=acs:ram::5828544250383902:role/content-secret + +# 阿里云区域(可选,默认为cn-shanghai) +ALIBABA_CLOUD_REGION=ap-southeast-1 + +# 阿里云端点(可选,默认为green.cn-shanghai.aliyuncs.com) +ALIBABA_CLOUD_ENDPOINT=green-cip.ap-southeast-1.aliyuncs.com \ No newline at end of file diff --git a/docs/dev/conf.ini b/docs/dev/conf.ini index 1034f8c..e2f3297 100644 --- a/docs/dev/conf.ini +++ b/docs/dev/conf.ini @@ -7,7 +7,9 @@ RedirectUri = "/api/redirect/url" ErpHost = "http://erpapi.test.fontree.cn:8081" FieeHost = "http://erpapi.test.fontree.cn:8081" AuthRedirectUrl = "http://saas-erp.test.fontree.cn:8081/media_account" +AuthCallback = "https://saas-test.szjixun.cn/api/fiee/media/as-oauth2callback" CronOpen = false +proxyUrl = "http://47.84.75.255:6785" [bos] Ak = "ALTAKxrqOQHnAN525Tb2GX4Bhe" Sk = "d2ecaa9d75114d3b9f42b99014198306" diff --git a/docs/dev/dubbogo.yaml b/docs/dev/dubbogo.yaml index 47ea03d..b3d50fa 100644 --- a/docs/dev/dubbogo.yaml +++ b/docs/dev/dubbogo.yaml @@ -9,7 +9,7 @@ dubbo: # address: 114.218.158.24:2181 consumer: filter: tracing - request-timeout: 30s + request-timeout: 300s references: OrderClientImpl: protocol: tri @@ -47,6 +47,9 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.fiee.SecFiling + AyrshareClientImpl: + protocol: tri + interface: com.fontree.microservices.fiee.ayrshare logger: zap-config: level: error # 日志级别 diff --git a/docs/prod/alibabacloud.env b/docs/prod/alibabacloud.env new file mode 100644 index 0000000..570c8e1 --- /dev/null +++ b/docs/prod/alibabacloud.env @@ -0,0 +1,16 @@ +#=========== 阿里云内容安全配置 =========== +# STS登录模式配置 +# RAM用户AccessKey ID(用于获取STS临时凭证) +RAM_ACCESS_KEY_ID=LTAI5tNBzbeEbG1yCitvHsMb + +# RAM用户AccessKey Secret +RAM_ACCESS_KEY_SECRET=G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO + +# 要扮演的RAM角色ARN +RAM_ROLE_ARN=acs:ram::5828544250383902:role/content-secret + +# 阿里云区域(可选,默认为cn-shanghai) +ALIBABA_CLOUD_REGION=ap-southeast-1 + +# 阿里云端点(可选,默认为green.cn-shanghai.aliyuncs.com) +ALIBABA_CLOUD_ENDPOINT=green-cip.ap-southeast-1.aliyuncs.com \ No newline at end of file diff --git a/docs/prod/conf.ini b/docs/prod/conf.ini index c139f40..5001040 100644 --- a/docs/prod/conf.ini +++ b/docs/prod/conf.ini @@ -7,7 +7,9 @@ RedirectUri = "/api/redirect/url" ErpHost = "https://erpapi.fontree.cn" FieeHost = "https://erpapi.fiee.com" AuthRedirectUrl = "https://erp.fiee.com/media_account" +AuthCallback = "https://erpapi.fiee.com/api/fiee/media/as-oauth2callback" CronOpen = true +proxyUrl = "" [bos] Ak = "ALTAKxrqOQHnAN525Tb2GX4Bhe" Sk = "d2ecaa9d75114d3b9f42b99014198306" diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml index 7272e67..1944e79 100644 --- a/docs/prod/dubbogo.yaml +++ b/docs/prod/dubbogo.yaml @@ -8,7 +8,7 @@ dubbo: # address: 114.218.158.24:2181 consumer: filter: tracing - request-timeout: 30s + request-timeout: 300s references: OrderClientImpl: protocol: tri @@ -49,6 +49,9 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.fiee.SecFiling + AyrshareClientImpl: + protocol: tri + interface: com.fontree.microservices.fiee.ayrshare logger: zap-config: level: error # 日志级别 diff --git a/docs/test/alibabacloud.env b/docs/test/alibabacloud.env new file mode 100644 index 0000000..570c8e1 --- /dev/null +++ b/docs/test/alibabacloud.env @@ -0,0 +1,16 @@ +#=========== 阿里云内容安全配置 =========== +# STS登录模式配置 +# RAM用户AccessKey ID(用于获取STS临时凭证) +RAM_ACCESS_KEY_ID=LTAI5tNBzbeEbG1yCitvHsMb + +# RAM用户AccessKey Secret +RAM_ACCESS_KEY_SECRET=G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO + +# 要扮演的RAM角色ARN +RAM_ROLE_ARN=acs:ram::5828544250383902:role/content-secret + +# 阿里云区域(可选,默认为cn-shanghai) +ALIBABA_CLOUD_REGION=ap-southeast-1 + +# 阿里云端点(可选,默认为green.cn-shanghai.aliyuncs.com) +ALIBABA_CLOUD_ENDPOINT=green-cip.ap-southeast-1.aliyuncs.com \ No newline at end of file diff --git a/docs/test/conf.ini b/docs/test/conf.ini index 1b8611a..48f6026 100644 --- a/docs/test/conf.ini +++ b/docs/test/conf.ini @@ -8,7 +8,9 @@ ErpHost = "http://erpapi.test.fontree.cn:8081" FieeHost = "http://erpapi.test.fontree.cn:8081" FieeApiHost = "https://saas-test.szjixun.cn" AuthRedirectUrl = "http://saas-erp.test.fontree.cn:8081/media_account" +AuthCallback = "https://saas-test.szjixun.cn/api/fiee/media/as-oauth2callback" CronOpen = true +proxyUrl = "http://taifeng:fontree008@8.220.199.204:1081" [bos] Ak = "ALTAKxrqOQHnAN525Tb2GX4Bhe" Sk = "d2ecaa9d75114d3b9f42b99014198306" diff --git a/docs/test/dubbogo.yaml b/docs/test/dubbogo.yaml index 503d30a..a7a46c6 100644 --- a/docs/test/dubbogo.yaml +++ b/docs/test/dubbogo.yaml @@ -9,7 +9,7 @@ dubbo: # address: 114.218.158.24:2181 consumer: filter: tracing - request-timeout: 30s + request-timeout: 300s references: OrderClientImpl: protocol: tri @@ -47,6 +47,9 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.fiee.SecFiling + AyrshareClientImpl: + protocol: tri + interface: com.fontree.microservices.fiee.ayrshare logger: zap-config: level: error # 日志级别 diff --git a/go.mod b/go.mod index 3f7ec2d..ed72294 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,7 @@ go 1.23.0 toolchain go1.23.10 replace ( + github.com/fonchain/utils/security => ../utils/security //github.com/fonchain_enterprise/utils/objstorage => ../../tyfon-新/utils/objstorage github.com/fonchain/utils/voice => ../utils/voice github.com/fonchain_enterprise/utils/aes => ../utils/aes @@ -71,7 +72,7 @@ require ( github.com/mschoch/smat v0.2.0 // indirect github.com/nacos-group/nacos-sdk-go v1.1.1 // indirect github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 - github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect github.com/pelletier/go-toml v1.7.0 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/prometheus/client_golang v1.12.2 // indirect @@ -82,7 +83,7 @@ require ( github.com/robfig/cron/v3 v3.0.1 github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b github.com/shirou/gopsutil v3.20.11+incompatible // indirect - github.com/uber/jaeger-client-go v2.29.1+incompatible // indirect + github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect github.com/uber/jaeger-lib v2.4.1+incompatible // indirect github.com/ugorji/go/codec v1.2.11 // indirect go.opencensus.io v0.23.0 // indirect @@ -106,6 +107,7 @@ require ( github.com/disintegration/imaging v1.6.2 github.com/duke-git/lancet/v2 v2.3.8 github.com/envoyproxy/protoc-gen-validate v0.1.0 + github.com/fonchain/utils/security v0.0.0-00010101000000-000000000000 github.com/fonchain/utils/voice v0.0.0-00010101000000-000000000000 github.com/fonchain_enterprise/utils/objstorage v0.0.0-00010101000000-000000000000 github.com/gin-contrib/pprof v1.4.0 @@ -128,7 +130,14 @@ require ( cloud.google.com/go v0.65.0 // indirect github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 // indirect github.com/alibaba/sentinel-golang v1.0.4 // indirect - github.com/aliyun/alibaba-cloud-sdk-go v1.61.1376 // indirect + github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.5 // indirect + github.com/alibabacloud-go/darabonba-openapi/v2 v2.1.12 // indirect + github.com/alibabacloud-go/debug v1.0.1 // indirect + github.com/alibabacloud-go/green-20220302/v2 v2.23.0 // indirect + github.com/alibabacloud-go/tea v1.3.13 // indirect + github.com/alibabacloud-go/tea-utils/v2 v2.0.7 // indirect + github.com/aliyun/alibaba-cloud-sdk-go v1.63.107 // indirect + github.com/aliyun/credentials-go v1.4.5 // indirect github.com/andybalholm/cascadia v1.3.1 // indirect github.com/aws/aws-sdk-go v1.38.20 // indirect github.com/baidubce/bce-sdk-go v0.9.123 // indirect @@ -136,6 +145,7 @@ require ( github.com/bytedance/sonic v1.9.1 // indirect github.com/census-instrumentation/opencensus-proto v0.2.1 // indirect github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect + github.com/clbanning/mxj/v2 v2.7.0 // indirect github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 // indirect github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1 // indirect github.com/coreos/go-semver v0.3.0 // indirect @@ -153,15 +163,14 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/go-resty/resty/v2 v2.7.0 // indirect github.com/golang/mock v1.5.0 // indirect - github.com/google/go-cmp v0.5.9 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/vault/sdk v0.3.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/joho/godotenv v1.5.1 // indirect github.com/klauspost/cpuid/v2 v2.2.4 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect @@ -184,6 +193,7 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.2.0 // indirect github.com/tiendc/go-deepcopy v1.6.0 // indirect + github.com/tjfoc/gmsm v1.4.1 // indirect github.com/tklauser/go-sysconf v0.3.6 // indirect github.com/tklauser/numcpus v0.2.2 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect diff --git a/go.sum b/go.sum index d077ec3..0de9e8d 100644 --- a/go.sum +++ b/go.sum @@ -71,12 +71,59 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alibaba/sentinel-golang v1.0.4 h1:i0wtMvNVdy7vM4DdzYrlC4r/Mpk1OKUUBurKKkWhEo8= github.com/alibaba/sentinel-golang v1.0.4/go.mod h1:Lag5rIYyJiPOylK8Kku2P+a23gdKMMqzQS7wTnjWEpk= +github.com/alibabacloud-go/alibabacloud-gateway-pop v0.0.6 h1:eIf+iGJxdU4U9ypaUfbtOWCsZSbTb8AUHvyPrxu6mAA= +github.com/alibabacloud-go/alibabacloud-gateway-pop v0.0.6/go.mod h1:4EUIoxs/do24zMOGGqYVWgw0s9NtiylnJglOeEB5UJo= +github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4/go.mod h1:sCavSAvdzOjul4cEqeVtvlSaSScfNsTQ+46HwlTL1hc= +github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.5 h1:zE8vH9C7JiZLNJJQ5OwjU9mSi4T9ef9u3BURT6LCLC8= +github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.5/go.mod h1:tWnyE9AjF8J8qqLk645oUmVUnFybApTQWklQmi5tY6g= +github.com/alibabacloud-go/darabonba-array v0.1.0 h1:vR8s7b1fWAQIjEjWnuF0JiKsCvclSRTfDzZHTYqfufY= +github.com/alibabacloud-go/darabonba-array v0.1.0/go.mod h1:BLKxr0brnggqOJPqT09DFJ8g3fsDshapUD3C3aOEFaI= +github.com/alibabacloud-go/darabonba-encode-util v0.0.2 h1:1uJGrbsGEVqWcWxrS9MyC2NG0Ax+GpOM5gtupki31XE= +github.com/alibabacloud-go/darabonba-encode-util v0.0.2/go.mod h1:JiW9higWHYXm7F4PKuMgEUETNZasrDM6vqVr/Can7H8= +github.com/alibabacloud-go/darabonba-map v0.0.2 h1:qvPnGB4+dJbJIxOOfawxzF3hzMnIpjmafa0qOTp6udc= +github.com/alibabacloud-go/darabonba-map v0.0.2/go.mod h1:28AJaX8FOE/ym8OUFWga+MtEzBunJwQGceGQlvaPGPc= +github.com/alibabacloud-go/darabonba-openapi/v2 v2.1.12 h1:e2yCrhtWd6Qcsy4he2OL+jIAU+93Lx9OcLlPRoFLT1w= +github.com/alibabacloud-go/darabonba-openapi/v2 v2.1.12/go.mod h1:f2wDpbM7hK9SvLIH09zSKVU1TsyemUNOqErMscMMl7c= +github.com/alibabacloud-go/darabonba-signature-util v0.0.7 h1:UzCnKvsjPFzApvODDNEYqBHMFt1w98wC7FOo0InLyxg= +github.com/alibabacloud-go/darabonba-signature-util v0.0.7/go.mod h1:oUzCYV2fcCH797xKdL6BDH8ADIHlzrtKVjeRtunBNTQ= +github.com/alibabacloud-go/darabonba-string v1.0.2 h1:E714wms5ibdzCqGeYJ9JCFywE5nDyvIXIIQbZVFkkqo= +github.com/alibabacloud-go/darabonba-string v1.0.2/go.mod h1:93cTfV3vuPhhEwGGpKKqhVW4jLe7tDpo3LUM0i0g6mA= +github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68/go.mod h1:6pb/Qy8c+lqua8cFpEy7g39NRRqOWc3rOwAy8m5Y2BY= +github.com/alibabacloud-go/debug v1.0.0/go.mod h1:8gfgZCCAC3+SCzjWtY053FrOcd4/qlH6IHTI4QyICOc= +github.com/alibabacloud-go/debug v1.0.1 h1:MsW9SmUtbb1Fnt3ieC6NNZi6aEwrXfDksD4QA6GSbPg= +github.com/alibabacloud-go/debug v1.0.1/go.mod h1:8gfgZCCAC3+SCzjWtY053FrOcd4/qlH6IHTI4QyICOc= +github.com/alibabacloud-go/endpoint-util v1.1.0 h1:r/4D3VSw888XGaeNpP994zDUaxdgTSHBbVfZlzf6b5Q= +github.com/alibabacloud-go/endpoint-util v1.1.0/go.mod h1:O5FuCALmCKs2Ff7JFJMudHs0I5EBgecXXxZRyswlEjE= +github.com/alibabacloud-go/green-20220302/v2 v2.23.0 h1:t2WsqrKt/ztPq4X2Orh3cvG5PsFdes/IQDkxZmB/f5k= +github.com/alibabacloud-go/green-20220302/v2 v2.23.0/go.mod h1:iZWuUEakwGct+e0NDnTBzOMaoblCUXH8Lf7S5v4kGKg= +github.com/alibabacloud-go/openapi-util v0.1.0 h1:0z75cIULkDrdEhkLWgi9tnLe+KhAFE/r5Pb3312/eAY= +github.com/alibabacloud-go/openapi-util v0.1.0/go.mod h1:sQuElr4ywwFRlCCberQwKRFhRzIyG4QTP/P4y1CJ6Ws= +github.com/alibabacloud-go/tea v1.1.0/go.mod h1:IkGyUSX4Ba1V+k4pCtJUc6jDpZLFph9QMy2VUPTwukg= +github.com/alibabacloud-go/tea v1.1.7/go.mod h1:/tmnEaQMyb4Ky1/5D+SE1BAsa5zj/KeGOFfwYm3N/p4= +github.com/alibabacloud-go/tea v1.1.8/go.mod h1:/tmnEaQMyb4Ky1/5D+SE1BAsa5zj/KeGOFfwYm3N/p4= +github.com/alibabacloud-go/tea v1.1.11/go.mod h1:/tmnEaQMyb4Ky1/5D+SE1BAsa5zj/KeGOFfwYm3N/p4= +github.com/alibabacloud-go/tea v1.1.17/go.mod h1:nXxjm6CIFkBhwW4FQkNrolwbfon8Svy6cujmKFUq98A= +github.com/alibabacloud-go/tea v1.1.20/go.mod h1:nXxjm6CIFkBhwW4FQkNrolwbfon8Svy6cujmKFUq98A= +github.com/alibabacloud-go/tea v1.2.2/go.mod h1:CF3vOzEMAG+bR4WOql8gc2G9H3EkH3ZLAQdpmpXMgwk= +github.com/alibabacloud-go/tea v1.3.12/go.mod h1:A560v/JTQ1n5zklt2BEpurJzZTI8TUT+Psg2drWlxRg= +github.com/alibabacloud-go/tea v1.3.13 h1:WhGy6LIXaMbBM6VBYcsDCz6K/TPsT1Ri2hPmmZffZ94= +github.com/alibabacloud-go/tea v1.3.13/go.mod h1:A560v/JTQ1n5zklt2BEpurJzZTI8TUT+Psg2drWlxRg= +github.com/alibabacloud-go/tea-utils v1.3.1 h1:iWQeRzRheqCMuiF3+XkfybB3kTgUXkXX+JMrqfLeB2I= +github.com/alibabacloud-go/tea-utils v1.3.1/go.mod h1:EI/o33aBfj3hETm4RLiAxF/ThQdSngxrpF8rKUDJjPE= +github.com/alibabacloud-go/tea-utils/v2 v2.0.5/go.mod h1:dL6vbUT35E4F4bFTHL845eUloqaerYBYPsdWR2/jhe4= +github.com/alibabacloud-go/tea-utils/v2 v2.0.7 h1:WDx5qW3Xa5ZgJ1c8NfqJkF6w+AU5wB8835UdhPr6Ax0= +github.com/alibabacloud-go/tea-utils/v2 v2.0.7/go.mod h1:qxn986l+q33J5VkialKMqT/TTs3E+U9MJpd001iWQ9I= github.com/aliyun/alibaba-cloud-sdk-go v1.61.18/go.mod h1:v8ESoHo4SyHmuB4b1tJqDHxfTGEciD+yhvOU/5s1Rfk= -github.com/aliyun/alibaba-cloud-sdk-go v1.61.1376 h1:lExo7heZgdFn5AbaNJEllbA0KSJ/Z8T7MphvMREJOOo= -github.com/aliyun/alibaba-cloud-sdk-go v1.61.1376/go.mod h1:9CMdKNL3ynIGPpfTcdwTvIm8SGuAZYYC4jFVSSvE1YQ= +github.com/aliyun/alibaba-cloud-sdk-go v1.63.107 h1:qagvUyrgOnBIlVRQWOyCZGVKUIYbMBdGdJ104vBpRFU= +github.com/aliyun/alibaba-cloud-sdk-go v1.63.107/go.mod h1:SOSDHfe1kX91v3W5QiBsWSLqeLxImobbMX1mxrFHsVQ= github.com/aliyun/aliyun-oss-go-sdk v2.2.4+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/aliyun/aliyun-oss-go-sdk v2.2.6+incompatible h1:KXeJoM1wo9I/6xPTyt6qCxoSZnmASiAjlrr0dyTUKt8= github.com/aliyun/aliyun-oss-go-sdk v2.2.6+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= +github.com/aliyun/credentials-go v1.1.2/go.mod h1:ozcZaMR5kLM7pwtCMEpVmQ242suV6qTJya2bDq4X1Tw= +github.com/aliyun/credentials-go v1.3.1/go.mod h1:8jKYhQuDawt8x2+fusqa1Y6mPxemTsBEN04dgcAcYz0= +github.com/aliyun/credentials-go v1.3.6/go.mod h1:1LxUuX7L5YrZUWzBrRyk0SwSdH4OmPrib8NVePL3fxM= +github.com/aliyun/credentials-go v1.4.5 h1:O76WYKgdy1oQYYiJkERjlA2dxGuvLRrzuO2ScrtGWSk= +github.com/aliyun/credentials-go v1.4.5/go.mod h1:Jm6d+xIgwJVLVWT561vy67ZRP4lPTQxMbEYRuT2Ti1U= github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x004T2c= github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= @@ -144,6 +191,8 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME= +github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -394,8 +443,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -512,8 +561,9 @@ github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9Y github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= @@ -678,8 +728,9 @@ github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b h1:FfH+VrHHk6Lxt9HdVS0PXzSXFyS2NbZKXv33FYPol0A= +github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b/go.mod h1:AC62GU6hc0BrNm+9RK9VSiwa/EUe1bkIeFORAMcHvJU= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= @@ -805,6 +856,7 @@ github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVs github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e h1:MRM5ITcdelLK2j1vwZ3Je0FKVCfqOLp5zO6trqMLYs0= github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e/go.mod h1:XV66xRDqSt+GTGFMVlhk3ULuV0y9ZmzeVGR4mloJI3M= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/assertions v1.1.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= github.com/smartystreets/assertions v1.1.1 h1:T/YLemO5Yp7KPzS+lVtu+WsHn8yoSwTfItdAd1r3cck= github.com/smartystreets/assertions v1.1.1/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= @@ -839,6 +891,7 @@ github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3 github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -865,6 +918,9 @@ github.com/tevid/gohamcrest v1.1.1 h1:ou+xSqlIw1xfGTg1uq1nif/htZ2S3EzRqLm2BP+tYU github.com/tevid/gohamcrest v1.1.1/go.mod h1:3UvtWlqm8j5JbwYZh80D/PVBt0mJ1eJiYgZMibh0H/k= github.com/tiendc/go-deepcopy v1.6.0 h1:0UtfV/imoCwlLxVsyfUd4hNHnB3drXsfle+wzSCA5Wo= github.com/tiendc/go-deepcopy v1.6.0/go.mod h1:toXoeQoUqXOOS/X4sKuiAoSk6elIdqc0pN7MTgOOo2I= +github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= +github.com/tjfoc/gmsm v1.4.1 h1:aMe1GlZb+0bLjn+cKTPEvvn9oUEBlJitaZiiBwsbgho= +github.com/tjfoc/gmsm v1.4.1/go.mod h1:j4INPkHWMrhJb38G+J6W4Tw0AbuN8Thu3PbdVYhVcTE= github.com/tklauser/go-sysconf v0.3.6 h1:oc1sJWvKkmvIxhDHeKWvZS4f6AW+YcoguSfRF2/Hmo4= github.com/tklauser/go-sysconf v0.3.6/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA= @@ -882,8 +938,9 @@ github.com/u2takey/ffmpeg-go v0.5.0 h1:r7d86XuL7uLWJ5mzSeQ03uvjfIhiJYvsRAJFCW4uk github.com/u2takey/ffmpeg-go v0.5.0/go.mod h1:ruZWkvC1FEiUNjmROowOAps3ZcWxEiOpFoHCvk97kGc= github.com/u2takey/go-utils v0.3.1 h1:TaQTgmEZZeDHQFYfd+AdUT1cT4QJgJn/XVPELhHw4ys= github.com/u2takey/go-utils v0.3.1/go.mod h1:6e+v5vEZ/6gu12w/DC2ixZdZtCrNokVxD0JUklcqdCs= -github.com/uber/jaeger-client-go v2.29.1+incompatible h1:R9ec3zO3sGpzs0abd43Y+fBZRJ9uiH6lXyR/+u6brW4= github.com/uber/jaeger-client-go v2.29.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= +github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= @@ -911,6 +968,7 @@ github.com/xuri/nfp v0.0.1 h1:MDamSGatIvp8uOmDP8FnmjuQpu90NzdJxo7242ANR9Q= github.com/xuri/nfp v0.0.1/go.mod h1:WwHg+CVyzlv/TX9xqBFXEZAuxOPxn2k1GNHwG41IIUQ= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.30/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= @@ -989,11 +1047,21 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1037,6 +1105,10 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1075,6 +1147,7 @@ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -1088,7 +1161,16 @@ golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211105192438-b53810dc28af/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1111,6 +1193,10 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1155,6 +1241,7 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1191,11 +1278,28 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1206,6 +1310,11 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1261,6 +1370,7 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1274,6 +1384,9 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1406,7 +1519,7 @@ gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMy gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.56.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= @@ -1429,6 +1542,7 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= diff --git a/pkg/common/file.go b/pkg/common/file.go index 0a5cdb6..f7f772a 100644 --- a/pkg/common/file.go +++ b/pkg/common/file.go @@ -1,11 +1,14 @@ package common -import "fonchain-fiee/pkg/utils" +import ( + "fonchain-fiee/pkg/utils" +) func Init() { _ = utils.CreateDirPath("./runtime") - utils.CopyFile("./data/policy.html", "./runtime") - utils.CopyFile("./data/service.html", "./runtime") - utils.CopyFile("../data/policy.html", "./runtime") - utils.CopyFile("../data/service.html", "./runtime") + //pkgSecurity.Init() + //utils.CopyFile("./data/policy.html", "./runtime") + //utils.CopyFile("./data/service.html", "./runtime") + //utils.CopyFile("../data/policy.html", "./runtime") + //utils.CopyFile("../data/service.html", "./runtime") } diff --git a/pkg/common/qwen/chat.go b/pkg/common/qwen/chat.go new file mode 100644 index 0000000..04ed09a --- /dev/null +++ b/pkg/common/qwen/chat.go @@ -0,0 +1,32 @@ +package qwen + +import ( + "encoding/json" + "errors" + "fmt" + modelQwen "fonchain-fiee/pkg/model/qwen" + "fonchain-fiee/pkg/utils" + + "go.uber.org/zap" +) + +func Chat(req modelQwen.ChatRequest) (resp *modelQwen.ChatResponse, err error) { + jsonData, err := json.Marshal(req) + if err != nil { + zap.L().Error("GenerateTextImage Marshal failed", zap.Error(err)) + return nil, errors.New("序列化请求失败") + } + body, err := utils.PostBytes("https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions", map[string]interface{}{ + "Authorization": "Bearer " + modelQwen.DashscopeAPIKey, + "Content-Type": "application/json", + }, jsonData) + if err != nil { + zap.L().Error("Chat Post err", zap.Error(err)) + return nil, errors.New("对话异常") + } + var result modelQwen.ChatResponse + if err = json.Unmarshal(body, &result); err != nil { + return nil, fmt.Errorf("解析响应失败: %v", "") + } + return &result, nil +} diff --git a/pkg/common/qwen/image.go b/pkg/common/qwen/image.go index 72a623d..73e0765 100644 --- a/pkg/common/qwen/image.go +++ b/pkg/common/qwen/image.go @@ -2,10 +2,13 @@ package qwen import ( "encoding/json" + "errors" "fmt" modelQwen "fonchain-fiee/pkg/model/qwen" "fonchain-fiee/pkg/utils" "time" + + "go.uber.org/zap" ) // GenerateTextImage 调用通义千问文生图API @@ -19,12 +22,14 @@ func GenerateTextImage(prompt string, size string) (resp *modelQwen.QwenImageRes Watermark: false, PromptExtend: true, Size: size, - N: 1, + N: 4, + Seed: time.Now().Unix(), }, } jsonData, err := json.Marshal(reqBody) if err != nil { - return nil, fmt.Errorf("序列化请求失败: %v", err) + zap.L().Error("GenerateTextImage Marshal failed", zap.Error(err)) + return nil, errors.New("序列化请求失败") } body, err := utils.PostBytes(modelQwen.DashscopeText2ImageURL, map[string]interface{}{ "Authorization": "Bearer " + modelQwen.DashscopeAPIKey, @@ -32,14 +37,15 @@ func GenerateTextImage(prompt string, size string) (resp *modelQwen.QwenImageRes "X-DashScope-Async": "enable", }, jsonData) if err != nil { - return nil, fmt.Errorf("请求失败: %v", err) + zap.L().Error("GenerateTextImage Post failed", zap.Error(err)) + return nil, errors.New("请求生图失败") } var result modelQwen.QwenImageResponse if err = json.Unmarshal(body, &result); err != nil { - return nil, fmt.Errorf("解析响应失败: %v", err) + return nil, fmt.Errorf("解析响应失败: %v", "") } if result.Code != "" { - return nil, fmt.Errorf("生成失败: %s", result.Message) + return nil, fmt.Errorf("生成失败: %s", "") } return &result, nil } @@ -58,12 +64,13 @@ func GenerateEditImage(prompt string, images []string, size string) (*modelQwen. Size: size, N: 4, Watermark: false, - Seed: 0, + Seed: time.Now().Unix(), }, } jsonData, err := json.Marshal(reqBody) if err != nil { - return nil, fmt.Errorf("序列化请求失败: %v", err) + zap.L().Error("GenerateEditImage Marshal failed", zap.Error(err)) + return nil, errors.New("序列化请求失败") } body, err := utils.PostBytes(modelQwen.DashscopeEditImageURL, map[string]interface{}{ "Authorization": "Bearer " + modelQwen.DashscopeAPIKey, @@ -71,14 +78,16 @@ func GenerateEditImage(prompt string, images []string, size string) (*modelQwen. "X-DashScope-Async": "enable", }, jsonData) if err != nil { - return nil, fmt.Errorf("请求失败: %v", err) + zap.L().Error("GenerateEditImage PostBytes failed", zap.Error(err)) + return nil, errors.New("请求异常") } var result modelQwen.QwenImageResponse if err = json.Unmarshal(body, &result); err != nil { - return nil, fmt.Errorf("解析响应失败: %v", err) + zap.L().Error("GenerateEditImage PostBytes failed", zap.Error(err)) + return nil, errors.New("解析响应失败") } if result.Code != "" { - return nil, fmt.Errorf("生成失败: %s", result.Message) + return nil, fmt.Errorf("生成失败: %s", "") } return &result, nil } @@ -90,20 +99,22 @@ func ImgTaskResult(taskID string) (*modelQwen.QwenImageResponse, error) { "Content-Type": "application/json", }) if err != nil { - return nil, fmt.Errorf("请求失败: %v", err) + zap.L().Error("ImgTaskResult GetBytes failed", zap.Error(err)) + return nil, errors.New("请求失败") } var info modelQwen.QwenImageResponse if err = json.Unmarshal(body, &info); err != nil { - return nil, fmt.Errorf("解析响应失败: %v", err) + zap.L().Error("ImgTaskResult Unmarshal failed", zap.Error(err)) + return nil, errors.New("解析响应失败") } if info.Code != "" { - return nil, fmt.Errorf("生成失败: %s", info.Message) + return nil, fmt.Errorf("生成失败: %s", "") } if info.Output.TaskStatus == "FAILED" { return nil, fmt.Errorf("生成失败") } - if len(info.Output.Results) > 0 { + zap.L().Info("ImgTaskResult GetBytes success", zap.String("taskID", taskID), zap.Any("results", info)) return &info, nil } time.Sleep(1 * time.Second) diff --git a/pkg/cron/task.go b/pkg/cron/task.go index f6955b6..b84e4ba 100644 --- a/pkg/cron/task.go +++ b/pkg/cron/task.go @@ -2,6 +2,8 @@ package cron import ( "context" + "encoding/json" + "errors" "fmt" "fonchain-fiee/api/cast" "fonchain-fiee/pkg/cache" @@ -20,10 +22,15 @@ func InitTasks() error { cm := GetCronManager() err := cm.AddTask("refreshWorkApprovalStatus", "0 */1 * * * *", RefreshWorkApprovalStatusTask) err = cm.AddTask("artistAutoConfirm", "0 */1 * * * *", ArtistAutoConfirmTask) + err = cm.AddTask("refreshPublishStatus", "0 */1 * * * *", RefreshPublishStatusTask) if err != nil { - log.Printf("添加测试任务失败: %v", err) + log.Printf("添加定时任务失败: %v", err) } cm.Start() + + // 启动队列消费者 + go WorkPublishQueueConsumer() + return nil } @@ -63,3 +70,76 @@ func ArtistAutoConfirmTask() { serverCast.ProcessTask(context.Background(), workUuid) } } + +func RefreshPublishStatusTask() { + // 加上锁 万一上一批没有同步完 + lockKey := "refresh_publish_status:lock" + reply := cache.RedisClient.SetNX(lockKey, "1", 5*time.Minute) + if !reply.Val() { + zap.L().Warn("任务正在被其他实例处理") + return + } + defer func() { + cache.RedisClient.Del(lockKey) + }() + err := serverCast.RefreshPublish() + if err != nil { + zap.L().Error("刷新发布状态失败", zap.Error(err)) + return + } + zap.L().Info("刷新发布状态成功") +} + +// WorkPublishQueueConsumer 监听work:publish:queue队列的消费者 +func WorkPublishQueueConsumer() { + zap.L().Info("开始监听work:publish:queue队列") + for { + result, err := cache.RedisClient.BRPop(0*time.Second, modelCast.WorkPublishQueueKey).Result() + if err != nil { + zap.L().Error("监听work:publish:queue队列失败", zap.Error(err)) + time.Sleep(5 * time.Second) // 出错后等待5秒再重试 + continue + } + + if len(result) < 2 { + zap.L().Warn("队列返回数据格式异常", zap.Any("result", result)) + continue + } + + workData := result[1] // BRPOP返回[key, value],value在第二个元素 + zap.L().Info("从work:publish:queue队列收到数据", zap.String("data", workData)) + + // 处理队列数据 + if err = processWorkPublishQueueData(workData); err != nil { + zap.L().Error("处理work:publish:queue队列数据失败", zap.Error(err), zap.String("data", workData)) + continue + } + zap.L().Info("成功处理work:publish:queue队列数据", zap.String("data", workData)) + } +} + +// processWorkPublishQueueData 处理从work:publish:queue队列中取出的数据 +func processWorkPublishQueueData(data string) error { + // 延时1秒消费 + time.Sleep(time.Second * 1) + var workData map[string]string + _ = json.Unmarshal([]byte(data), &workData) + workUuid := workData["workUuid"] + if workUuid == "" { + zap.L().Error("队列数据为空", zap.String("raw_data", data)) + return errors.New("队列数据为空") + } + zap.L().Info("处理发布工作队列数据", zap.String("work_uuid", workUuid)) + // 调用发布工作逻辑 + err := serverCast.PublishWork(context.Background(), &cast.PublishReq{ + WorkUuids: []string{workUuid}, + }) + if err != nil { + zap.L().Error("发布工作失败", + zap.String("work_uuid", workUuid), + zap.Error(err)) + return err + } + zap.L().Info("发布工作成功", zap.String("work_uuid", workUuid)) + return nil +} diff --git a/pkg/model/cast/ayrshare.go b/pkg/model/cast/ayrshare.go new file mode 100644 index 0000000..4e6c8aa --- /dev/null +++ b/pkg/model/cast/ayrshare.go @@ -0,0 +1 @@ +package cast diff --git a/pkg/model/cast/media.go b/pkg/model/cast/media.go index 3eaa88c..f9103c3 100644 --- a/pkg/model/cast/media.go +++ b/pkg/model/cast/media.go @@ -7,4 +7,22 @@ const ( BalanceTypeAccountValue BalanceTypeEnum = 1 BalanceTypeImageValue BalanceTypeEnum = 2 BalanceTypeVideoValue BalanceTypeEnum = 3 + BalanceTypeDataValue BalanceTypeEnum = 4 ) + +var PlatformNameKv = map[uint32]string{ + 1: "tiktok", + 3: "instagram", + 4: "DM", +} + +var NamePlatformIDKv = map[string]uint32{ + "tiktok": 1, + "instagram": 3, + "DM": 4, +} +var PlatformIDStrKv = map[string]uint8{ + "TIKTOK": 1, + "INS": 2, + "DM": 4, +} diff --git a/pkg/model/cast/oauth.go b/pkg/model/cast/oauth.go index fd0e0d9..fa4fbaf 100644 --- a/pkg/model/cast/oauth.go +++ b/pkg/model/cast/oauth.go @@ -1,8 +1,9 @@ package cast type OAuthPlatformReq struct { - MediaAccountUuid string `json:"mediaAccountUuid" form:"mediaAccountUuid" binding:"required"` - PlatformID int `json:"platformID" form:"platformID" binding:"required"` + MediaAccountUuid string `json:"mediaAccountUuid" form:"mediaAccountUuid"` + PlatformID int `json:"platformID" form:"platformID"` + ArtistUuid string `json:"artistUuid" form:"artistUuid"` } type OAuthPlatformResp struct { diff --git a/pkg/model/cast/work.go b/pkg/model/cast/work.go index ff3015c..e0dd00c 100644 --- a/pkg/model/cast/work.go +++ b/pkg/model/cast/work.go @@ -13,6 +13,7 @@ const ( const ( AutoConfirmQueueKey = "auto_confirm:queue" AutoConfirmLockKey = "auto_confirm:lock:%s" + WorkPublishQueueKey = "work:publish:queue" ) var WorkCategoryMM = map[int]string{ @@ -43,3 +44,11 @@ var WorkStatusMM = map[int]string{ 8: "未知", 9: "验收确认", } + +type DMPost struct { + ID string `json:"id"` + Title string `json:"title"` + Url string `json:"url"` + Published bool `json:"published"` + Error interface{} +} diff --git a/pkg/model/qwen/chat.go b/pkg/model/qwen/chat.go new file mode 100644 index 0000000..4b29899 --- /dev/null +++ b/pkg/model/qwen/chat.go @@ -0,0 +1,43 @@ +package qwen + +type ChatRequest struct { + Model string `json:"model"` + Messages []Message `json:"messages"` + Seed int64 `json:"seed,omitempty"` + EnableSearch bool `json:"enable_search,omitempty"` +} + +type Message struct { + Role string `json:"role"` + Content []Content `json:"content"` +} + +type Content struct { + Type string `json:"type"` + Text string `json:"text,omitempty"` // 只有 type=text 时有 + ImageURL *ImageURL `json:"image_url,omitempty"` // 只有 type=image_url 时有 +} + +type ImageURL struct { + URL string `json:"url"` +} + +type ChatResponse struct { + Choices []Choice `json:"choices"` +} + +type Choice struct { + Message struct { + Content string `json:"content"` + ReasoningContent string `json:"reasoning_content"` + Role string `json:"role"` + } `json:"message"` + FinishReason string `json:"finish_reason"` +} + +type MoreTextReq struct { + TitlePrompt string `json:"titlePrompt"` + ContentPrompt string `json:"contentPrompt"` + ImagePrompt string `json:"imagePrompt"` + Images []string `json:"images"` +} diff --git a/pkg/model/qwen/image.go b/pkg/model/qwen/image.go index fc4fc55..0fcd62d 100644 --- a/pkg/model/qwen/image.go +++ b/pkg/model/qwen/image.go @@ -11,6 +11,7 @@ type QwenImageRequest struct { Model string `json:"model"` Input QwenImageInput `json:"input"` Parameters QwenImageParameters `json:"parameters"` + Seed int64 `json:"seed"` } type QwenImageInput struct { @@ -28,7 +29,7 @@ type QwenImageParameters struct { N int `json:"n,omitempty"` PromptExtend bool `json:"prompt_extend,omitempty"` Watermark bool `json:"watermark"` //水印 - Seed int `json:"seed,omitempty"` + Seed int64 `json:"seed,omitempty"` } // QwenImageResponse 通义千问文生图响应 @@ -71,7 +72,7 @@ type QwenEditImageParameters struct { Size string `json:"size"` N int `json:"n"` Watermark bool `json:"watermark"` - Seed int `json:"seed"` + Seed int64 `json:"seed"` } type QwenEditImageResponse struct { diff --git a/pkg/router/media.go b/pkg/router/media.go index 65d2595..5e52a77 100644 --- a/pkg/router/media.go +++ b/pkg/router/media.go @@ -26,6 +26,7 @@ func MediaRouter(r *gin.RouterGroup) { mediaNoLogin := r.Group("media") { mediaNoLogin.GET("oauth2callback", serviceCast.OAuth2Callback) + mediaNoLogin.GET("as-oauth2callback", serviceCast.AsOAuth2Callback) mediaNoLogin.Any("test", serviceCast.Test) //mediaNoLogin.GET("dmoauth2callback", serviceCast.DMOAuth2Callback) } @@ -43,7 +44,7 @@ func MediaRouter(r *gin.RouterGroup) { work.POST("delete", serviceCast.DelWork) work.POST("remind", serviceCast.Remind) work.POST("publish-info", serviceCast.PublishInfo) - + work.POST("import-batch", serviceCast.ImportWorkBatch) } script := auth.Group("script") @@ -72,9 +73,15 @@ func MediaRouter(r *gin.RouterGroup) { } //AI 生图 - ai := auth.Group("ai") + aiNoAuth := noAuth.Group("ai") { - ai.POST("image-generate", serviceAI.AIImageGenerate) + aiNoAuth.POST("image-generate", serviceAI.AIImageGenerate) + aiNoAuth.POST("text-generate", serviceAI.AIChat) + } + aiAuth := auth.Group("ai") + { + aiAuth.POST("one-text", serviceAI.OneText) + aiAuth.POST("more-text", serviceAI.MoreText) } social := noAuth.Group("social") diff --git a/pkg/security/init.go b/pkg/security/init.go new file mode 100644 index 0000000..2084603 --- /dev/null +++ b/pkg/security/init.go @@ -0,0 +1,27 @@ +package security + +import ( + "github.com/fonchain/utils/security" + "go.uber.org/zap" +) + +var ImageScanner *security.ImageScanner + +func Init() { + config, err := security.LoadConfigFromFile("../conf/alibabacloud.env") + if err != nil { + zap.L().Error("load config fail", zap.Error(err)) + panic(err) + //err = errors.New("加载黄反配置失败") + //return false, err + } + if err = config.GetSTSToken(); err != nil { + zap.L().Error("load sts token failed", zap.Error(err)) + panic(err) + + } + ImageScanner, err = security.NewImageScanner(config) + if err != nil { + panic(err) + } +} diff --git a/pkg/service/ai/chat.go b/pkg/service/ai/chat.go new file mode 100644 index 0000000..1480f1e --- /dev/null +++ b/pkg/service/ai/chat.go @@ -0,0 +1,28 @@ +package ai + +import ( + "fonchain-fiee/pkg/common/qwen" + modelQwen "fonchain-fiee/pkg/model/qwen" + "fonchain-fiee/pkg/service" + "time" + + "errors" + + "github.com/gin-gonic/gin" +) + +func AIChat(ctx *gin.Context) { + var req modelQwen.ChatRequest + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, errors.New("参数错误 ")) + return + } + req.Seed = time.Now().Unix() + resp, err := qwen.Chat(req) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) + return +} diff --git a/pkg/service/ai/image.go b/pkg/service/ai/image.go index b90d7c7..e7813e2 100644 --- a/pkg/service/ai/image.go +++ b/pkg/service/ai/image.go @@ -8,20 +8,22 @@ import ( "fonchain-fiee/pkg/model/login" modelQwen "fonchain-fiee/pkg/model/qwen" "fonchain-fiee/pkg/service" + "regexp" "strings" "time" + "unicode" "github.com/gin-gonic/gin" ) // ImageGenerateRequest 文生图请求参数 type ImageGenerateRequest struct { - Prompt string `json:"prompt" binding:"required"` - Size string `json:"size,omitempty"` - NegativePrompt string `json:"negative_prompt,omitempty"` - Watermark bool `json:"watermark,omitempty"` - PromptExtend bool `json:"prompt_extend,omitempty"` - Images []string `json:"images" binding:"required"` + Prompt string `json:"prompt"` + Size string `json:"size"` + NegativePrompt string `json:"negative_prompt"` + Watermark bool `json:"watermark"` + PromptExtend bool `json:"prompt_extend"` + Images []string `json:"images"` } // ImageGenerateResponse 文生图响应数据 @@ -39,11 +41,29 @@ type ImageGenerateResponse struct { func AIImageGenerate(ctx *gin.Context) { var req ImageGenerateRequest if err := ctx.ShouldBindJSON(&req); err != nil { - service.Error(ctx, errors.New("参数错误: "+err.Error())) + service.Error(ctx, errors.New("参数错误: ")) return } //检测之前是否有图片生成 - loginUserInfo := login.GetUserInfoFromC(ctx) + //loginUserInfo := login.GetUserInfoFromC(ctx) + loginUserInfo := login.Info{ + ID: 1, + Status: 0, + Name: "", + Sex: "", + Nationality: "", + DocumentType: 0, + CertificatePicture: "", + Validity: "", + PlaceOfResidence: "", + GroupPhoto: "", + Attachment: "", + SubNum: "", + NotPassRemarks: "", + Domain: "", + TelNum: "", + SubscriberNumber: "", + } if req.Prompt == "" { service.Error(ctx, errors.New("提示词不能为空")) return @@ -99,3 +119,368 @@ func AIImageGenerate(ctx *gin.Context) { cache.RedisClient.Del(lockKey) service.Success(ctx, result) } + +func OneText(ctx *gin.Context) { + var req ImageGenerateRequest + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, errors.New("参数错误: ")) + return + } + type ResultAll struct { + Result []struct { + Url string `json:"url"` + OrigPrompt string `json:"orig_prompt"` + ActualPrompt string `json:"actual_prompt"` + } `json:"result"` + Title string `json:"title"` + Content string `json:"content"` + Prompt string `json:"prompt"` + } + var resultAll ResultAll + if req.Prompt == "" { + service.Error(ctx, errors.New("提示词不能为空")) + return + } + if len(req.Images) > 3 { + service.Error(ctx, errors.New("最多只能上传3张图片")) + return + } + loginUserInfo := login.GetUserInfoFromC(ctx) + if req.Size == "" { + req.Size = "1024*1024" + } + var lockKey, taskID, oldVal string + if len(req.Images) == 0 { + lockKey = "generate:text_image:" + fmt.Sprint(loginUserInfo.ID) + } else { + lockKey = "generate:edit_image:" + fmt.Sprint(loginUserInfo.ID) + } + reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), time.Minute*60) + if !reply.Val() { + oldVal = cache.RedisClient.Get(lockKey).String() + if len(oldVal) > 20 && strings.Index(oldVal, "_") != -1 { + taskID = oldVal[strings.LastIndex(oldVal, "_")+1:] + } + } else { + defer cache.RedisClient.Del(lockKey) + } + var resultTask, result *modelQwen.QwenImageResponse + var err error + if taskID == "" { + // 先进行聊天获取上下文 + chatReq, err1 := ChatReqGet(req) + if err1 != nil { + service.Error(ctx, err1) + return + } + chatResp, err2 := qwen.Chat(*chatReq) + if err2 != nil { + service.Error(ctx, err2) + return + } + if len(chatResp.Choices) == 0 { + service.Error(ctx, errors.New("聊天返回结果为空")) + return + } + req.Prompt = chatResp.Choices[0].Message.Content + resultAll.Prompt = req.Prompt + if len(req.Images) == 0 { + resultTask, err = qwen.GenerateTextImage(req.Prompt, req.Size) + if err != nil { + service.Error(ctx, err) + return + } + taskID = resultTask.Output.TaskID + cache.RedisClient.Set(lockKey, time.Now().Format("2006-01-02 15:04:05")+"_"+taskID, time.Minute*5) + } else { + resultTask, err = qwen.GenerateEditImage(req.Prompt, req.Images, req.Size) + if err != nil { + service.Error(ctx, err) + return + } + if resultTask.Code != "" { + service.Error(ctx, errors.New("文生图失败: "+resultTask.Message)) + return + } + taskID = resultTask.Output.TaskID + cache.RedisClient.Set(lockKey, time.Now().Format("2006-01-02 15:04:05")+"_"+taskID, time.Minute*5) + } + } + result, err = qwen.ImgTaskResult(taskID) + if err != nil { + service.Error(ctx, err) + return + } + cache.RedisClient.Del(lockKey) + if len(result.Output.Results) == 0 { + service.Error(ctx, errors.New("图片生成失败")) + return + } + resultAll.Title, resultAll.Content = extractTitleAndContent(req.Prompt) + for _, v := range result.Output.Results { + resultAll.Result = append(resultAll.Result, struct { + Url string `json:"url"` + OrigPrompt string `json:"orig_prompt"` + ActualPrompt string `json:"actual_prompt"` + }{ + Url: v.URL, + OrigPrompt: v.OrigPrompt, + ActualPrompt: v.ActualPrompt, + }) + } + service.Success(ctx, resultAll) +} + +func MoreText(ctx *gin.Context) { + var req modelQwen.MoreTextReq + if err := ctx.ShouldBindJSON(&req); err != nil { + service.Error(ctx, errors.New("参数错误 ")) + return + } + + type ResultAll struct { + Title string `json:"title"` + Content string `json:"content"` + Result []struct { + Url string `json:"url"` + OrigPrompt string `json:"orig_prompt"` + ActualPrompt string `json:"actual_prompt"` + } `json:"result"` + } + + var resultAll ResultAll + + // 三个协程:两个去请求聊天,一个去生成图片 + type chatResult struct { + title string + content string + err error + } + + type imageResult struct { + result *modelQwen.QwenImageResponse + err error + } + + // 协程1:生成标题(标题和内容加附件图片都请求聊天生成文字) + titleChan := make(chan chatResult, 1) + go func() { + chatReq, err := buildChatRequest(req.TitlePrompt, req.Images) + if err != nil { + titleChan <- chatResult{err: err} + return + } + chatResp, err := qwen.Chat(*chatReq) + if err != nil { + titleChan <- chatResult{err: err} + return + } + if len(chatResp.Choices) == 0 { + titleChan <- chatResult{err: errors.New("标题聊天返回结果为空")} + return + } + titleChan <- chatResult{title: chatResp.Choices[0].Message.Content} + }() + + // 协程2:生成内容(标题和内容加附件图片都请求聊天生成文字) + contentChan := make(chan chatResult, 1) + go func() { + chatReq, err := buildChatRequest(req.ContentPrompt, req.Images) + if err != nil { + contentChan <- chatResult{err: err} + return + } + chatResp, err := qwen.Chat(*chatReq) + if err != nil { + contentChan <- chatResult{err: err} + return + } + if len(chatResp.Choices) == 0 { + contentChan <- chatResult{err: errors.New("内容聊天返回结果为空")} + return + } + contentChan <- chatResult{content: chatResp.Choices[0].Message.Content} + }() + + // 协程3:生成图片(图片要求加附件去生成图片) + imageChan := make(chan imageResult, 1) + go func() { + // 先请求聊天获取图片提示词(图片要求加附件去生成图片) + chatReq, err := buildChatRequest(req.ImagePrompt, req.Images) + if err != nil { + imageChan <- imageResult{err: err} + return + } + fmt.Println("chat" + time.Now().Format("2006-01-02 15:04:05")) + chatResp, err := qwen.Chat(*chatReq) + if err != nil { + imageChan <- imageResult{err: err} + return + } + if len(chatResp.Choices) == 0 { + imageChan <- imageResult{err: errors.New("图片提示词聊天返回结果为空")} + return + } + imagePrompt := chatResp.Choices[0].Message.Content + fmt.Println("chat ok" + time.Now().Format("2006-01-02 15:04:05")) + // 生成图片(图片要求加附件去生成图片) + size := "1024*1024" + var resultTask *modelQwen.QwenImageResponse + if len(req.Images) == 0 { + resultTask, err = qwen.GenerateTextImage(imagePrompt, size) + } else { + resultTask, err = qwen.GenerateEditImage(imagePrompt, req.Images, size) + } + if err != nil { + imageChan <- imageResult{err: err} + return + } + if resultTask.Code != "" { + imageChan <- imageResult{err: errors.New("文生图失败: " + resultTask.Message)} + return + } + fmt.Println("task" + time.Now().Format("2006-01-02 15:04:05")) + // 等待图片生成完成 + result, err := qwen.ImgTaskResult(resultTask.Output.TaskID) + if err != nil { + imageChan <- imageResult{err: err} + return + } + fmt.Println("image" + time.Now().Format("2006-01-02 15:04:05")) + imageChan <- imageResult{result: result} + }() + + // 等待所有协程完成(并发收集结果) + var titleRes chatResult + var contentRes chatResult + var imageRes imageResult + + // 使用 select 来并发等待所有结果 + completed := 0 + total := 3 + + for completed < total { + select { + case titleRes = <-titleChan: + completed++ + case contentRes = <-contentChan: + completed++ + case imageRes = <-imageChan: + completed++ + } + } + + // 处理标题结果 + if titleRes.err != nil { + service.Error(ctx, fmt.Errorf("生成标题失败: %v", titleRes.err)) + return + } + resultAll.Title = titleRes.title + + // 处理内容结果 + if contentRes.err != nil { + service.Error(ctx, fmt.Errorf("生成内容失败: %v", contentRes.err)) + return + } + resultAll.Content = contentRes.content + + // 处理图片结果 + if imageRes.err != nil { + service.Error(ctx, fmt.Errorf("生成图片失败: %v", imageRes.err)) + return + } + + if imageRes.result == nil || len(imageRes.result.Output.Results) == 0 { + service.Error(ctx, errors.New("图片生成失败")) + return + } + + // 组装图片结果 + for _, v := range imageRes.result.Output.Results { + resultAll.Result = append(resultAll.Result, struct { + Url string `json:"url"` + OrigPrompt string `json:"orig_prompt"` + ActualPrompt string `json:"actual_prompt"` + }{ + Url: v.URL, + OrigPrompt: v.OrigPrompt, + ActualPrompt: v.ActualPrompt, + }) + } + service.Success(ctx, resultAll) +} + +// buildChatRequest 组装聊天的参数(用于 MoreText) +func buildChatRequest(prompt string, images []string) (*modelQwen.ChatRequest, error) { + if prompt == "" { + return nil, errors.New("提示词不能为空") + } + var chatReq modelQwen.ChatRequest + chatReq.Model = "qwen3-max" //qwen3-max qwen-plus qwen-flash + var content []modelQwen.Content + content = append(content, modelQwen.Content{Type: "text", Text: prompt}) + for _, v := range images { + if v != "" { + content = append(content, modelQwen.Content{Type: "image_url", ImageURL: &modelQwen.ImageURL{URL: v}}) + } + } + chatReq.Messages = []modelQwen.Message{ + { + Role: "user", + Content: content, + }, + } + chatReq.Seed = time.Now().Unix() + return &chatReq, nil +} + +// ChatReqGet 组装聊天的参数 +func ChatReqGet(req ImageGenerateRequest) (*modelQwen.ChatRequest, error) { + return buildChatRequest(req.Prompt, req.Images) +} + +func cleanTitle(s string) string { + var b strings.Builder + for _, r := range strings.TrimSpace(s) { + if unicode.Is(unicode.Han, r) || unicode.IsLetter(r) || unicode.IsDigit(r) || + unicode.IsPunct(r) || unicode.IsSpace(r) { + b.WriteRune(r) + } + } + out := strings.ReplaceAll(b.String(), "*", "") + out = strings.TrimSpace(out) + return out +} + +// extractTitleAndContent 从完整文本中提取 title 和 content +func extractTitleAndContent(text string) (title, content string) { + reTitleLine := regexp.MustCompile(`(?m).*标题[::]\s*(.+)$`) + if m := reTitleLine.FindStringSubmatch(text); len(m) >= 2 { + title = cleanTitle(m[1]) + } + + reContent := regexp.MustCompile(`(?s)标题[::].*?\n\s*\n(.*?)(?:\n\s*\n📸|\n\s*\n#|$)`) + if m := reContent.FindStringSubmatch(text); len(m) >= 2 { + content = strings.TrimSpace(m[1]) + content = regexp.MustCompile(`\n+`).ReplaceAllString(content, "\n") + // 如果你希望把段内换行变成句内空格,可用下面这一行代替上面换行替换 + // content = regexp.MustCompile(`\s*\n\s*`).ReplaceAllString(content, " ") + } + + if content == "" && title != "" { + idx := strings.Index(text, title) + if idx >= 0 { + after := text[idx+len(title):] + after = strings.ReplaceAll(after, "**", "") + // 截到 "📸" 或 第一个 "#" 标签 + if i := strings.Index(after, "📸"); i >= 0 { + after = after[:i] + } else if i := strings.Index(after, "#"); i >= 0 { + after = after[:i] + } + content = strings.TrimSpace(after) + } + } + + return title, content +} diff --git a/pkg/service/cast/media.go b/pkg/service/cast/media.go index 41b00cd..bcb4973 100644 --- a/pkg/service/cast/media.go +++ b/pkg/service/cast/media.go @@ -2,9 +2,11 @@ package cast import ( "context" + "encoding/json" "errors" "fmt" "fonchain-fiee/api/accountFiee" + "fonchain-fiee/api/aryshare" "fonchain-fiee/api/bundle" "fonchain-fiee/api/cast" "fonchain-fiee/cmd/config" @@ -17,7 +19,6 @@ import ( "github.com/gin-gonic/gin" "go.uber.org/zap" - "google.golang.org/protobuf/types/known/emptypb" ) func MediaUserList(ctx *gin.Context) { @@ -36,6 +37,11 @@ func MediaUserList(ctx *gin.Context) { service.Error(ctx, err) return } + go func() { + for _, v := range resp.Data { + _ = SyncAsAuth(v.ArtistUuid) + } + }() service.Success(ctx, resp) return } @@ -106,22 +112,39 @@ func UpdateMediaAccount(ctx *gin.Context) { return } // 查询艺人的信息 + userResp, err := service.CastProvider.MediaUserList(context.Background(), &cast.MediaUserListReq{ + ArtistUuid: req.ArtistUuid, + Page: 1, + PageSize: 10, + }) + if err != nil { + service.Error(ctx, err) + return + } + if userResp != nil && len(userResp.Data) > 0 { + for _, v := range userResp.Data { + if v.PlatformID == uint32(req.PlatformID) { + service.Error(ctx, errors.New("账号已存在")) + return + } + } + } // 字符串转整型 artistID, err := strconv.ParseUint(req.ArtistUuid, 10, 64) - if config.AppConfig.System.AppMode != "dev" { - infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ - ID: artistID, - Domain: "app", - }) - if err != nil { - service.Error(ctx, err) - return - } - } else { - infoResp = &accountFiee.UserInfoResponse{ - Name: "小波", - TelNum: "18288888888", - } + infoResp, err = GetArtistAccountInfo(artistID) + if err != nil { + service.Error(ctx, err) + return + } + if infoResp.SubNum == "" { + service.Error(ctx, errors.New("用户不存在")) + return + } + + //TODO 判断是否注册ay + if err = CheckAsProfile(infoResp); err != nil { + service.Error(ctx, err) + return } req.ArtistName = infoResp.Name req.ArtistPhone = infoResp.TelNum @@ -166,8 +189,8 @@ func UpdateMediaAccount(ctx *gin.Context) { // 账号授权 func OAuthAccount(ctx *gin.Context) { - var req *cast.OAuthAccountReq - var resp *cast.OAuthAccountResp + var req *cast.OAuthAccountV2Req + var resp *cast.OAuthAccountV2Resp var err error if err = ctx.ShouldBind(&req); err != nil { service.Error(ctx, err) @@ -177,11 +200,55 @@ func OAuthAccount(ctx *gin.Context) { service.Error(ctx, err) return } - if resp, err = service.CastProvider.OAuthAccount(ctx, req); err != nil { + mediaResp, err := service.CastProvider.MediaUserList(ctx, &cast.MediaUserListReq{ + MediaUserID: req.MediaAccountUuid, + Page: 1, + PageSize: 1, + }) + if err != nil { service.Error(ctx, err) return } - service.Success(ctx, resp) + if mediaResp == nil || len(mediaResp.Data) == 0 { + service.Error(ctx, errors.New("未找到该账号")) + return + } + if err = SyncAsAuth(mediaResp.Data[0].ArtistUuid); err != nil { + service.Error(ctx, err) + return + } + if resp, err = service.CastProvider.OAuthAccountV2(ctx, req); err != nil { + service.Error(ctx, err) + return + } + if cast.PlatformIDENUM_DM == cast.PlatformIDENUM(resp.PlatformID) { + service.Success(ctx, map[string]interface{}{ + "url": resp.AuthUrl, + }) + return + } + if resp.ProfileKey == "" { + service.Error(ctx, errors.New("艺人未添加平台账号")) + return + } + jwtReq := &aryshare.GenerateJWTRequest{ + Domain: "", + PrivateKey: "", + ProfileKey: resp.ProfileKey, + Logout: true, + Redirect: fmt.Sprintf("%s?artistUuid=%s&platformID=%d", config.AppConfig.System.AuthCallback, resp.ArtistUuid, resp.PlatformID), + AllowedSocial: []string{modelCast.PlatformNameKv[resp.PlatformID]}, + Verify: false, + Base64: false, + ExpiresIn: 0, + Email: nil, + } + jwtResp, err := service.AyrshareProvider.GenerateJWT(context.Background(), jwtReq) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, jwtResp) return } @@ -230,6 +297,89 @@ func OAuth2Callback(ctx *gin.Context) { return } + +func AsOAuth2Callback(ctx *gin.Context) { + var ( + //platformIds string + //userID string + ) + artistUuid := ctx.Query("artistUuid") + //platformIDs := ctx.Query("platformID") + //platformID, _ := strconv.ParseInt(platformIDs, 10, 64) + // 刷新授权 + var err error + var req modelCast.OAuthPlatformReq + if err = ctx.ShouldBind(&req); err != nil { + //service.Error(ctx, err) + ctx.Redirect(http.StatusFound, fmt.Sprintf("%s?status=%d&message=%s", config.AppConfig.System.AuthRedirectUrl, 1, "参数错误")) + return + } + err = SyncAsAuth(artistUuid) + if err != nil { + ctx.Redirect(http.StatusFound, fmt.Sprintf("%s?status=%d&message=%s", config.AppConfig.System.AuthRedirectUrl, 1, err.Error())) + return + } + ctx.Redirect(http.StatusFound, fmt.Sprintf("%s?status=%d&message=%s", config.AppConfig.System.AuthRedirectUrl, 0, "")) + return +} + +func SyncAsAuth(artistUuid string) error { + resp, err := service.CastProvider.GetArtist(context.Background(), &cast.GetArtistReq{ArtistUuid: artistUuid}) + if err != nil { + return errors.New("获取艺人信息错误") + } + if resp == nil || resp.ArtistInfo == nil || resp.ArtistInfo.ProfileKey == "" { + return errors.New("艺人未注册") + } + userResp, err := service.AyrshareProvider.GetUser(context.Background(), &aryshare.GetUserRequest{ + ProfileKey: resp.ArtistInfo.ProfileKey, + InstagramDetails: true, + }) + if err != nil { + return errors.New("获取艺人绑定信息错误") + } + var authReq *cast.UpdateOAuthReq + authReq = &cast.UpdateOAuthReq{Data: make([]*cast.UpdateOAuthReq_Info, 0)} + if len(userResp.DisplayNames) == 0 { + //return errors.New("没有授权信息") + authReq.Data = append(authReq.Data, &cast.UpdateOAuthReq_Info{ + ArtistUuid: artistUuid, + PlatformID: cast.PlatformIDENUM_UNKNOWN, + AsID: "", + PlatformUserName: "", + AutInfo: "", + }) + _, err = service.CastProvider.UpdateOAuth(context.Background(), authReq) + if err != nil { + return errors.New("同步授权信息失败") + } + return nil + } + + var asInfoB []byte + for _, v := range userResp.DisplayNames { + asInfoB, _ = json.Marshal(v) + platformIDENUM := cast.PlatformIDENUM(modelCast.NamePlatformIDKv[v.Platform]) + if platformIDENUM == cast.PlatformIDENUM_UNKNOWN { + continue + } + authReq.Data = append(authReq.Data, &cast.UpdateOAuthReq_Info{ + ArtistUuid: artistUuid, + PlatformID: platformIDENUM, + AsID: v.Id, + PlatformUserName: v.Username, + AutInfo: string(asInfoB), + }) + } + if len(authReq.Data) != 0 { + _, err = service.CastProvider.UpdateOAuth(context.Background(), authReq) + if err != nil { + return errors.New("同步授权信息失败") + } + } + return nil +} + func RefreshToken(ctx *gin.Context) { var req *cast.RefreshTokenReq var resp *cast.RefreshTokenResp @@ -270,7 +420,47 @@ func ArtistInfo(ctx *gin.Context) { return } -func Test(ctx *gin.Context) { - service.CastProvider.Test(ctx, &emptypb.Empty{}) - return +func CheckAsProfile(infoResp *accountFiee.UserInfoResponse) error { + var asArtistResp *cast.GetArtistResp + var err error + title := fmt.Sprintf("%s_%s", config.AppConfig.System.AppMode, infoResp.SubNum) + // 查询艺人的信息 + if asArtistResp, err = service.CastProvider.GetArtist(context.Background(), &cast.GetArtistReq{ + ArtistUuid: fmt.Sprint(infoResp.Id), + }); err != nil { + return err + } + if asArtistResp != nil && asArtistResp.ArtistInfo != nil && asArtistResp.ArtistInfo.ProfileKey != "" { + return nil + } + createProfileResp, err := service.AyrshareProvider.CreateProfile(context.Background(), &aryshare.CreateProfileRequest{ + Title: title, + MessagingActive: true, + HideTopHeader: false, + TopHeader: "", + DisableSocial: nil, + Team: false, + Email: "", + SubHeader: "", + Tags: []string{config.AppConfig.System.AppMode}, + }) + if err != nil { + zap.L().Error("CreateProfile error", zap.Error(err)) + err = errors.New("创建平台艺人账号失败") + return err + } + zap.L().Info("CreateProfile success", zap.Any("createProfileResp", createProfileResp), zap.Any("title", title)) + _, err = service.CastProvider.UpdateArtist(context.Background(), &cast.UpdateArtistReq{ + Uuid: asArtistResp.Uuid, + ArtistInfo: &cast.ArtistInfo{ + ArtistUuid: fmt.Sprint(infoResp.Id), + RefID: createProfileResp.RefId, + ProfileKey: createProfileResp.ProfileKey, + SubNum: infoResp.SubNum, + }, + }) + if err != nil { + return err + } + return nil } diff --git a/pkg/service/cast/script.go b/pkg/service/cast/script.go index 5d315c4..0cf993d 100644 --- a/pkg/service/cast/script.go +++ b/pkg/service/cast/script.go @@ -191,13 +191,14 @@ func ImportBatch(ctx *gin.Context) { req.Data = append(req.Data, &temp) continue } - subInfoResp, _err := service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{ + var subInfoResp *accountFiee.UserInfoResponse + subInfoResp, err = service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{ SubNum: row[2], Domain: "app", }) - if _err != nil { - zap.L().Error("AccountFieeProvider.SubNumGetInfo", zap.Error(_err)) - temp.Remark = _err.Error() + if err != nil { + zap.L().Error("AccountFieeProvider.SubNumGetInfo", zap.Error(err)) + temp.Remark = err.Error() } else { temp.ArtistUuid = fmt.Sprint(subInfoResp.Id) temp.ArtistName = subInfoResp.Name diff --git a/pkg/service/cast/test.go b/pkg/service/cast/test.go new file mode 100644 index 0000000..7181fc5 --- /dev/null +++ b/pkg/service/cast/test.go @@ -0,0 +1,104 @@ +package cast + +import ( + "context" + "fmt" + "fonchain-fiee/api/aryshare" + "fonchain-fiee/api/cast" + "fonchain-fiee/cmd/config" + "fonchain-fiee/pkg/service" + "fonchain-fiee/pkg/utils" + + "github.com/gin-gonic/gin" +) + +func Test(ctx *gin.Context) { + action := ctx.PostForm("action") + if action == "getPost" { + id := ctx.PostForm("id") + profileKey := ctx.PostForm("profileKey") + resp, err := service.AyrshareProvider.GetPost(context.Background(), &aryshare.GetPostRequest{ + Id: id, + ProfileKey: profileKey, + }) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) + return + } + if action == "refreshPost" { + err := RefreshPublish() + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, "刷新成功") + return + } + if action == "updateStatus" { + resp, err := service.CastProvider.UpdateStatus(context.Background(), &cast.UpdateStatusReq{ + WorkAction: cast.WorkActionENUM_CONFIRM, + WorkUuid: "00059232-3696-4c3e-a960-125955f2d881", + ApprovalID: "", + ConfirmRemark: "", + ConfirmStatus: 1, + ApprovalReply: "", + AutoPublish: 0, + CostType: 1, + }) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) + return + } + if action == "dmGet" { + mediaUuid := ctx.PostForm("mediaUuid") + token := ctx.PostForm("token") + _, dmData, err := utils.GetUrl(fmt.Sprintf("https://api.dailymotion.com/video/%s?fields=id,title,url,published,private", mediaUuid), + map[string]string{"Authorization": "Bearer " + token}, config.AppConfig.System.ProxyUrl) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, dmData) + return + } + + if action == "" { + profileKey := ctx.PostForm("profileKey") + resp, err := service.AyrshareProvider.GetUser(context.Background(), &aryshare.GetUserRequest{ + ProfileKey: profileKey, + InstagramDetails: true, + }) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) + return + } + if action == "getProfile" { + //profileKey := ctx.PostForm("profileKey") + resp, err := service.AyrshareProvider.GetProfiles(context.Background(), &aryshare.GetProfilesRequest{ + Title: "", + RefId: "", + HasActiveSocialAccounts: false, + IncludesActiveSocialAccounts: nil, + ActionLog: nil, + Limit: 0, + Cursor: "", + }) + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, resp) + return + } + service.Success(ctx, "unknow") + return +} diff --git a/pkg/service/cast/user.go b/pkg/service/cast/user.go index a85825c..8f1c452 100644 --- a/pkg/service/cast/user.go +++ b/pkg/service/cast/user.go @@ -3,8 +3,10 @@ package cast import ( "context" "fmt" + "fonchain-fiee/api/accountFiee" "fonchain-fiee/cmd/config" "fonchain-fiee/pkg/model/login" + "fonchain-fiee/pkg/service" "dubbo.apache.org/dubbo-go/v3/common/constant" "github.com/gin-gonic/gin" @@ -38,3 +40,25 @@ func NewCtxWithUserInfo(ctx *gin.Context) (newCtx context.Context) { newCtx = context.WithValue(context.Background(), constant.DubboCtxKey("attachment"), mm) return } + +func GetArtistAccountInfo(artistID uint64) (*accountFiee.UserInfoResponse, error) { + var infoResp *accountFiee.UserInfoResponse + var err error + if config.AppConfig.System.AppMode != "dev" { + infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ + ID: artistID, + Domain: "app", + }) + if err != nil { + return nil, err + } + } else { + infoResp = &accountFiee.UserInfoResponse{ + Id: 1234, + Name: "小波", + TelNum: "18288888888", + SubNum: "T12345", + } + } + return infoResp, nil +} diff --git a/pkg/service/cast/work.go b/pkg/service/cast/work.go index 9c38deb..417f88f 100644 --- a/pkg/service/cast/work.go +++ b/pkg/service/cast/work.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "fonchain-fiee/api/accountFiee" + "fonchain-fiee/api/aryshare" "fonchain-fiee/api/bundle" "fonchain-fiee/api/cast" "fonchain-fiee/cmd/config" @@ -15,13 +16,17 @@ import ( modelCast "fonchain-fiee/pkg/model/cast" "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/service" + "fonchain-fiee/pkg/service/check" + "fonchain-fiee/pkg/utils" "fonchain-fiee/pkg/utils/stime" "io" + "path/filepath" "strconv" "time" "dubbo.apache.org/dubbo-go/v3/common/constant" "github.com/gin-gonic/gin" + "github.com/xuri/excelize/v2" "go.uber.org/zap" ) @@ -261,14 +266,18 @@ func CheckUserBundleBalance(userID int32, balanceType modelCast.BalanceTypeEnum) err = errors.New(e.ErrorBalanceInsufficient) return } + case modelCast.BalanceTypeDataValue: + if resp.DataAnalysisNumber-resp.DataAnalysisConsumptionNumber <= 0 { + err = errors.New(e.ErrorBalanceInsufficient) + return + } } return } func Publish(ctx *gin.Context) { var ( - req *cast.PublishReq - resp *cast.PublishResp + req *cast.PublishReq //workInfoResp *cast.WorkInfoResp ) var err error @@ -277,12 +286,220 @@ func Publish(ctx *gin.Context) { return } newCtx := NewCtxWithUserInfo(ctx) - resp, err = service.CastProvider.Publish(newCtx, req) - if err != nil { + if err = PublishWork(newCtx, req); err != nil { service.Error(ctx, err) return } - service.Success(ctx, resp) + service.Success(ctx, req) + return +} + +// PublishWork 统一发布 +func PublishWork(ctx context.Context, req *cast.PublishReq) error { + //检测所有艺人的账号状态 + if len(req.WorkUuids) == 0 { + return errors.New("请选择作品") + } + var err error + var artistUuids []string + for _, workUuid := range req.WorkUuids { + var workInfoResp *cast.WorkInfoResp + workInfoResp, err = service.CastProvider.WorkInfo(ctx, &cast.WorkInfoReq{WorkUuid: workUuid}) + if err != nil { + continue + } + artistUuids = append(artistUuids, workInfoResp.ArtistUuid) + } + artistUuids = utils.UniqueT(artistUuids) + for _, artistUuid := range artistUuids { + _ = SyncAsAuth(artistUuid) + } + _, err = service.CastProvider.Publish(ctx, req) + if err != nil { + return err + } + var errs []error + errs = PostAS(req.WorkUuids) + if len(errs) > 0 { + var errMsg string + for _, v := range errs { + errMsg += v.Error() + " " + } + return errors.New(errMsg) + } + return nil +} + +func PostAS(workUuids []string) (errs []error) { + for _, workUuid := range workUuids { + workDetail, _err := service.CastProvider.WorkDetail(context.Background(), &cast.WorkDetailReq{ + WorkUuid: workUuid, + }) + if _err != nil { + errs = append(errs, errors.New("获取作品详情失败")) + zap.L().Error("Publish WorkDetail failed", zap.String("workUuid", workUuid), zap.Error(_err)) + continue + } + //if workDetail.WorkStatus != 9 { // 微服务做判断了这边不用判断 + // errs = append(errs, fmt.Errorf("作品状态不正确,标题是:%s", workDetail.Title)) + // continue + //} + needPlatformIDs := workDetail.NeedPlatformIDs + if len(needPlatformIDs) == 0 { + errs = append(errs, errors.New("没有平台可发布")) + continue + } + var mediaUrls []string + var isVideo bool + if workDetail.WorkCategory == 1 { + isVideo = false + mediaUrls = workDetail.Images + } + if workDetail.WorkCategory == 2 { + isVideo = true + mediaUrls = []string{workDetail.VideoUrl} + } + ArtistInfoResp, _err := service.CastProvider.GetArtist(context.Background(), &cast.GetArtistReq{ + ArtistUuid: workDetail.ArtistUuid, + }) + if _err != nil { + errs = append(errs, errors.New("获取艺人信息失败")) + continue + } + if ArtistInfoResp == nil || ArtistInfoResp.ArtistInfo == nil || ArtistInfoResp.ArtistInfo.ProfileKey == "" { + errs = append(errs, errors.New("艺人平台信息未配置")) + continue + } + + for _, platformID := range needPlatformIDs { + var postResp *aryshare.PostResponse = &aryshare.PostResponse{} + postReq := &aryshare.PostRequest{ + Post: workDetail.Title, + Platforms: []string{modelCast.PlatformNameKv[uint32(platformID)]}, + MediaUrls: mediaUrls, + IsVideo: isVideo, + ScheduleDate: "", + ValidateScheduled: true, + ShortenLinks: false, + DisableComments: false, + ProfileKey: ArtistInfoResp.ArtistInfo.ProfileKey, + } + switch cast.PlatformIDENUM(platformID) { + case cast.PlatformIDENUM_INS: + postReq.InstagramOptions = &aryshare.InstagramOptions{ + ShareReelsFeed: false, + AudioName: "", + ThumbNail: workDetail.CoverUrl, + ThumbNailOffset: 0, + Stories: false, + AltText: nil, + LocationId: "", + UserTags: nil, + Collaborators: nil, + AutoResize: false, + DisableComments: false, + } + case cast.PlatformIDENUM_TIKTOK: + postReq.TikTokOptions = &aryshare.TikTokOptions{ + AutoAddMusic: false, + DisableComments: false, + DisableDuet: false, + DisableStitch: false, + Draft: false, + IsAIGenerated: false, + IsBrandedContent: false, + IsBrandOrganic: false, + ImageCoverIndex: int32(workDetail.CoverTimestampMs), + Title: "", + ThumbNailOffset: 0, + ThumbNail: "", + Visibility: "", + } + } + zap.L().Info("Publish Ayrshare PostReq", zap.Any("workUuid", workDetail.WorkUuid), zap.Any("postReq", postReq), zap.Any("workDetail", workDetail)) + postResp, _err = service.AyrshareProvider.Post(context.Background(), postReq) + zap.L().Info("Publish Ayrshare postResp", zap.Any("workUuid", workDetail.WorkUuid), zap.Any("postResp", postResp)) + if _err != nil { + go func() { + _, _ = service.CastProvider.UpdateWorkPublishLog(context.Background(), &cast.UpdateWorkPublishLogReq{ + WorkUuid: workUuid, + PlatformID: cast.PlatformIDENUM(platformID), + Action: "post", + Detail: _err.Error(), + }) + }() + infoReq := &cast.UpdateWorkPlatformInfoReq{PlatformInfoData: make([]*cast.PlatformInfo, 0)} + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workDetail.WorkUuid, + MediaAccountUuid: "", + PlatformID: uint32(platformID), + PublishType: 2, + PublishResp: _err.Error(), + PublishMediaId: "", + PublishStatus: cast.PublishStatusENUM_PublishMediaStatus_EXCEPTION, + Remark: "", + }) + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + zap.L().Error("PostAs Post err", zap.Error(_err)) + errs = append(errs, errors.New(fmt.Sprintf("发布失败,标题是:%s,平台是:%s", workDetail.Title, modelCast.PlatformNameKv[uint32(platformID)]))) + continue + } + go func() { + postBytes, _ := json.Marshal(postResp) + _, _ = service.CastProvider.UpdateWorkPublishLog(context.Background(), &cast.UpdateWorkPublishLogReq{ + PlatformID: cast.PlatformIDENUM(platformID), + WorkUuid: workUuid, + Action: "post", + Detail: string(postBytes), + }) + }() + zap.L().Info("PostAs", zap.Any("postResp", postResp), zap.Any("workDetail", workDetail)) + infoReq := &cast.UpdateWorkPlatformInfoReq{ + PlatformInfoData: make([]*cast.PlatformInfo, 0), + } + if postResp == nil || postResp.Posts == nil || len(postResp.Posts) == 0 || postResp.Posts[0].PostIds == nil { + errs = append(errs, fmt.Errorf("标题:%s,请求平台失败", workDetail.Title)) + continue + } + postIDs := postResp.Posts[0].PostIds + postData, _ := json.Marshal(postResp) + for _, postInfo := range postIDs { + var platformID uint32 + switch postInfo.Platform { + case "tiktok": + platformID = 1 + case "instagram": + platformID = 3 + } + publishStatus := cast.PublishStatusENUM_PublishMediaStatus_NO + if postInfo.Status == "success" { + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_ING + } else { + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_FAIL + } + switch postInfo.Id { + case "pending": + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_ING + } + postBytes, _ := json.Marshal(postInfo) + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workDetail.WorkUuid, + MediaAccountUuid: "", //FIXME + PlatformID: platformID, + PublishType: 2, + PublishResp: string(postBytes), + PublishMediaId: postResp.Posts[0].Id, + PublishStatus: publishStatus, + Remark: string(postData), + }) + } + _, err := service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + if err != nil { + zap.L().Error("Publish UpdateWorkPlatformInfo failed", zap.String("workUuid", workUuid), zap.Error(err)) + } + zap.L().Info("Publish Ayrshare PostResp", zap.Any("postResp", postResp)) + } + } return } @@ -504,8 +721,8 @@ func WorkListExport(ctx *gin.Context) { service.Error(ctx, err) return } - var loigcCastWork = new(logicCast.Work) - excelFile, err := loigcCastWork.ExportExcelWorkList(resp.Data) + var logicCastWork = new(logicCast.Work) + excelFile, err := logicCastWork.ExportExcelWorkList(resp.Data) if err != nil { service.Error(ctx, err) return @@ -545,7 +762,9 @@ func ProcessTask(ctx context.Context, workUuid string) { zap.L().Error("从队列移除任务失败", zap.String("workUuid", workUuid), zap.Error(err)) + return } + //_ = PublishWork(context.Background(), &cast.PublishReq{WorkUuids: []string{workUuid}}) zap.L().Info("自动确认成功", zap.String("workUuid", workUuid)) } @@ -669,3 +888,445 @@ func GetBalanceLayout(ctx *gin.Context) { json.Unmarshal([]byte(res.Data), &j) service.Success(ctx, j) } + +func ImportWorkBatch(ctx *gin.Context) { + excelFile, err := ctx.FormFile("file") + var ( + mediaInfoResp *cast.MediaInfoResp + ) + if err != nil { + service.Error(ctx, err) + return + } + loginInfo := login.GetUserInfoFromC(ctx) + lockKey := fmt.Sprintf("import_work_batch:%d", loginInfo.ID) + replay := cache.RedisClient.SetNX(lockKey, time.Now().Format("20060102150405"), 5*time.Minute) + if !replay.Val() { + service.Error(ctx, errors.New("有导入任务正在进行,请稍后再试")) + return + } + defer cache.RedisClient.Del(lockKey) + tempDir := "./runtime/work" + _, err = utils.CheckDirPath(tempDir, true) + if err != nil { + service.Error(ctx, err) + return + } + fileName := fmt.Sprintf("%d_in_work.xlsx", time.Now().UnixMicro()) + excelPath := filepath.Join(tempDir, fileName) + if err = ctx.SaveUploadedFile(excelFile, excelPath); err != nil { + service.Error(ctx, err) + return + } + excelData, err := excelize.OpenFile(excelPath) + if err != nil { + service.Error(ctx, err) + return + } + defer excelData.Close() + // 解析Excel中的数据 + rows, err := excelData.GetRows("Sheet1") + if err != nil { + service.Error(ctx, err) + return + } + req := cast.ImportWorkBatchReq{ + ImageWorks: make([]*cast.UpdateWorkImageReq, 0), + } + for line, row := range rows { + if line == 0 { + continue + } + if len(row) == 0 { + continue + } + temp := &cast.UpdateWorkImageReq{ + LineNo: uint32(line), + Source: 3, + } + var artistNum string + if len(row) > 1 && utils.CleanString(row[1]) != "" { + artistNum = utils.CleanString(row[1]) + artistSubNum := utils.CleanString(row[1]) + if artistNum == "" { + temp.Remark = "艺人编号不能为空" + req.ImageWorks = append(req.ImageWorks, temp) + } + var subInfoResp *accountFiee.UserInfoResponse + if config.AppConfig.System.AppMode == "dev" { //FIXME + subInfoResp = &accountFiee.UserInfoResponse{ + Id: 123456, + Name: "测试用户", + TelNum: "18288888888", + TelAreaCode: "86", + } + } else { + subInfoResp, err = service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{ + SubNum: artistSubNum, + Domain: "app", + }) + } + + if err != nil { + temp.Remark = fmt.Sprintf("自媒体用户查询失败:%s", err.Error()) + zap.L().Error("AccountFieeProvider.SubNumGetInfo", zap.Error(err)) + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + if subInfoResp == nil || subInfoResp.Id == 0 { + temp.Remark = "自媒体用户不存在" + zap.L().Error("AccountFieeProvider.SubNumGetInfo user not found", zap.String("subNum", artistSubNum)) + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + temp.ArtistUuid = fmt.Sprint(subInfoResp.Id) + temp.ArtistName = subInfoResp.Name + temp.ArtistPhone = subInfoResp.TelNum + temp.ArtistPhoneAreaCode = subInfoResp.TelAreaCode + } + if len(row) > 5 { + temp.Title = utils.CleanString(row[5]) + } + if len(row) > 6 { + temp.Content = utils.CleanString(row[6]) + } + // 图片 + for i := 8; i <= 18; i++ { + if len(row) > i { + if utils.CleanString(row[i]) != "" { + ok, _err := check.ImageCheckUrlValid(row[i]) + if _err != nil { + temp.Remark = _err.Error() + req.ImageWorks = append(req.ImageWorks, temp) + break + } + if !ok { + temp.Remark = fmt.Sprintf("图片%d黄反审核未通过", i-7) + req.ImageWorks = append(req.ImageWorks, temp) + break + } + temp.Images = append(temp.Images, utils.CleanString(row[i])) + } + } + } + if len(temp.Images) == 0 { + if temp.Remark == "" { + temp.Remark = "图片不能为空" + } + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + if len(row) > 2 && utils.CleanString(row[2]) != "" { + mediaInfoResp, err = service.CastProvider.MediaInfo(context.Background(), &cast.MediaInfoReq{ + ArtistUuid: temp.ArtistUuid, + PlatformID: cast.PlatformIDENUM_TIKTOK, + PlatformUserName: utils.CleanString(row[2]), + }) + if err != nil || mediaInfoResp.Info.MediaAccountUuid == "" { + temp.Remark = fmt.Sprintf("TIKTOK账号名不存在") + zap.L().Error("CastProvider.MediaInfo", zap.Error(err)) + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + temp.PublishConfig1 = &cast.PublishConfig{ + ForbidComment: 1, + PublicType: 1, + CanJoin: 1, + CanQuote: 1, + CanComment: 1, + IsAI: 1, + } + temp.PlatformIDs = append(temp.PlatformIDs, cast.PlatformIDENUM_TIKTOK) + temp.MediaAccountNames = append(temp.MediaAccountNames, utils.CleanString(row[2])) + temp.MediaAccountUuids = append(temp.MediaAccountUuids, mediaInfoResp.Info.MediaAccountUuid) + } + if len(row) > 3 && utils.CleanString(row[3]) != "" { + mediaInfoResp, err = service.CastProvider.MediaInfo(context.Background(), &cast.MediaInfoReq{ + ArtistUuid: temp.ArtistUuid, + PlatformID: cast.PlatformIDENUM_INS, + PlatformUserName: utils.CleanString(row[3]), + }) + if err != nil || mediaInfoResp.Info.MediaAccountUuid == "" { + temp.Remark = fmt.Sprintf("INS账号名不存在") + zap.L().Error("CastProvider.MediaInfo", zap.Error(err)) + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + temp.PublishConfig1 = &cast.PublishConfig{ + ForbidComment: 1, + PublicType: 1, + CanJoin: 1, + CanQuote: 1, + CanComment: 1, + IsAI: 1, + } + temp.PlatformIDs = append(temp.PlatformIDs, cast.PlatformIDENUM_INS) + temp.MediaAccountNames = append(temp.MediaAccountNames, utils.CleanString(row[3])) + temp.MediaAccountUuids = append(temp.MediaAccountUuids, mediaInfoResp.Info.MediaAccountUuid) + } + if len(row) > 4 && utils.CleanString(row[4]) != "" { + temp.Remark = fmt.Sprintf("DM不能发图文") + zap.L().Error("CastProvider.MediaInfo", zap.Error(err)) + req.ImageWorks = append(req.ImageWorks, temp) + continue + /*mediaInfoResp, err = service.CastProvider.MediaInfo(context.Background(), &cast.MediaInfoReq{ + ArtistUuid: temp.ArtistUuid, + PlatformID: cast.PlatformIDENUM_DM, + PlatformUserName: utils.CleanString(row[4]), + }) + if err != nil || mediaInfoResp.Info.MediaAccountUuid == "" { + temp.Remark = fmt.Sprintf("DM账号名不存在") + zap.L().Error("CastProvider.MediaInfo", zap.Error(err)) + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + temp.PlatformIDs = append(temp.PlatformIDs, cast.PlatformIDENUM_DM) + temp.PublishConfig1 = &cast.PublishConfig{ + ForbidComment: 1, + PublicType: 1, + CanJoin: 1, + CanQuote: 1, + CanComment: 1, + IsAI: 1, + } + temp.MediaAccountNames = append(temp.MediaAccountNames, utils.CleanString(row[4])) + temp.MediaAccountUuids = append(temp.MediaAccountUuids, mediaInfoResp.Info.MediaAccountUuid)*/ + } + if artistNum == "" { + temp.Remark = "艺人编号不能为空" + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + if len(temp.MediaAccountUuids) == 0 { + temp.Remark = "账号名不能为空" + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + if len(temp.PlatformIDs) == 0 { + temp.Remark = "关联平台不能为空" + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + if temp.Title == "" { + temp.Remark = "标题不能为空" + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + if temp.Content == "" { + temp.Remark = "内容不能为空" + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + if len(temp.Images) == 0 { + temp.Remark = "图片不能为空" + req.ImageWorks = append(req.ImageWorks, temp) + continue + } + req.ImageWorks = append(req.ImageWorks, temp) + } + if len(req.ImageWorks) == 0 { + service.Error(ctx, errors.New(e.ErrNoData)) + return + } + newCtx := NewCtxWithUserInfo(ctx) + resp, err := service.CastProvider.ImportWorkBatch(newCtx, &req) + if err != nil { + service.Error(ctx, err) + return + } + // 打开模板文件,如果有失败的数据,生成结果文件 + var urlResult string + if resp.FailCount > 0 { + hasValueRows := make(map[int]bool, resp.FailCount) + for _, v := range resp.ImageWorks { + if !v.Success { + rowNum := int(v.LineNo) + 1 + excelData.SetCellValue("Sheet1", fmt.Sprintf("H%d", rowNum), v.Remark) + hasValueRows[rowNum] = true + } + } + for i := len(rows) - 1; i >= 1; i-- { // 从最后一行开始 + if !hasValueRows[i+1] { + if err = excelData.RemoveRow("Sheet1", i+1); err != nil { + continue + } + } + } + resultPath := fmt.Sprintf("./runtime/work/%s", fileName) + if err = excelData.SaveAs(resultPath); err != nil { + service.Error(ctx, err) + return + } + urlHost := config.AppConfig.System.FieeHost + urlResult = fmt.Sprintf("%s/api/fiee/static/work/%s", urlHost, fileName) + } + service.Success(ctx, map[string]interface{}{ + "successCount": resp.SuccessCount, + "failCount": resp.FailCount, + "resultUrl": urlResult, + }) + return +} + +// RefreshPost 刷新帖子状态 +func RefreshPost(ctx *gin.Context) { + err := RefreshPublish() + if err != nil { + service.Error(ctx, err) + return + } + service.Success(ctx, nil) + return +} + +func RefreshPublish() error { + var resp *cast.RefreshWorkListResp + var err error + resp, err = service.CastProvider.RefreshWorkList(context.Background(), &cast.RefreshWorkListReq{PublishStatus: 1}) + if err != nil { + return err + } + for _, workInfo := range resp.Data { + if workInfo.ProfileKey == "" { + continue + } + for _, platformInfo := range workInfo.PlatformInfoData { + if platformInfo.PublishMediaID == "" { + continue + } + var infoReq = &cast.UpdateWorkPlatformInfoReq{ + PlatformInfoData: make([]*cast.PlatformInfo, 0), + } + //DM单独刷新 + if platformInfo.PlatformID == cast.PlatformIDENUM_DM { + var dmData []byte + _, dmData, err = utils.GetUrl(fmt.Sprintf("https://api.dailymotion.com/video/%s?fields=id,title,url,published,private", platformInfo.PublishMediaID), + map[string]string{"Authorization": "Bearer " + platformInfo.Token}, config.AppConfig.System.ProxyUrl) + if err != nil { + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workInfo.WorkUuid, + MediaAccountUuid: "", + PlatformID: uint32(platformInfo.PlatformID), + PublishType: 2, + PublishResp: err.Error(), + PublishMediaId: platformInfo.PublishMediaID, + PublishStatus: cast.PublishStatusENUM_PublishMediaStatus_EXCEPTION, + Remark: "", + PlatformUuid: platformInfo.PlatformUuid, + }) + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + continue + } + var dmPost *modelCast.DMPost + _ = json.Unmarshal(dmData, &dmPost) + if dmPost.Published { + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workInfo.WorkUuid, + MediaAccountUuid: "", + PlatformID: uint32(platformInfo.PlatformID), + PublishType: 2, + PublishResp: string(dmData), + PublishMediaId: platformInfo.PublishMediaID, + PublishStatus: cast.PublishStatusENUM_PublishMediaStatus_DONE, + Remark: "", + PlatformUuid: platformInfo.PlatformUuid, + }) + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + } else { + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workInfo.WorkUuid, + MediaAccountUuid: "", + PlatformID: uint32(platformInfo.PlatformID), + PublishType: 2, + PublishResp: string(dmData), + PublishMediaId: platformInfo.PublishMediaID, + PublishStatus: cast.PublishStatusENUM_PublishMediaStatus_FAIL, + Remark: "", + PlatformUuid: platformInfo.PlatformUuid, + }) + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + } + continue + } + postResp, _err := service.AyrshareProvider.GetPost(context.Background(), &aryshare.GetPostRequest{ + Id: platformInfo.PublishMediaID, + ProfileKey: workInfo.ProfileKey, + }) + + if _err != nil { + zap.L().Error("GetPost err", zap.Error(_err)) + go func(v *cast.RefreshWorkListResp_Info) { + _, _ = service.CastProvider.UpdateWorkPublishLog(context.Background(), &cast.UpdateWorkPublishLogReq{ + WorkUuid: v.WorkUuid, + Detail: _err.Error(), + Action: "get", + }) + }(workInfo) + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workInfo.WorkUuid, + MediaAccountUuid: "", + PlatformID: uint32(platformInfo.PlatformID), + PublishType: 2, + PublishResp: _err.Error(), + PublishMediaId: platformInfo.PublishMediaID, + PublishStatus: cast.PublishStatusENUM_PublishMediaStatus_EXCEPTION, + Remark: "", + PlatformUuid: platformInfo.PlatformUuid, + }) + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + continue + } + if postResp.Errors != nil { + + } + var postBytes []byte + postBytes, _ = json.Marshal(postResp) + if len(postResp.PostIds) == 0 || len(postResp.Errors) > 0 { + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workInfo.WorkUuid, + MediaAccountUuid: "", + PlatformID: uint32(platformInfo.PlatformID), + PublishType: 2, + PublishResp: string(postBytes), + PublishMediaId: platformInfo.PublishMediaID, + PublishStatus: cast.PublishStatusENUM_PublishMediaStatus_FAIL, + Remark: "", + PlatformUuid: platformInfo.PlatformUuid, + }) + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + } + if len(postResp.PostIds) > 0 { + for _, vv := range postResp.PostIds { + if vv.Status == "pending" || vv.Status == "awaiting approval" { + continue + } + var publishStatus cast.PublishStatusENUM + if vv.Status == "deleted" || vv.Status == "error" { + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_FAIL + } + if vv.Status == "success" { + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_DONE + } + // 不知道TikTok为什么会有这样的数据,as文档没说 特殊判断一下 + if vv.Platform == "tiktok" && vv.Status == "success" && vv.Id == "pending" { + publishStatus = cast.PublishStatusENUM_PublishMediaStatus_ING + } + platformID := modelCast.NamePlatformIDKv[vv.Platform] + infoReq.PlatformInfoData = append(infoReq.PlatformInfoData, &cast.PlatformInfo{ + WorkUuid: workInfo.WorkUuid, + MediaAccountUuid: "", + PlatformID: platformID, + PublishType: 2, + PublishResp: string(postBytes), + PublishMediaId: platformInfo.PublishMediaID, + PublishStatus: publishStatus, + Remark: "", + PlatformUuid: platformInfo.PlatformUuid, + }) + } + _, _ = service.CastProvider.UpdateWorkPlatformInfo(context.Background(), infoReq) + } + } + } + return nil +} diff --git a/pkg/service/check/image.go b/pkg/service/check/image.go new file mode 100644 index 0000000..19fd8fa --- /dev/null +++ b/pkg/service/check/image.go @@ -0,0 +1,52 @@ +package check + +import ( + "errors" + "fmt" + "mime/multipart" + "time" + + pkgSecurity "fonchain-fiee/pkg/security" + + "github.com/fonchain/utils/security" +) + +// ImageCheckUrlValid 图片黄疸检测 true 是通过 +func ImageCheckUrlValid(imgUrl string) (bool, error) { + resp, err := pkgSecurity.ImageScanner.ScanImageByURL(imgUrl, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal) + if err != nil { + err = errors.New("图片检测请求失败") + return false, err + } + if resp.Code != 200 { + err = errors.New("图片检测失败,错误码") + return false, err + } + if len(resp.Data) == 0 || len(resp.Data[0].Results) == 0 { + return false, errors.New("图片检测结果异常") + } + riskLevel := resp.Data[0].Results[0].RiskLevel + if *riskLevel == "none" { + return true, nil + } + return false, nil +} + +func ImageCheckByte(file *multipart.FileHeader) (bool, error) { + //imageScanner, err := security.NewImageScanner(&security.Config{ + // RAMAccessKeyID: "LTAI5tNBzbeEbG1yCitvHsMb", + // RAMAccessKeySecret: "G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO", + // RAMRoleArn: "acs:ram::5828544250383902:role/content-secret", + // Region: "ap-southeast-1", + // Endpoint: "green-cip.ap-southeast-1.aliyuncs.com", + // TempAccessKeyID: "", + // TempAccessKeySecret: "", + // SecurityToken: "", + //}) + //if err != nil { + // return false, err + //} + //resp, err := imageScanner.ScanImageByFileByte(file, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal) + //fmt.Println(resp) + return false, nil +} diff --git a/pkg/service/init.go b/pkg/service/init.go index adfa22e..8322d53 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -4,6 +4,7 @@ import ( "fmt" "fonchain-fiee/api/account" "fonchain-fiee/api/accountFiee" + "fonchain-fiee/api/aryshare" "fonchain-fiee/api/bundle" "fonchain-fiee/api/cast" "fonchain-fiee/api/files" @@ -31,6 +32,7 @@ var CastProvider = new(cast.CastClientImpl) var GovernanceProvider = new(governance.GovernanceClientImpl) var PressReleasesProvider = new(pressreleases.PressReleasesClientImpl) var SecFilingProvider = new(secFilings.SecFilingsClientImpl) +var AyrshareProvider = new(aryshare.AyrshareClientImpl) func init() { config.SetConsumerService(BundleProvider) @@ -43,6 +45,7 @@ func init() { config.SetConsumerService(GovernanceProvider) config.SetConsumerService(PressReleasesProvider) config.SetConsumerService(SecFilingProvider) + config.SetConsumerService(AyrshareProvider) if err := config.Load(); err != nil { panic(err) diff --git a/pkg/utils/http.go b/pkg/utils/http.go index f98f48a..cab0f0e 100644 --- a/pkg/utils/http.go +++ b/pkg/utils/http.go @@ -6,6 +6,7 @@ import ( "io" "io/ioutil" "net/http" + "net/url" "time" "go.uber.org/zap" @@ -41,7 +42,7 @@ func Post(url, data string) (string, error) { func PostBytes(url string, header map[string]interface{}, data []byte) ([]byte, error) { req, err := http.NewRequest("POST", url, bytes.NewBuffer(data)) if err != nil { - return nil, fmt.Errorf("创建请求失败: %v", err) + return nil, fmt.Errorf("创建请求失败: %v", "") } for k, v := range header { req.Header.Set(k, fmt.Sprintf("%v", v)) @@ -49,16 +50,16 @@ func PostBytes(url string, header map[string]interface{}, data []byte) ([]byte, client := &http.Client{} resp, err := client.Do(req) if err != nil { - return nil, fmt.Errorf("请求失败: %v", err) + return nil, fmt.Errorf("请求失败: %v", "") } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { - return nil, fmt.Errorf("读取响应失败: %v", err) + return nil, fmt.Errorf("读取响应失败: %v", "") } if resp.StatusCode != http.StatusOK { zap.L().Error("API返回错误", zap.Int("status", resp.StatusCode), zap.String("body", string(body))) - return nil, fmt.Errorf("API返回错误: status=%d, body=%s", resp.StatusCode, string(body)) + return nil, fmt.Errorf("接口返回错误") } return body, nil } @@ -87,3 +88,48 @@ func GetBytes(url string, header map[string]interface{}) ([]byte, error) { } return body, nil } + +func GetUrl(apiUrl string, headerData map[string]string, proxyURL ...string) (statusCode int, body []byte, err error) { + req, err := http.NewRequest("GET", apiUrl, nil) + if err != nil { + zap.L().Error("Get", zap.Any("url", apiUrl), zap.Error(err)) + err = fmt.Errorf("create request failed: %w", err) + return + } + req.Header.Set("Content-Type", "application/json") + if len(headerData) > 0 { + for k, v := range headerData { + req.Header.Set(k, v) + } + } + client := &http.Client{} + // 支持可选的代理参数 + if len(proxyURL) > 0 && proxyURL[0] != "" { + proxy, _err := url.Parse(proxyURL[0]) + if _err != nil { + err = _err + return + } + transport := &http.Transport{ + Proxy: http.ProxyURL(proxy), + } + client.Transport = transport + } + resp, err := client.Do(req) + if err != nil { + zap.L().Error("Get", zap.Any("url", apiUrl), zap.Error(err)) + err = fmt.Errorf("send request failed: %w", err) + return + } + defer resp.Body.Close() + + body, err = io.ReadAll(resp.Body) + if err != nil { + zap.L().Error("Get", zap.Any("url", apiUrl), zap.Error(err)) + err = fmt.Errorf("read response failed: %w", err) + return + } + statusCode = resp.StatusCode + zap.L().Info("Get", zap.Any("url", apiUrl), zap.Any("body", body)) + return +} diff --git a/pkg/utils/slice.go b/pkg/utils/slice.go new file mode 100644 index 0000000..d4e029f --- /dev/null +++ b/pkg/utils/slice.go @@ -0,0 +1,13 @@ +package utils + +func UniqueT[T comparable](list []T) []T { + m := make(map[T]struct{}) + result := make([]T, 0, len(list)) + for _, v := range list { + if _, exists := m[v]; !exists { + m[v] = struct{}{} + result = append(result, v) + } + } + return result +}