# coding: utf-8

"""
    Jellyfin API

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: 10.11.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class ItemFields(str, Enum):
    """
    Used to control the data that gets attached to DtoBaseItems.
    """

    """
    allowed enum values
    """
    AIRTIME = 'AirTime'
    CANDELETE = 'CanDelete'
    CANDOWNLOAD = 'CanDownload'
    CHANNELINFO = 'ChannelInfo'
    CHAPTERS = 'Chapters'
    TRICKPLAY = 'Trickplay'
    CHILDCOUNT = 'ChildCount'
    CUMULATIVERUNTIMETICKS = 'CumulativeRunTimeTicks'
    CUSTOMRATING = 'CustomRating'
    DATECREATED = 'DateCreated'
    DATELASTMEDIAADDED = 'DateLastMediaAdded'
    DISPLAYPREFERENCESID = 'DisplayPreferencesId'
    ETAG = 'Etag'
    EXTERNALURLS = 'ExternalUrls'
    GENRES = 'Genres'
    ITEMCOUNTS = 'ItemCounts'
    MEDIASOURCECOUNT = 'MediaSourceCount'
    MEDIASOURCES = 'MediaSources'
    ORIGINALTITLE = 'OriginalTitle'
    OVERVIEW = 'Overview'
    PARENTID = 'ParentId'
    PATH = 'Path'
    PEOPLE = 'People'
    PLAYACCESS = 'PlayAccess'
    PRODUCTIONLOCATIONS = 'ProductionLocations'
    PROVIDERIDS = 'ProviderIds'
    PRIMARYIMAGEASPECTRATIO = 'PrimaryImageAspectRatio'
    RECURSIVEITEMCOUNT = 'RecursiveItemCount'
    SETTINGS = 'Settings'
    SERIESSTUDIO = 'SeriesStudio'
    SORTNAME = 'SortName'
    SPECIALEPISODENUMBERS = 'SpecialEpisodeNumbers'
    STUDIOS = 'Studios'
    TAGLINES = 'Taglines'
    TAGS = 'Tags'
    REMOTETRAILERS = 'RemoteTrailers'
    MEDIASTREAMS = 'MediaStreams'
    SEASONUSERDATA = 'SeasonUserData'
    DATELASTREFRESHED = 'DateLastRefreshed'
    DATELASTSAVED = 'DateLastSaved'
    REFRESHSTATE = 'RefreshState'
    CHANNELIMAGE = 'ChannelImage'
    ENABLEMEDIASOURCEDISPLAY = 'EnableMediaSourceDisplay'
    WIDTH = 'Width'
    HEIGHT = 'Height'
    EXTRAIDS = 'ExtraIds'
    LOCALTRAILERCOUNT = 'LocalTrailerCount'
    ISHD = 'IsHD'
    SPECIALFEATURECOUNT = 'SpecialFeatureCount'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of ItemFields from a JSON string"""
        return cls(json.loads(json_str))


