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

from __future__ import annotations
from typing import List
from .utils.json_map import JsonMap
from .base import BaseModel
from .alternate_email_item import AlternateEmailItem


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

    :param id_: Unique identifier of this resource.
    :type id_: str
    :param full_name: full_name
    :type full_name: str
    :param email: User's email address.
    :type email: str
    :param alternate_email: List of alternate email addresses., defaults to None
    :type alternate_email: List[AlternateEmailItem], optional
    :param image: image, defaults to None
    :type image: str, optional
    """

    def __init__(
        self,
        id_: str,
        full_name: str,
        email: str,
        alternate_email: List[AlternateEmailItem] = None,
        image: str = None,
    ):
        self.id_ = id_
        self.full_name = full_name
        self.email = email
        if alternate_email is not None:
            self.alternate_email = self._define_list(
                alternate_email, AlternateEmailItem
            )
        if image is not None:
            self.image = image
