o
    ?Hh                     @  sh   d Z ddlmZ ddlZddlZddlZddlZddlm	Z	m
Z
 ddlmZmZmZ G dd deZdS )z
    Webhook Type Definition

    Webhook event definition of the LINE Messaging API  # noqa: E501

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

    Do not edit the class manually.
    )annotationsN)OptionalUnion)	BaseModelField	StrictStrc                   @  s   e Zd ZU dZedddZded< dgZG dd dZdZ	d	d
ddZ
edddZd ddZd ddZed!ddZdd Zed"ddZdS )#Sourcezj
    the source of the event.
    https://developers.line.biz/en/reference/messaging-api/#source-user
    Nzsource type)descriptionzOptional[StrictStr]typec                   @  s   e Zd ZdZdZdZdS )zSource.ConfigzPydantic configurationTN)__name__
__module____qualname____doc__allow_population_by_field_namevalidate_assignment r   r   a/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/linebot/v3/webhooks/models/source.pyConfig"   s    r   GroupSource
RoomSource
UserSource)grouproomuserobjdictreturnstrc                 C  s   || j  }|r| j|S dS )z9Returns the discriminator value (object type) of the dataN)$_Source__discriminator_property_name&_Source__discriminator_value_class_mapget)clsr   discriminator_valuer   r   r   get_discriminator_value1   s   
zSource.get_discriminator_valuec                 C  s   t | jddS )z:Returns the string representation of the model using aliasT)by_alias)pprintpformatr   selfr   r   r   to_str:   s   zSource.to_strc                 C  s   t |  S )z8Returns the JSON representation of the model using alias)jsondumpsto_dictr'   r   r   r   to_json>   s   zSource.to_jsonjson_str*Union(GroupSource, RoomSource, UserSource)c                 C  s   |  t|S )z/Create an instance of Source from a JSON string)	from_dictr*   loads)r!   r.   r   r   r   	from_jsonB   s   zSource.from_jsonc                 C  s   | j di dd}|S )z>Returns the dictionary representation of the model using aliasT)r$   excludeexclude_none)r   )r(   _dictr   r   r   r,   G   s
   zSource.to_dictc                 C  sT   |  |}|rttjjj|}||S tdt	| d | j
 d t	| j )z(Create an instance of Source from a dictz1Source failed to lookup discriminator value from z. Discriminator property name: z, mapping: )r#   getattrlinebotv3webhooksmodelsr0   
ValueErrorr*   r+   r   r   )r!   r   object_typeklassr   r   r   r0   O   s   


zSource.from_dict)r   r   r   r   )r   r   )r.   r   r   r/   )r   r   r   r/   )r   r   r   r   r   r
   __annotations___Source__propertiesr   r   r   classmethodr#   r)   r-   r2   r,   r0   r   r   r   r   r      s&   
 

r   )r   
__future__r   r%   rer*   linebot.v3.webhooks.modelsr7   typingr   r   pydantic.v1r   r   r   r   r   r   r   r   <module>   s   