wds-client 0.20.0__tar.gz → 0.22.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. {wds_client-0.20.0 → wds_client-0.22.0}/PKG-INFO +1 -1
  2. {wds_client-0.20.0 → wds_client-0.22.0}/README.md +4 -1
  3. {wds_client-0.20.0 → wds_client-0.22.0}/pyproject.toml +1 -1
  4. {wds_client-0.20.0 → wds_client-0.22.0}/setup.py +1 -1
  5. wds_client-0.22.0/test/test_delete_records_request.py +57 -0
  6. wds_client-0.22.0/test/test_delete_records_response.py +51 -0
  7. wds_client-0.22.0/test/test_record_api.py +38 -0
  8. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/__init__.py +4 -1
  9. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api/__init__.py +1 -0
  10. wds_client-0.22.0/wds_client/api/record_api.py +341 -0
  11. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api_client.py +1 -1
  12. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/configuration.py +1 -1
  13. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/__init__.py +2 -0
  14. wds_client-0.22.0/wds_client/models/delete_records_request.py +91 -0
  15. wds_client-0.22.0/wds_client/models/delete_records_response.py +87 -0
  16. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client.egg-info/PKG-INFO +1 -1
  17. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client.egg-info/SOURCES.txt +6 -0
  18. {wds_client-0.20.0 → wds_client-0.22.0}/setup.cfg +0 -0
  19. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_app.py +0 -0
  20. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_attribute_data_type.py +0 -0
  21. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_attribute_schema.py +0 -0
  22. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_attribute_schema_update.py +0 -0
  23. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_backup_job.py +0 -0
  24. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_backup_response.py +0 -0
  25. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_backup_restore_request.py +0 -0
  26. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_batch_operation.py +0 -0
  27. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_batch_record_request.py +0 -0
  28. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_batch_response.py +0 -0
  29. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_build.py +0 -0
  30. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_capabilities.py +0 -0
  31. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_capabilities_api.py +0 -0
  32. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_clone_job.py +0 -0
  33. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_clone_response.py +0 -0
  34. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_cloning_api.py +0 -0
  35. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_collection.py +0 -0
  36. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_collection_api.py +0 -0
  37. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_collection_request.py +0 -0
  38. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_commit.py +0 -0
  39. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_error_response.py +0 -0
  40. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_general_wds_information_api.py +0 -0
  41. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_generic_job.py +0 -0
  42. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_git.py +0 -0
  43. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_import_api.py +0 -0
  44. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_import_request.py +0 -0
  45. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_job.py +0 -0
  46. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_job_api.py +0 -0
  47. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_job_v1.py +0 -0
  48. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_record_query_response.py +0 -0
  49. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_record_request.py +0 -0
  50. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_record_response.py +0 -0
  51. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_record_type_schema.py +0 -0
  52. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_records_api.py +0 -0
  53. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_schema_api.py +0 -0
  54. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_search_filter.py +0 -0
  55. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_search_request.py +0 -0
  56. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_search_sort_direction.py +0 -0
  57. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_status_response.py +0 -0
  58. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_tsv_upload_response.py +0 -0
  59. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_version_response.py +0 -0
  60. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_workspace_api.py +0 -0
  61. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_workspace_init.py +0 -0
  62. {wds_client-0.20.0 → wds_client-0.22.0}/test/test_workspace_init_clone.py +0 -0
  63. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api/capabilities_api.py +0 -0
  64. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api/cloning_api.py +0 -0
  65. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api/collection_api.py +0 -0
  66. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api/general_wds_information_api.py +0 -0
  67. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api/import_api.py +0 -0
  68. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api/job_api.py +0 -0
  69. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api/records_api.py +0 -0
  70. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api/schema_api.py +0 -0
  71. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api/workspace_api.py +0 -0
  72. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/api_response.py +0 -0
  73. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/exceptions.py +0 -0
  74. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/app.py +0 -0
  75. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/attribute_data_type.py +0 -0
  76. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/attribute_schema.py +0 -0
  77. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/attribute_schema_update.py +0 -0
  78. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/backup_job.py +0 -0
  79. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/backup_response.py +0 -0
  80. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/backup_restore_request.py +0 -0
  81. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/batch_operation.py +0 -0
  82. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/batch_record_request.py +0 -0
  83. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/batch_response.py +0 -0
  84. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/build.py +0 -0
  85. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/capabilities.py +0 -0
  86. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/clone_job.py +0 -0
  87. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/clone_response.py +0 -0
  88. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/collection.py +0 -0
  89. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/collection_request.py +0 -0
  90. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/commit.py +0 -0
  91. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/error_response.py +0 -0
  92. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/generic_job.py +0 -0
  93. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/git.py +0 -0
  94. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/import_request.py +0 -0
  95. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/job.py +0 -0
  96. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/job_v1.py +0 -0
  97. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/record_query_response.py +0 -0
  98. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/record_request.py +0 -0
  99. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/record_response.py +0 -0
  100. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/record_type_schema.py +0 -0
  101. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/search_filter.py +0 -0
  102. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/search_request.py +0 -0
  103. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/search_sort_direction.py +0 -0
  104. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/status_response.py +0 -0
  105. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/tsv_upload_response.py +0 -0
  106. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/version_response.py +0 -0
  107. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/workspace_init.py +0 -0
  108. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/models/workspace_init_clone.py +0 -0
  109. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/py.typed +0 -0
  110. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client/rest.py +0 -0
  111. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client.egg-info/dependency_links.txt +0 -0
  112. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client.egg-info/requires.txt +0 -0
  113. {wds_client-0.20.0 → wds_client-0.22.0}/wds_client.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wds-client
3
- Version: 0.20.0
3
+ Version: 0.22.0
4
4
  Summary: Workspace Data Service
5
5
  Home-page:
6
6
  Author: OpenAPI Generator community
@@ -9,7 +9,7 @@ Changelog at [https://github.com/DataBiosphere/terra-workspace-data-service/rele
9
9
  This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
10
10
 
11
11
  - API version: v0.2
12
- - Package version: 0.20.0
12
+ - Package version: 0.22.0
13
13
  - Generator version: 7.8.0
14
14
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
15
15
 
@@ -103,6 +103,7 @@ Class | Method | HTTP request | Description
103
103
  *ImportApi* | [**import_v1**](docs/ImportApi.md#import_v1) | **POST** /{instanceUuid}/import/v1 | Import from a file
104
104
  *JobApi* | [**job_status_v1**](docs/JobApi.md#job_status_v1) | **GET** /job/v1/{jobId} | Get status of a long-running job.
105
105
  *JobApi* | [**jobs_in_instance_v1**](docs/JobApi.md#jobs_in_instance_v1) | **GET** /job/v1/instance/{instanceUuid} | Get all jobs with a certain status under a particular instance.
106
+ *RecordApi* | [**delete_records**](docs/RecordApi.md#delete_records) | **POST** /records/v1/{collectionId}/{recordType}/delete | Bulk delete records
106
107
  *RecordsApi* | [**batch_write_records**](docs/RecordsApi.md#batch_write_records) | **POST** /{instanceid}/batch/{v}/{type} | Batch write records
107
108
  *RecordsApi* | [**create_or_replace_record**](docs/RecordsApi.md#create_or_replace_record) | **PUT** /{instanceid}/records/{v}/{type}/{id} | Create or replace record
108
109
  *RecordsApi* | [**delete_record**](docs/RecordsApi.md#delete_record) | **DELETE** /{instanceid}/records/{v}/{type}/{id} | Delete record
@@ -138,6 +139,8 @@ Class | Method | HTTP request | Description
138
139
  - [Collection](docs/Collection.md)
139
140
  - [CollectionRequest](docs/CollectionRequest.md)
140
141
  - [Commit](docs/Commit.md)
142
+ - [DeleteRecordsRequest](docs/DeleteRecordsRequest.md)
143
+ - [DeleteRecordsResponse](docs/DeleteRecordsResponse.md)
141
144
  - [ErrorResponse](docs/ErrorResponse.md)
142
145
  - [GenericJob](docs/GenericJob.md)
143
146
  - [Git](docs/Git.md)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "wds_client"
3
- version = "0.20.0"
3
+ version = "0.22.0"
4
4
  description = "Workspace Data Service"
5
5
  authors = ["OpenAPI Generator Community <team@openapitools.org>"]
6
6
  license = "BSD"
@@ -21,7 +21,7 @@ from setuptools import setup, find_packages # noqa: H301
21
21
  # prerequisite: setuptools
22
22
  # http://pypi.python.org/pypi/setuptools
23
23
  NAME = "wds-client"
24
- VERSION = "0.20.0"
24
+ VERSION = "0.22.0"
25
25
  PYTHON_REQUIRES = ">=3.7"
26
26
  REQUIRES = [
27
27
  "urllib3 >= 1.25.3, < 2.1.0",
@@ -0,0 +1,57 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Workspace Data Service
5
+
6
+ This page lists current APIs. All v0.2 APIs are subject to change without notice. Changelog at [https://github.com/DataBiosphere/terra-workspace-data-service/releases](https://github.com/DataBiosphere/terra-workspace-data-service/releases)
7
+
8
+ The version of the OpenAPI document: v0.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ import unittest
16
+
17
+ from wds_client.models.delete_records_request import DeleteRecordsRequest
18
+
19
+ class TestDeleteRecordsRequest(unittest.TestCase):
20
+ """DeleteRecordsRequest unit test stubs"""
21
+
22
+ def setUp(self):
23
+ pass
24
+
25
+ def tearDown(self):
26
+ pass
27
+
28
+ def make_instance(self, include_optional) -> DeleteRecordsRequest:
29
+ """Test DeleteRecordsRequest
30
+ include_optional is a boolean, when False only required
31
+ params are included, when True both required and
32
+ optional params are included """
33
+ # uncomment below to create an instance of `DeleteRecordsRequest`
34
+ """
35
+ model = DeleteRecordsRequest()
36
+ if include_optional:
37
+ return DeleteRecordsRequest(
38
+ record_ids = [
39
+ ''
40
+ ],
41
+ excluded_record_ids = [
42
+ ''
43
+ ],
44
+ delete_all = True
45
+ )
46
+ else:
47
+ return DeleteRecordsRequest(
48
+ )
49
+ """
50
+
51
+ def testDeleteRecordsRequest(self):
52
+ """Test DeleteRecordsRequest"""
53
+ # inst_req_only = self.make_instance(include_optional=False)
54
+ # inst_req_and_optional = self.make_instance(include_optional=True)
55
+
56
+ if __name__ == '__main__':
57
+ unittest.main()
@@ -0,0 +1,51 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Workspace Data Service
5
+
6
+ This page lists current APIs. All v0.2 APIs are subject to change without notice. Changelog at [https://github.com/DataBiosphere/terra-workspace-data-service/releases](https://github.com/DataBiosphere/terra-workspace-data-service/releases)
7
+
8
+ The version of the OpenAPI document: v0.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ import unittest
16
+
17
+ from wds_client.models.delete_records_response import DeleteRecordsResponse
18
+
19
+ class TestDeleteRecordsResponse(unittest.TestCase):
20
+ """DeleteRecordsResponse unit test stubs"""
21
+
22
+ def setUp(self):
23
+ pass
24
+
25
+ def tearDown(self):
26
+ pass
27
+
28
+ def make_instance(self, include_optional) -> DeleteRecordsResponse:
29
+ """Test DeleteRecordsResponse
30
+ include_optional is a boolean, when False only required
31
+ params are included, when True both required and
32
+ optional params are included """
33
+ # uncomment below to create an instance of `DeleteRecordsResponse`
34
+ """
35
+ model = DeleteRecordsResponse()
36
+ if include_optional:
37
+ return DeleteRecordsResponse(
38
+ count = 56
39
+ )
40
+ else:
41
+ return DeleteRecordsResponse(
42
+ )
43
+ """
44
+
45
+ def testDeleteRecordsResponse(self):
46
+ """Test DeleteRecordsResponse"""
47
+ # inst_req_only = self.make_instance(include_optional=False)
48
+ # inst_req_and_optional = self.make_instance(include_optional=True)
49
+
50
+ if __name__ == '__main__':
51
+ unittest.main()
@@ -0,0 +1,38 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Workspace Data Service
5
+
6
+ This page lists current APIs. All v0.2 APIs are subject to change without notice. Changelog at [https://github.com/DataBiosphere/terra-workspace-data-service/releases](https://github.com/DataBiosphere/terra-workspace-data-service/releases)
7
+
8
+ The version of the OpenAPI document: v0.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ import unittest
16
+
17
+ from wds_client.api.record_api import RecordApi
18
+
19
+
20
+ class TestRecordApi(unittest.TestCase):
21
+ """RecordApi unit test stubs"""
22
+
23
+ def setUp(self) -> None:
24
+ self.api = RecordApi()
25
+
26
+ def tearDown(self) -> None:
27
+ pass
28
+
29
+ def test_delete_records(self) -> None:
30
+ """Test case for delete_records
31
+
32
+ Bulk delete records
33
+ """
34
+ pass
35
+
36
+
37
+ if __name__ == '__main__':
38
+ unittest.main()
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "0.20.0"
17
+ __version__ = "0.22.0"
18
18
 
19
19
  # import apis into sdk package
20
20
  from wds_client.api.capabilities_api import CapabilitiesApi
@@ -23,6 +23,7 @@ from wds_client.api.collection_api import CollectionApi
23
23
  from wds_client.api.general_wds_information_api import GeneralWDSInformationApi
24
24
  from wds_client.api.import_api import ImportApi
25
25
  from wds_client.api.job_api import JobApi
26
+ from wds_client.api.record_api import RecordApi
26
27
  from wds_client.api.records_api import RecordsApi
27
28
  from wds_client.api.schema_api import SchemaApi
28
29
  from wds_client.api.workspace_api import WorkspaceApi
@@ -56,6 +57,8 @@ from wds_client.models.clone_response import CloneResponse
56
57
  from wds_client.models.collection import Collection
57
58
  from wds_client.models.collection_request import CollectionRequest
58
59
  from wds_client.models.commit import Commit
60
+ from wds_client.models.delete_records_request import DeleteRecordsRequest
61
+ from wds_client.models.delete_records_response import DeleteRecordsResponse
59
62
  from wds_client.models.error_response import ErrorResponse
60
63
  from wds_client.models.generic_job import GenericJob
61
64
  from wds_client.models.git import Git
@@ -7,6 +7,7 @@ from wds_client.api.collection_api import CollectionApi
7
7
  from wds_client.api.general_wds_information_api import GeneralWDSInformationApi
8
8
  from wds_client.api.import_api import ImportApi
9
9
  from wds_client.api.job_api import JobApi
10
+ from wds_client.api.record_api import RecordApi
10
11
  from wds_client.api.records_api import RecordsApi
11
12
  from wds_client.api.schema_api import SchemaApi
12
13
  from wds_client.api.workspace_api import WorkspaceApi
@@ -0,0 +1,341 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Workspace Data Service
5
+
6
+ This page lists current APIs. All v0.2 APIs are subject to change without notice. Changelog at [https://github.com/DataBiosphere/terra-workspace-data-service/releases](https://github.com/DataBiosphere/terra-workspace-data-service/releases)
7
+
8
+ The version of the OpenAPI document: v0.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictStr
20
+ from typing_extensions import Annotated
21
+ from wds_client.models.delete_records_request import DeleteRecordsRequest
22
+ from wds_client.models.delete_records_response import DeleteRecordsResponse
23
+
24
+ from wds_client.api_client import ApiClient, RequestSerialized
25
+ from wds_client.api_response import ApiResponse
26
+ from wds_client.rest import RESTResponseType
27
+
28
+
29
+ class RecordApi:
30
+ """NOTE: This class is auto generated by OpenAPI Generator
31
+ Ref: https://openapi-generator.tech
32
+
33
+ Do not edit the class manually.
34
+ """
35
+
36
+ def __init__(self, api_client=None) -> None:
37
+ if api_client is None:
38
+ api_client = ApiClient.get_default()
39
+ self.api_client = api_client
40
+
41
+
42
+ @validate_call
43
+ def delete_records(
44
+ self,
45
+ collection_id: Annotated[StrictStr, Field(description="Collection id")],
46
+ type: Annotated[StrictStr, Field(description="Record type")],
47
+ delete_records_request: Annotated[DeleteRecordsRequest, Field(description="Record deletion specification")],
48
+ _request_timeout: Union[
49
+ None,
50
+ Annotated[StrictFloat, Field(gt=0)],
51
+ Tuple[
52
+ Annotated[StrictFloat, Field(gt=0)],
53
+ Annotated[StrictFloat, Field(gt=0)]
54
+ ]
55
+ ] = None,
56
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
57
+ _content_type: Optional[StrictStr] = None,
58
+ _headers: Optional[Dict[StrictStr, Any]] = None,
59
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
60
+ ) -> DeleteRecordsResponse:
61
+ """Bulk delete records
62
+
63
+ Deletes records by record ID, using collection ID.
64
+
65
+ :param collection_id: Collection id (required)
66
+ :type collection_id: str
67
+ :param type: Record type (required)
68
+ :type type: str
69
+ :param delete_records_request: Record deletion specification (required)
70
+ :type delete_records_request: DeleteRecordsRequest
71
+ :param _request_timeout: timeout setting for this request. If one
72
+ number provided, it will be total request
73
+ timeout. It can also be a pair (tuple) of
74
+ (connection, read) timeouts.
75
+ :type _request_timeout: int, tuple(int, int), optional
76
+ :param _request_auth: set to override the auth_settings for an a single
77
+ request; this effectively ignores the
78
+ authentication in the spec for a single request.
79
+ :type _request_auth: dict, optional
80
+ :param _content_type: force content-type for the request.
81
+ :type _content_type: str, Optional
82
+ :param _headers: set to override the headers for a single
83
+ request; this effectively ignores the headers
84
+ in the spec for a single request.
85
+ :type _headers: dict, optional
86
+ :param _host_index: set to override the host_index for a single
87
+ request; this effectively ignores the host_index
88
+ in the spec for a single request.
89
+ :type _host_index: int, optional
90
+ :return: Returns the result object.
91
+ """ # noqa: E501
92
+
93
+ _param = self._delete_records_serialize(
94
+ collection_id=collection_id,
95
+ type=type,
96
+ delete_records_request=delete_records_request,
97
+ _request_auth=_request_auth,
98
+ _content_type=_content_type,
99
+ _headers=_headers,
100
+ _host_index=_host_index
101
+ )
102
+
103
+ _response_types_map: Dict[str, Optional[str]] = {
104
+ '200': "DeleteRecordsResponse",
105
+ }
106
+ response_data = self.api_client.call_api(
107
+ *_param,
108
+ _request_timeout=_request_timeout
109
+ )
110
+ response_data.read()
111
+ return self.api_client.response_deserialize(
112
+ response_data=response_data,
113
+ response_types_map=_response_types_map,
114
+ ).data
115
+
116
+
117
+ @validate_call
118
+ def delete_records_with_http_info(
119
+ self,
120
+ collection_id: Annotated[StrictStr, Field(description="Collection id")],
121
+ type: Annotated[StrictStr, Field(description="Record type")],
122
+ delete_records_request: Annotated[DeleteRecordsRequest, Field(description="Record deletion specification")],
123
+ _request_timeout: Union[
124
+ None,
125
+ Annotated[StrictFloat, Field(gt=0)],
126
+ Tuple[
127
+ Annotated[StrictFloat, Field(gt=0)],
128
+ Annotated[StrictFloat, Field(gt=0)]
129
+ ]
130
+ ] = None,
131
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
132
+ _content_type: Optional[StrictStr] = None,
133
+ _headers: Optional[Dict[StrictStr, Any]] = None,
134
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
135
+ ) -> ApiResponse[DeleteRecordsResponse]:
136
+ """Bulk delete records
137
+
138
+ Deletes records by record ID, using collection ID.
139
+
140
+ :param collection_id: Collection id (required)
141
+ :type collection_id: str
142
+ :param type: Record type (required)
143
+ :type type: str
144
+ :param delete_records_request: Record deletion specification (required)
145
+ :type delete_records_request: DeleteRecordsRequest
146
+ :param _request_timeout: timeout setting for this request. If one
147
+ number provided, it will be total request
148
+ timeout. It can also be a pair (tuple) of
149
+ (connection, read) timeouts.
150
+ :type _request_timeout: int, tuple(int, int), optional
151
+ :param _request_auth: set to override the auth_settings for an a single
152
+ request; this effectively ignores the
153
+ authentication in the spec for a single request.
154
+ :type _request_auth: dict, optional
155
+ :param _content_type: force content-type for the request.
156
+ :type _content_type: str, Optional
157
+ :param _headers: set to override the headers for a single
158
+ request; this effectively ignores the headers
159
+ in the spec for a single request.
160
+ :type _headers: dict, optional
161
+ :param _host_index: set to override the host_index for a single
162
+ request; this effectively ignores the host_index
163
+ in the spec for a single request.
164
+ :type _host_index: int, optional
165
+ :return: Returns the result object.
166
+ """ # noqa: E501
167
+
168
+ _param = self._delete_records_serialize(
169
+ collection_id=collection_id,
170
+ type=type,
171
+ delete_records_request=delete_records_request,
172
+ _request_auth=_request_auth,
173
+ _content_type=_content_type,
174
+ _headers=_headers,
175
+ _host_index=_host_index
176
+ )
177
+
178
+ _response_types_map: Dict[str, Optional[str]] = {
179
+ '200': "DeleteRecordsResponse",
180
+ }
181
+ response_data = self.api_client.call_api(
182
+ *_param,
183
+ _request_timeout=_request_timeout
184
+ )
185
+ response_data.read()
186
+ return self.api_client.response_deserialize(
187
+ response_data=response_data,
188
+ response_types_map=_response_types_map,
189
+ )
190
+
191
+
192
+ @validate_call
193
+ def delete_records_without_preload_content(
194
+ self,
195
+ collection_id: Annotated[StrictStr, Field(description="Collection id")],
196
+ type: Annotated[StrictStr, Field(description="Record type")],
197
+ delete_records_request: Annotated[DeleteRecordsRequest, Field(description="Record deletion specification")],
198
+ _request_timeout: Union[
199
+ None,
200
+ Annotated[StrictFloat, Field(gt=0)],
201
+ Tuple[
202
+ Annotated[StrictFloat, Field(gt=0)],
203
+ Annotated[StrictFloat, Field(gt=0)]
204
+ ]
205
+ ] = None,
206
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
207
+ _content_type: Optional[StrictStr] = None,
208
+ _headers: Optional[Dict[StrictStr, Any]] = None,
209
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
210
+ ) -> RESTResponseType:
211
+ """Bulk delete records
212
+
213
+ Deletes records by record ID, using collection ID.
214
+
215
+ :param collection_id: Collection id (required)
216
+ :type collection_id: str
217
+ :param type: Record type (required)
218
+ :type type: str
219
+ :param delete_records_request: Record deletion specification (required)
220
+ :type delete_records_request: DeleteRecordsRequest
221
+ :param _request_timeout: timeout setting for this request. If one
222
+ number provided, it will be total request
223
+ timeout. It can also be a pair (tuple) of
224
+ (connection, read) timeouts.
225
+ :type _request_timeout: int, tuple(int, int), optional
226
+ :param _request_auth: set to override the auth_settings for an a single
227
+ request; this effectively ignores the
228
+ authentication in the spec for a single request.
229
+ :type _request_auth: dict, optional
230
+ :param _content_type: force content-type for the request.
231
+ :type _content_type: str, Optional
232
+ :param _headers: set to override the headers for a single
233
+ request; this effectively ignores the headers
234
+ in the spec for a single request.
235
+ :type _headers: dict, optional
236
+ :param _host_index: set to override the host_index for a single
237
+ request; this effectively ignores the host_index
238
+ in the spec for a single request.
239
+ :type _host_index: int, optional
240
+ :return: Returns the result object.
241
+ """ # noqa: E501
242
+
243
+ _param = self._delete_records_serialize(
244
+ collection_id=collection_id,
245
+ type=type,
246
+ delete_records_request=delete_records_request,
247
+ _request_auth=_request_auth,
248
+ _content_type=_content_type,
249
+ _headers=_headers,
250
+ _host_index=_host_index
251
+ )
252
+
253
+ _response_types_map: Dict[str, Optional[str]] = {
254
+ '200': "DeleteRecordsResponse",
255
+ }
256
+ response_data = self.api_client.call_api(
257
+ *_param,
258
+ _request_timeout=_request_timeout
259
+ )
260
+ return response_data.response
261
+
262
+
263
+ def _delete_records_serialize(
264
+ self,
265
+ collection_id,
266
+ type,
267
+ delete_records_request,
268
+ _request_auth,
269
+ _content_type,
270
+ _headers,
271
+ _host_index,
272
+ ) -> RequestSerialized:
273
+
274
+ _host = None
275
+
276
+ _collection_formats: Dict[str, str] = {
277
+ }
278
+
279
+ _path_params: Dict[str, str] = {}
280
+ _query_params: List[Tuple[str, str]] = []
281
+ _header_params: Dict[str, Optional[str]] = _headers or {}
282
+ _form_params: List[Tuple[str, str]] = []
283
+ _files: Dict[str, Union[str, bytes]] = {}
284
+ _body_params: Optional[bytes] = None
285
+
286
+ # process the path parameters
287
+ if collection_id is not None:
288
+ _path_params['collectionId'] = collection_id
289
+ if type is not None:
290
+ _path_params['type'] = type
291
+ # process the query parameters
292
+ # process the header parameters
293
+ # process the form parameters
294
+ # process the body parameter
295
+ if delete_records_request is not None:
296
+ _body_params = delete_records_request
297
+
298
+
299
+ # set the HTTP header `Accept`
300
+ if 'Accept' not in _header_params:
301
+ _header_params['Accept'] = self.api_client.select_header_accept(
302
+ [
303
+ 'application/json'
304
+ ]
305
+ )
306
+
307
+ # set the HTTP header `Content-Type`
308
+ if _content_type:
309
+ _header_params['Content-Type'] = _content_type
310
+ else:
311
+ _default_content_type = (
312
+ self.api_client.select_header_content_type(
313
+ [
314
+ 'application/json'
315
+ ]
316
+ )
317
+ )
318
+ if _default_content_type is not None:
319
+ _header_params['Content-Type'] = _default_content_type
320
+
321
+ # authentication setting
322
+ _auth_settings: List[str] = [
323
+ 'bearerAuth'
324
+ ]
325
+
326
+ return self.api_client.param_serialize(
327
+ method='POST',
328
+ resource_path='/records/v1/{collectionId}/{recordType}/delete',
329
+ path_params=_path_params,
330
+ query_params=_query_params,
331
+ header_params=_header_params,
332
+ body=_body_params,
333
+ post_params=_form_params,
334
+ files=_files,
335
+ auth_settings=_auth_settings,
336
+ collection_formats=_collection_formats,
337
+ _host=_host,
338
+ _request_auth=_request_auth
339
+ )
340
+
341
+
@@ -90,7 +90,7 @@ class ApiClient:
90
90
  self.default_headers[header_name] = header_value
91
91
  self.cookie = cookie
92
92
  # Set default User-Agent.
93
- self.user_agent = 'wds-client/0.20.0/python'
93
+ self.user_agent = 'wds-client/0.22.0/python'
94
94
  self.client_side_validation = configuration.client_side_validation
95
95
 
96
96
  def __enter__(self):
@@ -392,7 +392,7 @@ class Configuration:
392
392
  "OS: {env}\n"\
393
393
  "Python Version: {pyversion}\n"\
394
394
  "Version of the API: v0.2\n"\
395
- "SDK Package Version: 0.20.0".\
395
+ "SDK Package Version: 0.22.0".\
396
396
  format(env=sys.platform, pyversion=sys.version)
397
397
 
398
398
  def get_host_settings(self):
@@ -31,6 +31,8 @@ from wds_client.models.clone_response import CloneResponse
31
31
  from wds_client.models.collection import Collection
32
32
  from wds_client.models.collection_request import CollectionRequest
33
33
  from wds_client.models.commit import Commit
34
+ from wds_client.models.delete_records_request import DeleteRecordsRequest
35
+ from wds_client.models.delete_records_response import DeleteRecordsResponse
34
36
  from wds_client.models.error_response import ErrorResponse
35
37
  from wds_client.models.generic_job import GenericJob
36
38
  from wds_client.models.git import Git
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Workspace Data Service
5
+
6
+ This page lists current APIs. All v0.2 APIs are subject to change without notice. Changelog at [https://github.com/DataBiosphere/terra-workspace-data-service/releases](https://github.com/DataBiosphere/terra-workspace-data-service/releases)
7
+
8
+ The version of the OpenAPI document: v0.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class DeleteRecordsRequest(BaseModel):
26
+ """
27
+ A request body to delete records in bulk. The caller must either: (1) specify which records should be deleted using the `record_ids` field *OR* (2) set `delete_all=true`. If `delete_all=true`, the caller may optionally specify a list of records to be spared from deletion using the `excluded_record_ids` field.
28
+ """ # noqa: E501
29
+ record_ids: Optional[List[StrictStr]] = Field(default=None, description="an array of record IDs that should be deleted")
30
+ excluded_record_ids: Optional[List[StrictStr]] = Field(default=None, description="an array of record IDs that should NOT be deleted.")
31
+ delete_all: Optional[StrictBool] = Field(default=False, description="if true, deletes all records")
32
+ __properties: ClassVar[List[str]] = ["record_ids", "excluded_record_ids", "delete_all"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of DeleteRecordsRequest from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
+ """Create an instance of DeleteRecordsRequest from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return cls.model_validate(obj)
83
+
84
+ _obj = cls.model_validate({
85
+ "record_ids": obj.get("record_ids"),
86
+ "excluded_record_ids": obj.get("excluded_record_ids"),
87
+ "delete_all": obj.get("delete_all") if obj.get("delete_all") is not None else False
88
+ })
89
+ return _obj
90
+
91
+
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Workspace Data Service
5
+
6
+ This page lists current APIs. All v0.2 APIs are subject to change without notice. Changelog at [https://github.com/DataBiosphere/terra-workspace-data-service/releases](https://github.com/DataBiosphere/terra-workspace-data-service/releases)
7
+
8
+ The version of the OpenAPI document: v0.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class DeleteRecordsResponse(BaseModel):
26
+ """
27
+ A response body for a bulk record deletion request. Contains a count of records deleted by the request.
28
+ """ # noqa: E501
29
+ count: Optional[StrictInt] = Field(default=None, description="the number of records deleted")
30
+ __properties: ClassVar[List[str]] = ["count"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of DeleteRecordsResponse from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of DeleteRecordsResponse from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "count": obj.get("count")
84
+ })
85
+ return _obj
86
+
87
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wds-client
3
- Version: 0.20.0
3
+ Version: 0.22.0
4
4
  Summary: Workspace Data Service
5
5
  Home-page:
6
6
  Author: OpenAPI Generator community
@@ -22,6 +22,8 @@ test/test_collection.py
22
22
  test/test_collection_api.py
23
23
  test/test_collection_request.py
24
24
  test/test_commit.py
25
+ test/test_delete_records_request.py
26
+ test/test_delete_records_response.py
25
27
  test/test_error_response.py
26
28
  test/test_general_wds_information_api.py
27
29
  test/test_generic_job.py
@@ -31,6 +33,7 @@ test/test_import_request.py
31
33
  test/test_job.py
32
34
  test/test_job_api.py
33
35
  test/test_job_v1.py
36
+ test/test_record_api.py
34
37
  test/test_record_query_response.py
35
38
  test/test_record_request.py
36
39
  test/test_record_response.py
@@ -65,6 +68,7 @@ wds_client/api/collection_api.py
65
68
  wds_client/api/general_wds_information_api.py
66
69
  wds_client/api/import_api.py
67
70
  wds_client/api/job_api.py
71
+ wds_client/api/record_api.py
68
72
  wds_client/api/records_api.py
69
73
  wds_client/api/schema_api.py
70
74
  wds_client/api/workspace_api.py
@@ -86,6 +90,8 @@ wds_client/models/clone_response.py
86
90
  wds_client/models/collection.py
87
91
  wds_client/models/collection_request.py
88
92
  wds_client/models/commit.py
93
+ wds_client/models/delete_records_request.py
94
+ wds_client/models/delete_records_response.py
89
95
  wds_client/models/error_response.py
90
96
  wds_client/models/generic_job.py
91
97
  wds_client/models/git.py
File without changes