// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.32.0--rc2
// 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"
	unsafe "unsafe"
)

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 `protogen:"open.v1"`
	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
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UserTag) Reset() {
	*x = UserTag{}
	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 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 `protogen:"open.v1"`
	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
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *InstagramOptions) Reset() {
	*x = InstagramOptions{}
	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 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 `protogen:"open.v1"`
	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")
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *TikTokOptions) Reset() {
	*x = TikTokOptions{}
	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 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 ""
}

// YouTube 特定发布选项
type YouTubeOptions struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	Title                  string                 `protobuf:"bytes,1,opt,name=title,proto3" json:"title"`                                     // Video title (required for YouTube, max 100 characters)
	Visibility             string                 `protobuf:"bytes,2,opt,name=visibility,proto3" json:"visibility"`                           // Visibility: "public", "unlisted", or "private" (default: "private")
	Tags                   []string               `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags"`                                       // Video tags (400 chars total, 2+ chars each)
	CategoryId             int32                  `protobuf:"varint,4,opt,name=categoryId,proto3" json:"categoryId"`                          // YouTube category ID (e.g., 24 = Entertainment)
	MadeForKids            bool                   `protobuf:"varint,5,opt,name=madeForKids,proto3" json:"madeForKids"`                        // Whether the video is made for kids (default: false)
	ThumbNail              string                 `protobuf:"bytes,6,opt,name=thumbNail,proto3" json:"thumbNail"`                             // URL of custom thumbnail image (JPEG/PNG under 2MB, must end in png/jpg/jpeg)
	PlaylistId             string                 `protobuf:"bytes,7,opt,name=playlistId,proto3" json:"playlistId"`                           // Playlist ID to add the video to
	NotifySubscribers      bool                   `protobuf:"varint,8,opt,name=notifySubscribers,proto3" json:"notifySubscribers"`            // Whether to notify subscribers (default: true)
	Shorts                 bool                   `protobuf:"varint,9,opt,name=shorts,proto3" json:"shorts"`                                  // Post as YouTube Short (max 3 minutes, adds #shorts)
	ContainsSyntheticMedia bool                   `protobuf:"varint,10,opt,name=containsSyntheticMedia,proto3" json:"containsSyntheticMedia"` // Disclose that a video contains realistic Altered or Synthetic (A/S) content
	PublishAt              string                 `protobuf:"bytes,11,opt,name=publishAt,proto3" json:"publishAt"`                            // UTC publish time (YouTube controlled publishing)
	SubTitleUrl            string                 `protobuf:"bytes,12,opt,name=subTitleUrl,proto3" json:"subTitleUrl"`                        // URL to SRT or SBV subtitle file (must start with https:// and end in .srt or .sbv, under 100 MB)
	SubTitleLanguage       string                 `protobuf:"bytes,13,opt,name=subTitleLanguage,proto3" json:"subTitleLanguage"`              // Language code of subtitles (default: "en")
	SubTitleName           string                 `protobuf:"bytes,14,opt,name=subTitleName,proto3" json:"subTitleName"`                      // Name of the caption track (max 150 chars, default: "English")
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *YouTubeOptions) Reset() {
	*x = YouTubeOptions{}
	mi := &file_pb_ayrshare_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *YouTubeOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*YouTubeOptions) ProtoMessage() {}

func (x *YouTubeOptions) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[3]
	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 YouTubeOptions.ProtoReflect.Descriptor instead.
func (*YouTubeOptions) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{3}
}

func (x *YouTubeOptions) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *YouTubeOptions) GetVisibility() string {
	if x != nil {
		return x.Visibility
	}
	return ""
}

func (x *YouTubeOptions) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *YouTubeOptions) GetCategoryId() int32 {
	if x != nil {
		return x.CategoryId
	}
	return 0
}

func (x *YouTubeOptions) GetMadeForKids() bool {
	if x != nil {
		return x.MadeForKids
	}
	return false
}

func (x *YouTubeOptions) GetThumbNail() string {
	if x != nil {
		return x.ThumbNail
	}
	return ""
}

func (x *YouTubeOptions) GetPlaylistId() string {
	if x != nil {
		return x.PlaylistId
	}
	return ""
}

func (x *YouTubeOptions) GetNotifySubscribers() bool {
	if x != nil {
		return x.NotifySubscribers
	}
	return false
}

func (x *YouTubeOptions) GetShorts() bool {
	if x != nil {
		return x.Shorts
	}
	return false
}

func (x *YouTubeOptions) GetContainsSyntheticMedia() bool {
	if x != nil {
		return x.ContainsSyntheticMedia
	}
	return false
}

func (x *YouTubeOptions) GetPublishAt() string {
	if x != nil {
		return x.PublishAt
	}
	return ""
}

func (x *YouTubeOptions) GetSubTitleUrl() string {
	if x != nil {
		return x.SubTitleUrl
	}
	return ""
}

func (x *YouTubeOptions) GetSubTitleLanguage() string {
	if x != nil {
		return x.SubTitleLanguage
	}
	return ""
}

func (x *YouTubeOptions) GetSubTitleName() string {
	if x != nil {
		return x.SubTitleName
	}
	return ""
}

// Bluesky 特定发布选项
type BlueskyOptions struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AltText       []string               `protobuf:"bytes,6,rep,name=altText,proto3" json:"altText"` // Array of alternative text for images or videos (accessibility feature for screen readers)
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BlueskyOptions) Reset() {
	*x = BlueskyOptions{}
	mi := &file_pb_ayrshare_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BlueskyOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BlueskyOptions) ProtoMessage() {}

func (x *BlueskyOptions) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[4]
	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 BlueskyOptions.ProtoReflect.Descriptor instead.
func (*BlueskyOptions) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{4}
}

func (x *BlueskyOptions) GetAltText() []string {
	if x != nil {
		return x.AltText
	}
	return nil
}

// 发布帖子到社交媒体平台
type PostRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	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"`
	YouTubeOptions    *YouTubeOptions        `protobuf:"bytes,12,opt,name=youTubeOptions,proto3" json:"youTubeOptions"`
	BlueskyOptions    *BlueskyOptions        `protobuf:"bytes,13,opt,name=blueskyOptions,proto3" json:"blueskyOptions"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *PostRequest) Reset() {
	*x = PostRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[5]
	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[5]
	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 PostRequest.ProtoReflect.Descriptor instead.
func (*PostRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{5}
}

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 ""
}

func (x *PostRequest) GetYouTubeOptions() *YouTubeOptions {
	if x != nil {
		return x.YouTubeOptions
	}
	return nil
}

func (x *PostRequest) GetBlueskyOptions() *BlueskyOptions {
	if x != nil {
		return x.BlueskyOptions
	}
	return nil
}

// 单个平台的帖子ID响应
type PostId struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PostId) Reset() {
	*x = PostId{}
	mi := &file_pb_ayrshare_proto_msgTypes[6]
	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[6]
	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 PostId.ProtoReflect.Descriptor instead.
func (*PostId) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{6}
}

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 `protogen:"open.v1"`
	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
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PostItem) Reset() {
	*x = PostItem{}
	mi := &file_pb_ayrshare_proto_msgTypes[7]
	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[7]
	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 PostItem.ProtoReflect.Descriptor instead.
func (*PostItem) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{7}
}

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 `protogen:"open.v1"`
	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 请求的验证结果
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PostResponse) Reset() {
	*x = PostResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[8]
	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[8]
	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 PostResponse.ProtoReflect.Descriptor instead.
func (*PostResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{8}
}

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 `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	ProfileKey    string                 `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetPostRequest) Reset() {
	*x = GetPostRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[9]
	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[9]
	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 GetPostRequest.ProtoReflect.Descriptor instead.
func (*GetPostRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{9}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetPostResponse) Reset() {
	*x = GetPostResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[10]
	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[10]
	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 GetPostResponse.ProtoReflect.Descriptor instead.
func (*GetPostResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{10}
}

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 `protogen:"open.v1"`
	ProfileKey       string                 `protobuf:"bytes,1,opt,name=profileKey,proto3" json:"profileKey"`
	InstagramDetails bool                   `protobuf:"varint,2,opt,name=instagramDetails,proto3" json:"instagramDetails"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *GetUserRequest) Reset() {
	*x = GetUserRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[11]
	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[11]
	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 GetUserRequest.ProtoReflect.Descriptor instead.
func (*GetUserRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{11}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Timestamp) Reset() {
	*x = Timestamp{}
	mi := &file_pb_ayrshare_proto_msgTypes[12]
	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[12]
	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 Timestamp.ProtoReflect.Descriptor instead.
func (*Timestamp) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{12}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TwitterUsage) Reset() {
	*x = TwitterUsage{}
	mi := &file_pb_ayrshare_proto_msgTypes[13]
	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[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 TwitterUsage.ProtoReflect.Descriptor instead.
func (*TwitterUsage) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{13}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields                protoimpl.UnknownFields
	sizeCache                    protoimpl.SizeCache
}

func (x *DisplayName) Reset() {
	*x = DisplayName{}
	mi := &file_pb_ayrshare_proto_msgTypes[14]
	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[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 DisplayName.ProtoReflect.Descriptor instead.
func (*DisplayName) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{14}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields                     protoimpl.UnknownFields
	sizeCache                         protoimpl.SizeCache
}

func (x *GetUserResponse) Reset() {
	*x = GetUserResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[15]
	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[15]
	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 GetUserResponse.ProtoReflect.Descriptor instead.
func (*GetUserResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{15}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *CreateProfileRequest) Reset() {
	*x = CreateProfileRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[16]
	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[16]
	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 CreateProfileRequest.ProtoReflect.Descriptor instead.
func (*CreateProfileRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{16}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *CreateProfileResponse) Reset() {
	*x = CreateProfileResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[17]
	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[17]
	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 CreateProfileResponse.ProtoReflect.Descriptor instead.
func (*CreateProfileResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{17}
}

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 `protogen:"open.v1"`
	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 valid to be assigned 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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetProfilesRequest) Reset() {
	*x = GetProfilesRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[18]
	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[18]
	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 GetProfilesRequest.ProtoReflect.Descriptor instead.
func (*GetProfilesRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{18}
}

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 (x *GetProfilesRequest) GetActionLog() isGetProfilesRequest_ActionLog {
	if x != nil {
		return x.ActionLog
	}
	return nil
}

func (x *GetProfilesRequest) GetActionLogBool() bool {
	if x != nil {
		if x, ok := x.ActionLog.(*GetProfilesRequest_ActionLogBool); ok {
			return x.ActionLogBool
		}
	}
	return false
}

func (x *GetProfilesRequest) GetActionLogInt() int32 {
	if x != nil {
		if x, ok := x.ActionLog.(*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 `protogen:"open.v1"`
	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"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *ProfileItem) Reset() {
	*x = ProfileItem{}
	mi := &file_pb_ayrshare_proto_msgTypes[19]
	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[19]
	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 ProfileItem.ProtoReflect.Descriptor instead.
func (*ProfileItem) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{19}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Pagination) Reset() {
	*x = Pagination{}
	mi := &file_pb_ayrshare_proto_msgTypes[20]
	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[20]
	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 Pagination.ProtoReflect.Descriptor instead.
func (*Pagination) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{20}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetProfilesResponse) Reset() {
	*x = GetProfilesResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[21]
	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[21]
	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 GetProfilesResponse.ProtoReflect.Descriptor instead.
func (*GetProfilesResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{21}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Email) Reset() {
	*x = Email{}
	mi := &file_pb_ayrshare_proto_msgTypes[22]
	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[22]
	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 Email.ProtoReflect.Descriptor instead.
func (*Email) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{22}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenerateJWTRequest) Reset() {
	*x = GenerateJWTRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[23]
	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[23]
	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 GenerateJWTRequest.ProtoReflect.Descriptor instead.
func (*GenerateJWTRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{23}
}

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 `protogen:"open.v1"`
	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"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenerateJWTResponse) Reset() {
	*x = GenerateJWTResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[24]
	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[24]
	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 GenerateJWTResponse.ProtoReflect.Descriptor instead.
func (*GenerateJWTResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{24}
}

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 ""
}

// 解除社交网络连接请求
type UnlinkSocialNetworkRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Platform      string                 `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform"`
	ProfileKey    string                 `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnlinkSocialNetworkRequest) Reset() {
	*x = UnlinkSocialNetworkRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UnlinkSocialNetworkRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnlinkSocialNetworkRequest) ProtoMessage() {}

func (x *UnlinkSocialNetworkRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[25]
	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 UnlinkSocialNetworkRequest.ProtoReflect.Descriptor instead.
func (*UnlinkSocialNetworkRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{25}
}

func (x *UnlinkSocialNetworkRequest) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *UnlinkSocialNetworkRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// 解除社交网络连接响应
type UnlinkSocialNetworkResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	Platform      string                 `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform"`
	RefId         string                 `protobuf:"bytes,3,opt,name=refId,proto3" json:"refId"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnlinkSocialNetworkResponse) Reset() {
	*x = UnlinkSocialNetworkResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UnlinkSocialNetworkResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnlinkSocialNetworkResponse) ProtoMessage() {}

func (x *UnlinkSocialNetworkResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[26]
	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 UnlinkSocialNetworkResponse.ProtoReflect.Descriptor instead.
func (*UnlinkSocialNetworkResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{26}
}

func (x *UnlinkSocialNetworkResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *UnlinkSocialNetworkResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *UnlinkSocialNetworkResponse) GetRefId() string {
	if x != nil {
		return x.RefId
	}
	return ""
}

// 历史记录中的帖子 ID
type HistoryPostId struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	Platform      string                 `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform"`
	PostUrl       string                 `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl"`
	IsVideo       bool                   `protobuf:"varint,5,opt,name=isVideo,proto3" json:"isVideo"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HistoryPostId) Reset() {
	*x = HistoryPostId{}
	mi := &file_pb_ayrshare_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *HistoryPostId) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HistoryPostId) ProtoMessage() {}

func (x *HistoryPostId) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[27]
	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 HistoryPostId.ProtoReflect.Descriptor instead.
func (*HistoryPostId) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{27}
}

func (x *HistoryPostId) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *HistoryPostId) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *HistoryPostId) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *HistoryPostId) GetPostUrl() string {
	if x != nil {
		return x.PostUrl
	}
	return ""
}

func (x *HistoryPostId) GetIsVideo() bool {
	if x != nil {
		return x.IsVideo
	}
	return false
}

// 历史记录项
type HistoryItem struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Id               string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Post             string                 `protobuf:"bytes,2,opt,name=post,proto3" json:"post"`
	Platforms        []string               `protobuf:"bytes,3,rep,name=platforms,proto3" json:"platforms"`
	PostIds          []*HistoryPostId       `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds"`
	Errors           []string               `protobuf:"bytes,5,rep,name=errors,proto3" json:"errors"`
	Type             string                 `protobuf:"bytes,6,opt,name=type,proto3" json:"type"`
	Notes            string                 `protobuf:"bytes,7,opt,name=notes,proto3" json:"notes"`
	Created          string                 `protobuf:"bytes,8,opt,name=created,proto3" json:"created"`
	Status           string                 `protobuf:"bytes,9,opt,name=status,proto3" json:"status"`
	ScheduleDate     *Timestamp             `protobuf:"bytes,10,opt,name=scheduleDate,proto3" json:"scheduleDate"`
	Approved         bool                   `protobuf:"varint,11,opt,name=approved,proto3" json:"approved"`
	ApprovedBy       string                 `protobuf:"bytes,12,opt,name=approvedBy,proto3" json:"approvedBy"`
	ApprovedDate     string                 `protobuf:"bytes,13,opt,name=approvedDate,proto3" json:"approvedDate"`
	RejectedBy       string                 `protobuf:"bytes,14,opt,name=rejectedBy,proto3" json:"rejectedBy"`
	RejectedDate     string                 `protobuf:"bytes,15,opt,name=rejectedDate,proto3" json:"rejectedDate"`
	RequiresApproval bool                   `protobuf:"varint,16,opt,name=requiresApproval,proto3" json:"requiresApproval"`
	ProfileTitle     string                 `protobuf:"bytes,17,opt,name=profileTitle,proto3" json:"profileTitle"`
	RefId            string                 `protobuf:"bytes,18,opt,name=refId,proto3" json:"refId"`
	MediaUrls        []string               `protobuf:"bytes,19,rep,name=mediaUrls,proto3" json:"mediaUrls"`
	ShortenLinks     bool                   `protobuf:"varint,20,opt,name=shortenLinks,proto3" json:"shortenLinks"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *HistoryItem) Reset() {
	*x = HistoryItem{}
	mi := &file_pb_ayrshare_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *HistoryItem) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HistoryItem) ProtoMessage() {}

func (x *HistoryItem) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[28]
	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 HistoryItem.ProtoReflect.Descriptor instead.
func (*HistoryItem) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{28}
}

func (x *HistoryItem) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *HistoryItem) GetPost() string {
	if x != nil {
		return x.Post
	}
	return ""
}

func (x *HistoryItem) GetPlatforms() []string {
	if x != nil {
		return x.Platforms
	}
	return nil
}

func (x *HistoryItem) GetPostIds() []*HistoryPostId {
	if x != nil {
		return x.PostIds
	}
	return nil
}

func (x *HistoryItem) GetErrors() []string {
	if x != nil {
		return x.Errors
	}
	return nil
}

func (x *HistoryItem) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *HistoryItem) GetNotes() string {
	if x != nil {
		return x.Notes
	}
	return ""
}

func (x *HistoryItem) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *HistoryItem) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *HistoryItem) GetScheduleDate() *Timestamp {
	if x != nil {
		return x.ScheduleDate
	}
	return nil
}

func (x *HistoryItem) GetApproved() bool {
	if x != nil {
		return x.Approved
	}
	return false
}

func (x *HistoryItem) GetApprovedBy() string {
	if x != nil {
		return x.ApprovedBy
	}
	return ""
}

func (x *HistoryItem) GetApprovedDate() string {
	if x != nil {
		return x.ApprovedDate
	}
	return ""
}

func (x *HistoryItem) GetRejectedBy() string {
	if x != nil {
		return x.RejectedBy
	}
	return ""
}

func (x *HistoryItem) GetRejectedDate() string {
	if x != nil {
		return x.RejectedDate
	}
	return ""
}

func (x *HistoryItem) GetRequiresApproval() bool {
	if x != nil {
		return x.RequiresApproval
	}
	return false
}

func (x *HistoryItem) GetProfileTitle() string {
	if x != nil {
		return x.ProfileTitle
	}
	return ""
}

func (x *HistoryItem) GetRefId() string {
	if x != nil {
		return x.RefId
	}
	return ""
}

func (x *HistoryItem) GetMediaUrls() []string {
	if x != nil {
		return x.MediaUrls
	}
	return nil
}

func (x *HistoryItem) GetShortenLinks() bool {
	if x != nil {
		return x.ShortenLinks
	}
	return false
}

// 获取帖子历史记录请求
type GetHistoryRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	StartDate     string                 `protobuf:"bytes,1,opt,name=startDate,proto3" json:"startDate"`
	EndDate       string                 `protobuf:"bytes,2,opt,name=endDate,proto3" json:"endDate"`
	Limit         int32                  `protobuf:"varint,3,opt,name=limit,proto3" json:"limit"`
	Platforms     []string               `protobuf:"bytes,4,rep,name=platforms,proto3" json:"platforms"`
	LastDays      int32                  `protobuf:"varint,5,opt,name=lastDays,proto3" json:"lastDays"`
	Status        string                 `protobuf:"bytes,6,opt,name=status,proto3" json:"status"`
	Type          string                 `protobuf:"bytes,7,opt,name=type,proto3" json:"type"`
	AutoRepostId  string                 `protobuf:"bytes,8,opt,name=autoRepostId,proto3" json:"autoRepostId"`
	ProfileKey    string                 `protobuf:"bytes,9,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetHistoryRequest) Reset() {
	*x = GetHistoryRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetHistoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetHistoryRequest) ProtoMessage() {}

func (x *GetHistoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[29]
	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 GetHistoryRequest.ProtoReflect.Descriptor instead.
func (*GetHistoryRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{29}
}

func (x *GetHistoryRequest) GetStartDate() string {
	if x != nil {
		return x.StartDate
	}
	return ""
}

func (x *GetHistoryRequest) GetEndDate() string {
	if x != nil {
		return x.EndDate
	}
	return ""
}

func (x *GetHistoryRequest) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *GetHistoryRequest) GetPlatforms() []string {
	if x != nil {
		return x.Platforms
	}
	return nil
}

func (x *GetHistoryRequest) GetLastDays() int32 {
	if x != nil {
		return x.LastDays
	}
	return 0
}

func (x *GetHistoryRequest) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *GetHistoryRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *GetHistoryRequest) GetAutoRepostId() string {
	if x != nil {
		return x.AutoRepostId
	}
	return ""
}

func (x *GetHistoryRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// 获取帖子历史记录响应
type GetHistoryResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	History       []*HistoryItem         `protobuf:"bytes,1,rep,name=history,proto3" json:"history"`
	RefId         string                 `protobuf:"bytes,2,opt,name=refId,proto3" json:"refId"`
	Count         int32                  `protobuf:"varint,3,opt,name=count,proto3" json:"count"`
	LastUpdated   string                 `protobuf:"bytes,4,opt,name=lastUpdated,proto3" json:"lastUpdated"`
	NextUpdate    string                 `protobuf:"bytes,5,opt,name=nextUpdate,proto3" json:"nextUpdate"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetHistoryResponse) Reset() {
	*x = GetHistoryResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetHistoryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetHistoryResponse) ProtoMessage() {}

func (x *GetHistoryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[30]
	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 GetHistoryResponse.ProtoReflect.Descriptor instead.
func (*GetHistoryResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{30}
}

func (x *GetHistoryResponse) GetHistory() []*HistoryItem {
	if x != nil {
		return x.History
	}
	return nil
}

func (x *GetHistoryResponse) GetRefId() string {
	if x != nil {
		return x.RefId
	}
	return ""
}

func (x *GetHistoryResponse) GetCount() int32 {
	if x != nil {
		return x.Count
	}
	return 0
}

func (x *GetHistoryResponse) GetLastUpdated() string {
	if x != nil {
		return x.LastUpdated
	}
	return ""
}

func (x *GetHistoryResponse) GetNextUpdate() string {
	if x != nil {
		return x.NextUpdate
	}
	return ""
}

// 根据ID获取帖子历史记录请求
type GetHistoryByIdRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Id             string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	SearchAllPosts bool                   `protobuf:"varint,2,opt,name=searchAllPosts,proto3" json:"searchAllPosts"`
	ProfileKey     string                 `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GetHistoryByIdRequest) Reset() {
	*x = GetHistoryByIdRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetHistoryByIdRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetHistoryByIdRequest) ProtoMessage() {}

func (x *GetHistoryByIdRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[31]
	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 GetHistoryByIdRequest.ProtoReflect.Descriptor instead.
func (*GetHistoryByIdRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{31}
}

func (x *GetHistoryByIdRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GetHistoryByIdRequest) GetSearchAllPosts() bool {
	if x != nil {
		return x.SearchAllPosts
	}
	return false
}

func (x *GetHistoryByIdRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// 根据ID获取帖子历史记录响应
type GetHistoryByIdResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Tier          string                 `protobuf:"bytes,1,opt,name=tier,proto3" json:"tier"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
	MediaUrls     []string               `protobuf:"bytes,3,rep,name=mediaUrls,proto3" json:"mediaUrls"`
	PostIds       []*HistoryPostId       `protobuf:"bytes,4,rep,name=postIds,proto3" json:"postIds"`
	Id            string                 `protobuf:"bytes,5,opt,name=id,proto3" json:"id"`
	Errors        []string               `protobuf:"bytes,6,rep,name=errors,proto3" json:"errors"`
	Platforms     []string               `protobuf:"bytes,7,rep,name=platforms,proto3" json:"platforms"`
	ScheduleDate  *Timestamp             `protobuf:"bytes,8,opt,name=scheduleDate,proto3" json:"scheduleDate"`
	Created       string                 `protobuf:"bytes,9,opt,name=created,proto3" json:"created"`
	ShortenLinks  bool                   `protobuf:"varint,10,opt,name=shortenLinks,proto3" json:"shortenLinks"`
	Post          string                 `protobuf:"bytes,11,opt,name=post,proto3" json:"post"`
	Notes         string                 `protobuf:"bytes,12,opt,name=notes,proto3" json:"notes"`
	Type          string                 `protobuf:"bytes,13,opt,name=type,proto3" json:"type"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetHistoryByIdResponse) Reset() {
	*x = GetHistoryByIdResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetHistoryByIdResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetHistoryByIdResponse) ProtoMessage() {}

func (x *GetHistoryByIdResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[32]
	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 GetHistoryByIdResponse.ProtoReflect.Descriptor instead.
func (*GetHistoryByIdResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{32}
}

func (x *GetHistoryByIdResponse) GetTier() string {
	if x != nil {
		return x.Tier
	}
	return ""
}

func (x *GetHistoryByIdResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *GetHistoryByIdResponse) GetMediaUrls() []string {
	if x != nil {
		return x.MediaUrls
	}
	return nil
}

func (x *GetHistoryByIdResponse) GetPostIds() []*HistoryPostId {
	if x != nil {
		return x.PostIds
	}
	return nil
}

func (x *GetHistoryByIdResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GetHistoryByIdResponse) GetErrors() []string {
	if x != nil {
		return x.Errors
	}
	return nil
}

func (x *GetHistoryByIdResponse) GetPlatforms() []string {
	if x != nil {
		return x.Platforms
	}
	return nil
}

func (x *GetHistoryByIdResponse) GetScheduleDate() *Timestamp {
	if x != nil {
		return x.ScheduleDate
	}
	return nil
}

func (x *GetHistoryByIdResponse) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *GetHistoryByIdResponse) GetShortenLinks() bool {
	if x != nil {
		return x.ShortenLinks
	}
	return false
}

func (x *GetHistoryByIdResponse) GetPost() string {
	if x != nil {
		return x.Post
	}
	return ""
}

func (x *GetHistoryByIdResponse) GetNotes() string {
	if x != nil {
		return x.Notes
	}
	return ""
}

func (x *GetHistoryByIdResponse) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

// 平台帖子
type PlatformPost struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Post          string                 `protobuf:"bytes,2,opt,name=post,proto3" json:"post"`
	PostUrl       string                 `protobuf:"bytes,3,opt,name=postUrl,proto3" json:"postUrl"`
	Created       string                 `protobuf:"bytes,4,opt,name=created,proto3" json:"created"`
	CreatedAt     string                 `protobuf:"bytes,5,opt,name=createdAt,proto3" json:"createdAt"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PlatformPost) Reset() {
	*x = PlatformPost{}
	mi := &file_pb_ayrshare_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PlatformPost) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PlatformPost) ProtoMessage() {}

func (x *PlatformPost) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[33]
	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 PlatformPost.ProtoReflect.Descriptor instead.
func (*PlatformPost) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{33}
}

func (x *PlatformPost) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *PlatformPost) GetPost() string {
	if x != nil {
		return x.Post
	}
	return ""
}

func (x *PlatformPost) GetPostUrl() string {
	if x != nil {
		return x.PostUrl
	}
	return ""
}

func (x *PlatformPost) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *PlatformPost) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

// 根据平台获取帖子历史记录请求
type GetHistoryByPlatformRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Platform      string                 `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform"`
	ProfileKey    string                 `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetHistoryByPlatformRequest) Reset() {
	*x = GetHistoryByPlatformRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetHistoryByPlatformRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetHistoryByPlatformRequest) ProtoMessage() {}

func (x *GetHistoryByPlatformRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[34]
	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 GetHistoryByPlatformRequest.ProtoReflect.Descriptor instead.
func (*GetHistoryByPlatformRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{34}
}

func (x *GetHistoryByPlatformRequest) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetHistoryByPlatformRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// 根据平台获取帖子历史记录响应
type GetHistoryByPlatformResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	Posts         []*PlatformPost        `protobuf:"bytes,2,rep,name=posts,proto3" json:"posts"`
	LastUpdated   string                 `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated"`
	NextUpdate    string                 `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetHistoryByPlatformResponse) Reset() {
	*x = GetHistoryByPlatformResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetHistoryByPlatformResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetHistoryByPlatformResponse) ProtoMessage() {}

func (x *GetHistoryByPlatformResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[35]
	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 GetHistoryByPlatformResponse.ProtoReflect.Descriptor instead.
func (*GetHistoryByPlatformResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{35}
}

func (x *GetHistoryByPlatformResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *GetHistoryByPlatformResponse) GetPosts() []*PlatformPost {
	if x != nil {
		return x.Posts
	}
	return nil
}

func (x *GetHistoryByPlatformResponse) GetLastUpdated() string {
	if x != nil {
		return x.LastUpdated
	}
	return ""
}

func (x *GetHistoryByPlatformResponse) GetNextUpdate() string {
	if x != nil {
		return x.NextUpdate
	}
	return ""
}

// 发送消息请求
type SendMessageRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Platform      string                 `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform"`
	RecipientId   string                 `protobuf:"bytes,2,opt,name=recipientId,proto3" json:"recipientId"`
	Message       string                 `protobuf:"bytes,3,opt,name=message,proto3" json:"message"`
	MediaUrls     []string               `protobuf:"bytes,4,rep,name=mediaUrls,proto3" json:"mediaUrls"`
	ProfileKey    string                 `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendMessageRequest) Reset() {
	*x = SendMessageRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SendMessageRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SendMessageRequest) ProtoMessage() {}

func (x *SendMessageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 SendMessageRequest.ProtoReflect.Descriptor instead.
func (*SendMessageRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{36}
}

func (x *SendMessageRequest) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *SendMessageRequest) GetRecipientId() string {
	if x != nil {
		return x.RecipientId
	}
	return ""
}

func (x *SendMessageRequest) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *SendMessageRequest) GetMediaUrls() []string {
	if x != nil {
		return x.MediaUrls
	}
	return nil
}

func (x *SendMessageRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// 消息项（用于批量消息响应中的单个消息）
type MessageItem struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	RecipientId   string                 `protobuf:"bytes,2,opt,name=recipientId,proto3" json:"recipientId"`
	MessageId     string                 `protobuf:"bytes,3,opt,name=messageId,proto3" json:"messageId"`
	Message       string                 `protobuf:"bytes,4,opt,name=message,proto3" json:"message"`
	Type          string                 `protobuf:"bytes,5,opt,name=type,proto3" json:"type"`
	MediaUrl      string                 `protobuf:"bytes,6,opt,name=mediaUrl,proto3" json:"mediaUrl"`
	Action        string                 `protobuf:"bytes,7,opt,name=action,proto3" json:"action"`
	Code          int32                  `protobuf:"varint,8,opt,name=code,proto3" json:"code"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MessageItem) Reset() {
	*x = MessageItem{}
	mi := &file_pb_ayrshare_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MessageItem) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MessageItem) ProtoMessage() {}

func (x *MessageItem) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 MessageItem.ProtoReflect.Descriptor instead.
func (*MessageItem) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{37}
}

func (x *MessageItem) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *MessageItem) GetRecipientId() string {
	if x != nil {
		return x.RecipientId
	}
	return ""
}

func (x *MessageItem) GetMessageId() string {
	if x != nil {
		return x.MessageId
	}
	return ""
}

func (x *MessageItem) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *MessageItem) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *MessageItem) GetMediaUrl() string {
	if x != nil {
		return x.MediaUrl
	}
	return ""
}

func (x *MessageItem) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *MessageItem) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

// 发送消息响应
type SendMessageResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	RecipientId   string                 `protobuf:"bytes,2,opt,name=recipientId,proto3" json:"recipientId"`
	MessageId     string                 `protobuf:"bytes,3,opt,name=messageId,proto3" json:"messageId"`
	Message       string                 `protobuf:"bytes,4,opt,name=message,proto3" json:"message"` // 成功消息的内容或错误消息的内容（根据 status 判断）
	Type          string                 `protobuf:"bytes,5,opt,name=type,proto3" json:"type"`
	MediaUrl      string                 `protobuf:"bytes,6,opt,name=mediaUrl,proto3" json:"mediaUrl"`
	Action        string                 `protobuf:"bytes,7,opt,name=action,proto3" json:"action"`
	Code          int32                  `protobuf:"varint,8,opt,name=code,proto3" json:"code"`
	Messages      []*MessageItem         `protobuf:"bytes,9,rep,name=messages,proto3" json:"messages"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SendMessageResponse) Reset() {
	*x = SendMessageResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SendMessageResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SendMessageResponse) ProtoMessage() {}

func (x *SendMessageResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 SendMessageResponse.ProtoReflect.Descriptor instead.
func (*SendMessageResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{38}
}

func (x *SendMessageResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *SendMessageResponse) GetRecipientId() string {
	if x != nil {
		return x.RecipientId
	}
	return ""
}

func (x *SendMessageResponse) GetMessageId() string {
	if x != nil {
		return x.MessageId
	}
	return ""
}

func (x *SendMessageResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *SendMessageResponse) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *SendMessageResponse) GetMediaUrl() string {
	if x != nil {
		return x.MediaUrl
	}
	return ""
}

func (x *SendMessageResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *SendMessageResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *SendMessageResponse) GetMessages() []*MessageItem {
	if x != nil {
		return x.Messages
	}
	return nil
}

// 获取消息请求
type GetMessagesRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Platform          string                 `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform"`
	Status            string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
	ConversationId    string                 `protobuf:"bytes,3,opt,name=conversationId,proto3" json:"conversationId"`
	ConversationsOnly bool                   `protobuf:"varint,4,opt,name=conversationsOnly,proto3" json:"conversationsOnly"`
	ProfileKey        string                 `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *GetMessagesRequest) Reset() {
	*x = GetMessagesRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetMessagesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMessagesRequest) ProtoMessage() {}

func (x *GetMessagesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 GetMessagesRequest.ProtoReflect.Descriptor instead.
func (*GetMessagesRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{39}
}

func (x *GetMessagesRequest) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetMessagesRequest) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *GetMessagesRequest) GetConversationId() string {
	if x != nil {
		return x.ConversationId
	}
	return ""
}

func (x *GetMessagesRequest) GetConversationsOnly() bool {
	if x != nil {
		return x.ConversationsOnly
	}
	return false
}

func (x *GetMessagesRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// 消息附件
type MessageAttachment struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          string                 `protobuf:"bytes,1,opt,name=type,proto3" json:"type"`
	Url           string                 `protobuf:"bytes,2,opt,name=url,proto3" json:"url"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MessageAttachment) Reset() {
	*x = MessageAttachment{}
	mi := &file_pb_ayrshare_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MessageAttachment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MessageAttachment) ProtoMessage() {}

func (x *MessageAttachment) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 MessageAttachment.ProtoReflect.Descriptor instead.
func (*MessageAttachment) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{40}
}

func (x *MessageAttachment) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *MessageAttachment) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

// 消息发送者详情
type MessageSenderDetails struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	Picture       string                 `protobuf:"bytes,3,opt,name=picture,proto3" json:"picture"`
	ProfileImage  string                 `protobuf:"bytes,4,opt,name=profileImage,proto3" json:"profileImage"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MessageSenderDetails) Reset() {
	*x = MessageSenderDetails{}
	mi := &file_pb_ayrshare_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MessageSenderDetails) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MessageSenderDetails) ProtoMessage() {}

func (x *MessageSenderDetails) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 MessageSenderDetails.ProtoReflect.Descriptor instead.
func (*MessageSenderDetails) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{41}
}

func (x *MessageSenderDetails) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *MessageSenderDetails) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *MessageSenderDetails) GetPicture() string {
	if x != nil {
		return x.Picture
	}
	return ""
}

func (x *MessageSenderDetails) GetProfileImage() string {
	if x != nil {
		return x.ProfileImage
	}
	return ""
}

// 消息接收者详情
type MessageRecipientDetails struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	Picture       string                 `protobuf:"bytes,3,opt,name=picture,proto3" json:"picture"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MessageRecipientDetails) Reset() {
	*x = MessageRecipientDetails{}
	mi := &file_pb_ayrshare_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MessageRecipientDetails) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MessageRecipientDetails) ProtoMessage() {}

func (x *MessageRecipientDetails) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[42]
	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 MessageRecipientDetails.ProtoReflect.Descriptor instead.
func (*MessageRecipientDetails) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{42}
}

func (x *MessageRecipientDetails) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *MessageRecipientDetails) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *MessageRecipientDetails) GetPicture() string {
	if x != nil {
		return x.Picture
	}
	return ""
}

// 消息反应（map类型，在proto中用repeated MessageReaction表示）
type MessageReaction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        string                 `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId"`
	Emoji         string                 `protobuf:"bytes,2,opt,name=emoji,proto3" json:"emoji"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MessageReaction) Reset() {
	*x = MessageReaction{}
	mi := &file_pb_ayrshare_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MessageReaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MessageReaction) ProtoMessage() {}

func (x *MessageReaction) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[43]
	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 MessageReaction.ProtoReflect.Descriptor instead.
func (*MessageReaction) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{43}
}

func (x *MessageReaction) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *MessageReaction) GetEmoji() string {
	if x != nil {
		return x.Emoji
	}
	return ""
}

// 获取消息响应中的单个消息项
type GetMessagesItem struct {
	state            protoimpl.MessageState   `protogen:"open.v1"`
	Id               string                   `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	SenderId         string                   `protobuf:"bytes,2,opt,name=senderId,proto3" json:"senderId"`
	SenderDetails    *MessageSenderDetails    `protobuf:"bytes,3,opt,name=senderDetails,proto3" json:"senderDetails"`
	RecipientId      string                   `protobuf:"bytes,4,opt,name=recipientId,proto3" json:"recipientId"`
	RecipientDetails *MessageRecipientDetails `protobuf:"bytes,5,opt,name=recipientDetails,proto3" json:"recipientDetails"`
	ConversationId   string                   `protobuf:"bytes,6,opt,name=conversationId,proto3" json:"conversationId"`
	Message          string                   `protobuf:"bytes,7,opt,name=message,proto3" json:"message"`
	Platform         string                   `protobuf:"bytes,8,opt,name=platform,proto3" json:"platform"`
	Action           string                   `protobuf:"bytes,9,opt,name=action,proto3" json:"action"`
	Created          string                   `protobuf:"bytes,10,opt,name=created,proto3" json:"created"`
	Updated          string                   `protobuf:"bytes,11,opt,name=updated,proto3" json:"updated"`
	Attachments      []*MessageAttachment     `protobuf:"bytes,12,rep,name=attachments,proto3" json:"attachments"`
	Reactions        []*MessageReaction       `protobuf:"bytes,13,rep,name=reactions,proto3" json:"reactions"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *GetMessagesItem) Reset() {
	*x = GetMessagesItem{}
	mi := &file_pb_ayrshare_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetMessagesItem) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMessagesItem) ProtoMessage() {}

func (x *GetMessagesItem) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 GetMessagesItem.ProtoReflect.Descriptor instead.
func (*GetMessagesItem) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{44}
}

func (x *GetMessagesItem) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GetMessagesItem) GetSenderId() string {
	if x != nil {
		return x.SenderId
	}
	return ""
}

func (x *GetMessagesItem) GetSenderDetails() *MessageSenderDetails {
	if x != nil {
		return x.SenderDetails
	}
	return nil
}

func (x *GetMessagesItem) GetRecipientId() string {
	if x != nil {
		return x.RecipientId
	}
	return ""
}

func (x *GetMessagesItem) GetRecipientDetails() *MessageRecipientDetails {
	if x != nil {
		return x.RecipientDetails
	}
	return nil
}

func (x *GetMessagesItem) GetConversationId() string {
	if x != nil {
		return x.ConversationId
	}
	return ""
}

func (x *GetMessagesItem) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *GetMessagesItem) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetMessagesItem) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *GetMessagesItem) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *GetMessagesItem) GetUpdated() string {
	if x != nil {
		return x.Updated
	}
	return ""
}

func (x *GetMessagesItem) GetAttachments() []*MessageAttachment {
	if x != nil {
		return x.Attachments
	}
	return nil
}

func (x *GetMessagesItem) GetReactions() []*MessageReaction {
	if x != nil {
		return x.Reactions
	}
	return nil
}

// 对话参与者
type ConversationParticipant struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	Picture       string                 `protobuf:"bytes,3,opt,name=picture,proto3" json:"picture"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ConversationParticipant) Reset() {
	*x = ConversationParticipant{}
	mi := &file_pb_ayrshare_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ConversationParticipant) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConversationParticipant) ProtoMessage() {}

func (x *ConversationParticipant) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 ConversationParticipant.ProtoReflect.Descriptor instead.
func (*ConversationParticipant) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{45}
}

func (x *ConversationParticipant) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ConversationParticipant) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ConversationParticipant) GetPicture() string {
	if x != nil {
		return x.Picture
	}
	return ""
}

// 对话详情
type ConversationDetail struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Id            string                   `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Participant   *ConversationParticipant `protobuf:"bytes,2,opt,name=participant,proto3" json:"participant"`
	Status        string                   `protobuf:"bytes,3,opt,name=status,proto3" json:"status"`
	Watermark     int64                    `protobuf:"varint,4,opt,name=watermark,proto3" json:"watermark"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ConversationDetail) Reset() {
	*x = ConversationDetail{}
	mi := &file_pb_ayrshare_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ConversationDetail) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConversationDetail) ProtoMessage() {}

func (x *ConversationDetail) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[46]
	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 ConversationDetail.ProtoReflect.Descriptor instead.
func (*ConversationDetail) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{46}
}

func (x *ConversationDetail) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ConversationDetail) GetParticipant() *ConversationParticipant {
	if x != nil {
		return x.Participant
	}
	return nil
}

func (x *ConversationDetail) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *ConversationDetail) GetWatermark() int64 {
	if x != nil {
		return x.Watermark
	}
	return 0
}

// 获取消息响应
type GetMessagesResponse struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	Status               string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	Messages             []*GetMessagesItem     `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages"`
	LastUpdated          string                 `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated"`
	NextUpdate           string                 `protobuf:"bytes,4,opt,name=nextUpdate,proto3" json:"nextUpdate"`
	ConversationIds      []string               `protobuf:"bytes,5,rep,name=conversationIds,proto3" json:"conversationIds"`
	ConversationsDetails []*ConversationDetail  `protobuf:"bytes,6,rep,name=conversationsDetails,proto3" json:"conversationsDetails"`
	Action               string                 `protobuf:"bytes,7,opt,name=action,proto3" json:"action"`
	Code                 int32                  `protobuf:"varint,8,opt,name=code,proto3" json:"code"`
	ErrMsg               string                 `protobuf:"bytes,9,opt,name=errMsg,json=message,proto3" json:"errMsg"` // 错误消息（JSON 字段名为 "message"，但 proto 字段名为 errMsg 以区分）
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *GetMessagesResponse) Reset() {
	*x = GetMessagesResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetMessagesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMessagesResponse) ProtoMessage() {}

func (x *GetMessagesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[47]
	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 GetMessagesResponse.ProtoReflect.Descriptor instead.
func (*GetMessagesResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{47}
}

func (x *GetMessagesResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *GetMessagesResponse) GetMessages() []*GetMessagesItem {
	if x != nil {
		return x.Messages
	}
	return nil
}

func (x *GetMessagesResponse) GetLastUpdated() string {
	if x != nil {
		return x.LastUpdated
	}
	return ""
}

func (x *GetMessagesResponse) GetNextUpdate() string {
	if x != nil {
		return x.NextUpdate
	}
	return ""
}

func (x *GetMessagesResponse) GetConversationIds() []string {
	if x != nil {
		return x.ConversationIds
	}
	return nil
}

func (x *GetMessagesResponse) GetConversationsDetails() []*ConversationDetail {
	if x != nil {
		return x.ConversationsDetails
	}
	return nil
}

func (x *GetMessagesResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *GetMessagesResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *GetMessagesResponse) GetErrMsg() string {
	if x != nil {
		return x.ErrMsg
	}
	return ""
}

// 发布评论请求
type PostCommentRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Id               string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Comment          string                 `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment"`
	Platforms        []string               `protobuf:"bytes,3,rep,name=platforms,proto3" json:"platforms"`
	SearchPlatformId bool                   `protobuf:"varint,4,opt,name=searchPlatformId,proto3" json:"searchPlatformId"`
	MediaUrls        []string               `protobuf:"bytes,5,rep,name=mediaUrls,proto3" json:"mediaUrls"`
	ProfileKey       string                 `protobuf:"bytes,6,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *PostCommentRequest) Reset() {
	*x = PostCommentRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PostCommentRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostCommentRequest) ProtoMessage() {}

func (x *PostCommentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[48]
	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 PostCommentRequest.ProtoReflect.Descriptor instead.
func (*PostCommentRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{48}
}

func (x *PostCommentRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *PostCommentRequest) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *PostCommentRequest) GetPlatforms() []string {
	if x != nil {
		return x.Platforms
	}
	return nil
}

func (x *PostCommentRequest) GetSearchPlatformId() bool {
	if x != nil {
		return x.SearchPlatformId
	}
	return false
}

func (x *PostCommentRequest) GetMediaUrls() []string {
	if x != nil {
		return x.MediaUrls
	}
	return nil
}

func (x *PostCommentRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// Instagram 平台评论响应
type InstagramCommentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId     string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Comment       string                 `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"`
	Platform      string                 `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstagramCommentResponse) Reset() {
	*x = InstagramCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstagramCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstagramCommentResponse) ProtoMessage() {}

func (x *InstagramCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[49]
	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 InstagramCommentResponse.ProtoReflect.Descriptor instead.
func (*InstagramCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{49}
}

func (x *InstagramCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *InstagramCommentResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *InstagramCommentResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *InstagramCommentResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

// TikTok 平台评论响应
type TikTokCommentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId     string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Comment       string                 `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"`
	Platform      string                 `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"`
	VideoId       string                 `protobuf:"bytes,5,opt,name=videoId,proto3" json:"videoId"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TikTokCommentResponse) Reset() {
	*x = TikTokCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TikTokCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TikTokCommentResponse) ProtoMessage() {}

func (x *TikTokCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 TikTokCommentResponse.ProtoReflect.Descriptor instead.
func (*TikTokCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{50}
}

func (x *TikTokCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *TikTokCommentResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *TikTokCommentResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *TikTokCommentResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *TikTokCommentResponse) GetVideoId() string {
	if x != nil {
		return x.VideoId
	}
	return ""
}

// Bluesky 平台评论响应
type BlueskyCommentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId     string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Cid           string                 `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid"`
	Comment       string                 `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"`
	Platform      string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"`
	PostUrl       string                 `protobuf:"bytes,6,opt,name=postUrl,proto3" json:"postUrl"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BlueskyCommentResponse) Reset() {
	*x = BlueskyCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BlueskyCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BlueskyCommentResponse) ProtoMessage() {}

func (x *BlueskyCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[51]
	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 BlueskyCommentResponse.ProtoReflect.Descriptor instead.
func (*BlueskyCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{51}
}

func (x *BlueskyCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *BlueskyCommentResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *BlueskyCommentResponse) GetCid() string {
	if x != nil {
		return x.Cid
	}
	return ""
}

func (x *BlueskyCommentResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *BlueskyCommentResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *BlueskyCommentResponse) GetPostUrl() string {
	if x != nil {
		return x.PostUrl
	}
	return ""
}

// Facebook 平台评论响应
type FacebookCommentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId     string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Comment       string                 `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"`
	Platform      string                 `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FacebookCommentResponse) Reset() {
	*x = FacebookCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FacebookCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FacebookCommentResponse) ProtoMessage() {}

func (x *FacebookCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[52]
	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 FacebookCommentResponse.ProtoReflect.Descriptor instead.
func (*FacebookCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{52}
}

func (x *FacebookCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *FacebookCommentResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *FacebookCommentResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *FacebookCommentResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

// LinkedIn 平台评论响应
type LinkedInCommentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId     string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Comment       string                 `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"`
	CommentUrn    string                 `protobuf:"bytes,4,opt,name=commentUrn,proto3" json:"commentUrn"`
	Platform      string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LinkedInCommentResponse) Reset() {
	*x = LinkedInCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LinkedInCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LinkedInCommentResponse) ProtoMessage() {}

func (x *LinkedInCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[53]
	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 LinkedInCommentResponse.ProtoReflect.Descriptor instead.
func (*LinkedInCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{53}
}

func (x *LinkedInCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *LinkedInCommentResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *LinkedInCommentResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *LinkedInCommentResponse) GetCommentUrn() string {
	if x != nil {
		return x.CommentUrn
	}
	return ""
}

func (x *LinkedInCommentResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

// Twitter/X 平台评论响应
type TwitterCommentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId     string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Comment       string                 `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"`
	PostUrl       string                 `protobuf:"bytes,4,opt,name=postUrl,proto3" json:"postUrl"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TwitterCommentResponse) Reset() {
	*x = TwitterCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TwitterCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TwitterCommentResponse) ProtoMessage() {}

func (x *TwitterCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[54]
	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 TwitterCommentResponse.ProtoReflect.Descriptor instead.
func (*TwitterCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{54}
}

func (x *TwitterCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *TwitterCommentResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *TwitterCommentResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *TwitterCommentResponse) GetPostUrl() string {
	if x != nil {
		return x.PostUrl
	}
	return ""
}

// YouTube 平台评论响应
type YouTubeCommentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId     string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Comment       string                 `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment"`
	Platform      string                 `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *YouTubeCommentResponse) Reset() {
	*x = YouTubeCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *YouTubeCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*YouTubeCommentResponse) ProtoMessage() {}

func (x *YouTubeCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[55]
	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 YouTubeCommentResponse.ProtoReflect.Descriptor instead.
func (*YouTubeCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{55}
}

func (x *YouTubeCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *YouTubeCommentResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *YouTubeCommentResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *YouTubeCommentResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

// 平台错误信息
type PlatformError struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Action        string                 `protobuf:"bytes,1,opt,name=action,proto3" json:"action"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
	Code          int32                  `protobuf:"varint,3,opt,name=code,proto3" json:"code"`
	Message       string                 `protobuf:"bytes,4,opt,name=message,proto3" json:"message"`
	Platform      string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"`
	Post          string                 `protobuf:"bytes,6,opt,name=post,proto3" json:"post"`     // 重复评论错误时包含的评论内容
	Detail        string                 `protobuf:"bytes,7,opt,name=detail,proto3" json:"detail"` // 错误详情
	Id            string                 `protobuf:"bytes,8,opt,name=id,proto3" json:"id"`         // Ayrshare Post ID（错误响应中可能包含）
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PlatformError) Reset() {
	*x = PlatformError{}
	mi := &file_pb_ayrshare_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PlatformError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PlatformError) ProtoMessage() {}

func (x *PlatformError) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[56]
	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 PlatformError.ProtoReflect.Descriptor instead.
func (*PlatformError) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{56}
}

func (x *PlatformError) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *PlatformError) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *PlatformError) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *PlatformError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *PlatformError) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *PlatformError) GetPost() string {
	if x != nil {
		return x.Post
	}
	return ""
}

func (x *PlatformError) GetDetail() string {
	if x != nil {
		return x.Detail
	}
	return ""
}

func (x *PlatformError) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// 发布评论响应
type PostCommentResponse struct {
	state        protoimpl.MessageState    `protogen:"open.v1"`
	Status       string                    `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentID    string                    `protobuf:"bytes,2,opt,name=commentID,proto3" json:"commentID"`
	CommentIdAlt string                    `protobuf:"bytes,3,opt,name=commentIdAlt,json=commentId,proto3" json:"commentIdAlt"` // 备用字段，用于错误响应
	Id           string                    `protobuf:"bytes,4,opt,name=id,proto3" json:"id"`
	Instagram    *InstagramCommentResponse `protobuf:"bytes,5,opt,name=instagram,proto3" json:"instagram"`
	Tiktok       *TikTokCommentResponse    `protobuf:"bytes,6,opt,name=tiktok,proto3" json:"tiktok"`
	Action       string                    `protobuf:"bytes,7,opt,name=action,proto3" json:"action"`
	Code         int32                     `protobuf:"varint,8,opt,name=code,proto3" json:"code"`
	Message      string                    `protobuf:"bytes,9,opt,name=message,proto3" json:"message"`
	Platform     string                    `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"`
	Errors       []*PlatformError          `protobuf:"bytes,11,rep,name=errors,proto3" json:"errors"`
	// 其它平台的发布评论结果
	Bluesky       *BlueskyCommentResponse  `protobuf:"bytes,12,opt,name=bluesky,proto3" json:"bluesky"`
	Facebook      *FacebookCommentResponse `protobuf:"bytes,13,opt,name=facebook,proto3" json:"facebook"`
	Linkedin      *LinkedInCommentResponse `protobuf:"bytes,14,opt,name=linkedin,proto3" json:"linkedin"`
	Twitter       *TwitterCommentResponse  `protobuf:"bytes,15,opt,name=twitter,proto3" json:"twitter"`
	Youtube       *YouTubeCommentResponse  `protobuf:"bytes,16,opt,name=youtube,proto3" json:"youtube"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PostCommentResponse) Reset() {
	*x = PostCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PostCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostCommentResponse) ProtoMessage() {}

func (x *PostCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[57]
	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 PostCommentResponse.ProtoReflect.Descriptor instead.
func (*PostCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{57}
}

func (x *PostCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *PostCommentResponse) GetCommentID() string {
	if x != nil {
		return x.CommentID
	}
	return ""
}

func (x *PostCommentResponse) GetCommentIdAlt() string {
	if x != nil {
		return x.CommentIdAlt
	}
	return ""
}

func (x *PostCommentResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *PostCommentResponse) GetInstagram() *InstagramCommentResponse {
	if x != nil {
		return x.Instagram
	}
	return nil
}

func (x *PostCommentResponse) GetTiktok() *TikTokCommentResponse {
	if x != nil {
		return x.Tiktok
	}
	return nil
}

func (x *PostCommentResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *PostCommentResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *PostCommentResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *PostCommentResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *PostCommentResponse) GetErrors() []*PlatformError {
	if x != nil {
		return x.Errors
	}
	return nil
}

func (x *PostCommentResponse) GetBluesky() *BlueskyCommentResponse {
	if x != nil {
		return x.Bluesky
	}
	return nil
}

func (x *PostCommentResponse) GetFacebook() *FacebookCommentResponse {
	if x != nil {
		return x.Facebook
	}
	return nil
}

func (x *PostCommentResponse) GetLinkedin() *LinkedInCommentResponse {
	if x != nil {
		return x.Linkedin
	}
	return nil
}

func (x *PostCommentResponse) GetTwitter() *TwitterCommentResponse {
	if x != nil {
		return x.Twitter
	}
	return nil
}

func (x *PostCommentResponse) GetYoutube() *YouTubeCommentResponse {
	if x != nil {
		return x.Youtube
	}
	return nil
}

// 获取评论请求
type GetCommentRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	ProfileKey    string                 `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetCommentRequest) Reset() {
	*x = GetCommentRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetCommentRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetCommentRequest) ProtoMessage() {}

func (x *GetCommentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[58]
	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 GetCommentRequest.ProtoReflect.Descriptor instead.
func (*GetCommentRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{58}
}

func (x *GetCommentRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GetCommentRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// Instagram 用户信息
type InstagramUser struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	Username      string                 `protobuf:"bytes,3,opt,name=username,proto3" json:"username"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstagramUser) Reset() {
	*x = InstagramUser{}
	mi := &file_pb_ayrshare_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstagramUser) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstagramUser) ProtoMessage() {}

func (x *InstagramUser) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[59]
	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 InstagramUser.ProtoReflect.Descriptor instead.
func (*InstagramUser) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{59}
}

func (x *InstagramUser) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *InstagramUser) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *InstagramUser) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

// Instagram 用户ID信息
type InstagramUserInfo struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstagramUserInfo) Reset() {
	*x = InstagramUserInfo{}
	mi := &file_pb_ayrshare_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstagramUserInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstagramUserInfo) ProtoMessage() {}

func (x *InstagramUserInfo) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[60]
	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 InstagramUserInfo.ProtoReflect.Descriptor instead.
func (*InstagramUserInfo) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{60}
}

func (x *InstagramUserInfo) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Instagram 评论详情
type InstagramComment struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Comment       string                 `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"`
	CommentId     string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Id            string                 `protobuf:"bytes,3,opt,name=id,proto3" json:"id"`
	Created       string                 `protobuf:"bytes,4,opt,name=created,proto3" json:"created"`
	From          *InstagramUser         `protobuf:"bytes,5,opt,name=from,proto3" json:"from"`
	Hidden        bool                   `protobuf:"varint,6,opt,name=hidden,proto3" json:"hidden"`
	LikeCount     int32                  `protobuf:"varint,7,opt,name=likeCount,proto3" json:"likeCount"`
	ParentId      string                 `protobuf:"bytes,8,opt,name=parentId,proto3" json:"parentId"`
	Platform      string                 `protobuf:"bytes,9,opt,name=platform,proto3" json:"platform"`
	PostId        string                 `protobuf:"bytes,10,opt,name=postId,proto3" json:"postId"`
	Replies       []*InstagramComment    `protobuf:"bytes,11,rep,name=replies,proto3" json:"replies"`
	User          *InstagramUserInfo     `protobuf:"bytes,12,opt,name=user,proto3" json:"user"`
	UserName      string                 `protobuf:"bytes,13,opt,name=userName,proto3" json:"userName"`
	UsernameAlt   string                 `protobuf:"bytes,14,opt,name=usernameAlt,json=username,proto3" json:"usernameAlt"` // 备用字段，用于回复评论
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstagramComment) Reset() {
	*x = InstagramComment{}
	mi := &file_pb_ayrshare_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstagramComment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstagramComment) ProtoMessage() {}

func (x *InstagramComment) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[61]
	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 InstagramComment.ProtoReflect.Descriptor instead.
func (*InstagramComment) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{61}
}

func (x *InstagramComment) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *InstagramComment) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *InstagramComment) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *InstagramComment) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *InstagramComment) GetFrom() *InstagramUser {
	if x != nil {
		return x.From
	}
	return nil
}

func (x *InstagramComment) GetHidden() bool {
	if x != nil {
		return x.Hidden
	}
	return false
}

func (x *InstagramComment) GetLikeCount() int32 {
	if x != nil {
		return x.LikeCount
	}
	return 0
}

func (x *InstagramComment) GetParentId() string {
	if x != nil {
		return x.ParentId
	}
	return ""
}

func (x *InstagramComment) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *InstagramComment) GetPostId() string {
	if x != nil {
		return x.PostId
	}
	return ""
}

func (x *InstagramComment) GetReplies() []*InstagramComment {
	if x != nil {
		return x.Replies
	}
	return nil
}

func (x *InstagramComment) GetUser() *InstagramUserInfo {
	if x != nil {
		return x.User
	}
	return nil
}

func (x *InstagramComment) GetUserName() string {
	if x != nil {
		return x.UserName
	}
	return ""
}

func (x *InstagramComment) GetUsernameAlt() string {
	if x != nil {
		return x.UsernameAlt
	}
	return ""
}

// TikTok 评论详情
type TikTokComment struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Comment         string                 `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"`
	CommentId       string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Created         string                 `protobuf:"bytes,3,opt,name=created,proto3" json:"created"`
	CreateTime      string                 `protobuf:"bytes,4,opt,name=createTime,proto3" json:"createTime"`
	DisplayName     string                 `protobuf:"bytes,5,opt,name=displayName,proto3" json:"displayName"`
	Liked           bool                   `protobuf:"varint,6,opt,name=liked,proto3" json:"liked"`
	Likes           int32                  `protobuf:"varint,7,opt,name=likes,proto3" json:"likes"`
	LikeCount       int32                  `protobuf:"varint,8,opt,name=likeCount,proto3" json:"likeCount"`
	Owner           bool                   `protobuf:"varint,9,opt,name=owner,proto3" json:"owner"`
	ParentCommentId string                 `protobuf:"bytes,10,opt,name=parentCommentId,proto3" json:"parentCommentId"`
	Pinned          bool                   `protobuf:"varint,11,opt,name=pinned,proto3" json:"pinned"`
	Platform        string                 `protobuf:"bytes,12,opt,name=platform,proto3" json:"platform"`
	ProfileImageUrl string                 `protobuf:"bytes,13,opt,name=profileImageUrl,proto3" json:"profileImageUrl"`
	Replies         []*TikTokComment       `protobuf:"bytes,14,rep,name=replies,proto3" json:"replies"`
	Status          string                 `protobuf:"bytes,15,opt,name=status,proto3" json:"status"`
	UserId          string                 `protobuf:"bytes,16,opt,name=userId,proto3" json:"userId"`
	Username        string                 `protobuf:"bytes,17,opt,name=username,proto3" json:"username"`
	VideoId         string                 `protobuf:"bytes,18,opt,name=videoId,proto3" json:"videoId"`
	Visibility      string                 `protobuf:"bytes,19,opt,name=visibility,proto3" json:"visibility"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *TikTokComment) Reset() {
	*x = TikTokComment{}
	mi := &file_pb_ayrshare_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TikTokComment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TikTokComment) ProtoMessage() {}

func (x *TikTokComment) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[62]
	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 TikTokComment.ProtoReflect.Descriptor instead.
func (*TikTokComment) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{62}
}

func (x *TikTokComment) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *TikTokComment) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *TikTokComment) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *TikTokComment) GetCreateTime() string {
	if x != nil {
		return x.CreateTime
	}
	return ""
}

func (x *TikTokComment) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *TikTokComment) GetLiked() bool {
	if x != nil {
		return x.Liked
	}
	return false
}

func (x *TikTokComment) GetLikes() int32 {
	if x != nil {
		return x.Likes
	}
	return 0
}

func (x *TikTokComment) GetLikeCount() int32 {
	if x != nil {
		return x.LikeCount
	}
	return 0
}

func (x *TikTokComment) GetOwner() bool {
	if x != nil {
		return x.Owner
	}
	return false
}

func (x *TikTokComment) GetParentCommentId() string {
	if x != nil {
		return x.ParentCommentId
	}
	return ""
}

func (x *TikTokComment) GetPinned() bool {
	if x != nil {
		return x.Pinned
	}
	return false
}

func (x *TikTokComment) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *TikTokComment) GetProfileImageUrl() string {
	if x != nil {
		return x.ProfileImageUrl
	}
	return ""
}

func (x *TikTokComment) GetReplies() []*TikTokComment {
	if x != nil {
		return x.Replies
	}
	return nil
}

func (x *TikTokComment) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *TikTokComment) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *TikTokComment) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *TikTokComment) GetVideoId() string {
	if x != nil {
		return x.VideoId
	}
	return ""
}

func (x *TikTokComment) GetVisibility() string {
	if x != nil {
		return x.Visibility
	}
	return ""
}

// Bluesky 评论详情
type BlueskyComment struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Comment         string                 `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"`
	CommentId       string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Created         string                 `protobuf:"bytes,3,opt,name=created,proto3" json:"created"`
	DisplayName     string                 `protobuf:"bytes,4,opt,name=displayName,proto3" json:"displayName"`
	LikeCount       int32                  `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount"`
	Platform        string                 `protobuf:"bytes,6,opt,name=platform,proto3" json:"platform"`
	ProfileImageUrl string                 `protobuf:"bytes,7,opt,name=profileImageUrl,proto3" json:"profileImageUrl"`
	QuoteCount      int32                  `protobuf:"varint,8,opt,name=quoteCount,proto3" json:"quoteCount"`
	Replies         []*BlueskyComment      `protobuf:"bytes,9,rep,name=replies,proto3" json:"replies"`
	ReplyCount      int32                  `protobuf:"varint,10,opt,name=replyCount,proto3" json:"replyCount"`
	ReplyTo         string                 `protobuf:"bytes,11,opt,name=replyTo,proto3" json:"replyTo"`
	RepostCount     int32                  `protobuf:"varint,12,opt,name=repostCount,proto3" json:"repostCount"`
	UserName        string                 `protobuf:"bytes,13,opt,name=userName,proto3" json:"userName"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *BlueskyComment) Reset() {
	*x = BlueskyComment{}
	mi := &file_pb_ayrshare_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BlueskyComment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BlueskyComment) ProtoMessage() {}

func (x *BlueskyComment) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[63]
	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 BlueskyComment.ProtoReflect.Descriptor instead.
func (*BlueskyComment) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{63}
}

func (x *BlueskyComment) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *BlueskyComment) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *BlueskyComment) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *BlueskyComment) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *BlueskyComment) GetLikeCount() int32 {
	if x != nil {
		return x.LikeCount
	}
	return 0
}

func (x *BlueskyComment) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *BlueskyComment) GetProfileImageUrl() string {
	if x != nil {
		return x.ProfileImageUrl
	}
	return ""
}

func (x *BlueskyComment) GetQuoteCount() int32 {
	if x != nil {
		return x.QuoteCount
	}
	return 0
}

func (x *BlueskyComment) GetReplies() []*BlueskyComment {
	if x != nil {
		return x.Replies
	}
	return nil
}

func (x *BlueskyComment) GetReplyCount() int32 {
	if x != nil {
		return x.ReplyCount
	}
	return 0
}

func (x *BlueskyComment) GetReplyTo() string {
	if x != nil {
		return x.ReplyTo
	}
	return ""
}

func (x *BlueskyComment) GetRepostCount() int32 {
	if x != nil {
		return x.RepostCount
	}
	return 0
}

func (x *BlueskyComment) GetUserName() string {
	if x != nil {
		return x.UserName
	}
	return ""
}

// Facebook 用户信息
type FacebookUser struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FacebookUser) Reset() {
	*x = FacebookUser{}
	mi := &file_pb_ayrshare_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FacebookUser) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FacebookUser) ProtoMessage() {}

func (x *FacebookUser) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[64]
	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 FacebookUser.ProtoReflect.Descriptor instead.
func (*FacebookUser) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{64}
}

func (x *FacebookUser) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *FacebookUser) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Facebook 父级评论/帖子信息
type FacebookParent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CreatedTime   string                 `protobuf:"bytes,1,opt,name=createdTime,proto3" json:"createdTime"`
	From          *FacebookUser          `protobuf:"bytes,2,opt,name=from,proto3" json:"from"`
	Message       string                 `protobuf:"bytes,3,opt,name=message,proto3" json:"message"`
	Id            string                 `protobuf:"bytes,4,opt,name=id,proto3" json:"id"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FacebookParent) Reset() {
	*x = FacebookParent{}
	mi := &file_pb_ayrshare_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FacebookParent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FacebookParent) ProtoMessage() {}

func (x *FacebookParent) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[65]
	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 FacebookParent.ProtoReflect.Descriptor instead.
func (*FacebookParent) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{65}
}

func (x *FacebookParent) GetCreatedTime() string {
	if x != nil {
		return x.CreatedTime
	}
	return ""
}

func (x *FacebookParent) GetFrom() *FacebookUser {
	if x != nil {
		return x.From
	}
	return nil
}

func (x *FacebookParent) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *FacebookParent) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Facebook 评论详情（用于主评论和回复）
type FacebookComment struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Comment       string                 `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"`
	CommentId     string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	CommentCount  int32                  `protobuf:"varint,3,opt,name=commentCount,proto3" json:"commentCount"`
	CommentUrl    string                 `protobuf:"bytes,4,opt,name=commentUrl,proto3" json:"commentUrl"`
	Company       bool                   `protobuf:"varint,5,opt,name=company,proto3" json:"company"`
	Created       string                 `protobuf:"bytes,6,opt,name=created,proto3" json:"created"`
	From          *FacebookUser          `protobuf:"bytes,7,opt,name=from,proto3" json:"from"`
	LikeCount     int32                  `protobuf:"varint,8,opt,name=likeCount,proto3" json:"likeCount"`
	Parent        *FacebookParent        `protobuf:"bytes,9,opt,name=parent,proto3" json:"parent"`
	Platform      string                 `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"`
	UserLikes     bool                   `protobuf:"varint,11,opt,name=userLikes,proto3" json:"userLikes"`
	Replies       []*FacebookComment     `protobuf:"bytes,12,rep,name=replies,proto3" json:"replies"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FacebookComment) Reset() {
	*x = FacebookComment{}
	mi := &file_pb_ayrshare_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FacebookComment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FacebookComment) ProtoMessage() {}

func (x *FacebookComment) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[66]
	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 FacebookComment.ProtoReflect.Descriptor instead.
func (*FacebookComment) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{66}
}

func (x *FacebookComment) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *FacebookComment) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *FacebookComment) GetCommentCount() int32 {
	if x != nil {
		return x.CommentCount
	}
	return 0
}

func (x *FacebookComment) GetCommentUrl() string {
	if x != nil {
		return x.CommentUrl
	}
	return ""
}

func (x *FacebookComment) GetCompany() bool {
	if x != nil {
		return x.Company
	}
	return false
}

func (x *FacebookComment) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *FacebookComment) GetFrom() *FacebookUser {
	if x != nil {
		return x.From
	}
	return nil
}

func (x *FacebookComment) GetLikeCount() int32 {
	if x != nil {
		return x.LikeCount
	}
	return 0
}

func (x *FacebookComment) GetParent() *FacebookParent {
	if x != nil {
		return x.Parent
	}
	return nil
}

func (x *FacebookComment) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *FacebookComment) GetUserLikes() bool {
	if x != nil {
		return x.UserLikes
	}
	return false
}

func (x *FacebookComment) GetReplies() []*FacebookComment {
	if x != nil {
		return x.Replies
	}
	return nil
}

// LinkedIn 评论中的媒体信息
type LinkedInMedia struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          string                 `protobuf:"bytes,1,opt,name=type,proto3" json:"type"`
	Url           string                 `protobuf:"bytes,2,opt,name=url,proto3" json:"url"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LinkedInMedia) Reset() {
	*x = LinkedInMedia{}
	mi := &file_pb_ayrshare_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LinkedInMedia) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LinkedInMedia) ProtoMessage() {}

func (x *LinkedInMedia) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[67]
	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 LinkedInMedia.ProtoReflect.Descriptor instead.
func (*LinkedInMedia) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{67}
}

func (x *LinkedInMedia) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *LinkedInMedia) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

// LinkedIn 评论发布者信息
type LinkedInFrom struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	Url           string                 `protobuf:"bytes,3,opt,name=url,proto3" json:"url"`
	Description   string                 `protobuf:"bytes,4,opt,name=description,proto3" json:"description"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LinkedInFrom) Reset() {
	*x = LinkedInFrom{}
	mi := &file_pb_ayrshare_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LinkedInFrom) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LinkedInFrom) ProtoMessage() {}

func (x *LinkedInFrom) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[68]
	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 LinkedInFrom.ProtoReflect.Descriptor instead.
func (*LinkedInFrom) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{68}
}

func (x *LinkedInFrom) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *LinkedInFrom) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *LinkedInFrom) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *LinkedInFrom) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

// LinkedIn 评论详情
type LinkedInComment struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Comment          string                 `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"`
	CommentId        string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	CommentUrn       string                 `protobuf:"bytes,3,opt,name=commentUrn,proto3" json:"commentUrn"`
	Created          string                 `protobuf:"bytes,4,opt,name=created,proto3" json:"created"`
	From             *LinkedInFrom          `protobuf:"bytes,5,opt,name=from,proto3" json:"from"`
	LikeCount        int32                  `protobuf:"varint,6,opt,name=likeCount,proto3" json:"likeCount"`
	Media            []*LinkedInMedia       `protobuf:"bytes,7,rep,name=media,proto3" json:"media"`
	Platform         string                 `protobuf:"bytes,8,opt,name=platform,proto3" json:"platform"`
	ProfileImageUrl  string                 `protobuf:"bytes,9,opt,name=profileImageUrl,proto3" json:"profileImageUrl"`
	UserName         string                 `protobuf:"bytes,10,opt,name=userName,proto3" json:"userName"`
	Founded          int32                  `protobuf:"varint,11,opt,name=founded,proto3" json:"founded"`
	OrganizationType string                 `protobuf:"bytes,12,opt,name=organizationType,proto3" json:"organizationType"`
	Website          string                 `protobuf:"bytes,13,opt,name=website,proto3" json:"website"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *LinkedInComment) Reset() {
	*x = LinkedInComment{}
	mi := &file_pb_ayrshare_proto_msgTypes[69]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LinkedInComment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LinkedInComment) ProtoMessage() {}

func (x *LinkedInComment) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[69]
	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 LinkedInComment.ProtoReflect.Descriptor instead.
func (*LinkedInComment) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{69}
}

func (x *LinkedInComment) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *LinkedInComment) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *LinkedInComment) GetCommentUrn() string {
	if x != nil {
		return x.CommentUrn
	}
	return ""
}

func (x *LinkedInComment) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *LinkedInComment) GetFrom() *LinkedInFrom {
	if x != nil {
		return x.From
	}
	return nil
}

func (x *LinkedInComment) GetLikeCount() int32 {
	if x != nil {
		return x.LikeCount
	}
	return 0
}

func (x *LinkedInComment) GetMedia() []*LinkedInMedia {
	if x != nil {
		return x.Media
	}
	return nil
}

func (x *LinkedInComment) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *LinkedInComment) GetProfileImageUrl() string {
	if x != nil {
		return x.ProfileImageUrl
	}
	return ""
}

func (x *LinkedInComment) GetUserName() string {
	if x != nil {
		return x.UserName
	}
	return ""
}

func (x *LinkedInComment) GetFounded() int32 {
	if x != nil {
		return x.Founded
	}
	return 0
}

func (x *LinkedInComment) GetOrganizationType() string {
	if x != nil {
		return x.OrganizationType
	}
	return ""
}

func (x *LinkedInComment) GetWebsite() string {
	if x != nil {
		return x.Website
	}
	return ""
}

// Reddit 用户信息
type RedditUser struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RedditUser) Reset() {
	*x = RedditUser{}
	mi := &file_pb_ayrshare_proto_msgTypes[70]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RedditUser) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RedditUser) ProtoMessage() {}

func (x *RedditUser) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[70]
	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 RedditUser.ProtoReflect.Descriptor instead.
func (*RedditUser) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{70}
}

func (x *RedditUser) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *RedditUser) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Reddit 评论详情
type RedditComment struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Comment       string                 `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"`
	CommentId     string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Created       string                 `protobuf:"bytes,3,opt,name=created,proto3" json:"created"`
	From          *RedditUser            `protobuf:"bytes,4,opt,name=from,proto3" json:"from"`
	CommentUrl    string                 `protobuf:"bytes,5,opt,name=commentUrl,proto3" json:"commentUrl"`
	Subreddit     string                 `protobuf:"bytes,6,opt,name=subreddit,proto3" json:"subreddit"`
	Ups           int32                  `protobuf:"varint,7,opt,name=ups,proto3" json:"ups"`
	IsSubmitter   bool                   `protobuf:"varint,8,opt,name=isSubmitter,proto3" json:"isSubmitter"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RedditComment) Reset() {
	*x = RedditComment{}
	mi := &file_pb_ayrshare_proto_msgTypes[71]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RedditComment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RedditComment) ProtoMessage() {}

func (x *RedditComment) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[71]
	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 RedditComment.ProtoReflect.Descriptor instead.
func (*RedditComment) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{71}
}

func (x *RedditComment) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *RedditComment) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *RedditComment) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *RedditComment) GetFrom() *RedditUser {
	if x != nil {
		return x.From
	}
	return nil
}

func (x *RedditComment) GetCommentUrl() string {
	if x != nil {
		return x.CommentUrl
	}
	return ""
}

func (x *RedditComment) GetSubreddit() string {
	if x != nil {
		return x.Subreddit
	}
	return ""
}

func (x *RedditComment) GetUps() int32 {
	if x != nil {
		return x.Ups
	}
	return 0
}

func (x *RedditComment) GetIsSubmitter() bool {
	if x != nil {
		return x.IsSubmitter
	}
	return false
}

// Threads 评论详情（用于主评论和回复）
type ThreadsComment struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Comment          string                 `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment"`
	CommentId        string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	CommentUrl       string                 `protobuf:"bytes,3,opt,name=commentUrl,proto3" json:"commentUrl"`
	Created          string                 `protobuf:"bytes,4,opt,name=created,proto3" json:"created"`
	HasReplies       bool                   `protobuf:"varint,5,opt,name=hasReplies,proto3" json:"hasReplies"`
	IsQuotePost      bool                   `protobuf:"varint,6,opt,name=isQuotePost,proto3" json:"isQuotePost"`
	IsReply          bool                   `protobuf:"varint,7,opt,name=isReply,proto3" json:"isReply"`
	IsReplyOwnedByMe bool                   `protobuf:"varint,8,opt,name=isReplyOwnedByMe,proto3" json:"isReplyOwnedByMe"`
	MediaType        string                 `protobuf:"bytes,9,opt,name=mediaType,proto3" json:"mediaType"`
	ParentId         string                 `protobuf:"bytes,10,opt,name=parentId,proto3" json:"parentId"`
	Platform         string                 `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform"`
	PostId           string                 `protobuf:"bytes,12,opt,name=postId,proto3" json:"postId"`
	Replies          []*ThreadsComment      `protobuf:"bytes,13,rep,name=replies,proto3" json:"replies"`
	ReplyAudience    string                 `protobuf:"bytes,14,opt,name=replyAudience,proto3" json:"replyAudience"`
	Shortcode        string                 `protobuf:"bytes,15,opt,name=shortcode,proto3" json:"shortcode"`
	UserName         string                 `protobuf:"bytes,16,opt,name=userName,proto3" json:"userName"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ThreadsComment) Reset() {
	*x = ThreadsComment{}
	mi := &file_pb_ayrshare_proto_msgTypes[72]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ThreadsComment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ThreadsComment) ProtoMessage() {}

func (x *ThreadsComment) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[72]
	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 ThreadsComment.ProtoReflect.Descriptor instead.
func (*ThreadsComment) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{72}
}

func (x *ThreadsComment) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *ThreadsComment) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *ThreadsComment) GetCommentUrl() string {
	if x != nil {
		return x.CommentUrl
	}
	return ""
}

func (x *ThreadsComment) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *ThreadsComment) GetHasReplies() bool {
	if x != nil {
		return x.HasReplies
	}
	return false
}

func (x *ThreadsComment) GetIsQuotePost() bool {
	if x != nil {
		return x.IsQuotePost
	}
	return false
}

func (x *ThreadsComment) GetIsReply() bool {
	if x != nil {
		return x.IsReply
	}
	return false
}

func (x *ThreadsComment) GetIsReplyOwnedByMe() bool {
	if x != nil {
		return x.IsReplyOwnedByMe
	}
	return false
}

func (x *ThreadsComment) GetMediaType() string {
	if x != nil {
		return x.MediaType
	}
	return ""
}

func (x *ThreadsComment) GetParentId() string {
	if x != nil {
		return x.ParentId
	}
	return ""
}

func (x *ThreadsComment) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *ThreadsComment) GetPostId() string {
	if x != nil {
		return x.PostId
	}
	return ""
}

func (x *ThreadsComment) GetReplies() []*ThreadsComment {
	if x != nil {
		return x.Replies
	}
	return nil
}

func (x *ThreadsComment) GetReplyAudience() string {
	if x != nil {
		return x.ReplyAudience
	}
	return ""
}

func (x *ThreadsComment) GetShortcode() string {
	if x != nil {
		return x.Shortcode
	}
	return ""
}

func (x *ThreadsComment) GetUserName() string {
	if x != nil {
		return x.UserName
	}
	return ""
}

// Twitter/X 用户公共指标（用户维度，用于 Get Comments 返回）
type TwitterPublicMetrics struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	FollowersCount int32                  `protobuf:"varint,1,opt,name=followersCount,proto3" json:"followersCount"`
	FollowingCount int32                  `protobuf:"varint,2,opt,name=followingCount,proto3" json:"followingCount"`
	TweetCount     int32                  `protobuf:"varint,3,opt,name=tweetCount,proto3" json:"tweetCount"`
	ListedCount    int32                  `protobuf:"varint,4,opt,name=listedCount,proto3" json:"listedCount"`
	LikeCount      int32                  `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount"`
	MediaCount     int32                  `protobuf:"varint,6,opt,name=mediaCount,proto3" json:"mediaCount"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *TwitterPublicMetrics) Reset() {
	*x = TwitterPublicMetrics{}
	mi := &file_pb_ayrshare_proto_msgTypes[73]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TwitterPublicMetrics) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TwitterPublicMetrics) ProtoMessage() {}

func (x *TwitterPublicMetrics) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[73]
	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 TwitterPublicMetrics.ProtoReflect.Descriptor instead.
func (*TwitterPublicMetrics) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{73}
}

func (x *TwitterPublicMetrics) GetFollowersCount() int32 {
	if x != nil {
		return x.FollowersCount
	}
	return 0
}

func (x *TwitterPublicMetrics) GetFollowingCount() int32 {
	if x != nil {
		return x.FollowingCount
	}
	return 0
}

func (x *TwitterPublicMetrics) GetTweetCount() int32 {
	if x != nil {
		return x.TweetCount
	}
	return 0
}

func (x *TwitterPublicMetrics) GetListedCount() int32 {
	if x != nil {
		return x.ListedCount
	}
	return 0
}

func (x *TwitterPublicMetrics) GetLikeCount() int32 {
	if x != nil {
		return x.LikeCount
	}
	return 0
}

func (x *TwitterPublicMetrics) GetMediaCount() int32 {
	if x != nil {
		return x.MediaCount
	}
	return 0
}

// Twitter/X 被引用或回复的 Tweet 信息
type TwitterReferencedTweet struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          string                 `protobuf:"bytes,1,opt,name=type,proto3" json:"type"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TwitterReferencedTweet) Reset() {
	*x = TwitterReferencedTweet{}
	mi := &file_pb_ayrshare_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TwitterReferencedTweet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TwitterReferencedTweet) ProtoMessage() {}

func (x *TwitterReferencedTweet) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[74]
	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 TwitterReferencedTweet.ProtoReflect.Descriptor instead.
func (*TwitterReferencedTweet) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{74}
}

func (x *TwitterReferencedTweet) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *TwitterReferencedTweet) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Twitter/X 被回复的用户信息
type TwitterReplyTo struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	CreatedAt       string                 `protobuf:"bytes,1,opt,name=createdAt,proto3" json:"createdAt"`
	Description     string                 `protobuf:"bytes,2,opt,name=description,proto3" json:"description"`
	Id              string                 `protobuf:"bytes,3,opt,name=id,proto3" json:"id"`
	Location        string                 `protobuf:"bytes,4,opt,name=location,proto3" json:"location"`
	Name            string                 `protobuf:"bytes,5,opt,name=name,proto3" json:"name"`
	ProfileImageUrl string                 `protobuf:"bytes,6,opt,name=profileImageUrl,proto3" json:"profileImageUrl"`
	PublicMetrics   *TwitterPublicMetrics  `protobuf:"bytes,7,opt,name=publicMetrics,proto3" json:"publicMetrics"`
	Url             string                 `protobuf:"bytes,8,opt,name=url,proto3" json:"url"`
	Username        string                 `protobuf:"bytes,9,opt,name=username,proto3" json:"username"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *TwitterReplyTo) Reset() {
	*x = TwitterReplyTo{}
	mi := &file_pb_ayrshare_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TwitterReplyTo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TwitterReplyTo) ProtoMessage() {}

func (x *TwitterReplyTo) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[75]
	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 TwitterReplyTo.ProtoReflect.Descriptor instead.
func (*TwitterReplyTo) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{75}
}

func (x *TwitterReplyTo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *TwitterReplyTo) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *TwitterReplyTo) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *TwitterReplyTo) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

func (x *TwitterReplyTo) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *TwitterReplyTo) GetProfileImageUrl() string {
	if x != nil {
		return x.ProfileImageUrl
	}
	return ""
}

func (x *TwitterReplyTo) GetPublicMetrics() *TwitterPublicMetrics {
	if x != nil {
		return x.PublicMetrics
	}
	return nil
}

func (x *TwitterReplyTo) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *TwitterReplyTo) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

// Twitter/X 评论详情
type TwitterComment struct {
	state            protoimpl.MessageState    `protogen:"open.v1"`
	BookmarkCount    int32                     `protobuf:"varint,1,opt,name=bookmarkCount,proto3" json:"bookmarkCount"`
	Comment          string                    `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment"`
	CommentId        string                    `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId"`
	Created          string                    `protobuf:"bytes,4,opt,name=created,proto3" json:"created"`
	Description      string                    `protobuf:"bytes,5,opt,name=description,proto3" json:"description"`
	Id               string                    `protobuf:"bytes,6,opt,name=id,proto3" json:"id"`
	ImpressionCount  int32                     `protobuf:"varint,7,opt,name=impressionCount,proto3" json:"impressionCount"`
	LikeCount        int32                     `protobuf:"varint,8,opt,name=likeCount,proto3" json:"likeCount"`
	Name             string                    `protobuf:"bytes,9,opt,name=name,proto3" json:"name"`
	Platform         string                    `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"`
	ProfileImageUrl  string                    `protobuf:"bytes,11,opt,name=profileImageUrl,proto3" json:"profileImageUrl"`
	PublicMetrics    *TwitterPublicMetrics     `protobuf:"bytes,12,opt,name=publicMetrics,proto3" json:"publicMetrics"`
	QuoteCount       int32                     `protobuf:"varint,13,opt,name=quoteCount,proto3" json:"quoteCount"`
	ReferencedTweets []*TwitterReferencedTweet `protobuf:"bytes,14,rep,name=referencedTweets,proto3" json:"referencedTweets"`
	ReplyCount       int32                     `protobuf:"varint,15,opt,name=replyCount,proto3" json:"replyCount"`
	ReplyTo          *TwitterReplyTo           `protobuf:"bytes,16,opt,name=replyTo,proto3" json:"replyTo"`
	ThreadNumber     int32                     `protobuf:"varint,17,opt,name=threadNumber,proto3" json:"threadNumber"`
	UserName         string                    `protobuf:"bytes,18,opt,name=userName,proto3" json:"userName"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *TwitterComment) Reset() {
	*x = TwitterComment{}
	mi := &file_pb_ayrshare_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TwitterComment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TwitterComment) ProtoMessage() {}

func (x *TwitterComment) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[76]
	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 TwitterComment.ProtoReflect.Descriptor instead.
func (*TwitterComment) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{76}
}

func (x *TwitterComment) GetBookmarkCount() int32 {
	if x != nil {
		return x.BookmarkCount
	}
	return 0
}

func (x *TwitterComment) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *TwitterComment) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *TwitterComment) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *TwitterComment) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *TwitterComment) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *TwitterComment) GetImpressionCount() int32 {
	if x != nil {
		return x.ImpressionCount
	}
	return 0
}

func (x *TwitterComment) GetLikeCount() int32 {
	if x != nil {
		return x.LikeCount
	}
	return 0
}

func (x *TwitterComment) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *TwitterComment) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *TwitterComment) GetProfileImageUrl() string {
	if x != nil {
		return x.ProfileImageUrl
	}
	return ""
}

func (x *TwitterComment) GetPublicMetrics() *TwitterPublicMetrics {
	if x != nil {
		return x.PublicMetrics
	}
	return nil
}

func (x *TwitterComment) GetQuoteCount() int32 {
	if x != nil {
		return x.QuoteCount
	}
	return 0
}

func (x *TwitterComment) GetReferencedTweets() []*TwitterReferencedTweet {
	if x != nil {
		return x.ReferencedTweets
	}
	return nil
}

func (x *TwitterComment) GetReplyCount() int32 {
	if x != nil {
		return x.ReplyCount
	}
	return 0
}

func (x *TwitterComment) GetReplyTo() *TwitterReplyTo {
	if x != nil {
		return x.ReplyTo
	}
	return nil
}

func (x *TwitterComment) GetThreadNumber() int32 {
	if x != nil {
		return x.ThreadNumber
	}
	return 0
}

func (x *TwitterComment) GetUserName() string {
	if x != nil {
		return x.UserName
	}
	return ""
}

// YouTube 回复评论详情
type YouTubeReply struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ChannelUrl      string                 `protobuf:"bytes,1,opt,name=channelUrl,proto3" json:"channelUrl"`
	Comment         string                 `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment"`
	CommentId       string                 `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId"`
	Created         string                 `protobuf:"bytes,4,opt,name=created,proto3" json:"created"`
	LikeCount       int32                  `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount"`
	Platform        string                 `protobuf:"bytes,6,opt,name=platform,proto3" json:"platform"`
	ProfileImageUrl string                 `protobuf:"bytes,7,opt,name=profileImageUrl,proto3" json:"profileImageUrl"`
	UserName        string                 `protobuf:"bytes,8,opt,name=userName,proto3" json:"userName"`
	ParentId        string                 `protobuf:"bytes,9,opt,name=parentId,proto3" json:"parentId"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *YouTubeReply) Reset() {
	*x = YouTubeReply{}
	mi := &file_pb_ayrshare_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *YouTubeReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*YouTubeReply) ProtoMessage() {}

func (x *YouTubeReply) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_proto_msgTypes[77]
	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 YouTubeReply.ProtoReflect.Descriptor instead.
func (*YouTubeReply) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{77}
}

func (x *YouTubeReply) GetChannelUrl() string {
	if x != nil {
		return x.ChannelUrl
	}
	return ""
}

func (x *YouTubeReply) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *YouTubeReply) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *YouTubeReply) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *YouTubeReply) GetLikeCount() int32 {
	if x != nil {
		return x.LikeCount
	}
	return 0
}

func (x *YouTubeReply) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *YouTubeReply) GetProfileImageUrl() string {
	if x != nil {
		return x.ProfileImageUrl
	}
	return ""
}

func (x *YouTubeReply) GetUserName() string {
	if x != nil {
		return x.UserName
	}
	return ""
}

func (x *YouTubeReply) GetParentId() string {
	if x != nil {
		return x.ParentId
	}
	return ""
}

// YouTube 评论详情
type YouTubeComment struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ChannelUrl      string                 `protobuf:"bytes,1,opt,name=channelUrl,proto3" json:"channelUrl"`
	Comment         string                 `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment"`
	CommentId       string                 `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId"`
	Created         string                 `protobuf:"bytes,4,opt,name=created,proto3" json:"created"`
	IsPublic        bool                   `protobuf:"varint,5,opt,name=isPublic,proto3" json:"isPublic"`
	LikeCount       int32                  `protobuf:"varint,6,opt,name=likeCount,proto3" json:"likeCount"`
	Platform        string                 `protobuf:"bytes,7,opt,name=platform,proto3" json:"platform"`
	ProfileImageUrl string                 `protobuf:"bytes,8,opt,name=profileImageUrl,proto3" json:"profileImageUrl"`
	Replies         []*YouTubeReply        `protobuf:"bytes,9,rep,name=replies,proto3" json:"replies"`
	UserName        string                 `protobuf:"bytes,10,opt,name=userName,proto3" json:"userName"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *YouTubeComment) Reset() {
	*x = YouTubeComment{}
	mi := &file_pb_ayrshare_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *YouTubeComment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*YouTubeComment) ProtoMessage() {}

func (x *YouTubeComment) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 YouTubeComment.ProtoReflect.Descriptor instead.
func (*YouTubeComment) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{78}
}

func (x *YouTubeComment) GetChannelUrl() string {
	if x != nil {
		return x.ChannelUrl
	}
	return ""
}

func (x *YouTubeComment) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *YouTubeComment) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *YouTubeComment) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *YouTubeComment) GetIsPublic() bool {
	if x != nil {
		return x.IsPublic
	}
	return false
}

func (x *YouTubeComment) GetLikeCount() int32 {
	if x != nil {
		return x.LikeCount
	}
	return 0
}

func (x *YouTubeComment) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *YouTubeComment) GetProfileImageUrl() string {
	if x != nil {
		return x.ProfileImageUrl
	}
	return ""
}

func (x *YouTubeComment) GetReplies() []*YouTubeReply {
	if x != nil {
		return x.Replies
	}
	return nil
}

func (x *YouTubeComment) GetUserName() string {
	if x != nil {
		return x.UserName
	}
	return ""
}

// 获取评论响应
type GetCommentResponse struct {
	state       protoimpl.MessageState `protogen:"open.v1"`
	Instagram   []*InstagramComment    `protobuf:"bytes,1,rep,name=instagram,proto3" json:"instagram"`
	Tiktok      []*TikTokComment       `protobuf:"bytes,2,rep,name=tiktok,proto3" json:"tiktok"`
	Status      string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status"`
	Id          string                 `protobuf:"bytes,4,opt,name=id,proto3" json:"id"`
	LastUpdated string                 `protobuf:"bytes,5,opt,name=lastUpdated,proto3" json:"lastUpdated"`
	NextUpdate  string                 `protobuf:"bytes,6,opt,name=nextUpdate,proto3" json:"nextUpdate"`
	Action      string                 `protobuf:"bytes,7,opt,name=action,proto3" json:"action"`
	Code        int32                  `protobuf:"varint,8,opt,name=code,proto3" json:"code"`
	Message     string                 `protobuf:"bytes,9,opt,name=message,proto3" json:"message"`
	// 其它平台的评论列表
	Bluesky       []*BlueskyComment  `protobuf:"bytes,10,rep,name=bluesky,proto3" json:"bluesky"`
	Facebook      []*FacebookComment `protobuf:"bytes,11,rep,name=facebook,proto3" json:"facebook"`
	Linkedin      []*LinkedInComment `protobuf:"bytes,12,rep,name=linkedin,proto3" json:"linkedin"`
	Reddit        []*RedditComment   `protobuf:"bytes,13,rep,name=reddit,proto3" json:"reddit"`
	Threads       []*ThreadsComment  `protobuf:"bytes,14,rep,name=threads,proto3" json:"threads"`
	Twitter       []*TwitterComment  `protobuf:"bytes,15,rep,name=twitter,proto3" json:"twitter"`
	Youtube       []*YouTubeComment  `protobuf:"bytes,16,rep,name=youtube,proto3" json:"youtube"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetCommentResponse) Reset() {
	*x = GetCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[79]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetCommentResponse) ProtoMessage() {}

func (x *GetCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 GetCommentResponse.ProtoReflect.Descriptor instead.
func (*GetCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{79}
}

func (x *GetCommentResponse) GetInstagram() []*InstagramComment {
	if x != nil {
		return x.Instagram
	}
	return nil
}

func (x *GetCommentResponse) GetTiktok() []*TikTokComment {
	if x != nil {
		return x.Tiktok
	}
	return nil
}

func (x *GetCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *GetCommentResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GetCommentResponse) GetLastUpdated() string {
	if x != nil {
		return x.LastUpdated
	}
	return ""
}

func (x *GetCommentResponse) GetNextUpdate() string {
	if x != nil {
		return x.NextUpdate
	}
	return ""
}

func (x *GetCommentResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *GetCommentResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *GetCommentResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *GetCommentResponse) GetBluesky() []*BlueskyComment {
	if x != nil {
		return x.Bluesky
	}
	return nil
}

func (x *GetCommentResponse) GetFacebook() []*FacebookComment {
	if x != nil {
		return x.Facebook
	}
	return nil
}

func (x *GetCommentResponse) GetLinkedin() []*LinkedInComment {
	if x != nil {
		return x.Linkedin
	}
	return nil
}

func (x *GetCommentResponse) GetReddit() []*RedditComment {
	if x != nil {
		return x.Reddit
	}
	return nil
}

func (x *GetCommentResponse) GetThreads() []*ThreadsComment {
	if x != nil {
		return x.Threads
	}
	return nil
}

func (x *GetCommentResponse) GetTwitter() []*TwitterComment {
	if x != nil {
		return x.Twitter
	}
	return nil
}

func (x *GetCommentResponse) GetYoutube() []*YouTubeComment {
	if x != nil {
		return x.Youtube
	}
	return nil
}

// 删除评论请求
type DeleteCommentRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Id               string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Platforms        []string               `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"`
	Platform         string                 `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform"`
	SearchPlatformId bool                   `protobuf:"varint,4,opt,name=searchPlatformId,proto3" json:"searchPlatformId"`
	ProfileKey       string                 `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *DeleteCommentRequest) Reset() {
	*x = DeleteCommentRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[80]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteCommentRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteCommentRequest) ProtoMessage() {}

func (x *DeleteCommentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 DeleteCommentRequest.ProtoReflect.Descriptor instead.
func (*DeleteCommentRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{80}
}

func (x *DeleteCommentRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *DeleteCommentRequest) GetPlatforms() []string {
	if x != nil {
		return x.Platforms
	}
	return nil
}

func (x *DeleteCommentRequest) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DeleteCommentRequest) GetSearchPlatformId() bool {
	if x != nil {
		return x.SearchPlatformId
	}
	return false
}

func (x *DeleteCommentRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// Instagram 删除评论响应（单条）
type InstagramDeleteResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Action        string                 `protobuf:"bytes,1,opt,name=action,proto3" json:"action"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
	Id            string                 `protobuf:"bytes,3,opt,name=id,proto3" json:"id"`
	Comment       string                 `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstagramDeleteResponse) Reset() {
	*x = InstagramDeleteResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[81]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstagramDeleteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstagramDeleteResponse) ProtoMessage() {}

func (x *InstagramDeleteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 InstagramDeleteResponse.ProtoReflect.Descriptor instead.
func (*InstagramDeleteResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{81}
}

func (x *InstagramDeleteResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *InstagramDeleteResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *InstagramDeleteResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *InstagramDeleteResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

// TikTok 删除评论响应（单条）
type TikTokDeleteResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Action        string                 `protobuf:"bytes,1,opt,name=action,proto3" json:"action"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
	CommentId     string                 `protobuf:"bytes,3,opt,name=commentId,proto3" json:"commentId"`
	Id            string                 `protobuf:"bytes,4,opt,name=id,proto3" json:"id"`
	Comment       string                 `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TikTokDeleteResponse) Reset() {
	*x = TikTokDeleteResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[82]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TikTokDeleteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TikTokDeleteResponse) ProtoMessage() {}

func (x *TikTokDeleteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 TikTokDeleteResponse.ProtoReflect.Descriptor instead.
func (*TikTokDeleteResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{82}
}

func (x *TikTokDeleteResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *TikTokDeleteResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *TikTokDeleteResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *TikTokDeleteResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *TikTokDeleteResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

// 删除评论响应
type DeleteCommentResponse struct {
	state  protoimpl.MessageState `protogen:"open.v1"`
	Status string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	// Instagram 和 TikTok 可能是单个对象或数组，使用 JSON 字符串存储
	Instagram string `protobuf:"bytes,2,opt,name=instagram,proto3" json:"instagram"`
	Tiktok    string `protobuf:"bytes,3,opt,name=tiktok,proto3" json:"tiktok"`
	Action    string `protobuf:"bytes,4,opt,name=action,proto3" json:"action"`
	Code      int32  `protobuf:"varint,5,opt,name=code,proto3" json:"code"`
	Message   string `protobuf:"bytes,6,opt,name=message,proto3" json:"message"`
	// 其它平台删除结果，同样使用 JSON 字符串存储，兼容单条或多条返回
	Bluesky       string `protobuf:"bytes,7,opt,name=bluesky,proto3" json:"bluesky"`
	Facebook      string `protobuf:"bytes,8,opt,name=facebook,proto3" json:"facebook"`
	Linkedin      string `protobuf:"bytes,9,opt,name=linkedin,proto3" json:"linkedin"`
	Threads       string `protobuf:"bytes,10,opt,name=threads,proto3" json:"threads"`
	Twitter       string `protobuf:"bytes,11,opt,name=twitter,proto3" json:"twitter"`
	Youtube       string `protobuf:"bytes,12,opt,name=youtube,proto3" json:"youtube"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteCommentResponse) Reset() {
	*x = DeleteCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[83]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteCommentResponse) ProtoMessage() {}

func (x *DeleteCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 DeleteCommentResponse.ProtoReflect.Descriptor instead.
func (*DeleteCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{83}
}

func (x *DeleteCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *DeleteCommentResponse) GetInstagram() string {
	if x != nil {
		return x.Instagram
	}
	return ""
}

func (x *DeleteCommentResponse) GetTiktok() string {
	if x != nil {
		return x.Tiktok
	}
	return ""
}

func (x *DeleteCommentResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *DeleteCommentResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *DeleteCommentResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *DeleteCommentResponse) GetBluesky() string {
	if x != nil {
		return x.Bluesky
	}
	return ""
}

func (x *DeleteCommentResponse) GetFacebook() string {
	if x != nil {
		return x.Facebook
	}
	return ""
}

func (x *DeleteCommentResponse) GetLinkedin() string {
	if x != nil {
		return x.Linkedin
	}
	return ""
}

func (x *DeleteCommentResponse) GetThreads() string {
	if x != nil {
		return x.Threads
	}
	return ""
}

func (x *DeleteCommentResponse) GetTwitter() string {
	if x != nil {
		return x.Twitter
	}
	return ""
}

func (x *DeleteCommentResponse) GetYoutube() string {
	if x != nil {
		return x.Youtube
	}
	return ""
}

// 回复评论请求
type ReplyCommentRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Comment       string                 `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment"`
	Platforms     []string               `protobuf:"bytes,3,rep,name=platforms,proto3" json:"platforms"`
	ProfileKey    string                 `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReplyCommentRequest) Reset() {
	*x = ReplyCommentRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[84]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReplyCommentRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReplyCommentRequest) ProtoMessage() {}

func (x *ReplyCommentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 ReplyCommentRequest.ProtoReflect.Descriptor instead.
func (*ReplyCommentRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{84}
}

func (x *ReplyCommentRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ReplyCommentRequest) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *ReplyCommentRequest) GetPlatforms() []string {
	if x != nil {
		return x.Platforms
	}
	return nil
}

func (x *ReplyCommentRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// Instagram 回复评论响应
type InstagramReplyResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Status          string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId       string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	SourceCommentId string                 `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"`
	Comment         string                 `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"`
	Platform        string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *InstagramReplyResponse) Reset() {
	*x = InstagramReplyResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[85]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstagramReplyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstagramReplyResponse) ProtoMessage() {}

func (x *InstagramReplyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 InstagramReplyResponse.ProtoReflect.Descriptor instead.
func (*InstagramReplyResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{85}
}

func (x *InstagramReplyResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *InstagramReplyResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *InstagramReplyResponse) GetSourceCommentId() string {
	if x != nil {
		return x.SourceCommentId
	}
	return ""
}

func (x *InstagramReplyResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *InstagramReplyResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

// TikTok 回复评论响应
type TikTokReplyResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Status          string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId       string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	SourceCommentId string                 `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"`
	Comment         string                 `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"`
	Platform        string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"`
	VideoId         string                 `protobuf:"bytes,6,opt,name=videoId,proto3" json:"videoId"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *TikTokReplyResponse) Reset() {
	*x = TikTokReplyResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[86]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TikTokReplyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TikTokReplyResponse) ProtoMessage() {}

func (x *TikTokReplyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 TikTokReplyResponse.ProtoReflect.Descriptor instead.
func (*TikTokReplyResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{86}
}

func (x *TikTokReplyResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *TikTokReplyResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *TikTokReplyResponse) GetSourceCommentId() string {
	if x != nil {
		return x.SourceCommentId
	}
	return ""
}

func (x *TikTokReplyResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *TikTokReplyResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *TikTokReplyResponse) GetVideoId() string {
	if x != nil {
		return x.VideoId
	}
	return ""
}

// Bluesky 回复评论响应
type BlueskyReplyResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Status          string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId       string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	SourceCommentId string                 `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"`
	Comment         string                 `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"`
	Platform        string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"`
	Cid             string                 `protobuf:"bytes,6,opt,name=cid,proto3" json:"cid"`
	PostUrl         string                 `protobuf:"bytes,7,opt,name=postUrl,proto3" json:"postUrl"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *BlueskyReplyResponse) Reset() {
	*x = BlueskyReplyResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[87]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BlueskyReplyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BlueskyReplyResponse) ProtoMessage() {}

func (x *BlueskyReplyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 BlueskyReplyResponse.ProtoReflect.Descriptor instead.
func (*BlueskyReplyResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{87}
}

func (x *BlueskyReplyResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *BlueskyReplyResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *BlueskyReplyResponse) GetSourceCommentId() string {
	if x != nil {
		return x.SourceCommentId
	}
	return ""
}

func (x *BlueskyReplyResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *BlueskyReplyResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *BlueskyReplyResponse) GetCid() string {
	if x != nil {
		return x.Cid
	}
	return ""
}

func (x *BlueskyReplyResponse) GetPostUrl() string {
	if x != nil {
		return x.PostUrl
	}
	return ""
}

// Facebook 回复评论响应
type FacebookReplyResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Status          string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId       string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	SourceCommentId string                 `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"`
	Comment         string                 `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"`
	Platform        string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *FacebookReplyResponse) Reset() {
	*x = FacebookReplyResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[88]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FacebookReplyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FacebookReplyResponse) ProtoMessage() {}

func (x *FacebookReplyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 FacebookReplyResponse.ProtoReflect.Descriptor instead.
func (*FacebookReplyResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{88}
}

func (x *FacebookReplyResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *FacebookReplyResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *FacebookReplyResponse) GetSourceCommentId() string {
	if x != nil {
		return x.SourceCommentId
	}
	return ""
}

func (x *FacebookReplyResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *FacebookReplyResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

// LinkedIn 回复评论响应
type LinkedInReplyResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Status          string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId       string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	SourceCommentId string                 `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"`
	Comment         string                 `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"`
	Platform        string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *LinkedInReplyResponse) Reset() {
	*x = LinkedInReplyResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[89]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LinkedInReplyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LinkedInReplyResponse) ProtoMessage() {}

func (x *LinkedInReplyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 LinkedInReplyResponse.ProtoReflect.Descriptor instead.
func (*LinkedInReplyResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{89}
}

func (x *LinkedInReplyResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *LinkedInReplyResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *LinkedInReplyResponse) GetSourceCommentId() string {
	if x != nil {
		return x.SourceCommentId
	}
	return ""
}

func (x *LinkedInReplyResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *LinkedInReplyResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

// Twitter/X 回复评论响应
type TwitterReplyResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Status          string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId       string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	SourceCommentId string                 `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"`
	Comment         string                 `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"`
	Platform        string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"`
	PostUrl         string                 `protobuf:"bytes,6,opt,name=postUrl,proto3" json:"postUrl"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *TwitterReplyResponse) Reset() {
	*x = TwitterReplyResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[90]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TwitterReplyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TwitterReplyResponse) ProtoMessage() {}

func (x *TwitterReplyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 TwitterReplyResponse.ProtoReflect.Descriptor instead.
func (*TwitterReplyResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{90}
}

func (x *TwitterReplyResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *TwitterReplyResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *TwitterReplyResponse) GetSourceCommentId() string {
	if x != nil {
		return x.SourceCommentId
	}
	return ""
}

func (x *TwitterReplyResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *TwitterReplyResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *TwitterReplyResponse) GetPostUrl() string {
	if x != nil {
		return x.PostUrl
	}
	return ""
}

// YouTube 回复评论响应
type YouTubeReplyResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Status          string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId       string                 `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	SourceCommentId string                 `protobuf:"bytes,3,opt,name=sourceCommentId,proto3" json:"sourceCommentId"`
	Comment         string                 `protobuf:"bytes,4,opt,name=comment,proto3" json:"comment"`
	Platform        string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *YouTubeReplyResponse) Reset() {
	*x = YouTubeReplyResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[91]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *YouTubeReplyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*YouTubeReplyResponse) ProtoMessage() {}

func (x *YouTubeReplyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 YouTubeReplyResponse.ProtoReflect.Descriptor instead.
func (*YouTubeReplyResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{91}
}

func (x *YouTubeReplyResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *YouTubeReplyResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *YouTubeReplyResponse) GetSourceCommentId() string {
	if x != nil {
		return x.SourceCommentId
	}
	return ""
}

func (x *YouTubeReplyResponse) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *YouTubeReplyResponse) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

// 回复评论响应
type ReplyCommentResponse struct {
	state     protoimpl.MessageState  `protogen:"open.v1"`
	Status    string                  `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	CommentId string                  `protobuf:"bytes,2,opt,name=commentId,proto3" json:"commentId"`
	Id        string                  `protobuf:"bytes,3,opt,name=id,proto3" json:"id"`
	Instagram *InstagramReplyResponse `protobuf:"bytes,4,opt,name=instagram,proto3" json:"instagram"`
	Tiktok    *TikTokReplyResponse    `protobuf:"bytes,5,opt,name=tiktok,proto3" json:"tiktok"`
	Action    string                  `protobuf:"bytes,6,opt,name=action,proto3" json:"action"`
	Code      int32                   `protobuf:"varint,7,opt,name=code,proto3" json:"code"`
	Message   string                  `protobuf:"bytes,8,opt,name=message,proto3" json:"message"`
	// 其它平台的回复结果
	Bluesky       *BlueskyReplyResponse  `protobuf:"bytes,9,opt,name=bluesky,proto3" json:"bluesky"`
	Facebook      *FacebookReplyResponse `protobuf:"bytes,10,opt,name=facebook,proto3" json:"facebook"`
	Linkedin      *LinkedInReplyResponse `protobuf:"bytes,11,opt,name=linkedin,proto3" json:"linkedin"`
	Twitter       *TwitterReplyResponse  `protobuf:"bytes,12,opt,name=twitter,proto3" json:"twitter"`
	Youtube       *YouTubeReplyResponse  `protobuf:"bytes,13,opt,name=youtube,proto3" json:"youtube"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReplyCommentResponse) Reset() {
	*x = ReplyCommentResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[92]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReplyCommentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReplyCommentResponse) ProtoMessage() {}

func (x *ReplyCommentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 ReplyCommentResponse.ProtoReflect.Descriptor instead.
func (*ReplyCommentResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{92}
}

func (x *ReplyCommentResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *ReplyCommentResponse) GetCommentId() string {
	if x != nil {
		return x.CommentId
	}
	return ""
}

func (x *ReplyCommentResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ReplyCommentResponse) GetInstagram() *InstagramReplyResponse {
	if x != nil {
		return x.Instagram
	}
	return nil
}

func (x *ReplyCommentResponse) GetTiktok() *TikTokReplyResponse {
	if x != nil {
		return x.Tiktok
	}
	return nil
}

func (x *ReplyCommentResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *ReplyCommentResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *ReplyCommentResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *ReplyCommentResponse) GetBluesky() *BlueskyReplyResponse {
	if x != nil {
		return x.Bluesky
	}
	return nil
}

func (x *ReplyCommentResponse) GetFacebook() *FacebookReplyResponse {
	if x != nil {
		return x.Facebook
	}
	return nil
}

func (x *ReplyCommentResponse) GetLinkedin() *LinkedInReplyResponse {
	if x != nil {
		return x.Linkedin
	}
	return nil
}

func (x *ReplyCommentResponse) GetTwitter() *TwitterReplyResponse {
	if x != nil {
		return x.Twitter
	}
	return nil
}

func (x *ReplyCommentResponse) GetYoutube() *YouTubeReplyResponse {
	if x != nil {
		return x.Youtube
	}
	return nil
}

// 获取帖子分析数据请求
type GetPostAnalyticsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Platforms     []string               `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"`
	ProfileKey    string                 `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetPostAnalyticsRequest) Reset() {
	*x = GetPostAnalyticsRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[93]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetPostAnalyticsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPostAnalyticsRequest) ProtoMessage() {}

func (x *GetPostAnalyticsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 GetPostAnalyticsRequest.ProtoReflect.Descriptor instead.
func (*GetPostAnalyticsRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{93}
}

func (x *GetPostAnalyticsRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GetPostAnalyticsRequest) GetPlatforms() []string {
	if x != nil {
		return x.Platforms
	}
	return nil
}

func (x *GetPostAnalyticsRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// 通过 Social Post ID 获取帖子分析数据请求
type GetPostAnalyticsBySocialIDRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Id               string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Platforms        []string               `protobuf:"bytes,2,rep,name=platforms,proto3" json:"platforms"`
	SearchPlatformId bool                   `protobuf:"varint,3,opt,name=searchPlatformId,proto3" json:"searchPlatformId"`
	ProfileKey       string                 `protobuf:"bytes,4,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *GetPostAnalyticsBySocialIDRequest) Reset() {
	*x = GetPostAnalyticsBySocialIDRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[94]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetPostAnalyticsBySocialIDRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPostAnalyticsBySocialIDRequest) ProtoMessage() {}

func (x *GetPostAnalyticsBySocialIDRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 GetPostAnalyticsBySocialIDRequest.ProtoReflect.Descriptor instead.
func (*GetPostAnalyticsBySocialIDRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{94}
}

func (x *GetPostAnalyticsBySocialIDRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GetPostAnalyticsBySocialIDRequest) GetPlatforms() []string {
	if x != nil {
		return x.Platforms
	}
	return nil
}

func (x *GetPostAnalyticsBySocialIDRequest) GetSearchPlatformId() bool {
	if x != nil {
		return x.SearchPlatformId
	}
	return false
}

func (x *GetPostAnalyticsBySocialIDRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// 获取帖子分析数据响应（使用 JSON 字符串存储复杂的平台数据）
type GetPostAnalyticsResponse struct {
	state  protoimpl.MessageState `protogen:"open.v1"`
	Status string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	Code   int32                  `protobuf:"varint,2,opt,name=code,proto3" json:"code"`
	Id     string                 `protobuf:"bytes,3,opt,name=id,proto3" json:"id"`
	// 各平台的分析数据以 JSON 字符串形式存储
	Bluesky       string `protobuf:"bytes,4,opt,name=bluesky,proto3" json:"bluesky"`
	Facebook      string `protobuf:"bytes,5,opt,name=facebook,proto3" json:"facebook"`
	Instagram     string `protobuf:"bytes,6,opt,name=instagram,proto3" json:"instagram"`
	Linkedin      string `protobuf:"bytes,7,opt,name=linkedin,proto3" json:"linkedin"`
	Pinterest     string `protobuf:"bytes,8,opt,name=pinterest,proto3" json:"pinterest"`
	Snapchat      string `protobuf:"bytes,9,opt,name=snapchat,proto3" json:"snapchat"`
	Threads       string `protobuf:"bytes,10,opt,name=threads,proto3" json:"threads"`
	Tiktok        string `protobuf:"bytes,11,opt,name=tiktok,proto3" json:"tiktok"`
	Twitter       string `protobuf:"bytes,12,opt,name=twitter,proto3" json:"twitter"`
	Youtube       string `protobuf:"bytes,13,opt,name=youtube,proto3" json:"youtube"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetPostAnalyticsResponse) Reset() {
	*x = GetPostAnalyticsResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[95]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetPostAnalyticsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPostAnalyticsResponse) ProtoMessage() {}

func (x *GetPostAnalyticsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 GetPostAnalyticsResponse.ProtoReflect.Descriptor instead.
func (*GetPostAnalyticsResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{95}
}

func (x *GetPostAnalyticsResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *GetPostAnalyticsResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetBluesky() string {
	if x != nil {
		return x.Bluesky
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetFacebook() string {
	if x != nil {
		return x.Facebook
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetInstagram() string {
	if x != nil {
		return x.Instagram
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetLinkedin() string {
	if x != nil {
		return x.Linkedin
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetPinterest() string {
	if x != nil {
		return x.Pinterest
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetSnapchat() string {
	if x != nil {
		return x.Snapchat
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetThreads() string {
	if x != nil {
		return x.Threads
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetTiktok() string {
	if x != nil {
		return x.Tiktok
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetTwitter() string {
	if x != nil {
		return x.Twitter
	}
	return ""
}

func (x *GetPostAnalyticsResponse) GetYoutube() string {
	if x != nil {
		return x.Youtube
	}
	return ""
}

// 获取社交网络分析数据请求
type GetSocialAnalyticsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Platforms     []string               `protobuf:"bytes,1,rep,name=platforms,proto3" json:"platforms"`
	ProfileKey    string                 `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetSocialAnalyticsRequest) Reset() {
	*x = GetSocialAnalyticsRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[96]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetSocialAnalyticsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSocialAnalyticsRequest) ProtoMessage() {}

func (x *GetSocialAnalyticsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 GetSocialAnalyticsRequest.ProtoReflect.Descriptor instead.
func (*GetSocialAnalyticsRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{96}
}

func (x *GetSocialAnalyticsRequest) GetPlatforms() []string {
	if x != nil {
		return x.Platforms
	}
	return nil
}

func (x *GetSocialAnalyticsRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// 获取社交网络分析数据响应（使用 JSON 字符串存储复杂的平台数据）
type GetSocialAnalyticsResponse struct {
	state  protoimpl.MessageState `protogen:"open.v1"`
	Status string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	// 各平台的分析数据以 JSON 字符串形式存储
	Bluesky       string `protobuf:"bytes,2,opt,name=bluesky,proto3" json:"bluesky"`
	Facebook      string `protobuf:"bytes,3,opt,name=facebook,proto3" json:"facebook"`
	Gmb           string `protobuf:"bytes,4,opt,name=gmb,proto3" json:"gmb"`
	Instagram     string `protobuf:"bytes,5,opt,name=instagram,proto3" json:"instagram"`
	Linkedin      string `protobuf:"bytes,6,opt,name=linkedin,proto3" json:"linkedin"`
	Pinterest     string `protobuf:"bytes,7,opt,name=pinterest,proto3" json:"pinterest"`
	Reddit        string `protobuf:"bytes,8,opt,name=reddit,proto3" json:"reddit"`
	Snapchat      string `protobuf:"bytes,9,opt,name=snapchat,proto3" json:"snapchat"`
	Threads       string `protobuf:"bytes,10,opt,name=threads,proto3" json:"threads"`
	Tiktok        string `protobuf:"bytes,11,opt,name=tiktok,proto3" json:"tiktok"`
	Twitter       string `protobuf:"bytes,12,opt,name=twitter,proto3" json:"twitter"`
	Youtube       string `protobuf:"bytes,13,opt,name=youtube,proto3" json:"youtube"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetSocialAnalyticsResponse) Reset() {
	*x = GetSocialAnalyticsResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[97]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetSocialAnalyticsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSocialAnalyticsResponse) ProtoMessage() {}

func (x *GetSocialAnalyticsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 GetSocialAnalyticsResponse.ProtoReflect.Descriptor instead.
func (*GetSocialAnalyticsResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{97}
}

func (x *GetSocialAnalyticsResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetBluesky() string {
	if x != nil {
		return x.Bluesky
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetFacebook() string {
	if x != nil {
		return x.Facebook
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetGmb() string {
	if x != nil {
		return x.Gmb
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetInstagram() string {
	if x != nil {
		return x.Instagram
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetLinkedin() string {
	if x != nil {
		return x.Linkedin
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetPinterest() string {
	if x != nil {
		return x.Pinterest
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetReddit() string {
	if x != nil {
		return x.Reddit
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetSnapchat() string {
	if x != nil {
		return x.Snapchat
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetThreads() string {
	if x != nil {
		return x.Threads
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetTiktok() string {
	if x != nil {
		return x.Tiktok
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetTwitter() string {
	if x != nil {
		return x.Twitter
	}
	return ""
}

func (x *GetSocialAnalyticsResponse) GetYoutube() string {
	if x != nil {
		return x.Youtube
	}
	return ""
}

// AutoHashtagsRequest 自动生成标签请求参数
type AutoHashtagsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Post          string                 `protobuf:"bytes,1,opt,name=post,proto3" json:"post"`
	Max           int32                  `protobuf:"varint,2,opt,name=max,proto3" json:"max"`
	Position      string                 `protobuf:"bytes,3,opt,name=position,proto3" json:"position"`
	Language      string                 `protobuf:"bytes,4,opt,name=language,proto3" json:"language"`
	ProfileKey    string                 `protobuf:"bytes,5,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AutoHashtagsRequest) Reset() {
	*x = AutoHashtagsRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[98]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AutoHashtagsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AutoHashtagsRequest) ProtoMessage() {}

func (x *AutoHashtagsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 AutoHashtagsRequest.ProtoReflect.Descriptor instead.
func (*AutoHashtagsRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{98}
}

func (x *AutoHashtagsRequest) GetPost() string {
	if x != nil {
		return x.Post
	}
	return ""
}

func (x *AutoHashtagsRequest) GetMax() int32 {
	if x != nil {
		return x.Max
	}
	return 0
}

func (x *AutoHashtagsRequest) GetPosition() string {
	if x != nil {
		return x.Position
	}
	return ""
}

func (x *AutoHashtagsRequest) GetLanguage() string {
	if x != nil {
		return x.Language
	}
	return ""
}

func (x *AutoHashtagsRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// AutoHashtagsResponse 自动生成标签返回结果
type AutoHashtagsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Post          string                 `protobuf:"bytes,1,opt,name=post,proto3" json:"post"`
	Action        string                 `protobuf:"bytes,2,opt,name=action,proto3" json:"action"`
	Status        string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status"`
	Code          int32                  `protobuf:"varint,4,opt,name=code,proto3" json:"code"`
	Message       string                 `protobuf:"bytes,5,opt,name=message,proto3" json:"message"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AutoHashtagsResponse) Reset() {
	*x = AutoHashtagsResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[99]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AutoHashtagsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AutoHashtagsResponse) ProtoMessage() {}

func (x *AutoHashtagsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 AutoHashtagsResponse.ProtoReflect.Descriptor instead.
func (*AutoHashtagsResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{99}
}

func (x *AutoHashtagsResponse) GetPost() string {
	if x != nil {
		return x.Post
	}
	return ""
}

func (x *AutoHashtagsResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *AutoHashtagsResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *AutoHashtagsResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *AutoHashtagsResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// CheckBannedHashtagRequest 查看被禁用标签请求
type CheckBannedHashtagRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Hashtag       string                 `protobuf:"bytes,1,opt,name=hashtag,proto3" json:"hashtag"`
	ProfileKey    string                 `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CheckBannedHashtagRequest) Reset() {
	*x = CheckBannedHashtagRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[100]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CheckBannedHashtagRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckBannedHashtagRequest) ProtoMessage() {}

func (x *CheckBannedHashtagRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 CheckBannedHashtagRequest.ProtoReflect.Descriptor instead.
func (*CheckBannedHashtagRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{100}
}

func (x *CheckBannedHashtagRequest) GetHashtag() string {
	if x != nil {
		return x.Hashtag
	}
	return ""
}

func (x *CheckBannedHashtagRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// CheckBannedHashtagResponse 查看被禁用标签返回结果
type CheckBannedHashtagResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Hashtag       string                 `protobuf:"bytes,1,opt,name=hashtag,proto3" json:"hashtag"`
	Banned        bool                   `protobuf:"varint,2,opt,name=banned,proto3" json:"banned"`
	Action        string                 `protobuf:"bytes,3,opt,name=action,proto3" json:"action"`
	Status        string                 `protobuf:"bytes,4,opt,name=status,proto3" json:"status"`
	Code          int32                  `protobuf:"varint,5,opt,name=code,proto3" json:"code"`
	Message       string                 `protobuf:"bytes,6,opt,name=message,proto3" json:"message"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CheckBannedHashtagResponse) Reset() {
	*x = CheckBannedHashtagResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[101]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CheckBannedHashtagResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckBannedHashtagResponse) ProtoMessage() {}

func (x *CheckBannedHashtagResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 CheckBannedHashtagResponse.ProtoReflect.Descriptor instead.
func (*CheckBannedHashtagResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{101}
}

func (x *CheckBannedHashtagResponse) GetHashtag() string {
	if x != nil {
		return x.Hashtag
	}
	return ""
}

func (x *CheckBannedHashtagResponse) GetBanned() bool {
	if x != nil {
		return x.Banned
	}
	return false
}

func (x *CheckBannedHashtagResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *CheckBannedHashtagResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *CheckBannedHashtagResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *CheckBannedHashtagResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// HashtagRecommendation 单条推荐标签信息
type HashtagRecommendation struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ViewCount     int64                  `protobuf:"varint,1,opt,name=viewCount,proto3" json:"viewCount"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HashtagRecommendation) Reset() {
	*x = HashtagRecommendation{}
	mi := &file_pb_ayrshare_proto_msgTypes[102]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *HashtagRecommendation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HashtagRecommendation) ProtoMessage() {}

func (x *HashtagRecommendation) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 HashtagRecommendation.ProtoReflect.Descriptor instead.
func (*HashtagRecommendation) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{102}
}

func (x *HashtagRecommendation) GetViewCount() int64 {
	if x != nil {
		return x.ViewCount
	}
	return 0
}

func (x *HashtagRecommendation) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// RecommendHashtagsRequest 推荐话题标签请求
type RecommendHashtagsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Keyword       string                 `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"`
	ProfileKey    string                 `protobuf:"bytes,2,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RecommendHashtagsRequest) Reset() {
	*x = RecommendHashtagsRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[103]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RecommendHashtagsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecommendHashtagsRequest) ProtoMessage() {}

func (x *RecommendHashtagsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 RecommendHashtagsRequest.ProtoReflect.Descriptor instead.
func (*RecommendHashtagsRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{103}
}

func (x *RecommendHashtagsRequest) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

func (x *RecommendHashtagsRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// RecommendHashtagsResponse 推荐话题标签返回结果
type RecommendHashtagsResponse struct {
	state           protoimpl.MessageState   `protogen:"open.v1"`
	Keyword         string                   `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"`
	Recommendations []*HashtagRecommendation `protobuf:"bytes,2,rep,name=recommendations,proto3" json:"recommendations"`
	Action          string                   `protobuf:"bytes,3,opt,name=action,proto3" json:"action"`
	Status          string                   `protobuf:"bytes,4,opt,name=status,proto3" json:"status"`
	Code            int32                    `protobuf:"varint,5,opt,name=code,proto3" json:"code"`
	Message         string                   `protobuf:"bytes,6,opt,name=message,proto3" json:"message"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *RecommendHashtagsResponse) Reset() {
	*x = RecommendHashtagsResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[104]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RecommendHashtagsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecommendHashtagsResponse) ProtoMessage() {}

func (x *RecommendHashtagsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 RecommendHashtagsResponse.ProtoReflect.Descriptor instead.
func (*RecommendHashtagsResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{104}
}

func (x *RecommendHashtagsResponse) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

func (x *RecommendHashtagsResponse) GetRecommendations() []*HashtagRecommendation {
	if x != nil {
		return x.Recommendations
	}
	return nil
}

func (x *RecommendHashtagsResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *RecommendHashtagsResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *RecommendHashtagsResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *RecommendHashtagsResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// SearchHashtagsRequest 搜索话题标签请求
type SearchHashtagsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Keyword       string                 `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword"`
	SearchType    string                 `protobuf:"bytes,2,opt,name=searchType,proto3" json:"searchType"`
	ProfileKey    string                 `protobuf:"bytes,3,opt,name=profileKey,proto3" json:"profileKey"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchHashtagsRequest) Reset() {
	*x = SearchHashtagsRequest{}
	mi := &file_pb_ayrshare_proto_msgTypes[105]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchHashtagsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchHashtagsRequest) ProtoMessage() {}

func (x *SearchHashtagsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 SearchHashtagsRequest.ProtoReflect.Descriptor instead.
func (*SearchHashtagsRequest) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{105}
}

func (x *SearchHashtagsRequest) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

func (x *SearchHashtagsRequest) GetSearchType() string {
	if x != nil {
		return x.SearchType
	}
	return ""
}

func (x *SearchHashtagsRequest) GetProfileKey() string {
	if x != nil {
		return x.ProfileKey
	}
	return ""
}

// SearchHashtagInfo 单个话题标签的基本信息
type SearchHashtagInfo struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchHashtagInfo) Reset() {
	*x = SearchHashtagInfo{}
	mi := &file_pb_ayrshare_proto_msgTypes[106]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchHashtagInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchHashtagInfo) ProtoMessage() {}

func (x *SearchHashtagInfo) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 SearchHashtagInfo.ProtoReflect.Descriptor instead.
func (*SearchHashtagInfo) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{106}
}

func (x *SearchHashtagInfo) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *SearchHashtagInfo) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// SearchHashtagChild 搜索结果中 children.data 的元素
type SearchHashtagChild struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchHashtagChild) Reset() {
	*x = SearchHashtagChild{}
	mi := &file_pb_ayrshare_proto_msgTypes[107]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchHashtagChild) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchHashtagChild) ProtoMessage() {}

func (x *SearchHashtagChild) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 SearchHashtagChild.ProtoReflect.Descriptor instead.
func (*SearchHashtagChild) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{107}
}

func (x *SearchHashtagChild) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// SearchHashtagChildren 搜索结果中的 children 对象
type SearchHashtagChildren struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          []*SearchHashtagChild  `protobuf:"bytes,1,rep,name=data,proto3" json:"data"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchHashtagChildren) Reset() {
	*x = SearchHashtagChildren{}
	mi := &file_pb_ayrshare_proto_msgTypes[108]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchHashtagChildren) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchHashtagChildren) ProtoMessage() {}

func (x *SearchHashtagChildren) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 SearchHashtagChildren.ProtoReflect.Descriptor instead.
func (*SearchHashtagChildren) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{108}
}

func (x *SearchHashtagChildren) GetData() []*SearchHashtagChild {
	if x != nil {
		return x.Data
	}
	return nil
}

// SearchHashtagMedia 搜索结果中的单条 Instagram 媒体信息
type SearchHashtagMedia struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Caption       string                 `protobuf:"bytes,1,opt,name=caption,proto3" json:"caption"`
	Children      *SearchHashtagChildren `protobuf:"bytes,2,opt,name=children,proto3" json:"children"`
	CommentsCount int32                  `protobuf:"varint,3,opt,name=commentsCount,proto3" json:"commentsCount"`
	Id            string                 `protobuf:"bytes,4,opt,name=id,proto3" json:"id"`
	LikeCount     int32                  `protobuf:"varint,5,opt,name=likeCount,proto3" json:"likeCount"`
	MediaType     string                 `protobuf:"bytes,6,opt,name=mediaType,proto3" json:"mediaType"`
	MediaUrl      string                 `protobuf:"bytes,7,opt,name=mediaUrl,proto3" json:"mediaUrl"`
	Permalink     string                 `protobuf:"bytes,8,opt,name=permalink,proto3" json:"permalink"`
	Timestamp     string                 `protobuf:"bytes,9,opt,name=timestamp,proto3" json:"timestamp"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchHashtagMedia) Reset() {
	*x = SearchHashtagMedia{}
	mi := &file_pb_ayrshare_proto_msgTypes[109]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchHashtagMedia) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchHashtagMedia) ProtoMessage() {}

func (x *SearchHashtagMedia) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 SearchHashtagMedia.ProtoReflect.Descriptor instead.
func (*SearchHashtagMedia) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{109}
}

func (x *SearchHashtagMedia) GetCaption() string {
	if x != nil {
		return x.Caption
	}
	return ""
}

func (x *SearchHashtagMedia) GetChildren() *SearchHashtagChildren {
	if x != nil {
		return x.Children
	}
	return nil
}

func (x *SearchHashtagMedia) GetCommentsCount() int32 {
	if x != nil {
		return x.CommentsCount
	}
	return 0
}

func (x *SearchHashtagMedia) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *SearchHashtagMedia) GetLikeCount() int32 {
	if x != nil {
		return x.LikeCount
	}
	return 0
}

func (x *SearchHashtagMedia) GetMediaType() string {
	if x != nil {
		return x.MediaType
	}
	return ""
}

func (x *SearchHashtagMedia) GetMediaUrl() string {
	if x != nil {
		return x.MediaUrl
	}
	return ""
}

func (x *SearchHashtagMedia) GetPermalink() string {
	if x != nil {
		return x.Permalink
	}
	return ""
}

func (x *SearchHashtagMedia) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

// SearchHashtagsResponse 搜索话题标签响应
type SearchHashtagsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Status        string                 `protobuf:"bytes,1,opt,name=status,proto3" json:"status"`
	Hashtag       *SearchHashtagInfo     `protobuf:"bytes,2,opt,name=hashtag,proto3" json:"hashtag"`
	SearchResults []*SearchHashtagMedia  `protobuf:"bytes,3,rep,name=searchResults,proto3" json:"searchResults"`
	Count         int32                  `protobuf:"varint,4,opt,name=count,proto3" json:"count"`
	LastUpdated   string                 `protobuf:"bytes,5,opt,name=lastUpdated,proto3" json:"lastUpdated"`
	NextUpdate    string                 `protobuf:"bytes,6,opt,name=nextUpdate,proto3" json:"nextUpdate"`
	Action        string                 `protobuf:"bytes,7,opt,name=action,proto3" json:"action"`
	Code          int32                  `protobuf:"varint,8,opt,name=code,proto3" json:"code"`
	Message       string                 `protobuf:"bytes,9,opt,name=message,proto3" json:"message"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchHashtagsResponse) Reset() {
	*x = SearchHashtagsResponse{}
	mi := &file_pb_ayrshare_proto_msgTypes[110]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SearchHashtagsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchHashtagsResponse) ProtoMessage() {}

func (x *SearchHashtagsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pb_ayrshare_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 SearchHashtagsResponse.ProtoReflect.Descriptor instead.
func (*SearchHashtagsResponse) Descriptor() ([]byte, []int) {
	return file_pb_ayrshare_proto_rawDescGZIP(), []int{110}
}

func (x *SearchHashtagsResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *SearchHashtagsResponse) GetHashtag() *SearchHashtagInfo {
	if x != nil {
		return x.Hashtag
	}
	return nil
}

func (x *SearchHashtagsResponse) GetSearchResults() []*SearchHashtagMedia {
	if x != nil {
		return x.SearchResults
	}
	return nil
}

func (x *SearchHashtagsResponse) GetCount() int32 {
	if x != nil {
		return x.Count
	}
	return 0
}

func (x *SearchHashtagsResponse) GetLastUpdated() string {
	if x != nil {
		return x.LastUpdated
	}
	return ""
}

func (x *SearchHashtagsResponse) GetNextUpdate() string {
	if x != nil {
		return x.NextUpdate
	}
	return ""
}

func (x *SearchHashtagsResponse) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *SearchHashtagsResponse) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *SearchHashtagsResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

var File_pb_ayrshare_proto protoreflect.FileDescriptor

const file_pb_ayrshare_proto_rawDesc = "" +
	"\n" +
	"\x11pb/ayrshare.proto\x12\baryshare\x1a\x13pb/descriptor.proto\x1a\x12pb/validator.proto\"A\n" +
	"\aUserTag\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\f\n" +
	"\x01x\x18\x02 \x01(\x01R\x01x\x12\f\n" +
	"\x01y\x18\x03 \x01(\x01R\x01y\"\x93\x03\n" +
	"\x10InstagramOptions\x12&\n" +
	"\x0eshareReelsFeed\x18\x01 \x01(\bR\x0eshareReelsFeed\x12\x1c\n" +
	"\taudioName\x18\x02 \x01(\tR\taudioName\x12\x1c\n" +
	"\tthumbNail\x18\x03 \x01(\tR\tthumbNail\x12(\n" +
	"\x0fthumbNailOffset\x18\x04 \x01(\x05R\x0fthumbNailOffset\x12\x18\n" +
	"\astories\x18\x05 \x01(\bR\astories\x12\x18\n" +
	"\aaltText\x18\x06 \x03(\tR\aaltText\x12\x1e\n" +
	"\n" +
	"locationId\x18\a \x01(\tR\n" +
	"locationId\x12-\n" +
	"\buserTags\x18\b \x03(\v2\x11.aryshare.UserTagR\buserTags\x12$\n" +
	"\rcollaborators\x18\t \x03(\tR\rcollaborators\x12\x1e\n" +
	"\n" +
	"autoResize\x18\n" +
	" \x01(\bR\n" +
	"autoResize\x12(\n" +
	"\x0fdisableComments\x18\v \x01(\bR\x0fdisableComments\"\xdd\x03\n" +
	"\rTikTokOptions\x12\"\n" +
	"\fautoAddMusic\x18\x01 \x01(\bR\fautoAddMusic\x12(\n" +
	"\x0fdisableComments\x18\x02 \x01(\bR\x0fdisableComments\x12 \n" +
	"\vdisableDuet\x18\x03 \x01(\bR\vdisableDuet\x12$\n" +
	"\rdisableStitch\x18\x04 \x01(\bR\rdisableStitch\x12\x14\n" +
	"\x05draft\x18\x05 \x01(\bR\x05draft\x12$\n" +
	"\risAIGenerated\x18\x06 \x01(\bR\risAIGenerated\x12*\n" +
	"\x10isBrandedContent\x18\a \x01(\bR\x10isBrandedContent\x12&\n" +
	"\x0eisBrandOrganic\x18\b \x01(\bR\x0eisBrandOrganic\x12(\n" +
	"\x0fimageCoverIndex\x18\t \x01(\x05R\x0fimageCoverIndex\x12\x14\n" +
	"\x05title\x18\n" +
	" \x01(\tR\x05title\x12(\n" +
	"\x0fthumbNailOffset\x18\v \x01(\x05R\x0fthumbNailOffset\x12\x1c\n" +
	"\tthumbNail\x18\f \x01(\tR\tthumbNail\x12\x1e\n" +
	"\n" +
	"visibility\x18\r \x01(\tR\n" +
	"visibility\"\xe8\x03\n" +
	"\x0eYouTubeOptions\x12\x14\n" +
	"\x05title\x18\x01 \x01(\tR\x05title\x12\x1e\n" +
	"\n" +
	"visibility\x18\x02 \x01(\tR\n" +
	"visibility\x12\x12\n" +
	"\x04tags\x18\x03 \x03(\tR\x04tags\x12\x1e\n" +
	"\n" +
	"categoryId\x18\x04 \x01(\x05R\n" +
	"categoryId\x12 \n" +
	"\vmadeForKids\x18\x05 \x01(\bR\vmadeForKids\x12\x1c\n" +
	"\tthumbNail\x18\x06 \x01(\tR\tthumbNail\x12\x1e\n" +
	"\n" +
	"playlistId\x18\a \x01(\tR\n" +
	"playlistId\x12,\n" +
	"\x11notifySubscribers\x18\b \x01(\bR\x11notifySubscribers\x12\x16\n" +
	"\x06shorts\x18\t \x01(\bR\x06shorts\x126\n" +
	"\x16containsSyntheticMedia\x18\n" +
	" \x01(\bR\x16containsSyntheticMedia\x12\x1c\n" +
	"\tpublishAt\x18\v \x01(\tR\tpublishAt\x12 \n" +
	"\vsubTitleUrl\x18\f \x01(\tR\vsubTitleUrl\x12*\n" +
	"\x10subTitleLanguage\x18\r \x01(\tR\x10subTitleLanguage\x12\"\n" +
	"\fsubTitleName\x18\x0e \x01(\tR\fsubTitleName\"*\n" +
	"\x0eBlueskyOptions\x12\x18\n" +
	"\aaltText\x18\x06 \x03(\tR\aaltText\"\x8f\x05\n" +
	"\vPostRequest\x122\n" +
	"\x04post\x18\x01 \x01(\tB\x1e\xe2\xdf\x1f\x1a*\x16post内容不能为空X\x01R\x04post\x12I\n" +
	"\tplatforms\x18\x02 \x03(\tB+\xe2\xdf\x1f'*!platforms平台列表不能为空X\x01`\x01R\tplatforms\x12\x1c\n" +
	"\tmediaUrls\x18\x03 \x03(\tR\tmediaUrls\x12\x18\n" +
	"\aisVideo\x18\x04 \x01(\bR\aisVideo\x12\"\n" +
	"\fscheduleDate\x18\x05 \x01(\tR\fscheduleDate\x12,\n" +
	"\x11validateScheduled\x18\x06 \x01(\bR\x11validateScheduled\x12\"\n" +
	"\fshortenLinks\x18\a \x01(\bR\fshortenLinks\x12(\n" +
	"\x0fdisableComments\x18\b \x01(\bR\x0fdisableComments\x12F\n" +
	"\x10instagramOptions\x18\t \x01(\v2\x1a.aryshare.InstagramOptionsR\x10instagramOptions\x12=\n" +
	"\rtikTokOptions\x18\n" +
	" \x01(\v2\x17.aryshare.TikTokOptionsR\rtikTokOptions\x12\x1e\n" +
	"\n" +
	"profileKey\x18\v \x01(\tR\n" +
	"profileKey\x12@\n" +
	"\x0eyouTubeOptions\x18\f \x01(\v2\x18.aryshare.YouTubeOptionsR\x0eyouTubeOptions\x12@\n" +
	"\x0eblueskyOptions\x18\r \x01(\v2\x18.aryshare.BlueskyOptionsR\x0eblueskyOptions\"\xa4\x02\n" +
	"\x06PostId\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x12\x10\n" +
	"\x03cid\x18\x03 \x01(\tR\x03cid\x12\x18\n" +
	"\apostUrl\x18\x04 \x01(\tR\apostUrl\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\x12\x12\n" +
	"\x04type\x18\x06 \x01(\tR\x04type\x12\x14\n" +
	"\x05owner\x18\a \x01(\tR\x05owner\x12\x18\n" +
	"\amediaId\x18\b \x01(\tR\amediaId\x12\x14\n" +
	"\x05ended\x18\t \x01(\tR\x05ended\x12\x18\n" +
	"\aidShare\x18\n" +
	" \x01(\tR\aidShare\x12\x18\n" +
	"\aisVideo\x18\v \x01(\bR\aisVideo\x12\x1c\n" +
	"\tusedQuota\x18\f \x01(\x05R\tusedQuota\"\xe0\x01\n" +
	"\bPostItem\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x16\n" +
	"\x06errors\x18\x02 \x03(\tR\x06errors\x12*\n" +
	"\apostIds\x18\x03 \x03(\v2\x10.aryshare.PostIdR\apostIds\x12\x0e\n" +
	"\x02id\x18\x04 \x01(\tR\x02id\x12\x14\n" +
	"\x05refId\x18\x05 \x01(\tR\x05refId\x12\"\n" +
	"\fprofileTitle\x18\x06 \x01(\tR\fprofileTitle\x12\x12\n" +
	"\x04post\x18\a \x01(\tR\x04post\x12\x1a\n" +
	"\btikTokId\x18\b \x01(\tR\btikTokId\"\xc3\x01\n" +
	"\fPostResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12(\n" +
	"\x05posts\x18\x02 \x03(\v2\x12.aryshare.PostItemR\x05posts\x12\x16\n" +
	"\x06errors\x18\x03 \x03(\tR\x06errors\x12*\n" +
	"\apostIds\x18\x04 \x03(\v2\x10.aryshare.PostIdR\apostIds\x12\x0e\n" +
	"\x02id\x18\x05 \x01(\tR\x02id\x12\x1d\n" +
	"\visValidated\x18\x06 \x01(\bR\bvalidate\"^\n" +
	"\x0eGetPostRequest\x12,\n" +
	"\x02id\x18\x01 \x01(\tB\x1c\xe2\xdf\x1f\x18*\x14帖子ID不能为空X\x01R\x02id\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x02 \x01(\tR\n" +
	"profileKey\"\xfd\x02\n" +
	"\x0fGetPostResponse\x12\x18\n" +
	"\acreated\x18\x01 \x01(\tR\acreated\x12\x16\n" +
	"\x06errors\x18\x02 \x03(\tR\x06errors\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\x12\x1c\n" +
	"\tmediaUrls\x18\x04 \x03(\tR\tmediaUrls\x12\x1c\n" +
	"\tplatforms\x18\x05 \x03(\tR\tplatforms\x12\x12\n" +
	"\x04post\x18\x06 \x01(\tR\x04post\x12*\n" +
	"\apostIds\x18\a \x03(\v2\x10.aryshare.PostIdR\apostIds\x12\"\n" +
	"\fprofileTitle\x18\b \x01(\tR\fprofileTitle\x12\x14\n" +
	"\x05refId\x18\t \x01(\tR\x05refId\x12\"\n" +
	"\fscheduleDate\x18\n" +
	" \x01(\tR\fscheduleDate\x12\"\n" +
	"\fshortenLinks\x18\v \x01(\bR\fshortenLinks\x12\x16\n" +
	"\x06status\x18\f \x01(\tR\x06status\x12\x12\n" +
	"\x04type\x18\r \x01(\tR\x04type\"\\\n" +
	"\x0eGetUserRequest\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x01 \x01(\tR\n" +
	"profileKey\x12*\n" +
	"\x10instagramDetails\x18\x02 \x01(\bR\x10instagramDetails\"[\n" +
	"\tTimestamp\x12\x19\n" +
	"\aseconds\x18\x01 \x01(\x03R\b_seconds\x12!\n" +
	"\vnanoseconds\x18\x02 \x01(\x03R\f_nanoseconds\x12\x10\n" +
	"\x03utc\x18\x03 \x01(\tR\x03utc\"z\n" +
	"\fTwitterUsage\x12\"\n" +
	"\fmonthlyUsage\x18\x01 \x01(\x05R\fmonthlyUsage\x12\"\n" +
	"\fmonthlyLimit\x18\x02 \x01(\x05R\fmonthlyLimit\x12\"\n" +
	"\fmonthlyReset\x18\x03 \x01(\tR\fmonthlyReset\"\xb5\x06\n" +
	"\vDisplayName\x12\x18\n" +
	"\acreated\x18\x01 \x01(\tR\acreated\x12 \n" +
	"\vdisplayName\x18\x02 \x01(\tR\vdisplayName\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\x12\x1a\n" +
	"\bplatform\x18\x04 \x01(\tR\bplatform\x12\x1e\n" +
	"\n" +
	"profileUrl\x18\x05 \x01(\tR\n" +
	"profileUrl\x12\x1c\n" +
	"\tuserImage\x18\x06 \x01(\tR\tuserImage\x12\x1a\n" +
	"\busername\x18\a \x01(\tR\busername\x12 \n" +
	"\vdescription\x18\b \x01(\tR\vdescription\x12(\n" +
	"\x0fmessagingActive\x18\t \x01(\bR\x0fmessagingActive\x12\x1a\n" +
	"\bpageName\x18\n" +
	" \x01(\tR\bpageName\x12\x16\n" +
	"\x06userId\x18\v \x01(\tR\x06userId\x12\x18\n" +
	"\amapsUrl\x18\f \x01(\tR\amapsUrl\x12\x18\n" +
	"\aplaceId\x18\r \x01(\tR\aplaceId\x12\x1c\n" +
	"\treviewUrl\x18\x0e \x01(\tR\treviewUrl\x12\x12\n" +
	"\x04igId\x18\x0f \x01(\tR\x04igId\x12\x12\n" +
	"\x04type\x18\x10 \x01(\tR\x04type\x12\x1c\n" +
	"\tusedQuota\x18\x11 \x01(\x05R\tusedQuota\x122\n" +
	"\x14refreshDaysRemaining\x18\x12 \x01(\x05R\x14refreshDaysRemaining\x12(\n" +
	"\x0frefreshRequired\x18\x13 \x01(\tR\x0frefreshRequired\x12B\n" +
	"\x1cisEligibleForGeoRestrictions\x18\x14 \x01(\bR\x1cisEligibleForGeoRestrictions\x12\x1e\n" +
	"\n" +
	"isVerified\x18\x15 \x01(\bR\n" +
	"isVerified\x12*\n" +
	"\x10subscriptionType\x18\x16 \x01(\tR\x10subscriptionType\x12:\n" +
	"\ftwitterUsage\x18\x17 \x01(\v2\x16.aryshare.TwitterUsageR\ftwitterUsage\x12\"\n" +
	"\fverifiedType\x18\x18 \x01(\tR\fverifiedType\"\x85\x05\n" +
	"\x0fGetUserResponse\x122\n" +
	"\x14activeSocialAccounts\x18\x01 \x03(\tR\x14activeSocialAccounts\x12-\n" +
	"\acreated\x18\x02 \x01(\v2\x13.aryshare.TimestampR\acreated\x129\n" +
	"\fdisplayNames\x18\x03 \x03(\v2\x15.aryshare.DisplayNameR\fdisplayNames\x12\x14\n" +
	"\x05email\x18\x04 \x01(\tR\x05email\x12 \n" +
	"\vlastApiCall\x18\x05 \x01(\tR\vlastApiCall\x12L\n" +
	"!messagingConversationMonthlyCount\x18\x06 \x01(\x05R!messagingConversationMonthlyCount\x12*\n" +
	"\x10messagingEnabled\x18\a \x01(\bR\x10messagingEnabled\x12(\n" +
	"\x0fmonthlyApiCalls\x18\b \x01(\x05R\x0fmonthlyApiCalls\x12*\n" +
	"\x10monthlyPostCount\x18\t \x01(\x05R\x10monthlyPostCount\x12*\n" +
	"\x10monthlyPostQuota\x18\n" +
	" \x01(\x05R\x10monthlyPostQuota\x122\n" +
	"\x14monthlyApiCallsQuota\x18\v \x01(\x05R\x14monthlyApiCallsQuota\x12\x14\n" +
	"\x05refId\x18\f \x01(\tR\x05refId\x12\x14\n" +
	"\x05title\x18\r \x01(\tR\x05title\x12 \n" +
	"\vlastUpdated\x18\x0e \x01(\tR\vlastUpdated\x12\x1e\n" +
	"\n" +
	"nextUpdate\x18\x0f \x01(\tR\n" +
	"nextUpdate\"\xb7\x02\n" +
	"\x14CreateProfileRequest\x12/\n" +
	"\x05title\x18\x01 \x01(\tB\x19\xe2\xdf\x1f\x15*\x11title不能为空X\x01R\x05title\x12(\n" +
	"\x0fmessagingActive\x18\x02 \x01(\bR\x0fmessagingActive\x12$\n" +
	"\rhideTopHeader\x18\x03 \x01(\bR\rhideTopHeader\x12\x1c\n" +
	"\ttopHeader\x18\x04 \x01(\tR\ttopHeader\x12$\n" +
	"\rdisableSocial\x18\x05 \x03(\tR\rdisableSocial\x12\x12\n" +
	"\x04team\x18\x06 \x01(\bR\x04team\x12\x14\n" +
	"\x05email\x18\a \x01(\tR\x05email\x12\x1c\n" +
	"\tsubHeader\x18\b \x01(\tR\tsubHeader\x12\x12\n" +
	"\x04tags\x18\t \x03(\tR\x04tags\"\xa5\x01\n" +
	"\x15CreateProfileResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12\x14\n" +
	"\x05refId\x18\x03 \x01(\tR\x05refId\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x04 \x01(\tR\n" +
	"profileKey\x12(\n" +
	"\x0fmessagingActive\x18\x05 \x01(\bR\x0fmessagingActive\"\xc7\x02\n" +
	"\x12GetProfilesRequest\x12\x14\n" +
	"\x05title\x18\x01 \x01(\tR\x05title\x12\x14\n" +
	"\x05refId\x18\x02 \x01(\tR\x05refId\x128\n" +
	"\x17hasActiveSocialAccounts\x18\x03 \x01(\bR\x17hasActiveSocialAccounts\x12B\n" +
	"\x1cincludesActiveSocialAccounts\x18\x04 \x03(\tR\x1cincludesActiveSocialAccounts\x12&\n" +
	"\ractionLogBool\x18\x05 \x01(\bH\x00R\ractionLogBool\x12$\n" +
	"\factionLogInt\x18\x06 \x01(\x05H\x00R\factionLogInt\x12\x14\n" +
	"\x05limit\x18\a \x01(\x05R\x05limit\x12\x16\n" +
	"\x06cursor\x18\b \x01(\tR\x06cursorB\v\n" +
	"\tactionLog\"\x96\x02\n" +
	"\vProfileItem\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12\"\n" +
	"\fdisplayTitle\x18\x03 \x01(\tR\fdisplayTitle\x12-\n" +
	"\acreated\x18\x04 \x01(\v2\x13.aryshare.TimestampR\acreated\x12\x1e\n" +
	"\n" +
	"createdUTC\x18\x05 \x01(\tR\n" +
	"createdUTC\x12\x14\n" +
	"\x05refId\x18\x06 \x01(\tR\x05refId\x122\n" +
	"\x14activeSocialAccounts\x18\a \x03(\tR\x14activeSocialAccounts\x12\x1c\n" +
	"\tsuspended\x18\b \x01(\bR\tsuspended\"\\\n" +
	"\n" +
	"Pagination\x12\x18\n" +
	"\ahasMore\x18\x01 \x01(\bR\ahasMore\x12\x1e\n" +
	"\n" +
	"nextCursor\x18\x02 \x01(\tR\n" +
	"nextCursor\x12\x14\n" +
	"\x05limit\x18\x03 \x01(\x05R\x05limit\"\xd6\x01\n" +
	"\x13GetProfilesResponse\x121\n" +
	"\bprofiles\x18\x01 \x03(\v2\x15.aryshare.ProfileItemR\bprofiles\x12\x14\n" +
	"\x05count\x18\x02 \x01(\x05R\x05count\x12 \n" +
	"\vlastUpdated\x18\x03 \x01(\tR\vlastUpdated\x12\x1e\n" +
	"\n" +
	"nextUpdate\x18\x04 \x01(\tR\n" +
	"nextUpdate\x124\n" +
	"\n" +
	"pagination\x18\x05 \x01(\v2\x14.aryshare.PaginationR\n" +
	"pagination\"E\n" +
	"\x05Email\x12\x0e\n" +
	"\x02to\x18\x01 \x01(\tR\x02to\x12\x18\n" +
	"\asubject\x18\x02 \x01(\tR\asubject\x12\x12\n" +
	"\x04body\x18\x03 \x01(\tR\x04body\"\xdb\x02\n" +
	"\x12GenerateJWTRequest\x12\x16\n" +
	"\x06domain\x18\x01 \x01(\tR\x06domain\x12\x1e\n" +
	"\n" +
	"privateKey\x18\x02 \x01(\tR\n" +
	"privateKey\x12>\n" +
	"\n" +
	"profileKey\x18\x03 \x01(\tB\x1e\xe2\xdf\x1f\x1a*\x16profileKey不能为空X\x01R\n" +
	"profileKey\x12\x16\n" +
	"\x06logout\x18\x04 \x01(\bR\x06logout\x12\x1a\n" +
	"\bredirect\x18\x05 \x01(\tR\bredirect\x12$\n" +
	"\rallowedSocial\x18\x06 \x03(\tR\rallowedSocial\x12\x16\n" +
	"\x06verify\x18\a \x01(\bR\x06verify\x12\x16\n" +
	"\x06base64\x18\b \x01(\bR\x06base64\x12\x1c\n" +
	"\texpiresIn\x18\t \x01(\x05R\texpiresIn\x12%\n" +
	"\x05email\x18\n" +
	" \x01(\v2\x0f.aryshare.EmailR\x05email\"\xa7\x01\n" +
	"\x13GenerateJWTResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12\x14\n" +
	"\x05token\x18\x03 \x01(\tR\x05token\x12\x10\n" +
	"\x03url\x18\x04 \x01(\tR\x03url\x12\x1c\n" +
	"\temailSent\x18\x05 \x01(\bR\temailSent\x12\x1c\n" +
	"\texpiresIn\x18\x06 \x01(\tR\texpiresIn\"v\n" +
	"\x1aUnlinkSocialNetworkRequest\x128\n" +
	"\bplatform\x18\x01 \x01(\tB\x1c\xe2\xdf\x1f\x18*\x14platform不能为空X\x01R\bplatform\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x02 \x01(\tR\n" +
	"profileKey\"g\n" +
	"\x1bUnlinkSocialNetworkResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1a\n" +
	"\bplatform\x18\x02 \x01(\tR\bplatform\x12\x14\n" +
	"\x05refId\x18\x03 \x01(\tR\x05refId\"\x87\x01\n" +
	"\rHistoryPostId\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x12\x1a\n" +
	"\bplatform\x18\x03 \x01(\tR\bplatform\x12\x18\n" +
	"\apostUrl\x18\x04 \x01(\tR\apostUrl\x12\x18\n" +
	"\aisVideo\x18\x05 \x01(\bR\aisVideo\"\xfb\x04\n" +
	"\vHistoryItem\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04post\x18\x02 \x01(\tR\x04post\x12\x1c\n" +
	"\tplatforms\x18\x03 \x03(\tR\tplatforms\x121\n" +
	"\apostIds\x18\x04 \x03(\v2\x17.aryshare.HistoryPostIdR\apostIds\x12\x16\n" +
	"\x06errors\x18\x05 \x03(\tR\x06errors\x12\x12\n" +
	"\x04type\x18\x06 \x01(\tR\x04type\x12\x14\n" +
	"\x05notes\x18\a \x01(\tR\x05notes\x12\x18\n" +
	"\acreated\x18\b \x01(\tR\acreated\x12\x16\n" +
	"\x06status\x18\t \x01(\tR\x06status\x127\n" +
	"\fscheduleDate\x18\n" +
	" \x01(\v2\x13.aryshare.TimestampR\fscheduleDate\x12\x1a\n" +
	"\bapproved\x18\v \x01(\bR\bapproved\x12\x1e\n" +
	"\n" +
	"approvedBy\x18\f \x01(\tR\n" +
	"approvedBy\x12\"\n" +
	"\fapprovedDate\x18\r \x01(\tR\fapprovedDate\x12\x1e\n" +
	"\n" +
	"rejectedBy\x18\x0e \x01(\tR\n" +
	"rejectedBy\x12\"\n" +
	"\frejectedDate\x18\x0f \x01(\tR\frejectedDate\x12*\n" +
	"\x10requiresApproval\x18\x10 \x01(\bR\x10requiresApproval\x12\"\n" +
	"\fprofileTitle\x18\x11 \x01(\tR\fprofileTitle\x12\x14\n" +
	"\x05refId\x18\x12 \x01(\tR\x05refId\x12\x1c\n" +
	"\tmediaUrls\x18\x13 \x03(\tR\tmediaUrls\x12\"\n" +
	"\fshortenLinks\x18\x14 \x01(\bR\fshortenLinks\"\x8b\x02\n" +
	"\x11GetHistoryRequest\x12\x1c\n" +
	"\tstartDate\x18\x01 \x01(\tR\tstartDate\x12\x18\n" +
	"\aendDate\x18\x02 \x01(\tR\aendDate\x12\x14\n" +
	"\x05limit\x18\x03 \x01(\x05R\x05limit\x12\x1c\n" +
	"\tplatforms\x18\x04 \x03(\tR\tplatforms\x12\x1a\n" +
	"\blastDays\x18\x05 \x01(\x05R\blastDays\x12\x16\n" +
	"\x06status\x18\x06 \x01(\tR\x06status\x12\x12\n" +
	"\x04type\x18\a \x01(\tR\x04type\x12\"\n" +
	"\fautoRepostId\x18\b \x01(\tR\fautoRepostId\x12\x1e\n" +
	"\n" +
	"profileKey\x18\t \x01(\tR\n" +
	"profileKey\"\xb3\x01\n" +
	"\x12GetHistoryResponse\x12/\n" +
	"\ahistory\x18\x01 \x03(\v2\x15.aryshare.HistoryItemR\ahistory\x12\x14\n" +
	"\x05refId\x18\x02 \x01(\tR\x05refId\x12\x14\n" +
	"\x05count\x18\x03 \x01(\x05R\x05count\x12 \n" +
	"\vlastUpdated\x18\x04 \x01(\tR\vlastUpdated\x12\x1e\n" +
	"\n" +
	"nextUpdate\x18\x05 \x01(\tR\n" +
	"nextUpdate\"\x8d\x01\n" +
	"\x15GetHistoryByIdRequest\x12,\n" +
	"\x02id\x18\x01 \x01(\tB\x1c\xe2\xdf\x1f\x18*\x14帖子ID不能为空X\x01R\x02id\x12&\n" +
	"\x0esearchAllPosts\x18\x02 \x01(\bR\x0esearchAllPosts\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x03 \x01(\tR\n" +
	"profileKey\"\x90\x03\n" +
	"\x16GetHistoryByIdResponse\x12\x12\n" +
	"\x04tier\x18\x01 \x01(\tR\x04tier\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12\x1c\n" +
	"\tmediaUrls\x18\x03 \x03(\tR\tmediaUrls\x121\n" +
	"\apostIds\x18\x04 \x03(\v2\x17.aryshare.HistoryPostIdR\apostIds\x12\x0e\n" +
	"\x02id\x18\x05 \x01(\tR\x02id\x12\x16\n" +
	"\x06errors\x18\x06 \x03(\tR\x06errors\x12\x1c\n" +
	"\tplatforms\x18\a \x03(\tR\tplatforms\x127\n" +
	"\fscheduleDate\x18\b \x01(\v2\x13.aryshare.TimestampR\fscheduleDate\x12\x18\n" +
	"\acreated\x18\t \x01(\tR\acreated\x12\"\n" +
	"\fshortenLinks\x18\n" +
	" \x01(\bR\fshortenLinks\x12\x12\n" +
	"\x04post\x18\v \x01(\tR\x04post\x12\x14\n" +
	"\x05notes\x18\f \x01(\tR\x05notes\x12\x12\n" +
	"\x04type\x18\r \x01(\tR\x04type\"\x84\x01\n" +
	"\fPlatformPost\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04post\x18\x02 \x01(\tR\x04post\x12\x18\n" +
	"\apostUrl\x18\x03 \x01(\tR\apostUrl\x12\x18\n" +
	"\acreated\x18\x04 \x01(\tR\acreated\x12\x1c\n" +
	"\tcreatedAt\x18\x05 \x01(\tR\tcreatedAt\"{\n" +
	"\x1bGetHistoryByPlatformRequest\x12<\n" +
	"\bplatform\x18\x01 \x01(\tB \xe2\xdf\x1f\x1c*\x18平台名称不能为空X\x01R\bplatform\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x02 \x01(\tR\n" +
	"profileKey\"\xa6\x01\n" +
	"\x1cGetHistoryByPlatformResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12,\n" +
	"\x05posts\x18\x02 \x03(\v2\x16.aryshare.PlatformPostR\x05posts\x12 \n" +
	"\vlastUpdated\x18\x03 \x01(\tR\vlastUpdated\x12\x1e\n" +
	"\n" +
	"nextUpdate\x18\x04 \x01(\tR\n" +
	"nextUpdate\"\xe7\x01\n" +
	"\x12SendMessageRequest\x126\n" +
	"\bplatform\x18\x01 \x01(\tB\x1a\xe2\xdf\x1f\x16*\x12平台不能为空X\x01R\bplatform\x12A\n" +
	"\vrecipientId\x18\x02 \x01(\tB\x1f\xe2\xdf\x1f\x1b*\x17接收者ID不能为空X\x01R\vrecipientId\x12\x18\n" +
	"\amessage\x18\x03 \x01(\tR\amessage\x12\x1c\n" +
	"\tmediaUrls\x18\x04 \x03(\tR\tmediaUrls\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x05 \x01(\tR\n" +
	"profileKey\"\xdb\x01\n" +
	"\vMessageItem\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12 \n" +
	"\vrecipientId\x18\x02 \x01(\tR\vrecipientId\x12\x1c\n" +
	"\tmessageId\x18\x03 \x01(\tR\tmessageId\x12\x18\n" +
	"\amessage\x18\x04 \x01(\tR\amessage\x12\x12\n" +
	"\x04type\x18\x05 \x01(\tR\x04type\x12\x1a\n" +
	"\bmediaUrl\x18\x06 \x01(\tR\bmediaUrl\x12\x16\n" +
	"\x06action\x18\a \x01(\tR\x06action\x12\x12\n" +
	"\x04code\x18\b \x01(\x05R\x04code\"\x96\x02\n" +
	"\x13SendMessageResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12 \n" +
	"\vrecipientId\x18\x02 \x01(\tR\vrecipientId\x12\x1c\n" +
	"\tmessageId\x18\x03 \x01(\tR\tmessageId\x12\x18\n" +
	"\amessage\x18\x04 \x01(\tR\amessage\x12\x12\n" +
	"\x04type\x18\x05 \x01(\tR\x04type\x12\x1a\n" +
	"\bmediaUrl\x18\x06 \x01(\tR\bmediaUrl\x12\x16\n" +
	"\x06action\x18\a \x01(\tR\x06action\x12\x12\n" +
	"\x04code\x18\b \x01(\x05R\x04code\x121\n" +
	"\bmessages\x18\t \x03(\v2\x15.aryshare.MessageItemR\bmessages\"\xda\x01\n" +
	"\x12GetMessagesRequest\x126\n" +
	"\bplatform\x18\x01 \x01(\tB\x1a\xe2\xdf\x1f\x16*\x12平台不能为空X\x01R\bplatform\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12&\n" +
	"\x0econversationId\x18\x03 \x01(\tR\x0econversationId\x12,\n" +
	"\x11conversationsOnly\x18\x04 \x01(\bR\x11conversationsOnly\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x05 \x01(\tR\n" +
	"profileKey\"9\n" +
	"\x11MessageAttachment\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n" +
	"\x03url\x18\x02 \x01(\tR\x03url\"x\n" +
	"\x14MessageSenderDetails\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x12\x18\n" +
	"\apicture\x18\x03 \x01(\tR\apicture\x12\"\n" +
	"\fprofileImage\x18\x04 \x01(\tR\fprofileImage\"W\n" +
	"\x17MessageRecipientDetails\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x12\x18\n" +
	"\apicture\x18\x03 \x01(\tR\apicture\"?\n" +
	"\x0fMessageReaction\x12\x16\n" +
	"\x06userId\x18\x01 \x01(\tR\x06userId\x12\x14\n" +
	"\x05emoji\x18\x02 \x01(\tR\x05emoji\"\x96\x04\n" +
	"\x0fGetMessagesItem\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n" +
	"\bsenderId\x18\x02 \x01(\tR\bsenderId\x12D\n" +
	"\rsenderDetails\x18\x03 \x01(\v2\x1e.aryshare.MessageSenderDetailsR\rsenderDetails\x12 \n" +
	"\vrecipientId\x18\x04 \x01(\tR\vrecipientId\x12M\n" +
	"\x10recipientDetails\x18\x05 \x01(\v2!.aryshare.MessageRecipientDetailsR\x10recipientDetails\x12&\n" +
	"\x0econversationId\x18\x06 \x01(\tR\x0econversationId\x12\x18\n" +
	"\amessage\x18\a \x01(\tR\amessage\x12\x1a\n" +
	"\bplatform\x18\b \x01(\tR\bplatform\x12\x16\n" +
	"\x06action\x18\t \x01(\tR\x06action\x12\x18\n" +
	"\acreated\x18\n" +
	" \x01(\tR\acreated\x12\x18\n" +
	"\aupdated\x18\v \x01(\tR\aupdated\x12=\n" +
	"\vattachments\x18\f \x03(\v2\x1b.aryshare.MessageAttachmentR\vattachments\x127\n" +
	"\treactions\x18\r \x03(\v2\x19.aryshare.MessageReactionR\treactions\"W\n" +
	"\x17ConversationParticipant\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x12\x18\n" +
	"\apicture\x18\x03 \x01(\tR\apicture\"\x9f\x01\n" +
	"\x12ConversationDetail\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12C\n" +
	"\vparticipant\x18\x02 \x01(\v2!.aryshare.ConversationParticipantR\vparticipant\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12\x1c\n" +
	"\twatermark\x18\x04 \x01(\x03R\twatermark\"\xe7\x02\n" +
	"\x13GetMessagesResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x125\n" +
	"\bmessages\x18\x02 \x03(\v2\x19.aryshare.GetMessagesItemR\bmessages\x12 \n" +
	"\vlastUpdated\x18\x03 \x01(\tR\vlastUpdated\x12\x1e\n" +
	"\n" +
	"nextUpdate\x18\x04 \x01(\tR\n" +
	"nextUpdate\x12(\n" +
	"\x0fconversationIds\x18\x05 \x03(\tR\x0fconversationIds\x12P\n" +
	"\x14conversationsDetails\x18\x06 \x03(\v2\x1c.aryshare.ConversationDetailR\x14conversationsDetails\x12\x16\n" +
	"\x06action\x18\a \x01(\tR\x06action\x12\x12\n" +
	"\x04code\x18\b \x01(\x05R\x04code\x12\x17\n" +
	"\x06errMsg\x18\t \x01(\tR\amessage\"\xa8\x02\n" +
	"\x12PostCommentRequest\x12&\n" +
	"\x02id\x18\x01 \x01(\tB\x16\xe2\xdf\x1f\x12*\x0eid不能为空X\x01R\x02id\x125\n" +
	"\acomment\x18\x02 \x01(\tB\x1b\xe2\xdf\x1f\x17*\x13comment不能为空X\x01R\acomment\x12I\n" +
	"\tplatforms\x18\x03 \x03(\tB+\xe2\xdf\x1f'*!platforms平台列表不能为空X\x01`\x01R\tplatforms\x12*\n" +
	"\x10searchPlatformId\x18\x04 \x01(\bR\x10searchPlatformId\x12\x1c\n" +
	"\tmediaUrls\x18\x05 \x03(\tR\tmediaUrls\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x06 \x01(\tR\n" +
	"profileKey\"\x86\x01\n" +
	"\x18InstagramCommentResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x18\n" +
	"\acomment\x18\x03 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x04 \x01(\tR\bplatform\"\x9d\x01\n" +
	"\x15TikTokCommentResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x18\n" +
	"\acomment\x18\x03 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x04 \x01(\tR\bplatform\x12\x18\n" +
	"\avideoId\x18\x05 \x01(\tR\avideoId\"\xb0\x01\n" +
	"\x16BlueskyCommentResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x10\n" +
	"\x03cid\x18\x03 \x01(\tR\x03cid\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\x12\x18\n" +
	"\apostUrl\x18\x06 \x01(\tR\apostUrl\"\x85\x01\n" +
	"\x17FacebookCommentResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x18\n" +
	"\acomment\x18\x03 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x04 \x01(\tR\bplatform\"\xa5\x01\n" +
	"\x17LinkedInCommentResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x18\n" +
	"\acomment\x18\x03 \x01(\tR\acomment\x12\x1e\n" +
	"\n" +
	"commentUrn\x18\x04 \x01(\tR\n" +
	"commentUrn\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\"\x82\x01\n" +
	"\x16TwitterCommentResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x18\n" +
	"\acomment\x18\x03 \x01(\tR\acomment\x12\x18\n" +
	"\apostUrl\x18\x04 \x01(\tR\apostUrl\"\x84\x01\n" +
	"\x16YouTubeCommentResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x18\n" +
	"\acomment\x18\x03 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x04 \x01(\tR\bplatform\"\xc5\x01\n" +
	"\rPlatformError\x12\x16\n" +
	"\x06action\x18\x01 \x01(\tR\x06action\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12\x12\n" +
	"\x04code\x18\x03 \x01(\x05R\x04code\x12\x18\n" +
	"\amessage\x18\x04 \x01(\tR\amessage\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\x12\x12\n" +
	"\x04post\x18\x06 \x01(\tR\x04post\x12\x16\n" +
	"\x06detail\x18\a \x01(\tR\x06detail\x12\x0e\n" +
	"\x02id\x18\b \x01(\tR\x02id\"\xbc\x05\n" +
	"\x13PostCommentResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentID\x18\x02 \x01(\tR\tcommentID\x12\x1f\n" +
	"\fcommentIdAlt\x18\x03 \x01(\tR\tcommentId\x12\x0e\n" +
	"\x02id\x18\x04 \x01(\tR\x02id\x12@\n" +
	"\tinstagram\x18\x05 \x01(\v2\".aryshare.InstagramCommentResponseR\tinstagram\x127\n" +
	"\x06tiktok\x18\x06 \x01(\v2\x1f.aryshare.TikTokCommentResponseR\x06tiktok\x12\x16\n" +
	"\x06action\x18\a \x01(\tR\x06action\x12\x12\n" +
	"\x04code\x18\b \x01(\x05R\x04code\x12\x18\n" +
	"\amessage\x18\t \x01(\tR\amessage\x12\x1a\n" +
	"\bplatform\x18\n" +
	" \x01(\tR\bplatform\x12/\n" +
	"\x06errors\x18\v \x03(\v2\x17.aryshare.PlatformErrorR\x06errors\x12:\n" +
	"\abluesky\x18\f \x01(\v2 .aryshare.BlueskyCommentResponseR\abluesky\x12=\n" +
	"\bfacebook\x18\r \x01(\v2!.aryshare.FacebookCommentResponseR\bfacebook\x12=\n" +
	"\blinkedin\x18\x0e \x01(\v2!.aryshare.LinkedInCommentResponseR\blinkedin\x12:\n" +
	"\atwitter\x18\x0f \x01(\v2 .aryshare.TwitterCommentResponseR\atwitter\x12:\n" +
	"\ayoutube\x18\x10 \x01(\v2 .aryshare.YouTubeCommentResponseR\ayoutube\"[\n" +
	"\x11GetCommentRequest\x12&\n" +
	"\x02id\x18\x01 \x01(\tB\x16\xe2\xdf\x1f\x12*\x0eid不能为空X\x01R\x02id\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x02 \x01(\tR\n" +
	"profileKey\"O\n" +
	"\rInstagramUser\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x12\x1a\n" +
	"\busername\x18\x03 \x01(\tR\busername\"#\n" +
	"\x11InstagramUserInfo\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"\xc9\x03\n" +
	"\x10InstagramComment\x12\x18\n" +
	"\acomment\x18\x01 \x01(\tR\acomment\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\x12\x18\n" +
	"\acreated\x18\x04 \x01(\tR\acreated\x12+\n" +
	"\x04from\x18\x05 \x01(\v2\x17.aryshare.InstagramUserR\x04from\x12\x16\n" +
	"\x06hidden\x18\x06 \x01(\bR\x06hidden\x12\x1c\n" +
	"\tlikeCount\x18\a \x01(\x05R\tlikeCount\x12\x1a\n" +
	"\bparentId\x18\b \x01(\tR\bparentId\x12\x1a\n" +
	"\bplatform\x18\t \x01(\tR\bplatform\x12\x16\n" +
	"\x06postId\x18\n" +
	" \x01(\tR\x06postId\x124\n" +
	"\areplies\x18\v \x03(\v2\x1a.aryshare.InstagramCommentR\areplies\x12/\n" +
	"\x04user\x18\f \x01(\v2\x1b.aryshare.InstagramUserInfoR\x04user\x12\x1a\n" +
	"\buserName\x18\r \x01(\tR\buserName\x12\x1d\n" +
	"\vusernameAlt\x18\x0e \x01(\tR\busername\"\xc4\x04\n" +
	"\rTikTokComment\x12\x18\n" +
	"\acomment\x18\x01 \x01(\tR\acomment\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x18\n" +
	"\acreated\x18\x03 \x01(\tR\acreated\x12\x1e\n" +
	"\n" +
	"createTime\x18\x04 \x01(\tR\n" +
	"createTime\x12 \n" +
	"\vdisplayName\x18\x05 \x01(\tR\vdisplayName\x12\x14\n" +
	"\x05liked\x18\x06 \x01(\bR\x05liked\x12\x14\n" +
	"\x05likes\x18\a \x01(\x05R\x05likes\x12\x1c\n" +
	"\tlikeCount\x18\b \x01(\x05R\tlikeCount\x12\x14\n" +
	"\x05owner\x18\t \x01(\bR\x05owner\x12(\n" +
	"\x0fparentCommentId\x18\n" +
	" \x01(\tR\x0fparentCommentId\x12\x16\n" +
	"\x06pinned\x18\v \x01(\bR\x06pinned\x12\x1a\n" +
	"\bplatform\x18\f \x01(\tR\bplatform\x12(\n" +
	"\x0fprofileImageUrl\x18\r \x01(\tR\x0fprofileImageUrl\x121\n" +
	"\areplies\x18\x0e \x03(\v2\x17.aryshare.TikTokCommentR\areplies\x12\x16\n" +
	"\x06status\x18\x0f \x01(\tR\x06status\x12\x16\n" +
	"\x06userId\x18\x10 \x01(\tR\x06userId\x12\x1a\n" +
	"\busername\x18\x11 \x01(\tR\busername\x12\x18\n" +
	"\avideoId\x18\x12 \x01(\tR\avideoId\x12\x1e\n" +
	"\n" +
	"visibility\x18\x13 \x01(\tR\n" +
	"visibility\"\xb4\x03\n" +
	"\x0eBlueskyComment\x12\x18\n" +
	"\acomment\x18\x01 \x01(\tR\acomment\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x18\n" +
	"\acreated\x18\x03 \x01(\tR\acreated\x12 \n" +
	"\vdisplayName\x18\x04 \x01(\tR\vdisplayName\x12\x1c\n" +
	"\tlikeCount\x18\x05 \x01(\x05R\tlikeCount\x12\x1a\n" +
	"\bplatform\x18\x06 \x01(\tR\bplatform\x12(\n" +
	"\x0fprofileImageUrl\x18\a \x01(\tR\x0fprofileImageUrl\x12\x1e\n" +
	"\n" +
	"quoteCount\x18\b \x01(\x05R\n" +
	"quoteCount\x122\n" +
	"\areplies\x18\t \x03(\v2\x18.aryshare.BlueskyCommentR\areplies\x12\x1e\n" +
	"\n" +
	"replyCount\x18\n" +
	" \x01(\x05R\n" +
	"replyCount\x12\x18\n" +
	"\areplyTo\x18\v \x01(\tR\areplyTo\x12 \n" +
	"\vrepostCount\x18\f \x01(\x05R\vrepostCount\x12\x1a\n" +
	"\buserName\x18\r \x01(\tR\buserName\"2\n" +
	"\fFacebookUser\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\"\x88\x01\n" +
	"\x0eFacebookParent\x12 \n" +
	"\vcreatedTime\x18\x01 \x01(\tR\vcreatedTime\x12*\n" +
	"\x04from\x18\x02 \x01(\v2\x16.aryshare.FacebookUserR\x04from\x12\x18\n" +
	"\amessage\x18\x03 \x01(\tR\amessage\x12\x0e\n" +
	"\x02id\x18\x04 \x01(\tR\x02id\"\xac\x03\n" +
	"\x0fFacebookComment\x12\x18\n" +
	"\acomment\x18\x01 \x01(\tR\acomment\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\"\n" +
	"\fcommentCount\x18\x03 \x01(\x05R\fcommentCount\x12\x1e\n" +
	"\n" +
	"commentUrl\x18\x04 \x01(\tR\n" +
	"commentUrl\x12\x18\n" +
	"\acompany\x18\x05 \x01(\bR\acompany\x12\x18\n" +
	"\acreated\x18\x06 \x01(\tR\acreated\x12*\n" +
	"\x04from\x18\a \x01(\v2\x16.aryshare.FacebookUserR\x04from\x12\x1c\n" +
	"\tlikeCount\x18\b \x01(\x05R\tlikeCount\x120\n" +
	"\x06parent\x18\t \x01(\v2\x18.aryshare.FacebookParentR\x06parent\x12\x1a\n" +
	"\bplatform\x18\n" +
	" \x01(\tR\bplatform\x12\x1c\n" +
	"\tuserLikes\x18\v \x01(\bR\tuserLikes\x123\n" +
	"\areplies\x18\f \x03(\v2\x19.aryshare.FacebookCommentR\areplies\"5\n" +
	"\rLinkedInMedia\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n" +
	"\x03url\x18\x02 \x01(\tR\x03url\"f\n" +
	"\fLinkedInFrom\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x12\x10\n" +
	"\x03url\x18\x03 \x01(\tR\x03url\x12 \n" +
	"\vdescription\x18\x04 \x01(\tR\vdescription\"\xbe\x03\n" +
	"\x0fLinkedInComment\x12\x18\n" +
	"\acomment\x18\x01 \x01(\tR\acomment\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x1e\n" +
	"\n" +
	"commentUrn\x18\x03 \x01(\tR\n" +
	"commentUrn\x12\x18\n" +
	"\acreated\x18\x04 \x01(\tR\acreated\x12*\n" +
	"\x04from\x18\x05 \x01(\v2\x16.aryshare.LinkedInFromR\x04from\x12\x1c\n" +
	"\tlikeCount\x18\x06 \x01(\x05R\tlikeCount\x12-\n" +
	"\x05media\x18\a \x03(\v2\x17.aryshare.LinkedInMediaR\x05media\x12\x1a\n" +
	"\bplatform\x18\b \x01(\tR\bplatform\x12(\n" +
	"\x0fprofileImageUrl\x18\t \x01(\tR\x0fprofileImageUrl\x12\x1a\n" +
	"\buserName\x18\n" +
	" \x01(\tR\buserName\x12\x18\n" +
	"\afounded\x18\v \x01(\x05R\afounded\x12*\n" +
	"\x10organizationType\x18\f \x01(\tR\x10organizationType\x12\x18\n" +
	"\awebsite\x18\r \x01(\tR\awebsite\"0\n" +
	"\n" +
	"RedditUser\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\"\xfd\x01\n" +
	"\rRedditComment\x12\x18\n" +
	"\acomment\x18\x01 \x01(\tR\acomment\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x18\n" +
	"\acreated\x18\x03 \x01(\tR\acreated\x12(\n" +
	"\x04from\x18\x04 \x01(\v2\x14.aryshare.RedditUserR\x04from\x12\x1e\n" +
	"\n" +
	"commentUrl\x18\x05 \x01(\tR\n" +
	"commentUrl\x12\x1c\n" +
	"\tsubreddit\x18\x06 \x01(\tR\tsubreddit\x12\x10\n" +
	"\x03ups\x18\a \x01(\x05R\x03ups\x12 \n" +
	"\visSubmitter\x18\b \x01(\bR\visSubmitter\"\x8c\x04\n" +
	"\x0eThreadsComment\x12\x18\n" +
	"\acomment\x18\x01 \x01(\tR\acomment\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x1e\n" +
	"\n" +
	"commentUrl\x18\x03 \x01(\tR\n" +
	"commentUrl\x12\x18\n" +
	"\acreated\x18\x04 \x01(\tR\acreated\x12\x1e\n" +
	"\n" +
	"hasReplies\x18\x05 \x01(\bR\n" +
	"hasReplies\x12 \n" +
	"\visQuotePost\x18\x06 \x01(\bR\visQuotePost\x12\x18\n" +
	"\aisReply\x18\a \x01(\bR\aisReply\x12*\n" +
	"\x10isReplyOwnedByMe\x18\b \x01(\bR\x10isReplyOwnedByMe\x12\x1c\n" +
	"\tmediaType\x18\t \x01(\tR\tmediaType\x12\x1a\n" +
	"\bparentId\x18\n" +
	" \x01(\tR\bparentId\x12\x1a\n" +
	"\bplatform\x18\v \x01(\tR\bplatform\x12\x16\n" +
	"\x06postId\x18\f \x01(\tR\x06postId\x122\n" +
	"\areplies\x18\r \x03(\v2\x18.aryshare.ThreadsCommentR\areplies\x12$\n" +
	"\rreplyAudience\x18\x0e \x01(\tR\rreplyAudience\x12\x1c\n" +
	"\tshortcode\x18\x0f \x01(\tR\tshortcode\x12\x1a\n" +
	"\buserName\x18\x10 \x01(\tR\buserName\"\xe6\x01\n" +
	"\x14TwitterPublicMetrics\x12&\n" +
	"\x0efollowersCount\x18\x01 \x01(\x05R\x0efollowersCount\x12&\n" +
	"\x0efollowingCount\x18\x02 \x01(\x05R\x0efollowingCount\x12\x1e\n" +
	"\n" +
	"tweetCount\x18\x03 \x01(\x05R\n" +
	"tweetCount\x12 \n" +
	"\vlistedCount\x18\x04 \x01(\x05R\vlistedCount\x12\x1c\n" +
	"\tlikeCount\x18\x05 \x01(\x05R\tlikeCount\x12\x1e\n" +
	"\n" +
	"mediaCount\x18\x06 \x01(\x05R\n" +
	"mediaCount\"<\n" +
	"\x16TwitterReferencedTweet\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\"\xae\x02\n" +
	"\x0eTwitterReplyTo\x12\x1c\n" +
	"\tcreatedAt\x18\x01 \x01(\tR\tcreatedAt\x12 \n" +
	"\vdescription\x18\x02 \x01(\tR\vdescription\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\x12\x1a\n" +
	"\blocation\x18\x04 \x01(\tR\blocation\x12\x12\n" +
	"\x04name\x18\x05 \x01(\tR\x04name\x12(\n" +
	"\x0fprofileImageUrl\x18\x06 \x01(\tR\x0fprofileImageUrl\x12D\n" +
	"\rpublicMetrics\x18\a \x01(\v2\x1e.aryshare.TwitterPublicMetricsR\rpublicMetrics\x12\x10\n" +
	"\x03url\x18\b \x01(\tR\x03url\x12\x1a\n" +
	"\busername\x18\t \x01(\tR\busername\"\xa4\x05\n" +
	"\x0eTwitterComment\x12$\n" +
	"\rbookmarkCount\x18\x01 \x01(\x05R\rbookmarkCount\x12\x18\n" +
	"\acomment\x18\x02 \x01(\tR\acomment\x12\x1c\n" +
	"\tcommentId\x18\x03 \x01(\tR\tcommentId\x12\x18\n" +
	"\acreated\x18\x04 \x01(\tR\acreated\x12 \n" +
	"\vdescription\x18\x05 \x01(\tR\vdescription\x12\x0e\n" +
	"\x02id\x18\x06 \x01(\tR\x02id\x12(\n" +
	"\x0fimpressionCount\x18\a \x01(\x05R\x0fimpressionCount\x12\x1c\n" +
	"\tlikeCount\x18\b \x01(\x05R\tlikeCount\x12\x12\n" +
	"\x04name\x18\t \x01(\tR\x04name\x12\x1a\n" +
	"\bplatform\x18\n" +
	" \x01(\tR\bplatform\x12(\n" +
	"\x0fprofileImageUrl\x18\v \x01(\tR\x0fprofileImageUrl\x12D\n" +
	"\rpublicMetrics\x18\f \x01(\v2\x1e.aryshare.TwitterPublicMetricsR\rpublicMetrics\x12\x1e\n" +
	"\n" +
	"quoteCount\x18\r \x01(\x05R\n" +
	"quoteCount\x12L\n" +
	"\x10referencedTweets\x18\x0e \x03(\v2 .aryshare.TwitterReferencedTweetR\x10referencedTweets\x12\x1e\n" +
	"\n" +
	"replyCount\x18\x0f \x01(\x05R\n" +
	"replyCount\x122\n" +
	"\areplyTo\x18\x10 \x01(\v2\x18.aryshare.TwitterReplyToR\areplyTo\x12\"\n" +
	"\fthreadNumber\x18\x11 \x01(\x05R\fthreadNumber\x12\x1a\n" +
	"\buserName\x18\x12 \x01(\tR\buserName\"\x9c\x02\n" +
	"\fYouTubeReply\x12\x1e\n" +
	"\n" +
	"channelUrl\x18\x01 \x01(\tR\n" +
	"channelUrl\x12\x18\n" +
	"\acomment\x18\x02 \x01(\tR\acomment\x12\x1c\n" +
	"\tcommentId\x18\x03 \x01(\tR\tcommentId\x12\x18\n" +
	"\acreated\x18\x04 \x01(\tR\acreated\x12\x1c\n" +
	"\tlikeCount\x18\x05 \x01(\x05R\tlikeCount\x12\x1a\n" +
	"\bplatform\x18\x06 \x01(\tR\bplatform\x12(\n" +
	"\x0fprofileImageUrl\x18\a \x01(\tR\x0fprofileImageUrl\x12\x1a\n" +
	"\buserName\x18\b \x01(\tR\buserName\x12\x1a\n" +
	"\bparentId\x18\t \x01(\tR\bparentId\"\xd0\x02\n" +
	"\x0eYouTubeComment\x12\x1e\n" +
	"\n" +
	"channelUrl\x18\x01 \x01(\tR\n" +
	"channelUrl\x12\x18\n" +
	"\acomment\x18\x02 \x01(\tR\acomment\x12\x1c\n" +
	"\tcommentId\x18\x03 \x01(\tR\tcommentId\x12\x18\n" +
	"\acreated\x18\x04 \x01(\tR\acreated\x12\x1a\n" +
	"\bisPublic\x18\x05 \x01(\bR\bisPublic\x12\x1c\n" +
	"\tlikeCount\x18\x06 \x01(\x05R\tlikeCount\x12\x1a\n" +
	"\bplatform\x18\a \x01(\tR\bplatform\x12(\n" +
	"\x0fprofileImageUrl\x18\b \x01(\tR\x0fprofileImageUrl\x120\n" +
	"\areplies\x18\t \x03(\v2\x16.aryshare.YouTubeReplyR\areplies\x12\x1a\n" +
	"\buserName\x18\n" +
	" \x01(\tR\buserName\"\x9e\x05\n" +
	"\x12GetCommentResponse\x128\n" +
	"\tinstagram\x18\x01 \x03(\v2\x1a.aryshare.InstagramCommentR\tinstagram\x12/\n" +
	"\x06tiktok\x18\x02 \x03(\v2\x17.aryshare.TikTokCommentR\x06tiktok\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12\x0e\n" +
	"\x02id\x18\x04 \x01(\tR\x02id\x12 \n" +
	"\vlastUpdated\x18\x05 \x01(\tR\vlastUpdated\x12\x1e\n" +
	"\n" +
	"nextUpdate\x18\x06 \x01(\tR\n" +
	"nextUpdate\x12\x16\n" +
	"\x06action\x18\a \x01(\tR\x06action\x12\x12\n" +
	"\x04code\x18\b \x01(\x05R\x04code\x12\x18\n" +
	"\amessage\x18\t \x01(\tR\amessage\x122\n" +
	"\abluesky\x18\n" +
	" \x03(\v2\x18.aryshare.BlueskyCommentR\abluesky\x125\n" +
	"\bfacebook\x18\v \x03(\v2\x19.aryshare.FacebookCommentR\bfacebook\x125\n" +
	"\blinkedin\x18\f \x03(\v2\x19.aryshare.LinkedInCommentR\blinkedin\x12/\n" +
	"\x06reddit\x18\r \x03(\v2\x17.aryshare.RedditCommentR\x06reddit\x122\n" +
	"\athreads\x18\x0e \x03(\v2\x18.aryshare.ThreadsCommentR\athreads\x122\n" +
	"\atwitter\x18\x0f \x03(\v2\x18.aryshare.TwitterCommentR\atwitter\x122\n" +
	"\ayoutube\x18\x10 \x03(\v2\x18.aryshare.YouTubeCommentR\ayoutube\"\xc4\x01\n" +
	"\x14DeleteCommentRequest\x12&\n" +
	"\x02id\x18\x01 \x01(\tB\x16\xe2\xdf\x1f\x12*\x0eid不能为空X\x01R\x02id\x12\x1c\n" +
	"\tplatforms\x18\x02 \x03(\tR\tplatforms\x12\x1a\n" +
	"\bplatform\x18\x03 \x01(\tR\bplatform\x12*\n" +
	"\x10searchPlatformId\x18\x04 \x01(\bR\x10searchPlatformId\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x05 \x01(\tR\n" +
	"profileKey\"s\n" +
	"\x17InstagramDeleteResponse\x12\x16\n" +
	"\x06action\x18\x01 \x01(\tR\x06action\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\"\x8e\x01\n" +
	"\x14TikTokDeleteResponse\x12\x16\n" +
	"\x06action\x18\x01 \x01(\tR\x06action\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x03 \x01(\tR\tcommentId\x12\x0e\n" +
	"\x02id\x18\x04 \x01(\tR\x02id\x12\x18\n" +
	"\acomment\x18\x05 \x01(\tR\acomment\"\xcb\x02\n" +
	"\x15DeleteCommentResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tinstagram\x18\x02 \x01(\tR\tinstagram\x12\x16\n" +
	"\x06tiktok\x18\x03 \x01(\tR\x06tiktok\x12\x16\n" +
	"\x06action\x18\x04 \x01(\tR\x06action\x12\x12\n" +
	"\x04code\x18\x05 \x01(\x05R\x04code\x12\x18\n" +
	"\amessage\x18\x06 \x01(\tR\amessage\x12\x18\n" +
	"\abluesky\x18\a \x01(\tR\abluesky\x12\x1a\n" +
	"\bfacebook\x18\b \x01(\tR\bfacebook\x12\x1a\n" +
	"\blinkedin\x18\t \x01(\tR\blinkedin\x12\x18\n" +
	"\athreads\x18\n" +
	" \x01(\tR\athreads\x12\x18\n" +
	"\atwitter\x18\v \x01(\tR\atwitter\x12\x18\n" +
	"\ayoutube\x18\f \x01(\tR\ayoutube\"\xdf\x01\n" +
	"\x13ReplyCommentRequest\x12&\n" +
	"\x02id\x18\x01 \x01(\tB\x16\xe2\xdf\x1f\x12*\x0eid不能为空X\x01R\x02id\x125\n" +
	"\acomment\x18\x02 \x01(\tB\x1b\xe2\xdf\x1f\x17*\x13comment不能为空X\x01R\acomment\x12I\n" +
	"\tplatforms\x18\x03 \x03(\tB+\xe2\xdf\x1f'*!platforms平台列表不能为空X\x01`\x01R\tplatforms\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x04 \x01(\tR\n" +
	"profileKey\"\xae\x01\n" +
	"\x16InstagramReplyResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12(\n" +
	"\x0fsourceCommentId\x18\x03 \x01(\tR\x0fsourceCommentId\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\"\xc5\x01\n" +
	"\x13TikTokReplyResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12(\n" +
	"\x0fsourceCommentId\x18\x03 \x01(\tR\x0fsourceCommentId\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\x12\x18\n" +
	"\avideoId\x18\x06 \x01(\tR\avideoId\"\xd8\x01\n" +
	"\x14BlueskyReplyResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12(\n" +
	"\x0fsourceCommentId\x18\x03 \x01(\tR\x0fsourceCommentId\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\x12\x10\n" +
	"\x03cid\x18\x06 \x01(\tR\x03cid\x12\x18\n" +
	"\apostUrl\x18\a \x01(\tR\apostUrl\"\xad\x01\n" +
	"\x15FacebookReplyResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12(\n" +
	"\x0fsourceCommentId\x18\x03 \x01(\tR\x0fsourceCommentId\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\"\xad\x01\n" +
	"\x15LinkedInReplyResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12(\n" +
	"\x0fsourceCommentId\x18\x03 \x01(\tR\x0fsourceCommentId\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\"\xc6\x01\n" +
	"\x14TwitterReplyResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12(\n" +
	"\x0fsourceCommentId\x18\x03 \x01(\tR\x0fsourceCommentId\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\x12\x18\n" +
	"\apostUrl\x18\x06 \x01(\tR\apostUrl\"\xac\x01\n" +
	"\x14YouTubeReplyResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12(\n" +
	"\x0fsourceCommentId\x18\x03 \x01(\tR\x0fsourceCommentId\x12\x18\n" +
	"\acomment\x18\x04 \x01(\tR\acomment\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\"\xc1\x04\n" +
	"\x14ReplyCommentResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1c\n" +
	"\tcommentId\x18\x02 \x01(\tR\tcommentId\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\x12>\n" +
	"\tinstagram\x18\x04 \x01(\v2 .aryshare.InstagramReplyResponseR\tinstagram\x125\n" +
	"\x06tiktok\x18\x05 \x01(\v2\x1d.aryshare.TikTokReplyResponseR\x06tiktok\x12\x16\n" +
	"\x06action\x18\x06 \x01(\tR\x06action\x12\x12\n" +
	"\x04code\x18\a \x01(\x05R\x04code\x12\x18\n" +
	"\amessage\x18\b \x01(\tR\amessage\x128\n" +
	"\abluesky\x18\t \x01(\v2\x1e.aryshare.BlueskyReplyResponseR\abluesky\x12;\n" +
	"\bfacebook\x18\n" +
	" \x01(\v2\x1f.aryshare.FacebookReplyResponseR\bfacebook\x12;\n" +
	"\blinkedin\x18\v \x01(\v2\x1f.aryshare.LinkedInReplyResponseR\blinkedin\x128\n" +
	"\atwitter\x18\f \x01(\v2\x1e.aryshare.TwitterReplyResponseR\atwitter\x128\n" +
	"\ayoutube\x18\r \x01(\v2\x1e.aryshare.YouTubeReplyResponseR\ayoutube\"\xb2\x01\n" +
	"\x17GetPostAnalyticsRequest\x12,\n" +
	"\x02id\x18\x01 \x01(\tB\x1c\xe2\xdf\x1f\x18*\x14帖子ID不能为空X\x01R\x02id\x12I\n" +
	"\tplatforms\x18\x02 \x03(\tB+\xe2\xdf\x1f'*!platforms平台列表不能为空X\x01`\x01R\tplatforms\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x03 \x01(\tR\n" +
	"profileKey\"\xee\x01\n" +
	"!GetPostAnalyticsBySocialIDRequest\x122\n" +
	"\x02id\x18\x01 \x01(\tB\"\xe2\xdf\x1f\x1e*\x1aSocial Post ID不能为空X\x01R\x02id\x12I\n" +
	"\tplatforms\x18\x02 \x03(\tB+\xe2\xdf\x1f'*!platforms平台列表不能为空X\x01`\x01R\tplatforms\x12*\n" +
	"\x10searchPlatformId\x18\x03 \x01(\bR\x10searchPlatformId\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x04 \x01(\tR\n" +
	"profileKey\"\xe6\x02\n" +
	"\x18GetPostAnalyticsResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x12\n" +
	"\x04code\x18\x02 \x01(\x05R\x04code\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\x12\x18\n" +
	"\abluesky\x18\x04 \x01(\tR\abluesky\x12\x1a\n" +
	"\bfacebook\x18\x05 \x01(\tR\bfacebook\x12\x1c\n" +
	"\tinstagram\x18\x06 \x01(\tR\tinstagram\x12\x1a\n" +
	"\blinkedin\x18\a \x01(\tR\blinkedin\x12\x1c\n" +
	"\tpinterest\x18\b \x01(\tR\tpinterest\x12\x1a\n" +
	"\bsnapchat\x18\t \x01(\tR\bsnapchat\x12\x18\n" +
	"\athreads\x18\n" +
	" \x01(\tR\athreads\x12\x16\n" +
	"\x06tiktok\x18\v \x01(\tR\x06tiktok\x12\x18\n" +
	"\atwitter\x18\f \x01(\tR\atwitter\x12\x18\n" +
	"\ayoutube\x18\r \x01(\tR\ayoutube\"\x86\x01\n" +
	"\x19GetSocialAnalyticsRequest\x12I\n" +
	"\tplatforms\x18\x01 \x03(\tB+\xe2\xdf\x1f'*!platforms平台列表不能为空X\x01`\x01R\tplatforms\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x02 \x01(\tR\n" +
	"profileKey\"\xee\x02\n" +
	"\x1aGetSocialAnalyticsResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x18\n" +
	"\abluesky\x18\x02 \x01(\tR\abluesky\x12\x1a\n" +
	"\bfacebook\x18\x03 \x01(\tR\bfacebook\x12\x10\n" +
	"\x03gmb\x18\x04 \x01(\tR\x03gmb\x12\x1c\n" +
	"\tinstagram\x18\x05 \x01(\tR\tinstagram\x12\x1a\n" +
	"\blinkedin\x18\x06 \x01(\tR\blinkedin\x12\x1c\n" +
	"\tpinterest\x18\a \x01(\tR\tpinterest\x12\x16\n" +
	"\x06reddit\x18\b \x01(\tR\x06reddit\x12\x1a\n" +
	"\bsnapchat\x18\t \x01(\tR\bsnapchat\x12\x18\n" +
	"\athreads\x18\n" +
	" \x01(\tR\athreads\x12\x16\n" +
	"\x06tiktok\x18\v \x01(\tR\x06tiktok\x12\x18\n" +
	"\atwitter\x18\f \x01(\tR\atwitter\x12\x18\n" +
	"\ayoutube\x18\r \x01(\tR\ayoutube\"\xb3\x01\n" +
	"\x13AutoHashtagsRequest\x122\n" +
	"\x04post\x18\x01 \x01(\tB\x1e\xe2\xdf\x1f\x1a*\x16post内容不能为空X\x01R\x04post\x12\x10\n" +
	"\x03max\x18\x02 \x01(\x05R\x03max\x12\x1a\n" +
	"\bposition\x18\x03 \x01(\tR\bposition\x12\x1a\n" +
	"\blanguage\x18\x04 \x01(\tR\blanguage\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x05 \x01(\tR\n" +
	"profileKey\"\x88\x01\n" +
	"\x14AutoHashtagsResponse\x12\x12\n" +
	"\x04post\x18\x01 \x01(\tR\x04post\x12\x16\n" +
	"\x06action\x18\x02 \x01(\tR\x06action\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12\x12\n" +
	"\x04code\x18\x04 \x01(\x05R\x04code\x12\x18\n" +
	"\amessage\x18\x05 \x01(\tR\amessage\"r\n" +
	"\x19CheckBannedHashtagRequest\x125\n" +
	"\ahashtag\x18\x01 \x01(\tB\x1b\xe2\xdf\x1f\x17*\x13hashtag不能为空X\x01R\ahashtag\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x02 \x01(\tR\n" +
	"profileKey\"\xac\x01\n" +
	"\x1aCheckBannedHashtagResponse\x12\x18\n" +
	"\ahashtag\x18\x01 \x01(\tR\ahashtag\x12\x16\n" +
	"\x06banned\x18\x02 \x01(\bR\x06banned\x12\x16\n" +
	"\x06action\x18\x03 \x01(\tR\x06action\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\x12\x12\n" +
	"\x04code\x18\x05 \x01(\x05R\x04code\x12\x18\n" +
	"\amessage\x18\x06 \x01(\tR\amessage\"I\n" +
	"\x15HashtagRecommendation\x12\x1c\n" +
	"\tviewCount\x18\x01 \x01(\x03R\tviewCount\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\"q\n" +
	"\x18RecommendHashtagsRequest\x125\n" +
	"\akeyword\x18\x01 \x01(\tB\x1b\xe2\xdf\x1f\x17*\x13keyword不能为空X\x01R\akeyword\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x02 \x01(\tR\n" +
	"profileKey\"\xde\x01\n" +
	"\x19RecommendHashtagsResponse\x12\x18\n" +
	"\akeyword\x18\x01 \x01(\tR\akeyword\x12I\n" +
	"\x0frecommendations\x18\x02 \x03(\v2\x1f.aryshare.HashtagRecommendationR\x0frecommendations\x12\x16\n" +
	"\x06action\x18\x03 \x01(\tR\x06action\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\x12\x12\n" +
	"\x04code\x18\x05 \x01(\x05R\x04code\x12\x18\n" +
	"\amessage\x18\x06 \x01(\tR\amessage\"\x8e\x01\n" +
	"\x15SearchHashtagsRequest\x125\n" +
	"\akeyword\x18\x01 \x01(\tB\x1b\xe2\xdf\x1f\x17*\x13keyword不能为空X\x01R\akeyword\x12\x1e\n" +
	"\n" +
	"searchType\x18\x02 \x01(\tR\n" +
	"searchType\x12\x1e\n" +
	"\n" +
	"profileKey\x18\x03 \x01(\tR\n" +
	"profileKey\"7\n" +
	"\x11SearchHashtagInfo\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\"$\n" +
	"\x12SearchHashtagChild\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"I\n" +
	"\x15SearchHashtagChildren\x120\n" +
	"\x04data\x18\x01 \x03(\v2\x1c.aryshare.SearchHashtagChildR\x04data\"\xb5\x02\n" +
	"\x12SearchHashtagMedia\x12\x18\n" +
	"\acaption\x18\x01 \x01(\tR\acaption\x12;\n" +
	"\bchildren\x18\x02 \x01(\v2\x1f.aryshare.SearchHashtagChildrenR\bchildren\x12$\n" +
	"\rcommentsCount\x18\x03 \x01(\x05R\rcommentsCount\x12\x0e\n" +
	"\x02id\x18\x04 \x01(\tR\x02id\x12\x1c\n" +
	"\tlikeCount\x18\x05 \x01(\x05R\tlikeCount\x12\x1c\n" +
	"\tmediaType\x18\x06 \x01(\tR\tmediaType\x12\x1a\n" +
	"\bmediaUrl\x18\a \x01(\tR\bmediaUrl\x12\x1c\n" +
	"\tpermalink\x18\b \x01(\tR\tpermalink\x12\x1c\n" +
	"\ttimestamp\x18\t \x01(\tR\ttimestamp\"\xc9\x02\n" +
	"\x16SearchHashtagsResponse\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x125\n" +
	"\ahashtag\x18\x02 \x01(\v2\x1b.aryshare.SearchHashtagInfoR\ahashtag\x12B\n" +
	"\rsearchResults\x18\x03 \x03(\v2\x1c.aryshare.SearchHashtagMediaR\rsearchResults\x12\x14\n" +
	"\x05count\x18\x04 \x01(\x05R\x05count\x12 \n" +
	"\vlastUpdated\x18\x05 \x01(\tR\vlastUpdated\x12\x1e\n" +
	"\n" +
	"nextUpdate\x18\x06 \x01(\tR\n" +
	"nextUpdate\x12\x16\n" +
	"\x06action\x18\a \x01(\tR\x06action\x12\x12\n" +
	"\x04code\x18\b \x01(\x05R\x04code\x12\x18\n" +
	"\amessage\x18\t \x01(\tR\amessage2\xf0\x0e\n" +
	"\bAyrshare\x125\n" +
	"\x04Post\x12\x15.aryshare.PostRequest\x1a\x16.aryshare.PostResponse\x12>\n" +
	"\aGetPost\x12\x18.aryshare.GetPostRequest\x1a\x19.aryshare.GetPostResponse\x12>\n" +
	"\aGetUser\x12\x18.aryshare.GetUserRequest\x1a\x19.aryshare.GetUserResponse\x12P\n" +
	"\rCreateProfile\x12\x1e.aryshare.CreateProfileRequest\x1a\x1f.aryshare.CreateProfileResponse\x12J\n" +
	"\vGetProfiles\x12\x1c.aryshare.GetProfilesRequest\x1a\x1d.aryshare.GetProfilesResponse\x12J\n" +
	"\vGenerateJWT\x12\x1c.aryshare.GenerateJWTRequest\x1a\x1d.aryshare.GenerateJWTResponse\x12b\n" +
	"\x13UnlinkSocialNetwork\x12$.aryshare.UnlinkSocialNetworkRequest\x1a%.aryshare.UnlinkSocialNetworkResponse\x12G\n" +
	"\n" +
	"GetHistory\x12\x1b.aryshare.GetHistoryRequest\x1a\x1c.aryshare.GetHistoryResponse\x12S\n" +
	"\x0eGetHistoryById\x12\x1f.aryshare.GetHistoryByIdRequest\x1a .aryshare.GetHistoryByIdResponse\x12e\n" +
	"\x14GetHistoryByPlatform\x12%.aryshare.GetHistoryByPlatformRequest\x1a&.aryshare.GetHistoryByPlatformResponse\x12J\n" +
	"\vSendMessage\x12\x1c.aryshare.SendMessageRequest\x1a\x1d.aryshare.SendMessageResponse\x12J\n" +
	"\vGetMessages\x12\x1c.aryshare.GetMessagesRequest\x1a\x1d.aryshare.GetMessagesResponse\x12J\n" +
	"\vPostComment\x12\x1c.aryshare.PostCommentRequest\x1a\x1d.aryshare.PostCommentResponse\x12G\n" +
	"\n" +
	"GetComment\x12\x1b.aryshare.GetCommentRequest\x1a\x1c.aryshare.GetCommentResponse\x12P\n" +
	"\rDeleteComment\x12\x1e.aryshare.DeleteCommentRequest\x1a\x1f.aryshare.DeleteCommentResponse\x12M\n" +
	"\fReplyComment\x12\x1d.aryshare.ReplyCommentRequest\x1a\x1e.aryshare.ReplyCommentResponse\x12Y\n" +
	"\x10GetPostAnalytics\x12!.aryshare.GetPostAnalyticsRequest\x1a\".aryshare.GetPostAnalyticsResponse\x12m\n" +
	"\x1aGetPostAnalyticsBySocialID\x12+.aryshare.GetPostAnalyticsBySocialIDRequest\x1a\".aryshare.GetPostAnalyticsResponse\x12_\n" +
	"\x12GetSocialAnalytics\x12#.aryshare.GetSocialAnalyticsRequest\x1a$.aryshare.GetSocialAnalyticsResponse\x12M\n" +
	"\fAutoHashtags\x12\x1d.aryshare.AutoHashtagsRequest\x1a\x1e.aryshare.AutoHashtagsResponse\x12_\n" +
	"\x12CheckBannedHashtag\x12#.aryshare.CheckBannedHashtagRequest\x1a$.aryshare.CheckBannedHashtagResponse\x12\\\n" +
	"\x11RecommendHashtags\x12\".aryshare.RecommendHashtagsRequest\x1a#.aryshare.RecommendHashtagsResponse\x12S\n" +
	"\x0eSearchHashtags\x12\x1f.aryshare.SearchHashtagsRequest\x1a .aryshare.SearchHashtagsResponseB\fZ\n" +
	"./aryshareb\x06proto3"

var (
	file_pb_ayrshare_proto_rawDescOnce sync.Once
	file_pb_ayrshare_proto_rawDescData []byte
)

func file_pb_ayrshare_proto_rawDescGZIP() []byte {
	file_pb_ayrshare_proto_rawDescOnce.Do(func() {
		file_pb_ayrshare_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pb_ayrshare_proto_rawDesc), len(file_pb_ayrshare_proto_rawDesc)))
	})
	return file_pb_ayrshare_proto_rawDescData
}

var file_pb_ayrshare_proto_msgTypes = make([]protoimpl.MessageInfo, 111)
var file_pb_ayrshare_proto_goTypes = []any{
	(*UserTag)(nil),                           // 0: aryshare.UserTag
	(*InstagramOptions)(nil),                  // 1: aryshare.InstagramOptions
	(*TikTokOptions)(nil),                     // 2: aryshare.TikTokOptions
	(*YouTubeOptions)(nil),                    // 3: aryshare.YouTubeOptions
	(*BlueskyOptions)(nil),                    // 4: aryshare.BlueskyOptions
	(*PostRequest)(nil),                       // 5: aryshare.PostRequest
	(*PostId)(nil),                            // 6: aryshare.PostId
	(*PostItem)(nil),                          // 7: aryshare.PostItem
	(*PostResponse)(nil),                      // 8: aryshare.PostResponse
	(*GetPostRequest)(nil),                    // 9: aryshare.GetPostRequest
	(*GetPostResponse)(nil),                   // 10: aryshare.GetPostResponse
	(*GetUserRequest)(nil),                    // 11: aryshare.GetUserRequest
	(*Timestamp)(nil),                         // 12: aryshare.Timestamp
	(*TwitterUsage)(nil),                      // 13: aryshare.TwitterUsage
	(*DisplayName)(nil),                       // 14: aryshare.DisplayName
	(*GetUserResponse)(nil),                   // 15: aryshare.GetUserResponse
	(*CreateProfileRequest)(nil),              // 16: aryshare.CreateProfileRequest
	(*CreateProfileResponse)(nil),             // 17: aryshare.CreateProfileResponse
	(*GetProfilesRequest)(nil),                // 18: aryshare.GetProfilesRequest
	(*ProfileItem)(nil),                       // 19: aryshare.ProfileItem
	(*Pagination)(nil),                        // 20: aryshare.Pagination
	(*GetProfilesResponse)(nil),               // 21: aryshare.GetProfilesResponse
	(*Email)(nil),                             // 22: aryshare.Email
	(*GenerateJWTRequest)(nil),                // 23: aryshare.GenerateJWTRequest
	(*GenerateJWTResponse)(nil),               // 24: aryshare.GenerateJWTResponse
	(*UnlinkSocialNetworkRequest)(nil),        // 25: aryshare.UnlinkSocialNetworkRequest
	(*UnlinkSocialNetworkResponse)(nil),       // 26: aryshare.UnlinkSocialNetworkResponse
	(*HistoryPostId)(nil),                     // 27: aryshare.HistoryPostId
	(*HistoryItem)(nil),                       // 28: aryshare.HistoryItem
	(*GetHistoryRequest)(nil),                 // 29: aryshare.GetHistoryRequest
	(*GetHistoryResponse)(nil),                // 30: aryshare.GetHistoryResponse
	(*GetHistoryByIdRequest)(nil),             // 31: aryshare.GetHistoryByIdRequest
	(*GetHistoryByIdResponse)(nil),            // 32: aryshare.GetHistoryByIdResponse
	(*PlatformPost)(nil),                      // 33: aryshare.PlatformPost
	(*GetHistoryByPlatformRequest)(nil),       // 34: aryshare.GetHistoryByPlatformRequest
	(*GetHistoryByPlatformResponse)(nil),      // 35: aryshare.GetHistoryByPlatformResponse
	(*SendMessageRequest)(nil),                // 36: aryshare.SendMessageRequest
	(*MessageItem)(nil),                       // 37: aryshare.MessageItem
	(*SendMessageResponse)(nil),               // 38: aryshare.SendMessageResponse
	(*GetMessagesRequest)(nil),                // 39: aryshare.GetMessagesRequest
	(*MessageAttachment)(nil),                 // 40: aryshare.MessageAttachment
	(*MessageSenderDetails)(nil),              // 41: aryshare.MessageSenderDetails
	(*MessageRecipientDetails)(nil),           // 42: aryshare.MessageRecipientDetails
	(*MessageReaction)(nil),                   // 43: aryshare.MessageReaction
	(*GetMessagesItem)(nil),                   // 44: aryshare.GetMessagesItem
	(*ConversationParticipant)(nil),           // 45: aryshare.ConversationParticipant
	(*ConversationDetail)(nil),                // 46: aryshare.ConversationDetail
	(*GetMessagesResponse)(nil),               // 47: aryshare.GetMessagesResponse
	(*PostCommentRequest)(nil),                // 48: aryshare.PostCommentRequest
	(*InstagramCommentResponse)(nil),          // 49: aryshare.InstagramCommentResponse
	(*TikTokCommentResponse)(nil),             // 50: aryshare.TikTokCommentResponse
	(*BlueskyCommentResponse)(nil),            // 51: aryshare.BlueskyCommentResponse
	(*FacebookCommentResponse)(nil),           // 52: aryshare.FacebookCommentResponse
	(*LinkedInCommentResponse)(nil),           // 53: aryshare.LinkedInCommentResponse
	(*TwitterCommentResponse)(nil),            // 54: aryshare.TwitterCommentResponse
	(*YouTubeCommentResponse)(nil),            // 55: aryshare.YouTubeCommentResponse
	(*PlatformError)(nil),                     // 56: aryshare.PlatformError
	(*PostCommentResponse)(nil),               // 57: aryshare.PostCommentResponse
	(*GetCommentRequest)(nil),                 // 58: aryshare.GetCommentRequest
	(*InstagramUser)(nil),                     // 59: aryshare.InstagramUser
	(*InstagramUserInfo)(nil),                 // 60: aryshare.InstagramUserInfo
	(*InstagramComment)(nil),                  // 61: aryshare.InstagramComment
	(*TikTokComment)(nil),                     // 62: aryshare.TikTokComment
	(*BlueskyComment)(nil),                    // 63: aryshare.BlueskyComment
	(*FacebookUser)(nil),                      // 64: aryshare.FacebookUser
	(*FacebookParent)(nil),                    // 65: aryshare.FacebookParent
	(*FacebookComment)(nil),                   // 66: aryshare.FacebookComment
	(*LinkedInMedia)(nil),                     // 67: aryshare.LinkedInMedia
	(*LinkedInFrom)(nil),                      // 68: aryshare.LinkedInFrom
	(*LinkedInComment)(nil),                   // 69: aryshare.LinkedInComment
	(*RedditUser)(nil),                        // 70: aryshare.RedditUser
	(*RedditComment)(nil),                     // 71: aryshare.RedditComment
	(*ThreadsComment)(nil),                    // 72: aryshare.ThreadsComment
	(*TwitterPublicMetrics)(nil),              // 73: aryshare.TwitterPublicMetrics
	(*TwitterReferencedTweet)(nil),            // 74: aryshare.TwitterReferencedTweet
	(*TwitterReplyTo)(nil),                    // 75: aryshare.TwitterReplyTo
	(*TwitterComment)(nil),                    // 76: aryshare.TwitterComment
	(*YouTubeReply)(nil),                      // 77: aryshare.YouTubeReply
	(*YouTubeComment)(nil),                    // 78: aryshare.YouTubeComment
	(*GetCommentResponse)(nil),                // 79: aryshare.GetCommentResponse
	(*DeleteCommentRequest)(nil),              // 80: aryshare.DeleteCommentRequest
	(*InstagramDeleteResponse)(nil),           // 81: aryshare.InstagramDeleteResponse
	(*TikTokDeleteResponse)(nil),              // 82: aryshare.TikTokDeleteResponse
	(*DeleteCommentResponse)(nil),             // 83: aryshare.DeleteCommentResponse
	(*ReplyCommentRequest)(nil),               // 84: aryshare.ReplyCommentRequest
	(*InstagramReplyResponse)(nil),            // 85: aryshare.InstagramReplyResponse
	(*TikTokReplyResponse)(nil),               // 86: aryshare.TikTokReplyResponse
	(*BlueskyReplyResponse)(nil),              // 87: aryshare.BlueskyReplyResponse
	(*FacebookReplyResponse)(nil),             // 88: aryshare.FacebookReplyResponse
	(*LinkedInReplyResponse)(nil),             // 89: aryshare.LinkedInReplyResponse
	(*TwitterReplyResponse)(nil),              // 90: aryshare.TwitterReplyResponse
	(*YouTubeReplyResponse)(nil),              // 91: aryshare.YouTubeReplyResponse
	(*ReplyCommentResponse)(nil),              // 92: aryshare.ReplyCommentResponse
	(*GetPostAnalyticsRequest)(nil),           // 93: aryshare.GetPostAnalyticsRequest
	(*GetPostAnalyticsBySocialIDRequest)(nil), // 94: aryshare.GetPostAnalyticsBySocialIDRequest
	(*GetPostAnalyticsResponse)(nil),          // 95: aryshare.GetPostAnalyticsResponse
	(*GetSocialAnalyticsRequest)(nil),         // 96: aryshare.GetSocialAnalyticsRequest
	(*GetSocialAnalyticsResponse)(nil),        // 97: aryshare.GetSocialAnalyticsResponse
	(*AutoHashtagsRequest)(nil),               // 98: aryshare.AutoHashtagsRequest
	(*AutoHashtagsResponse)(nil),              // 99: aryshare.AutoHashtagsResponse
	(*CheckBannedHashtagRequest)(nil),         // 100: aryshare.CheckBannedHashtagRequest
	(*CheckBannedHashtagResponse)(nil),        // 101: aryshare.CheckBannedHashtagResponse
	(*HashtagRecommendation)(nil),             // 102: aryshare.HashtagRecommendation
	(*RecommendHashtagsRequest)(nil),          // 103: aryshare.RecommendHashtagsRequest
	(*RecommendHashtagsResponse)(nil),         // 104: aryshare.RecommendHashtagsResponse
	(*SearchHashtagsRequest)(nil),             // 105: aryshare.SearchHashtagsRequest
	(*SearchHashtagInfo)(nil),                 // 106: aryshare.SearchHashtagInfo
	(*SearchHashtagChild)(nil),                // 107: aryshare.SearchHashtagChild
	(*SearchHashtagChildren)(nil),             // 108: aryshare.SearchHashtagChildren
	(*SearchHashtagMedia)(nil),                // 109: aryshare.SearchHashtagMedia
	(*SearchHashtagsResponse)(nil),            // 110: aryshare.SearchHashtagsResponse
}
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
	3,   // 3: aryshare.PostRequest.youTubeOptions:type_name -> aryshare.YouTubeOptions
	4,   // 4: aryshare.PostRequest.blueskyOptions:type_name -> aryshare.BlueskyOptions
	6,   // 5: aryshare.PostItem.postIds:type_name -> aryshare.PostId
	7,   // 6: aryshare.PostResponse.posts:type_name -> aryshare.PostItem
	6,   // 7: aryshare.PostResponse.postIds:type_name -> aryshare.PostId
	6,   // 8: aryshare.GetPostResponse.postIds:type_name -> aryshare.PostId
	13,  // 9: aryshare.DisplayName.twitterUsage:type_name -> aryshare.TwitterUsage
	12,  // 10: aryshare.GetUserResponse.created:type_name -> aryshare.Timestamp
	14,  // 11: aryshare.GetUserResponse.displayNames:type_name -> aryshare.DisplayName
	12,  // 12: aryshare.ProfileItem.created:type_name -> aryshare.Timestamp
	19,  // 13: aryshare.GetProfilesResponse.profiles:type_name -> aryshare.ProfileItem
	20,  // 14: aryshare.GetProfilesResponse.pagination:type_name -> aryshare.Pagination
	22,  // 15: aryshare.GenerateJWTRequest.email:type_name -> aryshare.Email
	27,  // 16: aryshare.HistoryItem.postIds:type_name -> aryshare.HistoryPostId
	12,  // 17: aryshare.HistoryItem.scheduleDate:type_name -> aryshare.Timestamp
	28,  // 18: aryshare.GetHistoryResponse.history:type_name -> aryshare.HistoryItem
	27,  // 19: aryshare.GetHistoryByIdResponse.postIds:type_name -> aryshare.HistoryPostId
	12,  // 20: aryshare.GetHistoryByIdResponse.scheduleDate:type_name -> aryshare.Timestamp
	33,  // 21: aryshare.GetHistoryByPlatformResponse.posts:type_name -> aryshare.PlatformPost
	37,  // 22: aryshare.SendMessageResponse.messages:type_name -> aryshare.MessageItem
	41,  // 23: aryshare.GetMessagesItem.senderDetails:type_name -> aryshare.MessageSenderDetails
	42,  // 24: aryshare.GetMessagesItem.recipientDetails:type_name -> aryshare.MessageRecipientDetails
	40,  // 25: aryshare.GetMessagesItem.attachments:type_name -> aryshare.MessageAttachment
	43,  // 26: aryshare.GetMessagesItem.reactions:type_name -> aryshare.MessageReaction
	45,  // 27: aryshare.ConversationDetail.participant:type_name -> aryshare.ConversationParticipant
	44,  // 28: aryshare.GetMessagesResponse.messages:type_name -> aryshare.GetMessagesItem
	46,  // 29: aryshare.GetMessagesResponse.conversationsDetails:type_name -> aryshare.ConversationDetail
	49,  // 30: aryshare.PostCommentResponse.instagram:type_name -> aryshare.InstagramCommentResponse
	50,  // 31: aryshare.PostCommentResponse.tiktok:type_name -> aryshare.TikTokCommentResponse
	56,  // 32: aryshare.PostCommentResponse.errors:type_name -> aryshare.PlatformError
	51,  // 33: aryshare.PostCommentResponse.bluesky:type_name -> aryshare.BlueskyCommentResponse
	52,  // 34: aryshare.PostCommentResponse.facebook:type_name -> aryshare.FacebookCommentResponse
	53,  // 35: aryshare.PostCommentResponse.linkedin:type_name -> aryshare.LinkedInCommentResponse
	54,  // 36: aryshare.PostCommentResponse.twitter:type_name -> aryshare.TwitterCommentResponse
	55,  // 37: aryshare.PostCommentResponse.youtube:type_name -> aryshare.YouTubeCommentResponse
	59,  // 38: aryshare.InstagramComment.from:type_name -> aryshare.InstagramUser
	61,  // 39: aryshare.InstagramComment.replies:type_name -> aryshare.InstagramComment
	60,  // 40: aryshare.InstagramComment.user:type_name -> aryshare.InstagramUserInfo
	62,  // 41: aryshare.TikTokComment.replies:type_name -> aryshare.TikTokComment
	63,  // 42: aryshare.BlueskyComment.replies:type_name -> aryshare.BlueskyComment
	64,  // 43: aryshare.FacebookParent.from:type_name -> aryshare.FacebookUser
	64,  // 44: aryshare.FacebookComment.from:type_name -> aryshare.FacebookUser
	65,  // 45: aryshare.FacebookComment.parent:type_name -> aryshare.FacebookParent
	66,  // 46: aryshare.FacebookComment.replies:type_name -> aryshare.FacebookComment
	68,  // 47: aryshare.LinkedInComment.from:type_name -> aryshare.LinkedInFrom
	67,  // 48: aryshare.LinkedInComment.media:type_name -> aryshare.LinkedInMedia
	70,  // 49: aryshare.RedditComment.from:type_name -> aryshare.RedditUser
	72,  // 50: aryshare.ThreadsComment.replies:type_name -> aryshare.ThreadsComment
	73,  // 51: aryshare.TwitterReplyTo.publicMetrics:type_name -> aryshare.TwitterPublicMetrics
	73,  // 52: aryshare.TwitterComment.publicMetrics:type_name -> aryshare.TwitterPublicMetrics
	74,  // 53: aryshare.TwitterComment.referencedTweets:type_name -> aryshare.TwitterReferencedTweet
	75,  // 54: aryshare.TwitterComment.replyTo:type_name -> aryshare.TwitterReplyTo
	77,  // 55: aryshare.YouTubeComment.replies:type_name -> aryshare.YouTubeReply
	61,  // 56: aryshare.GetCommentResponse.instagram:type_name -> aryshare.InstagramComment
	62,  // 57: aryshare.GetCommentResponse.tiktok:type_name -> aryshare.TikTokComment
	63,  // 58: aryshare.GetCommentResponse.bluesky:type_name -> aryshare.BlueskyComment
	66,  // 59: aryshare.GetCommentResponse.facebook:type_name -> aryshare.FacebookComment
	69,  // 60: aryshare.GetCommentResponse.linkedin:type_name -> aryshare.LinkedInComment
	71,  // 61: aryshare.GetCommentResponse.reddit:type_name -> aryshare.RedditComment
	72,  // 62: aryshare.GetCommentResponse.threads:type_name -> aryshare.ThreadsComment
	76,  // 63: aryshare.GetCommentResponse.twitter:type_name -> aryshare.TwitterComment
	78,  // 64: aryshare.GetCommentResponse.youtube:type_name -> aryshare.YouTubeComment
	85,  // 65: aryshare.ReplyCommentResponse.instagram:type_name -> aryshare.InstagramReplyResponse
	86,  // 66: aryshare.ReplyCommentResponse.tiktok:type_name -> aryshare.TikTokReplyResponse
	87,  // 67: aryshare.ReplyCommentResponse.bluesky:type_name -> aryshare.BlueskyReplyResponse
	88,  // 68: aryshare.ReplyCommentResponse.facebook:type_name -> aryshare.FacebookReplyResponse
	89,  // 69: aryshare.ReplyCommentResponse.linkedin:type_name -> aryshare.LinkedInReplyResponse
	90,  // 70: aryshare.ReplyCommentResponse.twitter:type_name -> aryshare.TwitterReplyResponse
	91,  // 71: aryshare.ReplyCommentResponse.youtube:type_name -> aryshare.YouTubeReplyResponse
	102, // 72: aryshare.RecommendHashtagsResponse.recommendations:type_name -> aryshare.HashtagRecommendation
	107, // 73: aryshare.SearchHashtagChildren.data:type_name -> aryshare.SearchHashtagChild
	108, // 74: aryshare.SearchHashtagMedia.children:type_name -> aryshare.SearchHashtagChildren
	106, // 75: aryshare.SearchHashtagsResponse.hashtag:type_name -> aryshare.SearchHashtagInfo
	109, // 76: aryshare.SearchHashtagsResponse.searchResults:type_name -> aryshare.SearchHashtagMedia
	5,   // 77: aryshare.Ayrshare.Post:input_type -> aryshare.PostRequest
	9,   // 78: aryshare.Ayrshare.GetPost:input_type -> aryshare.GetPostRequest
	11,  // 79: aryshare.Ayrshare.GetUser:input_type -> aryshare.GetUserRequest
	16,  // 80: aryshare.Ayrshare.CreateProfile:input_type -> aryshare.CreateProfileRequest
	18,  // 81: aryshare.Ayrshare.GetProfiles:input_type -> aryshare.GetProfilesRequest
	23,  // 82: aryshare.Ayrshare.GenerateJWT:input_type -> aryshare.GenerateJWTRequest
	25,  // 83: aryshare.Ayrshare.UnlinkSocialNetwork:input_type -> aryshare.UnlinkSocialNetworkRequest
	29,  // 84: aryshare.Ayrshare.GetHistory:input_type -> aryshare.GetHistoryRequest
	31,  // 85: aryshare.Ayrshare.GetHistoryById:input_type -> aryshare.GetHistoryByIdRequest
	34,  // 86: aryshare.Ayrshare.GetHistoryByPlatform:input_type -> aryshare.GetHistoryByPlatformRequest
	36,  // 87: aryshare.Ayrshare.SendMessage:input_type -> aryshare.SendMessageRequest
	39,  // 88: aryshare.Ayrshare.GetMessages:input_type -> aryshare.GetMessagesRequest
	48,  // 89: aryshare.Ayrshare.PostComment:input_type -> aryshare.PostCommentRequest
	58,  // 90: aryshare.Ayrshare.GetComment:input_type -> aryshare.GetCommentRequest
	80,  // 91: aryshare.Ayrshare.DeleteComment:input_type -> aryshare.DeleteCommentRequest
	84,  // 92: aryshare.Ayrshare.ReplyComment:input_type -> aryshare.ReplyCommentRequest
	93,  // 93: aryshare.Ayrshare.GetPostAnalytics:input_type -> aryshare.GetPostAnalyticsRequest
	94,  // 94: aryshare.Ayrshare.GetPostAnalyticsBySocialID:input_type -> aryshare.GetPostAnalyticsBySocialIDRequest
	96,  // 95: aryshare.Ayrshare.GetSocialAnalytics:input_type -> aryshare.GetSocialAnalyticsRequest
	98,  // 96: aryshare.Ayrshare.AutoHashtags:input_type -> aryshare.AutoHashtagsRequest
	100, // 97: aryshare.Ayrshare.CheckBannedHashtag:input_type -> aryshare.CheckBannedHashtagRequest
	103, // 98: aryshare.Ayrshare.RecommendHashtags:input_type -> aryshare.RecommendHashtagsRequest
	105, // 99: aryshare.Ayrshare.SearchHashtags:input_type -> aryshare.SearchHashtagsRequest
	8,   // 100: aryshare.Ayrshare.Post:output_type -> aryshare.PostResponse
	10,  // 101: aryshare.Ayrshare.GetPost:output_type -> aryshare.GetPostResponse
	15,  // 102: aryshare.Ayrshare.GetUser:output_type -> aryshare.GetUserResponse
	17,  // 103: aryshare.Ayrshare.CreateProfile:output_type -> aryshare.CreateProfileResponse
	21,  // 104: aryshare.Ayrshare.GetProfiles:output_type -> aryshare.GetProfilesResponse
	24,  // 105: aryshare.Ayrshare.GenerateJWT:output_type -> aryshare.GenerateJWTResponse
	26,  // 106: aryshare.Ayrshare.UnlinkSocialNetwork:output_type -> aryshare.UnlinkSocialNetworkResponse
	30,  // 107: aryshare.Ayrshare.GetHistory:output_type -> aryshare.GetHistoryResponse
	32,  // 108: aryshare.Ayrshare.GetHistoryById:output_type -> aryshare.GetHistoryByIdResponse
	35,  // 109: aryshare.Ayrshare.GetHistoryByPlatform:output_type -> aryshare.GetHistoryByPlatformResponse
	38,  // 110: aryshare.Ayrshare.SendMessage:output_type -> aryshare.SendMessageResponse
	47,  // 111: aryshare.Ayrshare.GetMessages:output_type -> aryshare.GetMessagesResponse
	57,  // 112: aryshare.Ayrshare.PostComment:output_type -> aryshare.PostCommentResponse
	79,  // 113: aryshare.Ayrshare.GetComment:output_type -> aryshare.GetCommentResponse
	83,  // 114: aryshare.Ayrshare.DeleteComment:output_type -> aryshare.DeleteCommentResponse
	92,  // 115: aryshare.Ayrshare.ReplyComment:output_type -> aryshare.ReplyCommentResponse
	95,  // 116: aryshare.Ayrshare.GetPostAnalytics:output_type -> aryshare.GetPostAnalyticsResponse
	95,  // 117: aryshare.Ayrshare.GetPostAnalyticsBySocialID:output_type -> aryshare.GetPostAnalyticsResponse
	97,  // 118: aryshare.Ayrshare.GetSocialAnalytics:output_type -> aryshare.GetSocialAnalyticsResponse
	99,  // 119: aryshare.Ayrshare.AutoHashtags:output_type -> aryshare.AutoHashtagsResponse
	101, // 120: aryshare.Ayrshare.CheckBannedHashtag:output_type -> aryshare.CheckBannedHashtagResponse
	104, // 121: aryshare.Ayrshare.RecommendHashtags:output_type -> aryshare.RecommendHashtagsResponse
	110, // 122: aryshare.Ayrshare.SearchHashtags:output_type -> aryshare.SearchHashtagsResponse
	100, // [100:123] is the sub-list for method output_type
	77,  // [77:100] is the sub-list for method input_type
	77,  // [77:77] is the sub-list for extension type_name
	77,  // [77:77] is the sub-list for extension extendee
	0,   // [0:77] 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
	}
	file_pb_ayrshare_proto_msgTypes[18].OneofWrappers = []any{
		(*GetProfilesRequest_ActionLogBool)(nil),
		(*GetProfilesRequest_ActionLogInt)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_pb_ayrshare_proto_rawDesc), len(file_pb_ayrshare_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   111,
			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_goTypes = nil
	file_pb_ayrshare_proto_depIdxs = nil
}
