# Code generated by Lark OpenAPI. from typing import Any, Optional, Union, Dict, List, Set, IO, Callable, Type from lark_oapi.core.construct import init from .composite_talent_basic_info import CompositeTalentBasicInfo from .composite_talent_education_info import CompositeTalentEducationInfo from .composite_talent_career_info import CompositeTalentCareerInfo from .composite_talent_project_info import CompositeTalentProjectInfo from .composite_talent_works_info import CompositeTalentWorksInfo from .composite_talent_award_info import CompositeTalentAwardInfo from .composite_talent_language_info import CompositeTalentLanguageInfo from .composite_talent_sns_info import CompositeTalentSnsInfo from .talent_resume_source import TalentResumeSource from .composite_talent_internship_info import CompositeTalentInternshipInfo from .composite_talent_customized_data import CompositeTalentCustomizedData from .talent_resume_attachment import TalentResumeAttachment from .talent_interview_registration_simple import TalentInterviewRegistrationSimple from .registration_basic_info import RegistrationBasicInfo from .talent_folder import TalentFolder from .talent_tag import TalentTag from .talent_similar import TalentSimilar from .talent_block import TalentBlock from .talent_pool import TalentPool from .talent_note import TalentNote class CompositeTalent(object): _types = { "talent_id": str, "basic_info": CompositeTalentBasicInfo, "education_list": List[CompositeTalentEducationInfo], "career_list": List[CompositeTalentCareerInfo], "project_list": List[CompositeTalentProjectInfo], "works_list": List[CompositeTalentWorksInfo], "award_list": List[CompositeTalentAwardInfo], "language_list": List[CompositeTalentLanguageInfo], "sns_list": List[CompositeTalentSnsInfo], "resume_source_list": List[TalentResumeSource], "internship_list": List[CompositeTalentInternshipInfo], "customized_data_list": List[CompositeTalentCustomizedData], "resume_attachment_id_list": List[str], "resume_attachment_list": List[TalentResumeAttachment], "interview_registration_list": List[TalentInterviewRegistrationSimple], "registration_list": List[RegistrationBasicInfo], "is_onboarded": bool, "is_in_agency_period": bool, "top_degree": int, "talent_pool_id_list": List[str], "talent_folder_ref_list_v2": List[TalentFolder], "tag_list": List[TalentTag], "similar_info_v2": TalentSimilar, "block_info": TalentBlock, "talent_pool_ref_list_v2": List[TalentPool], "note_list_v2": List[TalentNote], } def __init__(self, d=None): self.talent_id: Optional[str] = None self.basic_info: Optional[CompositeTalentBasicInfo] = None self.education_list: Optional[List[CompositeTalentEducationInfo]] = None self.career_list: Optional[List[CompositeTalentCareerInfo]] = None self.project_list: Optional[List[CompositeTalentProjectInfo]] = None self.works_list: Optional[List[CompositeTalentWorksInfo]] = None self.award_list: Optional[List[CompositeTalentAwardInfo]] = None self.language_list: Optional[List[CompositeTalentLanguageInfo]] = None self.sns_list: Optional[List[CompositeTalentSnsInfo]] = None self.resume_source_list: Optional[List[TalentResumeSource]] = None self.internship_list: Optional[List[CompositeTalentInternshipInfo]] = None self.customized_data_list: Optional[List[CompositeTalentCustomizedData]] = None self.resume_attachment_id_list: Optional[List[str]] = None self.resume_attachment_list: Optional[List[TalentResumeAttachment]] = None self.interview_registration_list: Optional[List[TalentInterviewRegistrationSimple]] = None self.registration_list: Optional[List[RegistrationBasicInfo]] = None self.is_onboarded: Optional[bool] = None self.is_in_agency_period: Optional[bool] = None self.top_degree: Optional[int] = None self.talent_pool_id_list: Optional[List[str]] = None self.talent_folder_ref_list_v2: Optional[List[TalentFolder]] = None self.tag_list: Optional[List[TalentTag]] = None self.similar_info_v2: Optional[TalentSimilar] = None self.block_info: Optional[TalentBlock] = None self.talent_pool_ref_list_v2: Optional[List[TalentPool]] = None self.note_list_v2: Optional[List[TalentNote]] = None init(self, d, self._types) @staticmethod def builder() -> "CompositeTalentBuilder": return CompositeTalentBuilder() class CompositeTalentBuilder(object): def __init__(self) -> None: self._composite_talent = CompositeTalent() def talent_id(self, talent_id: str) -> "CompositeTalentBuilder": self._composite_talent.talent_id = talent_id return self def basic_info(self, basic_info: CompositeTalentBasicInfo) -> "CompositeTalentBuilder": self._composite_talent.basic_info = basic_info return self def education_list(self, education_list: List[CompositeTalentEducationInfo]) -> "CompositeTalentBuilder": self._composite_talent.education_list = education_list return self def career_list(self, career_list: List[CompositeTalentCareerInfo]) -> "CompositeTalentBuilder": self._composite_talent.career_list = career_list return self def project_list(self, project_list: List[CompositeTalentProjectInfo]) -> "CompositeTalentBuilder": self._composite_talent.project_list = project_list return self def works_list(self, works_list: List[CompositeTalentWorksInfo]) -> "CompositeTalentBuilder": self._composite_talent.works_list = works_list return self def award_list(self, award_list: List[CompositeTalentAwardInfo]) -> "CompositeTalentBuilder": self._composite_talent.award_list = award_list return self def language_list(self, language_list: List[CompositeTalentLanguageInfo]) -> "CompositeTalentBuilder": self._composite_talent.language_list = language_list return self def sns_list(self, sns_list: List[CompositeTalentSnsInfo]) -> "CompositeTalentBuilder": self._composite_talent.sns_list = sns_list return self def resume_source_list(self, resume_source_list: List[TalentResumeSource]) -> "CompositeTalentBuilder": self._composite_talent.resume_source_list = resume_source_list return self def internship_list(self, internship_list: List[CompositeTalentInternshipInfo]) -> "CompositeTalentBuilder": self._composite_talent.internship_list = internship_list return self def customized_data_list(self, customized_data_list: List[CompositeTalentCustomizedData]) -> "CompositeTalentBuilder": self._composite_talent.customized_data_list = customized_data_list return self def resume_attachment_id_list(self, resume_attachment_id_list: List[str]) -> "CompositeTalentBuilder": self._composite_talent.resume_attachment_id_list = resume_attachment_id_list return self def resume_attachment_list(self, resume_attachment_list: List[TalentResumeAttachment]) -> "CompositeTalentBuilder": self._composite_talent.resume_attachment_list = resume_attachment_list return self def interview_registration_list(self, interview_registration_list: List[ TalentInterviewRegistrationSimple]) -> "CompositeTalentBuilder": self._composite_talent.interview_registration_list = interview_registration_list return self def registration_list(self, registration_list: List[RegistrationBasicInfo]) -> "CompositeTalentBuilder": self._composite_talent.registration_list = registration_list return self def is_onboarded(self, is_onboarded: bool) -> "CompositeTalentBuilder": self._composite_talent.is_onboarded = is_onboarded return self def is_in_agency_period(self, is_in_agency_period: bool) -> "CompositeTalentBuilder": self._composite_talent.is_in_agency_period = is_in_agency_period return self def top_degree(self, top_degree: int) -> "CompositeTalentBuilder": self._composite_talent.top_degree = top_degree return self def talent_pool_id_list(self, talent_pool_id_list: List[str]) -> "CompositeTalentBuilder": self._composite_talent.talent_pool_id_list = talent_pool_id_list return self def talent_folder_ref_list_v2(self, talent_folder_ref_list_v2: List[TalentFolder]) -> "CompositeTalentBuilder": self._composite_talent.talent_folder_ref_list_v2 = talent_folder_ref_list_v2 return self def tag_list(self, tag_list: List[TalentTag]) -> "CompositeTalentBuilder": self._composite_talent.tag_list = tag_list return self def similar_info_v2(self, similar_info_v2: TalentSimilar) -> "CompositeTalentBuilder": self._composite_talent.similar_info_v2 = similar_info_v2 return self def block_info(self, block_info: TalentBlock) -> "CompositeTalentBuilder": self._composite_talent.block_info = block_info return self def talent_pool_ref_list_v2(self, talent_pool_ref_list_v2: List[TalentPool]) -> "CompositeTalentBuilder": self._composite_talent.talent_pool_ref_list_v2 = talent_pool_ref_list_v2 return self def note_list_v2(self, note_list_v2: List[TalentNote]) -> "CompositeTalentBuilder": self._composite_talent.note_list_v2 = note_list_v2 return self def build(self) -> "CompositeTalent": return self._composite_talent