1+ """Domains models."""
2+
13from typing import Optional
24from pydantic import Field , field_validator
35
4- from .base import BaseModel as MailerSendBaseModel
6+ from .base import BaseModel
57
68
7- class DomainListQueryParams (MailerSendBaseModel ):
9+ class DomainListQueryParams (BaseModel ):
810 """Model for domain list query parameters with validation."""
911
1012 page : Optional [int ] = Field (default = 1 , ge = 1 )
@@ -14,15 +16,15 @@ class DomainListQueryParams(MailerSendBaseModel):
1416 def to_query_params (self ) -> dict :
1517 """Convert to query parameters for API request."""
1618 params = {"page" : self .page , "limit" : self .limit }
17-
19+
1820 # Convert boolean to lowercase string for API compatibility
1921 if self .verified is not None :
2022 params ["verified" ] = str (self .verified ).lower ()
2123
2224 return {k : v for k , v in params .items () if v is not None }
2325
2426
25- class DomainListRequest (MailerSendBaseModel ):
27+ class DomainListRequest (BaseModel ):
2628 """Request model for listing domains."""
2729
2830 query_params : DomainListQueryParams
@@ -32,7 +34,7 @@ def to_query_params(self) -> dict:
3234 return self .query_params .to_query_params ()
3335
3436
35- class DomainRecipientsQueryParams (MailerSendBaseModel ):
37+ class DomainRecipientsQueryParams (BaseModel ):
3638 """Model for domain recipients query parameters with validation."""
3739
3840 page : Optional [int ] = Field (default = 1 , ge = 1 )
@@ -45,7 +47,7 @@ def to_query_params(self) -> dict:
4547 return {k : v for k , v in params .items () if v is not None }
4648
4749
48- class DomainRecipientsRequest (MailerSendBaseModel ):
50+ class DomainRecipientsRequest (BaseModel ):
4951 """Request model for getting domain recipients."""
5052
5153 domain_id : str # Path parameter
@@ -63,7 +65,7 @@ def to_query_params(self) -> dict:
6365 return self .query_params .to_query_params ()
6466
6567
66- class DomainCreateRequest (MailerSendBaseModel ):
68+ class DomainCreateRequest (BaseModel ):
6769 """Request model for creating a new domain."""
6870
6971 name : str
@@ -100,7 +102,7 @@ def validate_subdomains(cls, v):
100102 return v
101103
102104
103- class DomainDeleteRequest (MailerSendBaseModel ):
105+ class DomainDeleteRequest (BaseModel ):
104106 """Request model for deleting a domain."""
105107
106108 domain_id : str
@@ -113,7 +115,7 @@ def validate_domain_id(cls, v):
113115 return v .strip ()
114116
115117
116- class DomainGetRequest (MailerSendBaseModel ):
118+ class DomainGetRequest (BaseModel ):
117119 """Request model for getting a single domain."""
118120
119121 domain_id : str
@@ -126,7 +128,7 @@ def validate_domain_id(cls, v):
126128 return v .strip ()
127129
128130
129- class DomainSettings (MailerSendBaseModel ):
131+ class DomainSettings (BaseModel ):
130132 """Model for domain settings."""
131133
132134 send_paused : bool = False
@@ -149,7 +151,7 @@ class DomainSettings(MailerSendBaseModel):
149151 ignore_duplicated_recipients : bool = False
150152
151153
152- class DomainUpdateSettingsRequest (MailerSendBaseModel ):
154+ class DomainUpdateSettingsRequest (BaseModel ):
153155 """Request model for updating domain settings."""
154156
155157 domain_id : str
@@ -180,7 +182,7 @@ def validate_custom_tracking_subdomain(cls, v):
180182 return v
181183
182184
183- class DomainDnsRecordsRequest (MailerSendBaseModel ):
185+ class DomainDnsRecordsRequest (BaseModel ):
184186 """Request model for getting domain DNS records."""
185187
186188 domain_id : str
@@ -193,7 +195,7 @@ def validate_domain_id(cls, v):
193195 return v .strip ()
194196
195197
196- class DomainVerificationRequest (MailerSendBaseModel ):
198+ class DomainVerificationRequest (BaseModel ):
197199 """Request model for getting domain verification status."""
198200
199201 domain_id : str
0 commit comments