python3-core-api-client 1.2__py3-none-any.whl → 2.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. cyberfusion/CoreApiClient/connector.py +1 -0
  2. cyberfusion/CoreApiClient/http.py +30 -1
  3. cyberfusion/CoreApiClient/models.py +1642 -4140
  4. cyberfusion/CoreApiClient/resources/basic_authentication_realms.py +56 -47
  5. cyberfusion/CoreApiClient/resources/borg_archives.py +81 -82
  6. cyberfusion/CoreApiClient/resources/borg_repositories.py +76 -77
  7. cyberfusion/CoreApiClient/resources/certificate_managers.py +63 -55
  8. cyberfusion/CoreApiClient/resources/certificates.py +34 -33
  9. cyberfusion/CoreApiClient/resources/clusters.py +1486 -153
  10. cyberfusion/CoreApiClient/resources/cmses.py +157 -156
  11. cyberfusion/CoreApiClient/resources/crons.py +41 -41
  12. cyberfusion/CoreApiClient/resources/custom_config_snippets.py +55 -47
  13. cyberfusion/CoreApiClient/resources/custom_configs.py +44 -44
  14. cyberfusion/CoreApiClient/resources/customers.py +53 -54
  15. cyberfusion/CoreApiClient/resources/daemons.py +54 -55
  16. cyberfusion/CoreApiClient/resources/database_user_grants.py +33 -53
  17. cyberfusion/CoreApiClient/resources/database_users.py +45 -45
  18. cyberfusion/CoreApiClient/resources/databases.py +80 -81
  19. cyberfusion/CoreApiClient/resources/domain_routers.py +23 -23
  20. cyberfusion/CoreApiClient/resources/firewall_groups.py +44 -44
  21. cyberfusion/CoreApiClient/resources/firewall_rules.py +36 -36
  22. cyberfusion/CoreApiClient/resources/fpm_pools.py +61 -61
  23. cyberfusion/CoreApiClient/resources/ftp_users.py +51 -49
  24. cyberfusion/CoreApiClient/resources/haproxy_listens.py +36 -36
  25. cyberfusion/CoreApiClient/resources/haproxy_listens_to_nodes.py +45 -39
  26. cyberfusion/CoreApiClient/resources/health.py +6 -5
  27. cyberfusion/CoreApiClient/resources/hosts_entries.py +33 -33
  28. cyberfusion/CoreApiClient/resources/htpasswd_files.py +36 -36
  29. cyberfusion/CoreApiClient/resources/htpasswd_users.py +44 -44
  30. cyberfusion/CoreApiClient/resources/login.py +15 -14
  31. cyberfusion/CoreApiClient/resources/logs.py +59 -58
  32. cyberfusion/CoreApiClient/resources/mail_accounts.py +60 -59
  33. cyberfusion/CoreApiClient/resources/mail_aliases.py +41 -41
  34. cyberfusion/CoreApiClient/resources/mail_domains.py +41 -41
  35. cyberfusion/CoreApiClient/resources/mail_hostnames.py +44 -44
  36. cyberfusion/CoreApiClient/resources/malwares.py +14 -38
  37. cyberfusion/CoreApiClient/resources/mariadb_encryption_keys.py +37 -31
  38. cyberfusion/CoreApiClient/resources/node_add_ons.py +39 -40
  39. cyberfusion/CoreApiClient/resources/nodes.py +60 -61
  40. cyberfusion/CoreApiClient/resources/passenger_apps.py +54 -54
  41. cyberfusion/CoreApiClient/resources/redis_instances.py +46 -46
  42. cyberfusion/CoreApiClient/resources/root_ssh_keys.py +41 -41
  43. cyberfusion/CoreApiClient/resources/security_txt_policies.py +56 -48
  44. cyberfusion/CoreApiClient/resources/sites.py +15 -15
  45. cyberfusion/CoreApiClient/resources/ssh_keys.py +41 -41
  46. cyberfusion/CoreApiClient/resources/task_collections.py +20 -20
  47. cyberfusion/CoreApiClient/resources/tombstones.py +15 -15
  48. cyberfusion/CoreApiClient/resources/unix_users.py +68 -69
  49. cyberfusion/CoreApiClient/resources/url_redirects.py +42 -42
  50. cyberfusion/CoreApiClient/resources/virtual_hosts.py +66 -66
  51. {python3_core_api_client-1.2.dist-info → python3_core_api_client-2.1.0.dist-info}/METADATA +44 -11
  52. python3_core_api_client-2.1.0.dist-info/RECORD +59 -0
  53. python3_core_api_client-1.2.dist-info/RECORD +0 -59
  54. {python3_core_api_client-1.2.dist-info → python3_core_api_client-2.1.0.dist-info}/WHEEL +0 -0
  55. {python3_core_api_client-1.2.dist-info → python3_core_api_client-2.1.0.dist-info}/top_level.txt +0 -0
@@ -2,22 +2,23 @@ from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
6
 
6
7
 
7
8
  class MailAccounts(Resource):
8
9
  def create_mail_account(
9
10
  self,
10
11
  request: models.MailAccountCreateRequest,
11
- ) -> models.MailAccountResource:
12
- return models.MailAccountResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/mail-accounts",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.MailAccountResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/mail-accounts",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
19
18
  )
20
19
 
20
+ return DtoResponse.from_response(local_response, models.MailAccountResource)
21
+
21
22
  def list_mail_accounts(
22
23
  self,
23
24
  *,
@@ -25,81 +26,81 @@ class MailAccounts(Resource):
25
26
  limit: Optional[int] = None,
26
27
  filter_: Optional[List[str]] = None,
27
28
  sort: Optional[List[str]] = None,
28
- ) -> list[models.MailAccountResource]:
29
- return [
30
- models.MailAccountResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/mail-accounts",
34
- data=None,
35
- query_parameters={
36
- "skip": skip,
37
- "limit": limit,
38
- "filter": filter_,
39
- "sort": sort,
40
- },
41
- ).json
42
- ]
29
+ ) -> DtoResponse[list[models.MailAccountResource]]:
30
+ local_response = self.api_connector.send_or_fail(
31
+ "GET",
32
+ "/api/v1/mail-accounts",
33
+ data=None,
34
+ query_parameters={
35
+ "skip": skip,
36
+ "limit": limit,
37
+ "filter": filter_,
38
+ "sort": sort,
39
+ },
40
+ )
41
+
42
+ return DtoResponse.from_response(local_response, models.MailAccountResource)
43
43
 
44
44
  def read_mail_account(
45
45
  self,
46
46
  *,
47
47
  id_: int,
48
- ) -> models.MailAccountResource:
49
- return models.MailAccountResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET", f"/api/v1/mail-accounts/{id_}", data=None, query_parameters={}
52
- ).json
48
+ ) -> DtoResponse[models.MailAccountResource]:
49
+ local_response = self.api_connector.send_or_fail(
50
+ "GET", f"/api/v1/mail-accounts/{id_}", data=None, query_parameters={}
53
51
  )
54
52
 
53
+ return DtoResponse.from_response(local_response, models.MailAccountResource)
54
+
55
55
  def update_mail_account(
56
56
  self,
57
57
  request: models.MailAccountUpdateRequest,
58
58
  *,
59
59
  id_: int,
60
- ) -> models.MailAccountResource:
61
- return models.MailAccountResource.parse_obj(
62
- self.api_connector.send_or_fail(
63
- "PATCH",
64
- f"/api/v1/mail-accounts/{id_}",
65
- data=request.dict(exclude_unset=True),
66
- query_parameters={},
67
- ).json
60
+ ) -> DtoResponse[models.MailAccountResource]:
61
+ local_response = self.api_connector.send_or_fail(
62
+ "PATCH",
63
+ f"/api/v1/mail-accounts/{id_}",
64
+ data=request.dict(exclude_unset=True),
65
+ query_parameters={},
68
66
  )
69
67
 
68
+ return DtoResponse.from_response(local_response, models.MailAccountResource)
69
+
70
70
  def delete_mail_account(
71
71
  self,
72
72
  *,
73
73
  id_: int,
74
74
  delete_on_cluster: Optional[bool] = None,
75
- ) -> models.DetailMessage:
76
- return models.DetailMessage.parse_obj(
77
- self.api_connector.send_or_fail(
78
- "DELETE",
79
- f"/api/v1/mail-accounts/{id_}",
80
- data=None,
81
- query_parameters={
82
- "delete_on_cluster": delete_on_cluster,
83
- },
84
- ).json
75
+ ) -> DtoResponse[models.DetailMessage]:
76
+ local_response = self.api_connector.send_or_fail(
77
+ "DELETE",
78
+ f"/api/v1/mail-accounts/{id_}",
79
+ data=None,
80
+ query_parameters={
81
+ "delete_on_cluster": delete_on_cluster,
82
+ },
85
83
  )
86
84
 
85
+ return DtoResponse.from_response(local_response, models.DetailMessage)
86
+
87
87
  def list_mail_account_usages(
88
88
  self,
89
89
  *,
90
90
  mail_account_id: int,
91
91
  timestamp: str,
92
92
  time_unit: Optional[models.MailAccountUsageResource] = None,
93
- ) -> list[models.MailAccountUsageResource]:
94
- return [
95
- models.MailAccountUsageResource.parse_obj(model)
96
- for model in self.api_connector.send_or_fail(
97
- "GET",
98
- f"/api/v1/mail-accounts/usages/{mail_account_id}",
99
- data=None,
100
- query_parameters={
101
- "timestamp": timestamp,
102
- "time_unit": time_unit,
103
- },
104
- ).json
105
- ]
93
+ ) -> DtoResponse[list[models.MailAccountUsageResource]]:
94
+ local_response = self.api_connector.send_or_fail(
95
+ "GET",
96
+ f"/api/v1/mail-accounts/usages/{mail_account_id}",
97
+ data=None,
98
+ query_parameters={
99
+ "timestamp": timestamp,
100
+ "time_unit": time_unit,
101
+ },
102
+ )
103
+
104
+ return DtoResponse.from_response(
105
+ local_response, models.MailAccountUsageResource
106
+ )
@@ -2,22 +2,23 @@ from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
6
 
6
7
 
7
8
  class MailAliases(Resource):
8
9
  def create_mail_alias(
9
10
  self,
10
11
  request: models.MailAliasCreateRequest,
11
- ) -> models.MailAliasResource:
12
- return models.MailAliasResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/mail-aliases",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.MailAliasResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/mail-aliases",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
19
18
  )
20
19
 
20
+ return DtoResponse.from_response(local_response, models.MailAliasResource)
21
+
21
22
  def list_mail_aliases(
22
23
  self,
23
24
  *,
@@ -25,55 +26,54 @@ class MailAliases(Resource):
25
26
  limit: Optional[int] = None,
26
27
  filter_: Optional[List[str]] = None,
27
28
  sort: Optional[List[str]] = None,
28
- ) -> list[models.MailAliasResource]:
29
- return [
30
- models.MailAliasResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/mail-aliases",
34
- data=None,
35
- query_parameters={
36
- "skip": skip,
37
- "limit": limit,
38
- "filter": filter_,
39
- "sort": sort,
40
- },
41
- ).json
42
- ]
29
+ ) -> DtoResponse[list[models.MailAliasResource]]:
30
+ local_response = self.api_connector.send_or_fail(
31
+ "GET",
32
+ "/api/v1/mail-aliases",
33
+ data=None,
34
+ query_parameters={
35
+ "skip": skip,
36
+ "limit": limit,
37
+ "filter": filter_,
38
+ "sort": sort,
39
+ },
40
+ )
41
+
42
+ return DtoResponse.from_response(local_response, models.MailAliasResource)
43
43
 
44
44
  def read_mail_alias(
45
45
  self,
46
46
  *,
47
47
  id_: int,
48
- ) -> models.MailAliasResource:
49
- return models.MailAliasResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET", f"/api/v1/mail-aliases/{id_}", data=None, query_parameters={}
52
- ).json
48
+ ) -> DtoResponse[models.MailAliasResource]:
49
+ local_response = self.api_connector.send_or_fail(
50
+ "GET", f"/api/v1/mail-aliases/{id_}", data=None, query_parameters={}
53
51
  )
54
52
 
53
+ return DtoResponse.from_response(local_response, models.MailAliasResource)
54
+
55
55
  def update_mail_alias(
56
56
  self,
57
57
  request: models.MailAliasUpdateRequest,
58
58
  *,
59
59
  id_: int,
60
- ) -> models.MailAliasResource:
61
- return models.MailAliasResource.parse_obj(
62
- self.api_connector.send_or_fail(
63
- "PATCH",
64
- f"/api/v1/mail-aliases/{id_}",
65
- data=request.dict(exclude_unset=True),
66
- query_parameters={},
67
- ).json
60
+ ) -> DtoResponse[models.MailAliasResource]:
61
+ local_response = self.api_connector.send_or_fail(
62
+ "PATCH",
63
+ f"/api/v1/mail-aliases/{id_}",
64
+ data=request.dict(exclude_unset=True),
65
+ query_parameters={},
68
66
  )
69
67
 
68
+ return DtoResponse.from_response(local_response, models.MailAliasResource)
69
+
70
70
  def delete_mail_alias(
71
71
  self,
72
72
  *,
73
73
  id_: int,
74
- ) -> models.DetailMessage:
75
- return models.DetailMessage.parse_obj(
76
- self.api_connector.send_or_fail(
77
- "DELETE", f"/api/v1/mail-aliases/{id_}", data=None, query_parameters={}
78
- ).json
74
+ ) -> DtoResponse[models.DetailMessage]:
75
+ local_response = self.api_connector.send_or_fail(
76
+ "DELETE", f"/api/v1/mail-aliases/{id_}", data=None, query_parameters={}
79
77
  )
78
+
79
+ return DtoResponse.from_response(local_response, models.DetailMessage)
@@ -2,22 +2,23 @@ from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
6
 
6
7
 
7
8
  class MailDomains(Resource):
8
9
  def create_mail_domain(
9
10
  self,
10
11
  request: models.MailDomainCreateRequest,
11
- ) -> models.MailDomainResource:
12
- return models.MailDomainResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/mail-domains",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.MailDomainResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/mail-domains",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
19
18
  )
20
19
 
20
+ return DtoResponse.from_response(local_response, models.MailDomainResource)
21
+
21
22
  def list_mail_domains(
22
23
  self,
23
24
  *,
@@ -25,55 +26,54 @@ class MailDomains(Resource):
25
26
  limit: Optional[int] = None,
26
27
  filter_: Optional[List[str]] = None,
27
28
  sort: Optional[List[str]] = None,
28
- ) -> list[models.MailDomainResource]:
29
- return [
30
- models.MailDomainResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/mail-domains",
34
- data=None,
35
- query_parameters={
36
- "skip": skip,
37
- "limit": limit,
38
- "filter": filter_,
39
- "sort": sort,
40
- },
41
- ).json
42
- ]
29
+ ) -> DtoResponse[list[models.MailDomainResource]]:
30
+ local_response = self.api_connector.send_or_fail(
31
+ "GET",
32
+ "/api/v1/mail-domains",
33
+ data=None,
34
+ query_parameters={
35
+ "skip": skip,
36
+ "limit": limit,
37
+ "filter": filter_,
38
+ "sort": sort,
39
+ },
40
+ )
41
+
42
+ return DtoResponse.from_response(local_response, models.MailDomainResource)
43
43
 
44
44
  def read_mail_domain(
45
45
  self,
46
46
  *,
47
47
  id_: int,
48
- ) -> models.MailDomainResource:
49
- return models.MailDomainResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET", f"/api/v1/mail-domains/{id_}", data=None, query_parameters={}
52
- ).json
48
+ ) -> DtoResponse[models.MailDomainResource]:
49
+ local_response = self.api_connector.send_or_fail(
50
+ "GET", f"/api/v1/mail-domains/{id_}", data=None, query_parameters={}
53
51
  )
54
52
 
53
+ return DtoResponse.from_response(local_response, models.MailDomainResource)
54
+
55
55
  def update_mail_domain(
56
56
  self,
57
57
  request: models.MailDomainUpdateRequest,
58
58
  *,
59
59
  id_: int,
60
- ) -> models.MailDomainResource:
61
- return models.MailDomainResource.parse_obj(
62
- self.api_connector.send_or_fail(
63
- "PATCH",
64
- f"/api/v1/mail-domains/{id_}",
65
- data=request.dict(exclude_unset=True),
66
- query_parameters={},
67
- ).json
60
+ ) -> DtoResponse[models.MailDomainResource]:
61
+ local_response = self.api_connector.send_or_fail(
62
+ "PATCH",
63
+ f"/api/v1/mail-domains/{id_}",
64
+ data=request.dict(exclude_unset=True),
65
+ query_parameters={},
68
66
  )
69
67
 
68
+ return DtoResponse.from_response(local_response, models.MailDomainResource)
69
+
70
70
  def delete_mail_domain(
71
71
  self,
72
72
  *,
73
73
  id_: int,
74
- ) -> models.DetailMessage:
75
- return models.DetailMessage.parse_obj(
76
- self.api_connector.send_or_fail(
77
- "DELETE", f"/api/v1/mail-domains/{id_}", data=None, query_parameters={}
78
- ).json
74
+ ) -> DtoResponse[models.DetailMessage]:
75
+ local_response = self.api_connector.send_or_fail(
76
+ "DELETE", f"/api/v1/mail-domains/{id_}", data=None, query_parameters={}
79
77
  )
78
+
79
+ return DtoResponse.from_response(local_response, models.DetailMessage)
@@ -2,22 +2,23 @@ from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
4
  from cyberfusion.CoreApiClient.interfaces import Resource
5
+ from cyberfusion.CoreApiClient.http import DtoResponse
5
6
 
6
7
 
7
8
  class MailHostnames(Resource):
8
9
  def create_mail_hostname(
9
10
  self,
10
11
  request: models.MailHostnameCreateRequest,
11
- ) -> models.MailHostnameResource:
12
- return models.MailHostnameResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/mail-hostnames",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.MailHostnameResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/mail-hostnames",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
19
18
  )
20
19
 
20
+ return DtoResponse.from_response(local_response, models.MailHostnameResource)
21
+
21
22
  def list_mail_hostnames(
22
23
  self,
23
24
  *,
@@ -25,58 +26,57 @@ class MailHostnames(Resource):
25
26
  limit: Optional[int] = None,
26
27
  filter_: Optional[List[str]] = None,
27
28
  sort: Optional[List[str]] = None,
28
- ) -> list[models.MailHostnameResource]:
29
- return [
30
- models.MailHostnameResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/mail-hostnames",
34
- data=None,
35
- query_parameters={
36
- "skip": skip,
37
- "limit": limit,
38
- "filter": filter_,
39
- "sort": sort,
40
- },
41
- ).json
42
- ]
29
+ ) -> DtoResponse[list[models.MailHostnameResource]]:
30
+ local_response = self.api_connector.send_or_fail(
31
+ "GET",
32
+ "/api/v1/mail-hostnames",
33
+ data=None,
34
+ query_parameters={
35
+ "skip": skip,
36
+ "limit": limit,
37
+ "filter": filter_,
38
+ "sort": sort,
39
+ },
40
+ )
41
+
42
+ return DtoResponse.from_response(local_response, models.MailHostnameResource)
43
43
 
44
44
  def read_mail_hostname(
45
45
  self,
46
46
  *,
47
47
  id_: int,
48
- ) -> models.MailHostnameResource:
49
- return models.MailHostnameResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET", f"/api/v1/mail-hostnames/{id_}", data=None, query_parameters={}
52
- ).json
48
+ ) -> DtoResponse[models.MailHostnameResource]:
49
+ local_response = self.api_connector.send_or_fail(
50
+ "GET", f"/api/v1/mail-hostnames/{id_}", data=None, query_parameters={}
53
51
  )
54
52
 
53
+ return DtoResponse.from_response(local_response, models.MailHostnameResource)
54
+
55
55
  def update_mail_hostname(
56
56
  self,
57
57
  request: models.MailHostnameUpdateRequest,
58
58
  *,
59
59
  id_: int,
60
- ) -> models.MailHostnameResource:
61
- return models.MailHostnameResource.parse_obj(
62
- self.api_connector.send_or_fail(
63
- "PATCH",
64
- f"/api/v1/mail-hostnames/{id_}",
65
- data=request.dict(exclude_unset=True),
66
- query_parameters={},
67
- ).json
60
+ ) -> DtoResponse[models.MailHostnameResource]:
61
+ local_response = self.api_connector.send_or_fail(
62
+ "PATCH",
63
+ f"/api/v1/mail-hostnames/{id_}",
64
+ data=request.dict(exclude_unset=True),
65
+ query_parameters={},
68
66
  )
69
67
 
68
+ return DtoResponse.from_response(local_response, models.MailHostnameResource)
69
+
70
70
  def delete_mail_hostname(
71
71
  self,
72
72
  *,
73
73
  id_: int,
74
- ) -> models.DetailMessage:
75
- return models.DetailMessage.parse_obj(
76
- self.api_connector.send_or_fail(
77
- "DELETE",
78
- f"/api/v1/mail-hostnames/{id_}",
79
- data=None,
80
- query_parameters={},
81
- ).json
74
+ ) -> DtoResponse[models.DetailMessage]:
75
+ local_response = self.api_connector.send_or_fail(
76
+ "DELETE",
77
+ f"/api/v1/mail-hostnames/{id_}",
78
+ data=None,
79
+ query_parameters={},
82
80
  )
81
+
82
+ return DtoResponse.from_response(local_response, models.DetailMessage)
@@ -1,6 +1,7 @@
1
1
  from cyberfusion.CoreApiClient import models
2
2
  from typing import Optional, List
3
3
 
4
+ from cyberfusion.CoreApiClient.http import DtoResponse
4
5
  from cyberfusion.CoreApiClient.interfaces import Resource
5
6
 
6
7
 
@@ -12,42 +13,17 @@ class Malwares(Resource):
12
13
  limit: Optional[int] = None,
13
14
  filter_: Optional[List[str]] = None,
14
15
  sort: Optional[List[str]] = None,
15
- ) -> list[models.MalwareResource]:
16
- return [
17
- models.MalwareResource.parse_obj(model)
18
- for model in self.api_connector.send_or_fail(
19
- "GET",
20
- "/api/v1/malwares",
21
- data=None,
22
- query_parameters={
23
- "skip": skip,
24
- "limit": limit,
25
- "filter": filter_,
26
- "sort": sort,
27
- },
28
- ).json
29
- ]
16
+ ) -> DtoResponse[list[models.MalwareResource]]:
17
+ local_response = self.api_connector.send_or_fail(
18
+ "GET",
19
+ "/api/v1/malwares",
20
+ data=None,
21
+ query_parameters={
22
+ "skip": skip,
23
+ "limit": limit,
24
+ "filter": filter_,
25
+ "sort": sort,
26
+ },
27
+ )
30
28
 
31
- def list_malwares_for_unix_users(
32
- self,
33
- *,
34
- unix_user_id: int,
35
- skip: Optional[int] = None,
36
- limit: Optional[int] = None,
37
- filter_: Optional[List[str]] = None,
38
- sort: Optional[List[str]] = None,
39
- ) -> list[models.MalwareResource]:
40
- return [
41
- models.MalwareResource.parse_obj(model)
42
- for model in self.api_connector.send_or_fail(
43
- "GET",
44
- f"/api/v1/malwares/{unix_user_id}",
45
- data=None,
46
- query_parameters={
47
- "skip": skip,
48
- "limit": limit,
49
- "filter": filter_,
50
- "sort": sort,
51
- },
52
- ).json
53
- ]
29
+ return DtoResponse.from_response(local_response, models.MalwareResource)