Skip to content

Commit

Permalink
fix: use msgspec instead of Pydantic in Zoho
Browse files Browse the repository at this point in the history
  • Loading branch information
itsnedhir committed Nov 21, 2024
1 parent 85c58bb commit e1edcb1
Showing 1 changed file with 31 additions and 31 deletions.
62 changes: 31 additions & 31 deletions src/hrflow_connectors/v2/connectors/zohorecruit/schemas.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import typing as t
from enum import Enum

from pydantic import BaseModel, Field
from msgspec import Struct, field


class ZohoUser(BaseModel):
class ZohoUser(Struct):
name: str
id: str


class ZohoRecruiter(BaseModel):
class ZohoRecruiter(Struct):
name: str
id: str
email: str
Expand All @@ -21,14 +21,14 @@ class ZohoState(str, Enum):
SAVE = "save"


class Approval(BaseModel):
class Approval(Struct):
delegate: bool
approve: bool
reject: bool
resubmit: bool


class JobOpening(BaseModel):
class JobOpening(Struct):
id: str
Posting_Title: t.Optional[str]
Client_Name: str
Expand All @@ -37,26 +37,26 @@ class JobOpening(BaseModel):
Job_Type: t.Optional[str]
Job_Opening_Status: t.Optional[str]
Job_Opening_ID: t.Optional[str]
currency_symbol: t.Optional[str] = Field(alias="$currency_symbol")
currency_symbol: t.Optional[str] = field(name="$currency_symbol")
Required_Skills: t.Optional[str]
Industry: t.Optional[str]
state: t.Optional[ZohoState] = Field(alias="$state")
process_flow: t.Optional[bool] = Field(alias="$process_flow")
state: t.Optional[ZohoState] = field(name="$state")
process_flow: t.Optional[bool] = field(name="$process_flow")
City: t.Optional[str]
State: t.Optional[str]
Zip_Code: t.Optional[str]
Country: t.Optional[str]
approved: t.Optional[bool] = Field(alias="$approved")
approved: t.Optional[bool] = field(name="$approved")
Created_Time: t.Optional[str]
Modified_Time: t.Optional[str]
Date_Opened: t.Optional[str]
Target_Date: t.Optional[str]
Last_Activity_Time: t.Optional[str]
approval: t.Optional[Approval] = Field(alias="$approval")
approval_state: t.Optional[str] = Field(alias="$approval_state")
approval: t.Optional[Approval] = field(name="$approval")
approval_state: t.Optional[str] = field(name="$approval_state")
Remote_Job: t.Optional[bool]
followed: t.Optional[bool] = Field(alias="$followed")
editable: t.Optional[bool] = Field(alias="$editable")
followed: t.Optional[bool] = field(name="$followed")
editable: t.Optional[bool] = field(name="$editable")
Is_Locked: t.Optional[bool]
Salary: t.Optional[str]
Work_Experience: t.Optional[str]
Expand All @@ -80,12 +80,12 @@ class JobOpening(BaseModel):
Revenue_per_Position: t.Optional[float]


class ZohoDuration(BaseModel):
from_: str = Field(alias="from")
class ZohoDuration(Struct):
from_: str = field(name="from")
to: t.Optional[str]


class Experience_Detail(BaseModel):
class Experience_Detail(Struct):
id: str
Company: str
I_currently_work_here: bool
Expand All @@ -94,7 +94,7 @@ class Experience_Detail(BaseModel):
Occupation_Title: str


class Educational_Detail(BaseModel):
class Educational_Detail(Struct):
id: str
Institute_School: str
Currently_pursuing: bool
Expand All @@ -103,7 +103,7 @@ class Educational_Detail(BaseModel):
Duration: ZohoDuration


class Candidate(BaseModel):
class Candidate(Struct):
id: str
First_Name: t.Optional[str]
Last_Name: str
Expand Down Expand Up @@ -133,20 +133,20 @@ class Candidate(BaseModel):
Last_Mailed_Time: t.Optional[str]
Source: t.Optional[str]
Origin: t.Optional[str]
currency_symbol: t.Optional[str] = Field(alias="$currency_symbol")
whatsapp_available: t.Optional[bool] = Field(alias="$whatsapp_available")
state: t.Optional[ZohoState] = Field(alias="$state")
converted: t.Optional[bool] = Field(alias="$converted")
process_flow: t.Optional[bool] = Field(alias="$process_flow")
approved: t.Optional[bool] = Field(alias="$approved")
approval: t.Optional[str] = Field(alias="$approval")
approval_state: t.Optional[str] = Field(alias="$approval_state")
currency_symbol: t.Optional[str] = field(name="$currency_symbol")
whatsapp_available: t.Optional[bool] = field(name="$whatsapp_available")
state: t.Optional[ZohoState] = field(name="$state")
converted: t.Optional[bool] = field(name="$converted")
process_flow: t.Optional[bool] = field(name="$process_flow")
approved: t.Optional[bool] = field(name="$approved")
approval: t.Optional[str] = field(name="$approval")
approval_state: t.Optional[str] = field(name="$approval_state")
Candidate_Status: t.Optional[str]
Candidate_ID: t.Optional[str]
Candidate_Owner: t.Optional[ZohoUser]
followed: t.Optional[bool] = Field(alias="$followed")
followed: t.Optional[bool] = field(name="$followed")
LinkedIn__s: t.Optional[str]
editable: t.Optional[bool] = Field(alias="$editable")
editable: t.Optional[bool] = field(name="$editable")
Is_Locked: t.Optional[bool]
Is_Unqualified: t.Optional[bool]
Associated_Tags: t.Optional[t.List[str]]
Expand All @@ -156,16 +156,16 @@ class Candidate(BaseModel):
Secondary_Email: t.Optional[str]
Is_Attachment_Present: t.Optional[bool]
Rating: t.Optional[int]
applied_with_linkedin: t.Optional[bool] = Field(alias="$applied_with_linkedin")
applied_with_linkedin: t.Optional[bool] = field(name="$applied_with_linkedin")
No_of_Applications: t.Optional[int]
Website: t.Optional[str]
Twitter: t.Optional[str]
Facebook__s: t.Optional[str]
social_profiles: t.Optional[str] = Field(alias="$social_profiles")
social_profiles: t.Optional[str] = field(name="$social_profiles")
Skype_ID: t.Optional[str]
Candidate_Stage: t.Optional[str]
Fresh_Candidate: t.Optional[bool]
Email_Opt_Out: t.Optional[bool]
converted_detail: t.Optional[t.Dict] = Field(alias="$converted_detail")
converted_detail: t.Optional[t.Dict] = field(name="$converted_detail")
Career_Page_Invite_Status: t.Optional[str]
Associated_any_Social_Profiles: t.Optional[bool]

0 comments on commit e1edcb1

Please sign in to comment.