Skip to content

Commit

Permalink
Removed unnecessary validation in schemas
Browse files Browse the repository at this point in the history
  • Loading branch information
shiningflash committed Dec 9, 2024
1 parent 54f74c6 commit 8935f38
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 32 deletions.
16 changes: 0 additions & 16 deletions src/schemas/contacts.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,22 +21,6 @@ class CreateContactRequest(BaseModel):
json_schema_extra={"example": "+1234567890"}
)

@field_validator("name")
def validate_name(cls, value):
if len(value) < 1 or len(value) > 50:
raise ValueError("Name must be between 1 and 50 characters.")
return value

@field_validator("phone")
def validate_phone(cls, value):
if not value.startswith("+"):
raise ValueError("Phone numbers must start with a '+' prefix.")
if not value[1:].isdigit():
raise ValueError("Phone numbers must contain only digits after the '+' prefix.")
if len(value) < 10 or len(value) > 15:
raise ValueError("Phone numbers must be between 10 and 15 characters.")
return value


class Contact(BaseModel):
"""
Expand Down
8 changes: 0 additions & 8 deletions src/schemas/messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,6 @@ class CreateMessageRequest(BaseModel):
json_schema_extra={"example": "+0987654321"}
)

@field_validator("from_sender")
def validate_phone_number(cls, value):
if not value.startswith("+"):
raise ValueError("Phone numbers must include the '+' prefix.")
if not value[1:].isdigit():
raise ValueError("Phone numbers must contain only digits after the '+' prefix.")
return value


class Message(BaseModel):
"""
Expand Down
13 changes: 5 additions & 8 deletions src/sdk/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,19 @@ def _handle_api_errors(self, response: requests.Response) -> None:
ServerError: For other 500+ server errors.
ApiError: Generic API error for unexpected status codes.
"""
if response.status_code == 204: # No Content
logger.info("No content returned. Operation successful.")
return
elif response.status_code == 401:
if response.status_code == 401:
logger.error(f"Unauthorized: {response.text}")
raise UnauthorizedError("Unauthorized. Check your API key.")
elif response.status_code == 404:
if response.status_code == 404:
logger.error(f"Resource Not Found: {response.text}")
raise NotFoundError("Resource not found.")
elif response.status_code in (502, 503):
if response.status_code in (502, 503):
logger.warning(f"Transient Error: {response.text}")
raise TransientError("Transient server error. Please retry.", status_code=response.status_code)
elif response.status_code >= 500:
if response.status_code >= 500:
logger.error(f"Server Error: {response.text}")
raise ServerError("Server error. Please try again later.")
elif not response.ok:
if not response.ok:
logger.error(f"Unhandled API Error: {response.status_code} - {response.text}")
raise ApiError(f"Unhandled API Error: {response.status_code}: {response.text}")

Expand Down

0 comments on commit 8935f38

Please sign in to comment.