@@ -67,15 +67,26 @@ def validate_phone(cls, phone_number_str: str | None) -> str | None:
6767 region = "US"
6868 try :
6969 phone_number_str = phone_number_str .strip ()
70+ parsed_number = phonenumbers .parse (phone_number_str , region )
71+ if phonenumbers .is_valid_number (parsed_number ):
72+ formatted_number = phonenumbers .format_number (
73+ parsed_number , phonenumbers .PhoneNumberFormat .E164
74+ )
75+ return formatted_number
76+
7077 # this is a major hack to deal with the phone numbers entered into
7178 # NM_Aquifer without an area code
72- for p in (phone_number_str , f"505{ phone_number_str } " ):
73- parsed_number = phonenumbers .parse (p , region )
74- if phonenumbers .is_valid_number (parsed_number ):
75- formatted_number = phonenumbers .format_number (
76- parsed_number , phonenumbers .PhoneNumberFormat .E164
77- )
78- return formatted_number
79+ # for p in (
80+ # phone_number_str,
81+ # f"505{phone_number_str}",
82+ # f"575{phone_number_str}",
83+ # ):
84+ # parsed_number = phonenumbers.parse(p, region)
85+ # if phonenumbers.is_valid_number(parsed_number):
86+ # formatted_number = phonenumbers.format_number(
87+ # parsed_number, phonenumbers.PhoneNumberFormat.E164
88+ # )
89+ # return formatted_number
7990 else :
8091 raise ValueError (f"Invalid phone number. { phone_number_str } " )
8192 except NumberParseException as e :
@@ -89,7 +100,6 @@ class CreateEmail(BaseCreateModel, ValidateEmail):
89100 """
90101
91102 contact_id : int | None = None # set to None for when made via POST /contact
92- email : str
93103 email_type : str = "Primary" # Default to 'Primary'
94104
95105
@@ -99,8 +109,8 @@ class CreatePhone(BaseCreateModel, ValidatePhone):
99109 """
100110
101111 contact_id : int | None = None # set to None for when made via POST /contact
102- phone_number : str
103112 phone_type : str = "Primary" # Default to 'Primary'
113+ nma_phone_number : str | None = None
104114
105115
106116class CreateAddress (BaseCreateModel ):
@@ -160,8 +170,9 @@ class PhoneResponse(BaseItemResponse):
160170 Response schema for phone details.
161171 """
162172
163- phone_number : str
173+ phone_number : str | None = None
164174 phone_type : str # e.g., 'mobile', 'landline', etc.
175+ nma_phone_number : str | None = None
165176
166177
167178class EmailResponse (BaseItemResponse ):
0 commit comments