package roomapi

// roomShareData 是 App 获取房间分享资料的外部 JSON 契约。
// 文案、落地页和深链统一由 gateway 生成，客户端只负责选择平台和调用系统分享能力。
type roomShareData struct {
	RoomID       string               `json:"room_id"`
	RoomShortID  string               `json:"room_short_id,omitempty"`
	Title        string               `json:"title"`
	Description  string               `json:"description"`
	CoverURL     string               `json:"cover_url,omitempty"`
	LandingURL   string               `json:"landing_url"`
	DeepLink     string               `json:"deep_link"`
	ShareText    string               `json:"share_text"`
	InviteCode   string               `json:"invite_code,omitempty"`
	Owner        roomShareOwnerData   `json:"owner"`
	Preview      roomSharePreviewData `json:"preview"`
	ServerTimeMS int64                `json:"server_time_ms"`
}

type roomShareOwnerData struct {
	UserID        string `json:"user_id,omitempty"`
	DisplayUserID string `json:"display_user_id,omitempty"`
	Username      string `json:"username,omitempty"`
	Avatar        string `json:"avatar,omitempty"`
	CountryFlag   string `json:"country_flag,omitempty"`
}

type roomSharePreviewData struct {
	Type        string `json:"type"`
	Title       string `json:"title"`
	Description string `json:"description"`
	ImageURL    string `json:"image_url,omitempty"`
	URL         string `json:"url"`
}
