# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. # typed: true # frozen_string_literal: true module PlexRubySDK module Operations FRIEND_SERVERS = [ 'https://plex.tv/api/v2' ].freeze class Friend < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig # The account email address field :email, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('email') } } # The account full name field :friendly_name, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('friendlyName') } } # If the account is a Plex Home user field :home, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('home') } } # The Plex account ID field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } # If the account is a Plex Home managed user field :restricted, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('restricted') } } field :shared_servers, T::Array[::PlexRubySDK::Operations::SharedServers], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('sharedServers') } } field :shared_sources, T::Array[::PlexRubySDK::Operations::SharedSources], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('sharedSources') } } # Current friend request status field :status, ::PlexRubySDK::Operations::Status, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::Status, false) } } # URL of the account thumbnail field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } # The title of the account (username or friendly name) field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } # The account username field :username, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('username') } } # The account Universally Unique Identifier (UUID) field :uuid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('uuid') } } sig { params(email: ::String, friendly_name: ::String, home: T::Boolean, id: ::Integer, restricted: T::Boolean, shared_servers: T::Array[::PlexRubySDK::Operations::SharedServers], shared_sources: T::Array[::PlexRubySDK::Operations::SharedSources], status: ::PlexRubySDK::Operations::Status, thumb: ::String, title: ::String, username: ::String, uuid: ::String).void } def initialize(email: nil, friendly_name: nil, home: nil, id: nil, restricted: nil, shared_servers: nil, shared_sources: nil, status: nil, thumb: nil, title: nil, username: nil, uuid: nil) @email = email @friendly_name = friendly_name @home = home @id = id @restricted = restricted @shared_servers = shared_servers @shared_sources = shared_sources @status = status @thumb = thumb @title = title @username = username @uuid = uuid end end end end