# This file was generated by liblab | https://liblab.com/

from .utils.json_map import JsonMap
from .base import BaseModel


@JsonMap({"id_": "id"})
class DivisionConference(BaseModel):
    """DivisionConference

    :param id_: id_, defaults to None
    :type id_: float, optional
    :param name: name, defaults to None
    :type name: str, optional
    :param link: link, defaults to None
    :type link: str, optional
    """

    def __init__(self, id_: float = None, name: str = None, link: str = None):
        if id_ is not None:
            self.id_ = id_
        if name is not None:
            self.name = name
        if link is not None:
            self.link = link


@JsonMap({"id_": "id"})
class Division(BaseModel):
    """Division

    :param id_: id_, defaults to None
    :type id_: float, optional
    :param name: name, defaults to None
    :type name: str, optional
    :param link: link, defaults to None
    :type link: str, optional
    :param abbreviation: abbreviation, defaults to None
    :type abbreviation: str, optional
    :param conference: conference, defaults to None
    :type conference: DivisionConference, optional
    :param active: active, defaults to None
    :type active: bool, optional
    """

    def __init__(
        self,
        id_: float = None,
        name: str = None,
        link: str = None,
        abbreviation: str = None,
        conference: DivisionConference = None,
        active: bool = None,
    ):
        if id_ is not None:
            self.id_ = id_
        if name is not None:
            self.name = name
        if link is not None:
            self.link = link
        if abbreviation is not None:
            self.abbreviation = abbreviation
        if conference is not None:
            self.conference = self._define_object(conference, DivisionConference)
        if active is not None:
            self.active = active
