Skip to content

Commit d89b259

Browse files
authored
fix(domain): set domain field as nullable when listing tasks (#37)
1 parent 2a735dd commit d89b259

File tree

6 files changed

+104
-18
lines changed

6 files changed

+104
-18
lines changed

scaleway-async/scaleway_async/domain/v2beta1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from .types import ListDNSZonesRequestOrderBy
1919
from .types import ListDomainsRequestOrderBy
2020
from .types import ListRenewableDomainsRequestOrderBy
21+
from .types import ListTasksRequestOrderBy
2122
from .types import RawFormat
2223
from .types import RenewableDomainStatus
2324
from .types import SSLCertificateStatus
@@ -132,6 +133,7 @@
132133
"ListDNSZonesRequestOrderBy",
133134
"ListDomainsRequestOrderBy",
134135
"ListRenewableDomainsRequestOrderBy",
136+
"ListTasksRequestOrderBy",
135137
"RawFormat",
136138
"RenewableDomainStatus",
137139
"SSLCertificateStatus",

scaleway-async/scaleway_async/domain/v2beta1/api.py

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@
2222
ListDNSZonesRequestOrderBy,
2323
ListDomainsRequestOrderBy,
2424
ListRenewableDomainsRequestOrderBy,
25+
ListTasksRequestOrderBy,
2526
RawFormat,
27+
TaskStatus,
28+
TaskType,
2629
CheckContactsCompatibilityResponse,
2730
ClearDNSZoneRecordsResponse,
2831
Contact,
@@ -1298,39 +1301,48 @@ class DomainRegistrarV2Beta1API(API):
12981301
async def list_tasks(
12991302
self,
13001303
*,
1301-
domain: str,
13021304
page: Optional[int] = None,
13031305
page_size: Optional[int] = None,
13041306
project_id: Optional[str] = None,
13051307
organization_id: Optional[str] = None,
1308+
domain: Optional[str] = None,
1309+
types: Optional[List[TaskType]] = None,
1310+
statuses: Optional[List[TaskStatus]] = None,
1311+
order_by: ListTasksRequestOrderBy = ListTasksRequestOrderBy.DOMAIN_DESC,
13061312
) -> ListTasksResponse:
13071313
"""
13081314
List all account tasks.
13091315
You can filter the list by domain name.
13101316
13111317
:param page:
13121318
:param page_size:
1313-
:param domain:
13141319
:param project_id:
13151320
:param organization_id:
1321+
:param domain:
1322+
:param types:
1323+
:param statuses:
1324+
:param order_by:
13161325
:return: :class:`ListTasksResponse <ListTasksResponse>`
13171326
13181327
Usage:
13191328
::
13201329
1321-
result = await api.list_tasks(domain="example")
1330+
result = await api.list_tasks()
13221331
"""
13231332

13241333
res = self._request(
13251334
"GET",
13261335
f"/domain/v2beta1/tasks",
13271336
params={
13281337
"domain": domain,
1338+
"order_by": order_by,
13291339
"organization_id": organization_id
13301340
or self.client.default_organization_id,
13311341
"page": page,
13321342
"page_size": page_size or self.client.default_page_size,
13331343
"project_id": project_id or self.client.default_project_id,
1344+
"statuses": statuses,
1345+
"types": types,
13341346
},
13351347
)
13361348

@@ -1340,39 +1352,48 @@ async def list_tasks(
13401352
async def list_tasks_all(
13411353
self,
13421354
*,
1343-
domain: str,
13441355
page: Optional[int] = None,
13451356
page_size: Optional[int] = None,
13461357
project_id: Optional[str] = None,
13471358
organization_id: Optional[str] = None,
1359+
domain: Optional[str] = None,
1360+
types: Optional[List[TaskType]] = None,
1361+
statuses: Optional[List[TaskStatus]] = None,
1362+
order_by: Optional[ListTasksRequestOrderBy] = None,
13481363
) -> List[Task]:
13491364
"""
13501365
List all account tasks.
13511366
You can filter the list by domain name.
13521367
13531368
:param page:
13541369
:param page_size:
1355-
:param domain:
13561370
:param project_id:
13571371
:param organization_id:
1372+
:param domain:
1373+
:param types:
1374+
:param statuses:
1375+
:param order_by:
13581376
:return: :class:`List[ListTasksResponse] <List[ListTasksResponse]>`
13591377
13601378
Usage:
13611379
::
13621380
1363-
result = await api.list_tasks_all(domain="example")
1381+
result = await api.list_tasks_all()
13641382
"""
13651383

13661384
return await fetch_all_pages_async(
13671385
type=ListTasksResponse,
13681386
key="tasks",
13691387
fetcher=self.list_tasks,
13701388
args={
1371-
"domain": domain,
13721389
"page": page,
13731390
"page_size": page_size,
13741391
"project_id": project_id,
13751392
"organization_id": organization_id,
1393+
"domain": domain,
1394+
"types": types,
1395+
"statuses": statuses,
1396+
"order_by": order_by,
13761397
},
13771398
)
13781399

scaleway-async/scaleway_async/domain/v2beta1/types.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,20 @@ def __str__(self) -> str:
246246
return str(self.value)
247247

248248

249+
class ListTasksRequestOrderBy(str, Enum):
250+
DOMAIN_DESC = "domain_desc"
251+
DOMAIN_ASC = "domain_asc"
252+
TYPE_ASC = "type_asc"
253+
TYPE_DESC = "type_desc"
254+
STATUS_ASC = "status_asc"
255+
STATUS_DESC = "status_desc"
256+
UPDATED_AT_ASC = "updated_at_asc"
257+
UPDATED_AT_DESC = "updated_at_desc"
258+
259+
def __str__(self) -> str:
260+
return str(self.value)
261+
262+
249263
class RawFormat(str, Enum):
250264
UNKNOWN_RAW_FORMAT = "unknown_raw_format"
251265
BIND = "bind"
@@ -1703,12 +1717,18 @@ class RegistrarApiListTasksRequest:
17031717

17041718
page_size: Optional[int]
17051719

1706-
domain: str
1707-
17081720
project_id: Optional[str]
17091721

17101722
organization_id: Optional[str]
17111723

1724+
domain: Optional[str]
1725+
1726+
types: Optional[List[TaskType]]
1727+
1728+
statuses: Optional[List[TaskStatus]]
1729+
1730+
order_by: Optional[ListTasksRequestOrderBy]
1731+
17121732

17131733
@dataclass
17141734
class RegistrarApiBuyDomainsRequest:

scaleway/scaleway/domain/v2beta1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from .types import ListDNSZonesRequestOrderBy
1919
from .types import ListDomainsRequestOrderBy
2020
from .types import ListRenewableDomainsRequestOrderBy
21+
from .types import ListTasksRequestOrderBy
2122
from .types import RawFormat
2223
from .types import RenewableDomainStatus
2324
from .types import SSLCertificateStatus
@@ -132,6 +133,7 @@
132133
"ListDNSZonesRequestOrderBy",
133134
"ListDomainsRequestOrderBy",
134135
"ListRenewableDomainsRequestOrderBy",
136+
"ListTasksRequestOrderBy",
135137
"RawFormat",
136138
"RenewableDomainStatus",
137139
"SSLCertificateStatus",

scaleway/scaleway/domain/v2beta1/api.py

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@
2222
ListDNSZonesRequestOrderBy,
2323
ListDomainsRequestOrderBy,
2424
ListRenewableDomainsRequestOrderBy,
25+
ListTasksRequestOrderBy,
2526
RawFormat,
27+
TaskStatus,
28+
TaskType,
2629
CheckContactsCompatibilityResponse,
2730
ClearDNSZoneRecordsResponse,
2831
Contact,
@@ -1296,39 +1299,48 @@ class DomainRegistrarV2Beta1API(API):
12961299
def list_tasks(
12971300
self,
12981301
*,
1299-
domain: str,
13001302
page: Optional[int] = None,
13011303
page_size: Optional[int] = None,
13021304
project_id: Optional[str] = None,
13031305
organization_id: Optional[str] = None,
1306+
domain: Optional[str] = None,
1307+
types: Optional[List[TaskType]] = None,
1308+
statuses: Optional[List[TaskStatus]] = None,
1309+
order_by: ListTasksRequestOrderBy = ListTasksRequestOrderBy.DOMAIN_DESC,
13041310
) -> ListTasksResponse:
13051311
"""
13061312
List all account tasks.
13071313
You can filter the list by domain name.
13081314
13091315
:param page:
13101316
:param page_size:
1311-
:param domain:
13121317
:param project_id:
13131318
:param organization_id:
1319+
:param domain:
1320+
:param types:
1321+
:param statuses:
1322+
:param order_by:
13141323
:return: :class:`ListTasksResponse <ListTasksResponse>`
13151324
13161325
Usage:
13171326
::
13181327
1319-
result = api.list_tasks(domain="example")
1328+
result = api.list_tasks()
13201329
"""
13211330

13221331
res = self._request(
13231332
"GET",
13241333
f"/domain/v2beta1/tasks",
13251334
params={
13261335
"domain": domain,
1336+
"order_by": order_by,
13271337
"organization_id": organization_id
13281338
or self.client.default_organization_id,
13291339
"page": page,
13301340
"page_size": page_size or self.client.default_page_size,
13311341
"project_id": project_id or self.client.default_project_id,
1342+
"statuses": statuses,
1343+
"types": types,
13321344
},
13331345
)
13341346

@@ -1338,39 +1350,48 @@ def list_tasks(
13381350
def list_tasks_all(
13391351
self,
13401352
*,
1341-
domain: str,
13421353
page: Optional[int] = None,
13431354
page_size: Optional[int] = None,
13441355
project_id: Optional[str] = None,
13451356
organization_id: Optional[str] = None,
1357+
domain: Optional[str] = None,
1358+
types: Optional[List[TaskType]] = None,
1359+
statuses: Optional[List[TaskStatus]] = None,
1360+
order_by: Optional[ListTasksRequestOrderBy] = None,
13461361
) -> List[Task]:
13471362
"""
13481363
List all account tasks.
13491364
You can filter the list by domain name.
13501365
13511366
:param page:
13521367
:param page_size:
1353-
:param domain:
13541368
:param project_id:
13551369
:param organization_id:
1370+
:param domain:
1371+
:param types:
1372+
:param statuses:
1373+
:param order_by:
13561374
:return: :class:`List[ListTasksResponse] <List[ListTasksResponse]>`
13571375
13581376
Usage:
13591377
::
13601378
1361-
result = api.list_tasks_all(domain="example")
1379+
result = api.list_tasks_all()
13621380
"""
13631381

13641382
return fetch_all_pages(
13651383
type=ListTasksResponse,
13661384
key="tasks",
13671385
fetcher=self.list_tasks,
13681386
args={
1369-
"domain": domain,
13701387
"page": page,
13711388
"page_size": page_size,
13721389
"project_id": project_id,
13731390
"organization_id": organization_id,
1391+
"domain": domain,
1392+
"types": types,
1393+
"statuses": statuses,
1394+
"order_by": order_by,
13741395
},
13751396
)
13761397

scaleway/scaleway/domain/v2beta1/types.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,20 @@ def __str__(self) -> str:
246246
return str(self.value)
247247

248248

249+
class ListTasksRequestOrderBy(str, Enum):
250+
DOMAIN_DESC = "domain_desc"
251+
DOMAIN_ASC = "domain_asc"
252+
TYPE_ASC = "type_asc"
253+
TYPE_DESC = "type_desc"
254+
STATUS_ASC = "status_asc"
255+
STATUS_DESC = "status_desc"
256+
UPDATED_AT_ASC = "updated_at_asc"
257+
UPDATED_AT_DESC = "updated_at_desc"
258+
259+
def __str__(self) -> str:
260+
return str(self.value)
261+
262+
249263
class RawFormat(str, Enum):
250264
UNKNOWN_RAW_FORMAT = "unknown_raw_format"
251265
BIND = "bind"
@@ -1703,12 +1717,18 @@ class RegistrarApiListTasksRequest:
17031717

17041718
page_size: Optional[int]
17051719

1706-
domain: str
1707-
17081720
project_id: Optional[str]
17091721

17101722
organization_id: Optional[str]
17111723

1724+
domain: Optional[str]
1725+
1726+
types: Optional[List[TaskType]]
1727+
1728+
statuses: Optional[List[TaskStatus]]
1729+
1730+
order_by: Optional[ListTasksRequestOrderBy]
1731+
17121732

17131733
@dataclass
17141734
class RegistrarApiBuyDomainsRequest:

0 commit comments

Comments
 (0)