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
@@ -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
 
@@ -8,14 +9,16 @@ class BasicAuthenticationRealms(Resource):
8
9
  def create_basic_authentication_realm(
9
10
  self,
10
11
  request: models.BasicAuthenticationRealmCreateRequest,
11
- ) -> models.BasicAuthenticationRealmResource:
12
- return models.BasicAuthenticationRealmResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/basic-authentication-realms",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.BasicAuthenticationRealmResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/basic-authentication-realms",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
18
+ )
19
+
20
+ return DtoResponse.from_response(
21
+ local_response, models.BasicAuthenticationRealmResource
19
22
  )
20
23
 
21
24
  def list_basic_authentication_realms(
@@ -25,34 +28,38 @@ class BasicAuthenticationRealms(Resource):
25
28
  limit: Optional[int] = None,
26
29
  filter_: Optional[List[str]] = None,
27
30
  sort: Optional[List[str]] = None,
28
- ) -> list[models.BasicAuthenticationRealmResource]:
29
- return [
30
- models.BasicAuthenticationRealmResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/basic-authentication-realms",
34
- data=None,
35
- query_parameters={
36
- "skip": skip,
37
- "limit": limit,
38
- "filter": filter_,
39
- "sort": sort,
40
- },
41
- ).json
42
- ]
31
+ ) -> DtoResponse[list[models.BasicAuthenticationRealmResource]]:
32
+ local_response = self.api_connector.send_or_fail(
33
+ "GET",
34
+ "/api/v1/basic-authentication-realms",
35
+ data=None,
36
+ query_parameters={
37
+ "skip": skip,
38
+ "limit": limit,
39
+ "filter": filter_,
40
+ "sort": sort,
41
+ },
42
+ )
43
+
44
+ return DtoResponse.from_response(
45
+ local_response, models.BasicAuthenticationRealmResource
46
+ )
43
47
 
44
48
  def read_basic_authentication_realm(
45
49
  self,
46
50
  *,
47
51
  id_: int,
48
- ) -> models.BasicAuthenticationRealmResource:
49
- return models.BasicAuthenticationRealmResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET",
52
- f"/api/v1/basic-authentication-realms/{id_}",
53
- data=None,
54
- query_parameters={},
55
- ).json
52
+ ) -> DtoResponse[models.BasicAuthenticationRealmResource]:
53
+ local_response = self.api_connector.send_or_fail(
54
+ "GET",
55
+ f"/api/v1/basic-authentication-realms/{id_}",
56
+ data=None,
57
+ query_parameters={},
58
+ )
59
+
60
+ return DtoResponse.from_response(
61
+ local_response,
62
+ models.BasicAuthenticationRealmResource,
56
63
  )
57
64
 
58
65
  def update_basic_authentication_realm(
@@ -60,26 +67,28 @@ class BasicAuthenticationRealms(Resource):
60
67
  request: models.BasicAuthenticationRealmUpdateRequest,
61
68
  *,
62
69
  id_: int,
63
- ) -> models.BasicAuthenticationRealmResource:
64
- return models.BasicAuthenticationRealmResource.parse_obj(
65
- self.api_connector.send_or_fail(
66
- "PATCH",
67
- f"/api/v1/basic-authentication-realms/{id_}",
68
- data=request.dict(exclude_unset=True),
69
- query_parameters={},
70
- ).json
70
+ ) -> DtoResponse[models.BasicAuthenticationRealmResource]:
71
+ local_response = self.api_connector.send_or_fail(
72
+ "PATCH",
73
+ f"/api/v1/basic-authentication-realms/{id_}",
74
+ data=request.dict(exclude_unset=True),
75
+ query_parameters={},
76
+ )
77
+
78
+ return DtoResponse.from_response(
79
+ local_response, models.BasicAuthenticationRealmResource
71
80
  )
72
81
 
73
82
  def delete_basic_authentication_realm(
74
83
  self,
75
84
  *,
76
85
  id_: int,
77
- ) -> models.DetailMessage:
78
- return models.DetailMessage.parse_obj(
79
- self.api_connector.send_or_fail(
80
- "DELETE",
81
- f"/api/v1/basic-authentication-realms/{id_}",
82
- data=None,
83
- query_parameters={},
84
- ).json
86
+ ) -> DtoResponse[models.DetailMessage]:
87
+ local_response = self.api_connector.send_or_fail(
88
+ "DELETE",
89
+ f"/api/v1/basic-authentication-realms/{id_}",
90
+ data=None,
91
+ query_parameters={},
85
92
  )
93
+
94
+ 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
 
@@ -10,35 +11,35 @@ class BorgArchives(Resource):
10
11
  request: models.BorgArchiveCreateDatabaseRequest,
11
12
  *,
12
13
  callback_url: Optional[str] = None,
13
- ) -> models.TaskCollectionResource:
14
- return models.TaskCollectionResource.parse_obj(
15
- self.api_connector.send_or_fail(
16
- "POST",
17
- "/api/v1/borg-archives/database",
18
- data=request.dict(exclude_unset=True),
19
- query_parameters={
20
- "callback_url": callback_url,
21
- },
22
- ).json
14
+ ) -> DtoResponse[models.TaskCollectionResource]:
15
+ local_response = self.api_connector.send_or_fail(
16
+ "POST",
17
+ "/api/v1/borg-archives/database",
18
+ data=request.dict(exclude_unset=True),
19
+ query_parameters={
20
+ "callback_url": callback_url,
21
+ },
23
22
  )
24
23
 
24
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
25
+
25
26
  def create_borg_archive_for_unix_user(
26
27
  self,
27
28
  request: models.BorgArchiveCreateUNIXUserRequest,
28
29
  *,
29
30
  callback_url: Optional[str] = None,
30
- ) -> models.TaskCollectionResource:
31
- return models.TaskCollectionResource.parse_obj(
32
- self.api_connector.send_or_fail(
33
- "POST",
34
- "/api/v1/borg-archives/unix-user",
35
- data=request.dict(exclude_unset=True),
36
- query_parameters={
37
- "callback_url": callback_url,
38
- },
39
- ).json
31
+ ) -> DtoResponse[models.TaskCollectionResource]:
32
+ local_response = self.api_connector.send_or_fail(
33
+ "POST",
34
+ "/api/v1/borg-archives/unix-user",
35
+ data=request.dict(exclude_unset=True),
36
+ query_parameters={
37
+ "callback_url": callback_url,
38
+ },
40
39
  )
41
40
 
41
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
42
+
42
43
  def list_borg_archives(
43
44
  self,
44
45
  *,
@@ -46,83 +47,81 @@ class BorgArchives(Resource):
46
47
  limit: Optional[int] = None,
47
48
  filter_: Optional[List[str]] = None,
48
49
  sort: Optional[List[str]] = None,
49
- ) -> list[models.BorgArchiveResource]:
50
- return [
51
- models.BorgArchiveResource.parse_obj(model)
52
- for model in self.api_connector.send_or_fail(
53
- "GET",
54
- "/api/v1/borg-archives",
55
- data=None,
56
- query_parameters={
57
- "skip": skip,
58
- "limit": limit,
59
- "filter": filter_,
60
- "sort": sort,
61
- },
62
- ).json
63
- ]
50
+ ) -> DtoResponse[list[models.BorgArchiveResource]]:
51
+ local_response = self.api_connector.send_or_fail(
52
+ "GET",
53
+ "/api/v1/borg-archives",
54
+ data=None,
55
+ query_parameters={
56
+ "skip": skip,
57
+ "limit": limit,
58
+ "filter": filter_,
59
+ "sort": sort,
60
+ },
61
+ )
62
+
63
+ return DtoResponse.from_response(local_response, models.BorgArchiveResource)
64
64
 
65
65
  def read_borg_archive(
66
66
  self,
67
67
  *,
68
68
  id_: int,
69
- ) -> models.BorgArchiveResource:
70
- return models.BorgArchiveResource.parse_obj(
71
- self.api_connector.send_or_fail(
72
- "GET", f"/api/v1/borg-archives/{id_}", data=None, query_parameters={}
73
- ).json
69
+ ) -> DtoResponse[models.BorgArchiveResource]:
70
+ local_response = self.api_connector.send_or_fail(
71
+ "GET", f"/api/v1/borg-archives/{id_}", data=None, query_parameters={}
74
72
  )
75
73
 
74
+ return DtoResponse.from_response(local_response, models.BorgArchiveResource)
75
+
76
76
  def get_borg_archive_metadata(
77
77
  self,
78
78
  *,
79
79
  id_: int,
80
- ) -> models.BorgArchiveMetadata:
81
- return models.BorgArchiveMetadata.parse_obj(
82
- self.api_connector.send_or_fail(
83
- "GET",
84
- f"/api/v1/borg-archives/{id_}/metadata",
85
- data=None,
86
- query_parameters={},
87
- ).json
80
+ ) -> DtoResponse[models.BorgArchiveMetadata]:
81
+ local_response = self.api_connector.send_or_fail(
82
+ "GET",
83
+ f"/api/v1/borg-archives/{id_}/metadata",
84
+ data=None,
85
+ query_parameters={},
88
86
  )
89
87
 
88
+ return DtoResponse.from_response(local_response, models.BorgArchiveMetadata)
89
+
90
90
  def restore_borg_archive(
91
91
  self,
92
92
  *,
93
93
  id_: int,
94
94
  callback_url: Optional[str] = None,
95
95
  path: Optional[str] = None,
96
- ) -> models.TaskCollectionResource:
97
- return models.TaskCollectionResource.parse_obj(
98
- self.api_connector.send_or_fail(
99
- "POST",
100
- f"/api/v1/borg-archives/{id_}/restore",
101
- data=None,
102
- query_parameters={
103
- "callback_url": callback_url,
104
- "path": path,
105
- },
106
- ).json
96
+ ) -> DtoResponse[models.TaskCollectionResource]:
97
+ local_response = self.api_connector.send_or_fail(
98
+ "POST",
99
+ f"/api/v1/borg-archives/{id_}/restore",
100
+ data=None,
101
+ query_parameters={
102
+ "callback_url": callback_url,
103
+ "path": path,
104
+ },
107
105
  )
108
106
 
107
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
108
+
109
109
  def list_borg_archive_contents(
110
110
  self,
111
111
  *,
112
112
  id_: int,
113
113
  path: Optional[str] = None,
114
- ) -> list[models.BorgArchiveContent]:
115
- return [
116
- models.BorgArchiveContent.parse_obj(model)
117
- for model in self.api_connector.send_or_fail(
118
- "GET",
119
- f"/api/v1/borg-archives/{id_}/contents",
120
- data=None,
121
- query_parameters={
122
- "path": path,
123
- },
124
- ).json
125
- ]
114
+ ) -> DtoResponse[list[models.BorgArchiveContent]]:
115
+ local_response = self.api_connector.send_or_fail(
116
+ "GET",
117
+ f"/api/v1/borg-archives/{id_}/contents",
118
+ data=None,
119
+ query_parameters={
120
+ "path": path,
121
+ },
122
+ )
123
+
124
+ return DtoResponse.from_response(local_response, models.BorgArchiveContent)
126
125
 
127
126
  def download_borg_archive(
128
127
  self,
@@ -130,15 +129,15 @@ class BorgArchives(Resource):
130
129
  id_: int,
131
130
  callback_url: Optional[str] = None,
132
131
  path: Optional[str] = None,
133
- ) -> models.TaskCollectionResource:
134
- return models.TaskCollectionResource.parse_obj(
135
- self.api_connector.send_or_fail(
136
- "POST",
137
- f"/api/v1/borg-archives/{id_}/download",
138
- data=None,
139
- query_parameters={
140
- "callback_url": callback_url,
141
- "path": path,
142
- },
143
- ).json
132
+ ) -> DtoResponse[models.TaskCollectionResource]:
133
+ local_response = self.api_connector.send_or_fail(
134
+ "POST",
135
+ f"/api/v1/borg-archives/{id_}/download",
136
+ data=None,
137
+ query_parameters={
138
+ "callback_url": callback_url,
139
+ "path": path,
140
+ },
144
141
  )
142
+
143
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
@@ -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
 
@@ -8,16 +9,16 @@ class BorgRepositories(Resource):
8
9
  def create_borg_repository(
9
10
  self,
10
11
  request: models.BorgRepositoryCreateRequest,
11
- ) -> models.BorgRepositoryResource:
12
- return models.BorgRepositoryResource.parse_obj(
13
- self.api_connector.send_or_fail(
14
- "POST",
15
- "/api/v1/borg-repositories",
16
- data=request.dict(exclude_unset=True),
17
- query_parameters={},
18
- ).json
12
+ ) -> DtoResponse[models.BorgRepositoryResource]:
13
+ local_response = self.api_connector.send_or_fail(
14
+ "POST",
15
+ "/api/v1/borg-repositories",
16
+ data=request.dict(exclude_unset=True),
17
+ query_parameters={},
19
18
  )
20
19
 
20
+ return DtoResponse.from_response(local_response, models.BorgRepositoryResource)
21
+
21
22
  def list_borg_repositories(
22
23
  self,
23
24
  *,
@@ -25,110 +26,108 @@ class BorgRepositories(Resource):
25
26
  limit: Optional[int] = None,
26
27
  filter_: Optional[List[str]] = None,
27
28
  sort: Optional[List[str]] = None,
28
- ) -> list[models.BorgRepositoryResource]:
29
- return [
30
- models.BorgRepositoryResource.parse_obj(model)
31
- for model in self.api_connector.send_or_fail(
32
- "GET",
33
- "/api/v1/borg-repositories",
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.BorgRepositoryResource]]:
30
+ local_response = self.api_connector.send_or_fail(
31
+ "GET",
32
+ "/api/v1/borg-repositories",
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.BorgRepositoryResource)
43
43
 
44
44
  def read_borg_repository(
45
45
  self,
46
46
  *,
47
47
  id_: int,
48
- ) -> models.BorgRepositoryResource:
49
- return models.BorgRepositoryResource.parse_obj(
50
- self.api_connector.send_or_fail(
51
- "GET",
52
- f"/api/v1/borg-repositories/{id_}",
53
- data=None,
54
- query_parameters={},
55
- ).json
48
+ ) -> DtoResponse[models.BorgRepositoryResource]:
49
+ local_response = self.api_connector.send_or_fail(
50
+ "GET",
51
+ f"/api/v1/borg-repositories/{id_}",
52
+ data=None,
53
+ query_parameters={},
56
54
  )
57
55
 
56
+ return DtoResponse.from_response(local_response, models.BorgRepositoryResource)
57
+
58
58
  def update_borg_repository(
59
59
  self,
60
60
  request: models.BorgRepositoryUpdateRequest,
61
61
  *,
62
62
  id_: int,
63
- ) -> models.BorgRepositoryResource:
64
- return models.BorgRepositoryResource.parse_obj(
65
- self.api_connector.send_or_fail(
66
- "PATCH",
67
- f"/api/v1/borg-repositories/{id_}",
68
- data=request.dict(exclude_unset=True),
69
- query_parameters={},
70
- ).json
63
+ ) -> DtoResponse[models.BorgRepositoryResource]:
64
+ local_response = self.api_connector.send_or_fail(
65
+ "PATCH",
66
+ f"/api/v1/borg-repositories/{id_}",
67
+ data=request.dict(exclude_unset=True),
68
+ query_parameters={},
71
69
  )
72
70
 
71
+ return DtoResponse.from_response(local_response, models.BorgRepositoryResource)
72
+
73
73
  def delete_borg_repository(
74
74
  self,
75
75
  *,
76
76
  id_: int,
77
- ) -> models.DetailMessage:
78
- return models.DetailMessage.parse_obj(
79
- self.api_connector.send_or_fail(
80
- "DELETE",
81
- f"/api/v1/borg-repositories/{id_}",
82
- data=None,
83
- query_parameters={},
84
- ).json
77
+ ) -> DtoResponse[models.DetailMessage]:
78
+ local_response = self.api_connector.send_or_fail(
79
+ "DELETE",
80
+ f"/api/v1/borg-repositories/{id_}",
81
+ data=None,
82
+ query_parameters={},
85
83
  )
86
84
 
85
+ return DtoResponse.from_response(local_response, models.DetailMessage)
86
+
87
87
  def prune_borg_repository(
88
88
  self,
89
89
  *,
90
90
  id_: int,
91
91
  callback_url: Optional[str] = None,
92
- ) -> models.TaskCollectionResource:
93
- return models.TaskCollectionResource.parse_obj(
94
- self.api_connector.send_or_fail(
95
- "POST",
96
- f"/api/v1/borg-repositories/{id_}/prune",
97
- data=None,
98
- query_parameters={
99
- "callback_url": callback_url,
100
- },
101
- ).json
92
+ ) -> DtoResponse[models.TaskCollectionResource]:
93
+ local_response = self.api_connector.send_or_fail(
94
+ "POST",
95
+ f"/api/v1/borg-repositories/{id_}/prune",
96
+ data=None,
97
+ query_parameters={
98
+ "callback_url": callback_url,
99
+ },
102
100
  )
103
101
 
102
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
103
+
104
104
  def check_borg_repository(
105
105
  self,
106
106
  *,
107
107
  id_: int,
108
108
  callback_url: Optional[str] = None,
109
- ) -> models.TaskCollectionResource:
110
- return models.TaskCollectionResource.parse_obj(
111
- self.api_connector.send_or_fail(
112
- "POST",
113
- f"/api/v1/borg-repositories/{id_}/check",
114
- data=None,
115
- query_parameters={
116
- "callback_url": callback_url,
117
- },
118
- ).json
109
+ ) -> DtoResponse[models.TaskCollectionResource]:
110
+ local_response = self.api_connector.send_or_fail(
111
+ "POST",
112
+ f"/api/v1/borg-repositories/{id_}/check",
113
+ data=None,
114
+ query_parameters={
115
+ "callback_url": callback_url,
116
+ },
119
117
  )
120
118
 
119
+ return DtoResponse.from_response(local_response, models.TaskCollectionResource)
120
+
121
121
  def get_borg_archives_metadata(
122
122
  self,
123
123
  *,
124
124
  id_: int,
125
- ) -> list[models.BorgArchiveMetadata]:
126
- return [
127
- models.BorgArchiveMetadata.parse_obj(model)
128
- for model in self.api_connector.send_or_fail(
129
- "GET",
130
- f"/api/v1/borg-repositories/{id_}/archives-metadata",
131
- data=None,
132
- query_parameters={},
133
- ).json
134
- ]
125
+ ) -> DtoResponse[list[models.BorgArchiveMetadata]]:
126
+ local_response = self.api_connector.send_or_fail(
127
+ "GET",
128
+ f"/api/v1/borg-repositories/{id_}/archives-metadata",
129
+ data=None,
130
+ query_parameters={},
131
+ )
132
+
133
+ return DtoResponse.from_response(local_response, models.BorgArchiveMetadata)