"""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 LogLineLogErrorsTypedDict(TypedDict): code: NotRequired[int] message: NotRequired[str] status: NotRequired[int] class LogLineLogErrors(BaseModel): code: Optional[int] = None message: Optional[str] = None status: Optional[int] = None class LogLineUnauthorizedData(BaseModel): errors: Optional[List[LogLineLogErrors]] = 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 LogLineUnauthorized(PlexAPIError): r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query.""" data: LogLineUnauthorizedData = field(hash=False) def __init__( self, data: LogLineUnauthorizedData, 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 LogLineErrorsTypedDict(TypedDict): code: NotRequired[int] message: NotRequired[str] status: NotRequired[int] class LogLineErrors(BaseModel): code: Optional[int] = None message: Optional[str] = None status: Optional[int] = None class LogLineBadRequestData(BaseModel): errors: Optional[List[LogLineErrors]] = 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 LogLineBadRequest(PlexAPIError): r"""Bad Request - A parameter was not specified, or was specified incorrectly.""" data: LogLineBadRequestData = field(hash=False) def __init__( self, data: LogLineBadRequestData, 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)