1- from typing import Optional , List
1+ from typing import Optional , List , Union
22
3+ from hostingde .domain .requests .check_availability import CheckAvailabilityRequest , CheckAvailabilityResponse
34from hostingde .domain .requests .register_domain import RegisterDomainRequest
45from hostingde .paginator import HostingDePaginator
56from hostingde .hostingde import HostingDeCore
@@ -49,6 +50,21 @@ def jobs_find(
4950
5051 return self ._iter (uri , Job , filter , limit , sort )
5152
53+ def check_domain_name_availability (self , domain_names : Union [str , List [str ]]) -> List [CheckAvailabilityResponse ]:
54+ uri = self .build_uri ('domainStatus' )
55+
56+ if type (domain_names ) == str :
57+ domain_names = [domain_names ]
58+
59+ response = self ._request (
60+ uri ,
61+ CheckAvailabilityRequest (domain_names = domain_names )
62+ )
63+
64+ data = response .json ().get ('responses' , [])
65+
66+ return list (map (lambda x : self ._instance (CheckAvailabilityResponse , x ), data ))
67+
5268 def list_domains (
5369 self ,
5470 limit : Optional [int ] = None ,
@@ -129,4 +145,4 @@ def register_domain(
129145 if not asynchronous and domain .id is not None :
130146 JobWaiter (self , domain .id , 'domainCreate' ).wait ()
131147
132- return domain
148+ return domain
0 commit comments