# 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 .combined_job_object_value_map import CombinedJobObjectValueMap from .job_manager import JobManager class CombinedJob(object): _types = { "id": str, "code": str, "experience": int, "expiry_time": int, "customized_data_list": List[CombinedJobObjectValueMap], "min_level_id": str, "min_salary": int, "title": str, "job_managers": JobManager, "job_process_id": str, "process_type": int, "subject_id": str, "job_function_id": str, "department_id": str, "head_count": int, "is_never_expired": bool, "max_salary": int, "requirement": str, "address_id": str, "description": str, "highlight_list": List[str], "job_type_id": str, "max_level_id": str, "recruitment_type_id": str, "required_degree": int, "job_category_id": str, "address_id_list": List[str], "job_attribute": int, "expiry_timestamp": str, "interview_registration_schema_id": str, "onboard_registration_schema_id": str, "target_major_id_list": List[str], "portal_website_apply_form_schema_id": str, } def __init__(self, d=None): self.id: Optional[str] = None self.code: Optional[str] = None self.experience: Optional[int] = None self.expiry_time: Optional[int] = None self.customized_data_list: Optional[List[CombinedJobObjectValueMap]] = None self.min_level_id: Optional[str] = None self.min_salary: Optional[int] = None self.title: Optional[str] = None self.job_managers: Optional[JobManager] = None self.job_process_id: Optional[str] = None self.process_type: Optional[int] = None self.subject_id: Optional[str] = None self.job_function_id: Optional[str] = None self.department_id: Optional[str] = None self.head_count: Optional[int] = None self.is_never_expired: Optional[bool] = None self.max_salary: Optional[int] = None self.requirement: Optional[str] = None self.address_id: Optional[str] = None self.description: Optional[str] = None self.highlight_list: Optional[List[str]] = None self.job_type_id: Optional[str] = None self.max_level_id: Optional[str] = None self.recruitment_type_id: Optional[str] = None self.required_degree: Optional[int] = None self.job_category_id: Optional[str] = None self.address_id_list: Optional[List[str]] = None self.job_attribute: Optional[int] = None self.expiry_timestamp: Optional[str] = None self.interview_registration_schema_id: Optional[str] = None self.onboard_registration_schema_id: Optional[str] = None self.target_major_id_list: Optional[List[str]] = None self.portal_website_apply_form_schema_id: Optional[str] = None init(self, d, self._types) @staticmethod def builder() -> "CombinedJobBuilder": return CombinedJobBuilder() class CombinedJobBuilder(object): def __init__(self) -> None: self._combined_job = CombinedJob() def id(self, id: str) -> "CombinedJobBuilder": self._combined_job.id = id return self def code(self, code: str) -> "CombinedJobBuilder": self._combined_job.code = code return self def experience(self, experience: int) -> "CombinedJobBuilder": self._combined_job.experience = experience return self def expiry_time(self, expiry_time: int) -> "CombinedJobBuilder": self._combined_job.expiry_time = expiry_time return self def customized_data_list(self, customized_data_list: List[CombinedJobObjectValueMap]) -> "CombinedJobBuilder": self._combined_job.customized_data_list = customized_data_list return self def min_level_id(self, min_level_id: str) -> "CombinedJobBuilder": self._combined_job.min_level_id = min_level_id return self def min_salary(self, min_salary: int) -> "CombinedJobBuilder": self._combined_job.min_salary = min_salary return self def title(self, title: str) -> "CombinedJobBuilder": self._combined_job.title = title return self def job_managers(self, job_managers: JobManager) -> "CombinedJobBuilder": self._combined_job.job_managers = job_managers return self def job_process_id(self, job_process_id: str) -> "CombinedJobBuilder": self._combined_job.job_process_id = job_process_id return self def process_type(self, process_type: int) -> "CombinedJobBuilder": self._combined_job.process_type = process_type return self def subject_id(self, subject_id: str) -> "CombinedJobBuilder": self._combined_job.subject_id = subject_id return self def job_function_id(self, job_function_id: str) -> "CombinedJobBuilder": self._combined_job.job_function_id = job_function_id return self def department_id(self, department_id: str) -> "CombinedJobBuilder": self._combined_job.department_id = department_id return self def head_count(self, head_count: int) -> "CombinedJobBuilder": self._combined_job.head_count = head_count return self def is_never_expired(self, is_never_expired: bool) -> "CombinedJobBuilder": self._combined_job.is_never_expired = is_never_expired return self def max_salary(self, max_salary: int) -> "CombinedJobBuilder": self._combined_job.max_salary = max_salary return self def requirement(self, requirement: str) -> "CombinedJobBuilder": self._combined_job.requirement = requirement return self def address_id(self, address_id: str) -> "CombinedJobBuilder": self._combined_job.address_id = address_id return self def description(self, description: str) -> "CombinedJobBuilder": self._combined_job.description = description return self def highlight_list(self, highlight_list: List[str]) -> "CombinedJobBuilder": self._combined_job.highlight_list = highlight_list return self def job_type_id(self, job_type_id: str) -> "CombinedJobBuilder": self._combined_job.job_type_id = job_type_id return self def max_level_id(self, max_level_id: str) -> "CombinedJobBuilder": self._combined_job.max_level_id = max_level_id return self def recruitment_type_id(self, recruitment_type_id: str) -> "CombinedJobBuilder": self._combined_job.recruitment_type_id = recruitment_type_id return self def required_degree(self, required_degree: int) -> "CombinedJobBuilder": self._combined_job.required_degree = required_degree return self def job_category_id(self, job_category_id: str) -> "CombinedJobBuilder": self._combined_job.job_category_id = job_category_id return self def address_id_list(self, address_id_list: List[str]) -> "CombinedJobBuilder": self._combined_job.address_id_list = address_id_list return self def job_attribute(self, job_attribute: int) -> "CombinedJobBuilder": self._combined_job.job_attribute = job_attribute return self def expiry_timestamp(self, expiry_timestamp: str) -> "CombinedJobBuilder": self._combined_job.expiry_timestamp = expiry_timestamp return self def interview_registration_schema_id(self, interview_registration_schema_id: str) -> "CombinedJobBuilder": self._combined_job.interview_registration_schema_id = interview_registration_schema_id return self def onboard_registration_schema_id(self, onboard_registration_schema_id: str) -> "CombinedJobBuilder": self._combined_job.onboard_registration_schema_id = onboard_registration_schema_id return self def target_major_id_list(self, target_major_id_list: List[str]) -> "CombinedJobBuilder": self._combined_job.target_major_id_list = target_major_id_list return self def portal_website_apply_form_schema_id(self, portal_website_apply_form_schema_id: str) -> "CombinedJobBuilder": self._combined_job.portal_website_apply_form_schema_id = portal_website_apply_form_schema_id return self def build(self) -> "CombinedJob": return self._combined_job