"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations from dataclasses import dataclass, field import httpx from plex_api_client.models.errors import PlexAPIError from plex_api_client.types import BaseModel import pydantic from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict class MarkPlayedMediaErrorsTypedDict(TypedDict): code: NotRequired[int] message: NotRequired[str] status: NotRequired[int] class MarkPlayedMediaErrors(BaseModel): code: Optional[int] = None message: Optional[str] = None status: Optional[int] = None class MarkPlayedUnauthorizedData(BaseModel): errors: Optional[List[MarkPlayedMediaErrors]] = None raw_response: Annotated[Optional[httpx.Response], pydantic.Field(exclude=True)] = ( None ) r"""Raw HTTP response; suitable for custom response parsing""" @dataclass(frozen=True) class MarkPlayedUnauthorized(PlexAPIError): r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query.""" data: MarkPlayedUnauthorizedData = field(hash=False) def __init__( self, data: MarkPlayedUnauthorizedData, raw_response: httpx.Response, body: Optional[str] = None, ): message = body or raw_response.text super().__init__(message, raw_response, body) object.__setattr__(self, "data", data) class MarkPlayedErrorsTypedDict(TypedDict): code: NotRequired[int] message: NotRequired[str] status: NotRequired[int] class MarkPlayedErrors(BaseModel): code: Optional[int] = None message: Optional[str] = None status: Optional[int] = None class MarkPlayedBadRequestData(BaseModel): errors: Optional[List[MarkPlayedErrors]] = None raw_response: Annotated[Optional[httpx.Response], pydantic.Field(exclude=True)] = ( None ) r"""Raw HTTP response; suitable for custom response parsing""" @dataclass(frozen=True) class MarkPlayedBadRequest(PlexAPIError): r"""Bad Request - A parameter was not specified, or was specified incorrectly.""" data: MarkPlayedBadRequestData = field(hash=False) def __init__( self, data: MarkPlayedBadRequestData, raw_response: httpx.Response, body: Optional[str] = None, ): message = body or raw_response.text super().__init__(message, raw_response, body) object.__setattr__(self, "data", data)