Skip to content

Contact

faststream.specification.asyncapi.v2_6_0.schema.contact.Contact #

Bases: BaseModel

A class to represent a contact.

ATTRIBUTE DESCRIPTION
name

name of the contact (str)

url

URL of the contact (Optional[AnyHttpUrl])

email

email of the contact (Optional[EmailStr])

name instance-attribute #

name

url class-attribute instance-attribute #

url = None

email class-attribute instance-attribute #

email = None

model_config class-attribute instance-attribute #

model_config = {'extra': 'allow'}

Config #

extra class-attribute instance-attribute #

extra = 'allow'

from_spec classmethod #

from_spec(contact: None) -> None
from_spec(contact: Contact) -> Self
from_spec(contact: ContactDict) -> Self
from_spec(contact: dict[str, Any]) -> dict[str, Any]
from_spec(contact)
Source code in faststream/specification/asyncapi/v2_6_0/schema/contact.py
@classmethod
def from_spec(
    cls,
    contact: SpecContact | ContactDict | dict[str, Any] | None,
) -> Self | dict[str, Any] | None:
    if contact is None:
        return None

    if isinstance(contact, SpecContact):
        return cls(
            name=contact.name,
            url=contact.url,
            email=contact.email,
        )

    contact = cast("dict[str, Any]", contact)
    contact_data, custom_data = filter_by_dict(ContactDict, contact)

    if custom_data:
        return contact

    return cls(**contact_data)