// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. package operations import ( "encoding/json" "fmt" "github.com/LukeHagar/plexgo/internal/utils" "net/http" ) var GetTokenDetailsServerList = []string{ "https://plex.tv/api/v2", } // MailingListStatus - Your current mailing list status (active or unsubscribed) type MailingListStatus string const ( MailingListStatusActive MailingListStatus = "active" MailingListStatusUnsubscribed MailingListStatus = "unsubscribed" ) func (e MailingListStatus) ToPointer() *MailingListStatus { return &e } func (e *MailingListStatus) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err } switch v { case "active": fallthrough case "unsubscribed": *e = MailingListStatus(v) return nil default: return fmt.Errorf("invalid value for MailingListStatus: %v", v) } } // AutoSelectSubtitle - The auto-select subtitle mode (0 = Manually selected, 1 = Shown with foreign audio, 2 = Always enabled) type AutoSelectSubtitle int const ( AutoSelectSubtitleDisable AutoSelectSubtitle = 0 AutoSelectSubtitleEnable AutoSelectSubtitle = 1 ) func (e AutoSelectSubtitle) ToPointer() *AutoSelectSubtitle { return &e } func (e *AutoSelectSubtitle) UnmarshalJSON(data []byte) error { var v int if err := json.Unmarshal(data, &v); err != nil { return err } switch v { case 0: fallthrough case 1: *e = AutoSelectSubtitle(v) return nil default: return fmt.Errorf("invalid value for AutoSelectSubtitle: %v", v) } } // DefaultSubtitleAccessibility - The subtitles for the deaf or hard-of-hearing (SDH) searches mode (0 = Prefer non-SDH subtitles, 1 = Prefer SDH subtitles, 2 = Only show SDH subtitles, 3 = Only show non-SDH subtitles) type DefaultSubtitleAccessibility int const ( DefaultSubtitleAccessibilityDisable DefaultSubtitleAccessibility = 0 DefaultSubtitleAccessibilityEnable DefaultSubtitleAccessibility = 1 ) func (e DefaultSubtitleAccessibility) ToPointer() *DefaultSubtitleAccessibility { return &e } func (e *DefaultSubtitleAccessibility) UnmarshalJSON(data []byte) error { var v int if err := json.Unmarshal(data, &v); err != nil { return err } switch v { case 0: fallthrough case 1: *e = DefaultSubtitleAccessibility(v) return nil default: return fmt.Errorf("invalid value for DefaultSubtitleAccessibility: %v", v) } } // DefaultSubtitleForced - The forced subtitles searches mode (0 = Prefer non-forced subtitles, 1 = Prefer forced subtitles, 2 = Only show forced subtitles, 3 = Only show non-forced subtitles) type DefaultSubtitleForced int const ( DefaultSubtitleForcedDisable DefaultSubtitleForced = 0 DefaultSubtitleForcedEnable DefaultSubtitleForced = 1 ) func (e DefaultSubtitleForced) ToPointer() *DefaultSubtitleForced { return &e } func (e *DefaultSubtitleForced) UnmarshalJSON(data []byte) error { var v int if err := json.Unmarshal(data, &v); err != nil { return err } switch v { case 0: fallthrough case 1: *e = DefaultSubtitleForced(v) return nil default: return fmt.Errorf("invalid value for DefaultSubtitleForced: %v", v) } } // WatchedIndicator - Whether or not media watched indicators are enabled (little orange dot on media) type WatchedIndicator int const ( WatchedIndicatorDisable WatchedIndicator = 0 WatchedIndicatorEnable WatchedIndicator = 1 ) func (e WatchedIndicator) ToPointer() *WatchedIndicator { return &e } func (e *WatchedIndicator) UnmarshalJSON(data []byte) error { var v int if err := json.Unmarshal(data, &v); err != nil { return err } switch v { case 0: fallthrough case 1: *e = WatchedIndicator(v) return nil default: return fmt.Errorf("invalid value for WatchedIndicator: %v", v) } } // MediaReviewsVisibility - Whether or not the account has media reviews visibility enabled type MediaReviewsVisibility int const ( MediaReviewsVisibilityDisable MediaReviewsVisibility = 0 MediaReviewsVisibilityEnable MediaReviewsVisibility = 1 ) func (e MediaReviewsVisibility) ToPointer() *MediaReviewsVisibility { return &e } func (e *MediaReviewsVisibility) UnmarshalJSON(data []byte) error { var v int if err := json.Unmarshal(data, &v); err != nil { return err } switch v { case 0: fallthrough case 1: *e = MediaReviewsVisibility(v) return nil default: return fmt.Errorf("invalid value for MediaReviewsVisibility: %v", v) } } type UserProfile struct { // If the account has automatically select audio and subtitle tracks enabled AutoSelectAudio *bool `default:"true" json:"autoSelectAudio"` // The preferred audio language for the account DefaultAudioLanguage *string `json:"defaultAudioLanguage"` // The preferred subtitle language for the account DefaultSubtitleLanguage *string `json:"defaultSubtitleLanguage"` AutoSelectSubtitle *AutoSelectSubtitle `default:"0" json:"autoSelectSubtitle"` DefaultSubtitleAccessibility *DefaultSubtitleAccessibility `default:"0" json:"defaultSubtitleAccessibility"` DefaultSubtitleForced *DefaultSubtitleForced `default:"0" json:"defaultSubtitleForced"` WatchedIndicator *WatchedIndicator `default:"0" json:"watchedIndicator"` MediaReviewsVisibility *MediaReviewsVisibility `default:"0" json:"mediaReviewsVisibility"` } func (u UserProfile) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(u, "", false) } func (u *UserProfile) UnmarshalJSON(data []byte) error { if err := utils.UnmarshalJSON(data, &u, "", false, false); err != nil { return err } return nil } func (o *UserProfile) GetAutoSelectAudio() *bool { if o == nil { return nil } return o.AutoSelectAudio } func (o *UserProfile) GetDefaultAudioLanguage() *string { if o == nil { return nil } return o.DefaultAudioLanguage } func (o *UserProfile) GetDefaultSubtitleLanguage() *string { if o == nil { return nil } return o.DefaultSubtitleLanguage } func (o *UserProfile) GetAutoSelectSubtitle() *AutoSelectSubtitle { if o == nil { return nil } return o.AutoSelectSubtitle } func (o *UserProfile) GetDefaultSubtitleAccessibility() *DefaultSubtitleAccessibility { if o == nil { return nil } return o.DefaultSubtitleAccessibility } func (o *UserProfile) GetDefaultSubtitleForced() *DefaultSubtitleForced { if o == nil { return nil } return o.DefaultSubtitleForced } func (o *UserProfile) GetWatchedIndicator() *WatchedIndicator { if o == nil { return nil } return o.WatchedIndicator } func (o *UserProfile) GetMediaReviewsVisibility() *MediaReviewsVisibility { if o == nil { return nil } return o.MediaReviewsVisibility } type GetTokenDetailsStatus string const ( GetTokenDetailsStatusOnline GetTokenDetailsStatus = "online" GetTokenDetailsStatusOffline GetTokenDetailsStatus = "offline" ) func (e GetTokenDetailsStatus) ToPointer() *GetTokenDetailsStatus { return &e } func (e *GetTokenDetailsStatus) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err } switch v { case "online": fallthrough case "offline": *e = GetTokenDetailsStatus(v) return nil default: return fmt.Errorf("invalid value for GetTokenDetailsStatus: %v", v) } } type Services struct { Identifier string `json:"identifier"` Endpoint string `json:"endpoint"` Token *string `json:"token"` Secret *string `json:"secret"` Status GetTokenDetailsStatus `json:"status"` } func (o *Services) GetIdentifier() string { if o == nil { return "" } return o.Identifier } func (o *Services) GetEndpoint() string { if o == nil { return "" } return o.Endpoint } func (o *Services) GetToken() *string { if o == nil { return nil } return o.Token } func (o *Services) GetSecret() *string { if o == nil { return nil } return o.Secret } func (o *Services) GetStatus() GetTokenDetailsStatus { if o == nil { return GetTokenDetailsStatus("") } return o.Status } // GetTokenDetailsAuthenticationStatus - String representation of subscriptionActive type GetTokenDetailsAuthenticationStatus string const ( GetTokenDetailsAuthenticationStatusInactive GetTokenDetailsAuthenticationStatus = "Inactive" GetTokenDetailsAuthenticationStatusActive GetTokenDetailsAuthenticationStatus = "Active" ) func (e GetTokenDetailsAuthenticationStatus) ToPointer() *GetTokenDetailsAuthenticationStatus { return &e } func (e *GetTokenDetailsAuthenticationStatus) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err } switch v { case "Inactive": fallthrough case "Active": *e = GetTokenDetailsAuthenticationStatus(v) return nil default: return fmt.Errorf("invalid value for GetTokenDetailsAuthenticationStatus: %v", v) } } // Subscription - If the account’s Plex Pass subscription is active type Subscription struct { // List of features allowed on your Plex Pass subscription Features []string `json:"features,omitempty"` // If the account's Plex Pass subscription is active Active *bool `json:"active,omitempty"` // Date the account subscribed to Plex Pass SubscribedAt *string `json:"subscribedAt,omitempty"` // String representation of subscriptionActive Status *GetTokenDetailsAuthenticationStatus `json:"status,omitempty"` // Payment service used for your Plex Pass subscription PaymentService *string `json:"paymentService,omitempty"` // Name of Plex Pass subscription plan Plan *string `json:"plan,omitempty"` } func (o *Subscription) GetFeatures() []string { if o == nil { return nil } return o.Features } func (o *Subscription) GetActive() *bool { if o == nil { return nil } return o.Active } func (o *Subscription) GetSubscribedAt() *string { if o == nil { return nil } return o.SubscribedAt } func (o *Subscription) GetStatus() *GetTokenDetailsAuthenticationStatus { if o == nil { return nil } return o.Status } func (o *Subscription) GetPaymentService() *string { if o == nil { return nil } return o.PaymentService } func (o *Subscription) GetPlan() *string { if o == nil { return nil } return o.Plan } // GetTokenDetailsAuthenticationResponseStatus - String representation of subscriptionActive type GetTokenDetailsAuthenticationResponseStatus string const ( GetTokenDetailsAuthenticationResponseStatusInactive GetTokenDetailsAuthenticationResponseStatus = "Inactive" GetTokenDetailsAuthenticationResponseStatusActive GetTokenDetailsAuthenticationResponseStatus = "Active" ) func (e GetTokenDetailsAuthenticationResponseStatus) ToPointer() *GetTokenDetailsAuthenticationResponseStatus { return &e } func (e *GetTokenDetailsAuthenticationResponseStatus) UnmarshalJSON(data []byte) error { var v string if err := json.Unmarshal(data, &v); err != nil { return err } switch v { case "Inactive": fallthrough case "Active": *e = GetTokenDetailsAuthenticationResponseStatus(v) return nil default: return fmt.Errorf("invalid value for GetTokenDetailsAuthenticationResponseStatus: %v", v) } } type GetTokenDetailsSubscription struct { // List of features allowed on your Plex Pass subscription Features []string `json:"features,omitempty"` // If the account's Plex Pass subscription is active Active *bool `json:"active,omitempty"` // Date the account subscribed to Plex Pass SubscribedAt *string `json:"subscribedAt,omitempty"` // String representation of subscriptionActive Status *GetTokenDetailsAuthenticationResponseStatus `json:"status,omitempty"` // Payment service used for your Plex Pass subscription PaymentService *string `json:"paymentService,omitempty"` // Name of Plex Pass subscription plan Plan *string `json:"plan,omitempty"` } func (o *GetTokenDetailsSubscription) GetFeatures() []string { if o == nil { return nil } return o.Features } func (o *GetTokenDetailsSubscription) GetActive() *bool { if o == nil { return nil } return o.Active } func (o *GetTokenDetailsSubscription) GetSubscribedAt() *string { if o == nil { return nil } return o.SubscribedAt } func (o *GetTokenDetailsSubscription) GetStatus() *GetTokenDetailsAuthenticationResponseStatus { if o == nil { return nil } return o.Status } func (o *GetTokenDetailsSubscription) GetPaymentService() *string { if o == nil { return nil } return o.PaymentService } func (o *GetTokenDetailsSubscription) GetPlan() *string { if o == nil { return nil } return o.Plan } // GetTokenDetailsUserPlexAccount - Logged in user details type GetTokenDetailsUserPlexAccount struct { // Unknown AdsConsent *bool `json:"adsConsent"` AdsConsentReminderAt *int64 `json:"adsConsentReminderAt"` AdsConsentSetAt *int64 `json:"adsConsentSetAt"` // Unknown Anonymous *bool `default:"false" json:"anonymous"` // The account token AuthToken string `json:"authToken"` // If the two-factor authentication backup codes have been created BackupCodesCreated *bool `default:"false" json:"backupCodesCreated"` // If the account has been confirmed Confirmed *bool `default:"false" json:"confirmed"` // The account country Country string `json:"country"` // The account email address Email string `json:"email"` // If login with email only is enabled EmailOnlyAuth *bool `default:"false" json:"emailOnlyAuth"` // If experimental features are enabled ExperimentalFeatures *bool `default:"false" json:"experimentalFeatures"` // Your account full name FriendlyName string `json:"friendlyName"` // List of devices your allowed to use with this account Entitlements []string `json:"entitlements"` // If the account is a Plex Home guest user Guest *bool `default:"false" json:"guest"` // If the account has a password HasPassword *bool `default:"true" json:"hasPassword"` // If the account is a Plex Home user Home *bool `default:"false" json:"home"` // If the account is the Plex Home admin HomeAdmin *bool `default:"false" json:"homeAdmin"` // The number of accounts in the Plex Home HomeSize int `json:"homeSize"` // The Plex account ID ID int `json:"id"` // Unix epoch datetime in seconds JoinedAt int64 `json:"joinedAt"` // The account locale Locale *string `json:"locale"` // If you are subscribed to the Plex newsletter MailingListActive *bool `default:"false" json:"mailingListActive"` // Your current mailing list status (active or unsubscribed) MailingListStatus MailingListStatus `json:"mailingListStatus"` // The maximum number of accounts allowed in the Plex Home MaxHomeSize int `json:"maxHomeSize"` // [Might be removed] The hashed Plex Home PIN // // Deprecated: This will be removed in a future release, please migrate away from it as soon as possible. Pin *string `json:"pin,omitempty"` Profile UserProfile `json:"profile"` // If the account has a Plex Home PIN enabled Protected *bool `default:"false" json:"protected"` // Unix epoch datetime in seconds RememberExpiresAt int64 `json:"rememberExpiresAt"` // If the account is a Plex Home managed user Restricted *bool `default:"false" json:"restricted"` // [Might be removed] List of account roles. Plexpass membership listed here Roles []string `json:"roles,omitempty"` // Unknown ScrobbleTypes string `json:"scrobbleTypes"` Services []Services `json:"services"` // If the account’s Plex Pass subscription is active Subscription Subscription `json:"subscription"` // Description of the Plex Pass subscription SubscriptionDescription *string `json:"subscriptionDescription"` Subscriptions []GetTokenDetailsSubscription `json:"subscriptions"` // URL of the account thumbnail Thumb string `json:"thumb"` // The title of the account (username or friendly name) Title string `json:"title"` // If two-factor authentication is enabled TwoFactorEnabled *bool `default:"false" json:"twoFactorEnabled"` // The account username Username string `json:"username"` // The account UUID UUID string `json:"uuid"` AttributionPartner *string `json:"attributionPartner"` } func (g GetTokenDetailsUserPlexAccount) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(g, "", false) } func (g *GetTokenDetailsUserPlexAccount) UnmarshalJSON(data []byte) error { if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { return err } return nil } func (o *GetTokenDetailsUserPlexAccount) GetAdsConsent() *bool { if o == nil { return nil } return o.AdsConsent } func (o *GetTokenDetailsUserPlexAccount) GetAdsConsentReminderAt() *int64 { if o == nil { return nil } return o.AdsConsentReminderAt } func (o *GetTokenDetailsUserPlexAccount) GetAdsConsentSetAt() *int64 { if o == nil { return nil } return o.AdsConsentSetAt } func (o *GetTokenDetailsUserPlexAccount) GetAnonymous() *bool { if o == nil { return nil } return o.Anonymous } func (o *GetTokenDetailsUserPlexAccount) GetAuthToken() string { if o == nil { return "" } return o.AuthToken } func (o *GetTokenDetailsUserPlexAccount) GetBackupCodesCreated() *bool { if o == nil { return nil } return o.BackupCodesCreated } func (o *GetTokenDetailsUserPlexAccount) GetConfirmed() *bool { if o == nil { return nil } return o.Confirmed } func (o *GetTokenDetailsUserPlexAccount) GetCountry() string { if o == nil { return "" } return o.Country } func (o *GetTokenDetailsUserPlexAccount) GetEmail() string { if o == nil { return "" } return o.Email } func (o *GetTokenDetailsUserPlexAccount) GetEmailOnlyAuth() *bool { if o == nil { return nil } return o.EmailOnlyAuth } func (o *GetTokenDetailsUserPlexAccount) GetExperimentalFeatures() *bool { if o == nil { return nil } return o.ExperimentalFeatures } func (o *GetTokenDetailsUserPlexAccount) GetFriendlyName() string { if o == nil { return "" } return o.FriendlyName } func (o *GetTokenDetailsUserPlexAccount) GetEntitlements() []string { if o == nil { return []string{} } return o.Entitlements } func (o *GetTokenDetailsUserPlexAccount) GetGuest() *bool { if o == nil { return nil } return o.Guest } func (o *GetTokenDetailsUserPlexAccount) GetHasPassword() *bool { if o == nil { return nil } return o.HasPassword } func (o *GetTokenDetailsUserPlexAccount) GetHome() *bool { if o == nil { return nil } return o.Home } func (o *GetTokenDetailsUserPlexAccount) GetHomeAdmin() *bool { if o == nil { return nil } return o.HomeAdmin } func (o *GetTokenDetailsUserPlexAccount) GetHomeSize() int { if o == nil { return 0 } return o.HomeSize } func (o *GetTokenDetailsUserPlexAccount) GetID() int { if o == nil { return 0 } return o.ID } func (o *GetTokenDetailsUserPlexAccount) GetJoinedAt() int64 { if o == nil { return 0 } return o.JoinedAt } func (o *GetTokenDetailsUserPlexAccount) GetLocale() *string { if o == nil { return nil } return o.Locale } func (o *GetTokenDetailsUserPlexAccount) GetMailingListActive() *bool { if o == nil { return nil } return o.MailingListActive } func (o *GetTokenDetailsUserPlexAccount) GetMailingListStatus() MailingListStatus { if o == nil { return MailingListStatus("") } return o.MailingListStatus } func (o *GetTokenDetailsUserPlexAccount) GetMaxHomeSize() int { if o == nil { return 0 } return o.MaxHomeSize } func (o *GetTokenDetailsUserPlexAccount) GetPin() *string { if o == nil { return nil } return o.Pin } func (o *GetTokenDetailsUserPlexAccount) GetProfile() UserProfile { if o == nil { return UserProfile{} } return o.Profile } func (o *GetTokenDetailsUserPlexAccount) GetProtected() *bool { if o == nil { return nil } return o.Protected } func (o *GetTokenDetailsUserPlexAccount) GetRememberExpiresAt() int64 { if o == nil { return 0 } return o.RememberExpiresAt } func (o *GetTokenDetailsUserPlexAccount) GetRestricted() *bool { if o == nil { return nil } return o.Restricted } func (o *GetTokenDetailsUserPlexAccount) GetRoles() []string { if o == nil { return nil } return o.Roles } func (o *GetTokenDetailsUserPlexAccount) GetScrobbleTypes() string { if o == nil { return "" } return o.ScrobbleTypes } func (o *GetTokenDetailsUserPlexAccount) GetServices() []Services { if o == nil { return []Services{} } return o.Services } func (o *GetTokenDetailsUserPlexAccount) GetSubscription() Subscription { if o == nil { return Subscription{} } return o.Subscription } func (o *GetTokenDetailsUserPlexAccount) GetSubscriptionDescription() *string { if o == nil { return nil } return o.SubscriptionDescription } func (o *GetTokenDetailsUserPlexAccount) GetSubscriptions() []GetTokenDetailsSubscription { if o == nil { return []GetTokenDetailsSubscription{} } return o.Subscriptions } func (o *GetTokenDetailsUserPlexAccount) GetThumb() string { if o == nil { return "" } return o.Thumb } func (o *GetTokenDetailsUserPlexAccount) GetTitle() string { if o == nil { return "" } return o.Title } func (o *GetTokenDetailsUserPlexAccount) GetTwoFactorEnabled() *bool { if o == nil { return nil } return o.TwoFactorEnabled } func (o *GetTokenDetailsUserPlexAccount) GetUsername() string { if o == nil { return "" } return o.Username } func (o *GetTokenDetailsUserPlexAccount) GetUUID() string { if o == nil { return "" } return o.UUID } func (o *GetTokenDetailsUserPlexAccount) GetAttributionPartner() *string { if o == nil { return nil } return o.AttributionPartner } type GetTokenDetailsResponse struct { // HTTP response content type for this operation ContentType string // HTTP response status code for this operation StatusCode int // Raw HTTP response; suitable for custom response parsing RawResponse *http.Response // Logged in user details UserPlexAccount *GetTokenDetailsUserPlexAccount } func (o *GetTokenDetailsResponse) GetContentType() string { if o == nil { return "" } return o.ContentType } func (o *GetTokenDetailsResponse) GetStatusCode() int { if o == nil { return 0 } return o.StatusCode } func (o *GetTokenDetailsResponse) GetRawResponse() *http.Response { if o == nil { return nil } return o.RawResponse } func (o *GetTokenDetailsResponse) GetUserPlexAccount() *GetTokenDetailsUserPlexAccount { if o == nil { return nil } return o.UserPlexAccount }