pulp_npm_client 0.1.0a4 → 0.1.0

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 (115) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -10
  3. data/docs/AsyncOperationResponse.md +8 -7
  4. data/docs/ContentPackagesApi.md +126 -64
  5. data/docs/ContentSummaryResponse.md +12 -11
  6. data/docs/DistributionsNpmApi.md +362 -93
  7. data/docs/NpmNpmDistribution.md +18 -15
  8. data/docs/NpmNpmDistributionResponse.md +30 -21
  9. data/docs/NpmNpmRemote.md +48 -47
  10. data/docs/NpmNpmRemoteResponse.md +48 -43
  11. data/docs/NpmNpmRemoteResponseHiddenFieldsInner.md +20 -0
  12. data/docs/NpmNpmRepository.md +16 -15
  13. data/docs/NpmNpmRepositoryResponse.md +28 -23
  14. data/docs/NpmPackageResponse.md +22 -17
  15. data/docs/PaginatedRepositoryVersionResponseList.md +14 -13
  16. data/docs/PaginatednpmNpmDistributionResponseList.md +14 -13
  17. data/docs/PaginatednpmNpmRemoteResponseList.md +14 -13
  18. data/docs/PaginatednpmNpmRepositoryResponseList.md +14 -13
  19. data/docs/PaginatednpmPackageResponseList.md +14 -13
  20. data/docs/PatchednpmNpmDistribution.md +18 -15
  21. data/docs/PatchednpmNpmRemote.md +48 -47
  22. data/docs/PatchednpmNpmRepository.md +16 -15
  23. data/docs/PolicyEnum.md +4 -5
  24. data/docs/RemotesNpmApi.md +364 -99
  25. data/docs/Repair.md +8 -7
  26. data/docs/RepositoriesNpmApi.md +429 -110
  27. data/docs/RepositoriesNpmVersionsApi.md +156 -80
  28. data/docs/RepositoryAddRemoveContent.md +12 -11
  29. data/docs/RepositorySyncURL.md +10 -9
  30. data/docs/RepositoryVersionResponse.md +22 -17
  31. data/docs/SetLabel.md +20 -0
  32. data/docs/SetLabelResponse.md +20 -0
  33. data/docs/UnsetLabel.md +18 -0
  34. data/docs/UnsetLabelResponse.md +20 -0
  35. data/lib/pulp_npm_client/api/content_packages_api.rb +72 -44
  36. data/lib/pulp_npm_client/api/distributions_npm_api.rb +243 -47
  37. data/lib/pulp_npm_client/api/remotes_npm_api.rb +247 -57
  38. data/lib/pulp_npm_client/api/repositories_npm_api.rb +283 -55
  39. data/lib/pulp_npm_client/api/repositories_npm_versions_api.rb +71 -52
  40. data/lib/pulp_npm_client/api_client.rb +137 -102
  41. data/lib/pulp_npm_client/api_error.rb +2 -1
  42. data/lib/pulp_npm_client/configuration.rb +163 -22
  43. data/lib/pulp_npm_client/models/async_operation_response.rb +32 -22
  44. data/lib/pulp_npm_client/models/content_summary_response.rb +36 -22
  45. data/lib/pulp_npm_client/models/npm_npm_distribution.rb +51 -25
  46. data/lib/pulp_npm_client/models/npm_npm_distribution_response.rb +83 -27
  47. data/lib/pulp_npm_client/models/npm_npm_remote.rb +61 -25
  48. data/lib/pulp_npm_client/models/npm_npm_remote_response.rb +99 -41
  49. data/lib/pulp_npm_client/models/npm_npm_remote_response_hidden_fields_inner.rb +237 -0
  50. data/lib/pulp_npm_client/models/npm_npm_repository.rb +37 -25
  51. data/lib/pulp_npm_client/models/npm_npm_repository_response.rb +59 -27
  52. data/lib/pulp_npm_client/models/npm_package_response.rb +58 -24
  53. data/lib/pulp_npm_client/models/paginated_repository_version_response_list.rb +44 -22
  54. data/lib/pulp_npm_client/models/paginatednpm_npm_distribution_response_list.rb +44 -22
  55. data/lib/pulp_npm_client/models/paginatednpm_npm_remote_response_list.rb +44 -22
  56. data/lib/pulp_npm_client/models/paginatednpm_npm_repository_response_list.rb +44 -22
  57. data/lib/pulp_npm_client/models/paginatednpm_package_response_list.rb +44 -22
  58. data/lib/pulp_npm_client/models/patchednpm_npm_distribution.rb +57 -27
  59. data/lib/pulp_npm_client/models/patchednpm_npm_remote.rb +67 -27
  60. data/lib/pulp_npm_client/models/patchednpm_npm_repository.rb +40 -26
  61. data/lib/pulp_npm_client/models/policy_enum.rb +8 -4
  62. data/lib/pulp_npm_client/models/repair.rb +30 -22
  63. data/lib/pulp_npm_client/models/repository_add_remove_content.rb +33 -25
  64. data/lib/pulp_npm_client/models/repository_sync_url.rb +30 -22
  65. data/lib/pulp_npm_client/models/repository_version_response.rb +53 -25
  66. data/lib/pulp_npm_client/models/set_label.rb +264 -0
  67. data/lib/pulp_npm_client/models/set_label_response.rb +255 -0
  68. data/lib/pulp_npm_client/models/unset_label.rb +252 -0
  69. data/lib/pulp_npm_client/models/unset_label_response.rb +252 -0
  70. data/lib/pulp_npm_client/version.rb +2 -2
  71. data/lib/pulp_npm_client.rb +6 -3
  72. data/pulp_npm_client.gemspec +10 -7
  73. data/spec/api/content_packages_api_spec.rb +22 -16
  74. data/spec/api/distributions_npm_api_spec.rb +51 -14
  75. data/spec/api/remotes_npm_api_spec.rb +54 -19
  76. data/spec/api/repositories_npm_api_spec.rb +60 -15
  77. data/spec/api/repositories_npm_versions_api_spec.rb +23 -19
  78. data/spec/models/async_operation_response_spec.rb +7 -12
  79. data/spec/models/content_summary_response_spec.rb +9 -14
  80. data/spec/models/npm_npm_distribution_response_spec.rb +38 -19
  81. data/spec/models/npm_npm_distribution_spec.rb +17 -16
  82. data/spec/models/npm_npm_remote_response_hidden_fields_inner_spec.rb +42 -0
  83. data/spec/models/npm_npm_remote_response_spec.rb +42 -35
  84. data/spec/models/npm_npm_remote_spec.rb +27 -32
  85. data/spec/models/npm_npm_repository_response_spec.rb +27 -20
  86. data/spec/models/npm_npm_repository_spec.rb +11 -16
  87. data/spec/models/npm_package_response_spec.rb +24 -17
  88. data/spec/models/paginated_repository_version_response_list_spec.rb +10 -15
  89. data/spec/models/paginatednpm_npm_distribution_response_list_spec.rb +10 -15
  90. data/spec/models/paginatednpm_npm_remote_response_list_spec.rb +10 -15
  91. data/spec/models/paginatednpm_npm_repository_response_list_spec.rb +10 -15
  92. data/spec/models/paginatednpm_package_response_list_spec.rb +10 -15
  93. data/spec/models/patchednpm_npm_distribution_spec.rb +17 -16
  94. data/spec/models/patchednpm_npm_remote_spec.rb +27 -32
  95. data/spec/models/patchednpm_npm_repository_spec.rb +11 -16
  96. data/spec/models/policy_enum_spec.rb +6 -11
  97. data/spec/models/repair_spec.rb +7 -12
  98. data/spec/models/repository_add_remove_content_spec.rb +9 -14
  99. data/spec/models/repository_sync_url_spec.rb +8 -13
  100. data/spec/models/repository_version_response_spec.rb +24 -17
  101. data/spec/models/set_label_response_spec.rb +42 -0
  102. data/spec/models/set_label_spec.rb +42 -0
  103. data/spec/models/unset_label_response_spec.rb +42 -0
  104. data/spec/models/unset_label_spec.rb +36 -0
  105. data/spec/spec_helper.rb +1 -1
  106. metadata +94 -59
  107. data/docs/NpmPackage.md +0 -29
  108. data/docs/PulpNpmPackagesApi.md +0 -60
  109. data/git_push.sh +0 -58
  110. data/lib/pulp_npm_client/api/pulp_npm_packages_api.rb +0 -86
  111. data/lib/pulp_npm_client/models/npm_package.rb +0 -337
  112. data/spec/api/pulp_npm_packages_api_spec.rb +0 -48
  113. data/spec/api_client_spec.rb +0 -188
  114. data/spec/configuration_spec.rb +0 -42
  115. data/spec/models/npm_package_spec.rb +0 -77
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: v3
7
7
  Contact: pulp-list@redhat.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ Generator version: 7.10.0
10
10
 
11
11
  =end
12
12
 
@@ -51,21 +51,22 @@ module PulpNpmClient
51
51
  # header parameters
52
52
  header_params = opts[:header_params] || {}
53
53
  # HTTP header 'Accept' (if needed)
54
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
55
 
56
56
  # form parameters
57
57
  form_params = opts[:form_params] || {}
58
58
 
59
59
  # http body (model)
60
- post_body = opts[:body]
60
+ post_body = opts[:debug_body]
61
61
 
62
62
  # return_type
63
- return_type = opts[:return_type] || 'AsyncOperationResponse'
63
+ return_type = opts[:debug_return_type] || 'AsyncOperationResponse'
64
64
 
65
65
  # auth_names
66
- auth_names = opts[:auth_names] || ['basicAuth']
66
+ auth_names = opts[:debug_auth_names] || ['basicAuth']
67
67
 
68
68
  new_options = opts.merge(
69
+ :operation => :"RepositoriesNpmVersionsApi.delete",
69
70
  :header_params => header_params,
70
71
  :query_params => query_params,
71
72
  :form_params => form_params,
@@ -85,25 +86,29 @@ module PulpNpmClient
85
86
  # A ViewSet for a NpmRepositoryVersion represents a single Npm repository version.
86
87
  # @param npm_npm_repository_href [String]
87
88
  # @param [Hash] opts the optional parameters
88
- # @option opts [String] :content Content Unit referenced by HREF
89
- # @option opts [String] :content__in Content Unit referenced by HREF
89
+ # @option opts [String] :content Content Unit referenced by HREF/PRN
90
+ # @option opts [Array<String>] :content__in Multiple values may be separated by commas.
90
91
  # @option opts [Integer] :limit Number of results to return per page.
91
- # @option opts [Integer] :number
92
+ # @option opts [Integer] :number Filter results where number matches value
92
93
  # @option opts [Integer] :number__gt Filter results where number is greater than value
93
94
  # @option opts [Integer] :number__gte Filter results where number is greater than or equal to value
94
95
  # @option opts [Integer] :number__lt Filter results where number is less than value
95
96
  # @option opts [Integer] :number__lte Filter results where number is less than or equal to value
96
97
  # @option opts [Array<Integer>] :number__range Filter results where number is between two comma separated values
97
98
  # @option opts [Integer] :offset The initial index from which to return the results.
98
- # @option opts [Array<String>] :ordering Ordering
99
- # @option opts [DateTime] :pulp_created ISO 8601 formatted dates are supported
100
- # @option opts [DateTime] :pulp_created__gt Filter results where pulp_created is greater than value
101
- # @option opts [DateTime] :pulp_created__gte Filter results where pulp_created is greater than or equal to value
102
- # @option opts [DateTime] :pulp_created__lt Filter results where pulp_created is less than value
103
- # @option opts [DateTime] :pulp_created__lte Filter results where pulp_created is less than or equal to value
104
- # @option opts [Array<DateTime>] :pulp_created__range Filter results where pulp_created is between two comma separated values
105
- # @option opts [String] :fields A list of fields to include in the response.
106
- # @option opts [String] :exclude_fields A list of fields to exclude from the response.
99
+ # @option opts [Array<String>] :ordering Ordering * &#x60;pulp_id&#x60; - Pulp id * &#x60;-pulp_id&#x60; - Pulp id (descending) * &#x60;pulp_created&#x60; - Pulp created * &#x60;-pulp_created&#x60; - Pulp created (descending) * &#x60;pulp_last_updated&#x60; - Pulp last updated * &#x60;-pulp_last_updated&#x60; - Pulp last updated (descending) * &#x60;number&#x60; - Number * &#x60;-number&#x60; - Number (descending) * &#x60;complete&#x60; - Complete * &#x60;-complete&#x60; - Complete (descending) * &#x60;info&#x60; - Info * &#x60;-info&#x60; - Info (descending) * &#x60;pk&#x60; - Pk * &#x60;-pk&#x60; - Pk (descending)
100
+ # @option opts [Array<String>] :prn__in Multiple values may be separated by commas.
101
+ # @option opts [Time] :pulp_created Filter results where pulp_created matches value
102
+ # @option opts [Time] :pulp_created__gt Filter results where pulp_created is greater than value
103
+ # @option opts [Time] :pulp_created__gte Filter results where pulp_created is greater than or equal to value
104
+ # @option opts [Boolean] :pulp_created__isnull Filter results where pulp_created has a null value
105
+ # @option opts [Time] :pulp_created__lt Filter results where pulp_created is less than value
106
+ # @option opts [Time] :pulp_created__lte Filter results where pulp_created is less than or equal to value
107
+ # @option opts [Array<Time>] :pulp_created__range Filter results where pulp_created is between two comma separated values
108
+ # @option opts [Array<String>] :pulp_href__in Multiple values may be separated by commas.
109
+ # @option opts [String] :q Filter results by using NOT, AND and OR operations on other filters
110
+ # @option opts [Array<String>] :fields A list of fields to include in the response.
111
+ # @option opts [Array<String>] :exclude_fields A list of fields to exclude from the response.
107
112
  # @return [PaginatedRepositoryVersionResponseList]
108
113
  def list(npm_npm_repository_href, opts = {})
109
114
  data, _status_code, _headers = list_with_http_info(npm_npm_repository_href, opts)
@@ -114,25 +119,29 @@ module PulpNpmClient
114
119
  # A ViewSet for a NpmRepositoryVersion represents a single Npm repository version.
115
120
  # @param npm_npm_repository_href [String]
116
121
  # @param [Hash] opts the optional parameters
117
- # @option opts [String] :content Content Unit referenced by HREF
118
- # @option opts [String] :content__in Content Unit referenced by HREF
122
+ # @option opts [String] :content Content Unit referenced by HREF/PRN
123
+ # @option opts [Array<String>] :content__in Multiple values may be separated by commas.
119
124
  # @option opts [Integer] :limit Number of results to return per page.
120
- # @option opts [Integer] :number
125
+ # @option opts [Integer] :number Filter results where number matches value
121
126
  # @option opts [Integer] :number__gt Filter results where number is greater than value
122
127
  # @option opts [Integer] :number__gte Filter results where number is greater than or equal to value
123
128
  # @option opts [Integer] :number__lt Filter results where number is less than value
124
129
  # @option opts [Integer] :number__lte Filter results where number is less than or equal to value
125
130
  # @option opts [Array<Integer>] :number__range Filter results where number is between two comma separated values
126
131
  # @option opts [Integer] :offset The initial index from which to return the results.
127
- # @option opts [Array<String>] :ordering Ordering
128
- # @option opts [DateTime] :pulp_created ISO 8601 formatted dates are supported
129
- # @option opts [DateTime] :pulp_created__gt Filter results where pulp_created is greater than value
130
- # @option opts [DateTime] :pulp_created__gte Filter results where pulp_created is greater than or equal to value
131
- # @option opts [DateTime] :pulp_created__lt Filter results where pulp_created is less than value
132
- # @option opts [DateTime] :pulp_created__lte Filter results where pulp_created is less than or equal to value
133
- # @option opts [Array<DateTime>] :pulp_created__range Filter results where pulp_created is between two comma separated values
134
- # @option opts [String] :fields A list of fields to include in the response.
135
- # @option opts [String] :exclude_fields A list of fields to exclude from the response.
132
+ # @option opts [Array<String>] :ordering Ordering * &#x60;pulp_id&#x60; - Pulp id * &#x60;-pulp_id&#x60; - Pulp id (descending) * &#x60;pulp_created&#x60; - Pulp created * &#x60;-pulp_created&#x60; - Pulp created (descending) * &#x60;pulp_last_updated&#x60; - Pulp last updated * &#x60;-pulp_last_updated&#x60; - Pulp last updated (descending) * &#x60;number&#x60; - Number * &#x60;-number&#x60; - Number (descending) * &#x60;complete&#x60; - Complete * &#x60;-complete&#x60; - Complete (descending) * &#x60;info&#x60; - Info * &#x60;-info&#x60; - Info (descending) * &#x60;pk&#x60; - Pk * &#x60;-pk&#x60; - Pk (descending)
133
+ # @option opts [Array<String>] :prn__in Multiple values may be separated by commas.
134
+ # @option opts [Time] :pulp_created Filter results where pulp_created matches value
135
+ # @option opts [Time] :pulp_created__gt Filter results where pulp_created is greater than value
136
+ # @option opts [Time] :pulp_created__gte Filter results where pulp_created is greater than or equal to value
137
+ # @option opts [Boolean] :pulp_created__isnull Filter results where pulp_created has a null value
138
+ # @option opts [Time] :pulp_created__lt Filter results where pulp_created is less than value
139
+ # @option opts [Time] :pulp_created__lte Filter results where pulp_created is less than or equal to value
140
+ # @option opts [Array<Time>] :pulp_created__range Filter results where pulp_created is between two comma separated values
141
+ # @option opts [Array<String>] :pulp_href__in Multiple values may be separated by commas.
142
+ # @option opts [String] :q Filter results by using NOT, AND and OR operations on other filters
143
+ # @option opts [Array<String>] :fields A list of fields to include in the response.
144
+ # @option opts [Array<String>] :exclude_fields A list of fields to exclude from the response.
136
145
  # @return [Array<(PaginatedRepositoryVersionResponseList, Integer, Hash)>] PaginatedRepositoryVersionResponseList data, response status code and response headers
137
146
  def list_with_http_info(npm_npm_repository_href, opts = {})
138
147
  if @api_client.config.debugging
@@ -142,7 +151,7 @@ module PulpNpmClient
142
151
  if @api_client.config.client_side_validation && npm_npm_repository_href.nil?
143
152
  fail ArgumentError, "Missing the required parameter 'npm_npm_repository_href' when calling RepositoriesNpmVersionsApi.list"
144
153
  end
145
- allowable_values = ["-added_memberships", "-base_version", "-complete", "-counts", "-distribution", "-group_roles", "-number", "-pk", "-publication", "-pulp_created", "-pulp_id", "-pulp_labels", "-pulp_last_updated", "-removed_memberships", "-repository", "-user_roles", "-versions", "added_memberships", "base_version", "complete", "counts", "distribution", "group_roles", "number", "pk", "publication", "pulp_created", "pulp_id", "pulp_labels", "pulp_last_updated", "removed_memberships", "repository", "user_roles", "versions"]
154
+ allowable_values = ["-complete", "-info", "-number", "-pk", "-pulp_created", "-pulp_id", "-pulp_last_updated", "complete", "info", "number", "pk", "pulp_created", "pulp_id", "pulp_last_updated"]
146
155
  if @api_client.config.client_side_validation && opts[:'ordering'] && !opts[:'ordering'].all? { |item| allowable_values.include?(item) }
147
156
  fail ArgumentError, "invalid value for \"ordering\", must include one of #{allowable_values}"
148
157
  end
@@ -152,7 +161,7 @@ module PulpNpmClient
152
161
  # query parameters
153
162
  query_params = opts[:query_params] || {}
154
163
  query_params[:'content'] = opts[:'content'] if !opts[:'content'].nil?
155
- query_params[:'content__in'] = opts[:'content__in'] if !opts[:'content__in'].nil?
164
+ query_params[:'content__in'] = @api_client.build_collection_param(opts[:'content__in'], :csv) if !opts[:'content__in'].nil?
156
165
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
157
166
  query_params[:'number'] = opts[:'number'] if !opts[:'number'].nil?
158
167
  query_params[:'number__gt'] = opts[:'number__gt'] if !opts[:'number__gt'].nil?
@@ -162,33 +171,38 @@ module PulpNpmClient
162
171
  query_params[:'number__range'] = @api_client.build_collection_param(opts[:'number__range'], :csv) if !opts[:'number__range'].nil?
163
172
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
164
173
  query_params[:'ordering'] = @api_client.build_collection_param(opts[:'ordering'], :csv) if !opts[:'ordering'].nil?
174
+ query_params[:'prn__in'] = @api_client.build_collection_param(opts[:'prn__in'], :csv) if !opts[:'prn__in'].nil?
165
175
  query_params[:'pulp_created'] = opts[:'pulp_created'] if !opts[:'pulp_created'].nil?
166
176
  query_params[:'pulp_created__gt'] = opts[:'pulp_created__gt'] if !opts[:'pulp_created__gt'].nil?
167
177
  query_params[:'pulp_created__gte'] = opts[:'pulp_created__gte'] if !opts[:'pulp_created__gte'].nil?
178
+ query_params[:'pulp_created__isnull'] = opts[:'pulp_created__isnull'] if !opts[:'pulp_created__isnull'].nil?
168
179
  query_params[:'pulp_created__lt'] = opts[:'pulp_created__lt'] if !opts[:'pulp_created__lt'].nil?
169
180
  query_params[:'pulp_created__lte'] = opts[:'pulp_created__lte'] if !opts[:'pulp_created__lte'].nil?
170
181
  query_params[:'pulp_created__range'] = @api_client.build_collection_param(opts[:'pulp_created__range'], :csv) if !opts[:'pulp_created__range'].nil?
171
- query_params[:'fields'] = opts[:'fields'] if !opts[:'fields'].nil?
172
- query_params[:'exclude_fields'] = opts[:'exclude_fields'] if !opts[:'exclude_fields'].nil?
182
+ query_params[:'pulp_href__in'] = @api_client.build_collection_param(opts[:'pulp_href__in'], :csv) if !opts[:'pulp_href__in'].nil?
183
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
184
+ query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :multi) if !opts[:'fields'].nil?
185
+ query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :multi) if !opts[:'exclude_fields'].nil?
173
186
 
174
187
  # header parameters
175
188
  header_params = opts[:header_params] || {}
176
189
  # HTTP header 'Accept' (if needed)
177
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
190
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
178
191
 
179
192
  # form parameters
180
193
  form_params = opts[:form_params] || {}
181
194
 
182
195
  # http body (model)
183
- post_body = opts[:body]
196
+ post_body = opts[:debug_body]
184
197
 
185
198
  # return_type
186
- return_type = opts[:return_type] || 'PaginatedRepositoryVersionResponseList'
199
+ return_type = opts[:debug_return_type] || 'PaginatedRepositoryVersionResponseList'
187
200
 
188
201
  # auth_names
189
- auth_names = opts[:auth_names] || ['basicAuth']
202
+ auth_names = opts[:debug_auth_names] || ['basicAuth']
190
203
 
191
204
  new_options = opts.merge(
205
+ :operation => :"RepositoriesNpmVersionsApi.list",
192
206
  :header_params => header_params,
193
207
  :query_params => query_params,
194
208
  :form_params => form_params,
@@ -208,8 +222,8 @@ module PulpNpmClient
208
222
  # A ViewSet for a NpmRepositoryVersion represents a single Npm repository version.
209
223
  # @param npm_npm_repository_version_href [String]
210
224
  # @param [Hash] opts the optional parameters
211
- # @option opts [String] :fields A list of fields to include in the response.
212
- # @option opts [String] :exclude_fields A list of fields to exclude from the response.
225
+ # @option opts [Array<String>] :fields A list of fields to include in the response.
226
+ # @option opts [Array<String>] :exclude_fields A list of fields to exclude from the response.
213
227
  # @return [RepositoryVersionResponse]
214
228
  def read(npm_npm_repository_version_href, opts = {})
215
229
  data, _status_code, _headers = read_with_http_info(npm_npm_repository_version_href, opts)
@@ -220,8 +234,8 @@ module PulpNpmClient
220
234
  # A ViewSet for a NpmRepositoryVersion represents a single Npm repository version.
221
235
  # @param npm_npm_repository_version_href [String]
222
236
  # @param [Hash] opts the optional parameters
223
- # @option opts [String] :fields A list of fields to include in the response.
224
- # @option opts [String] :exclude_fields A list of fields to exclude from the response.
237
+ # @option opts [Array<String>] :fields A list of fields to include in the response.
238
+ # @option opts [Array<String>] :exclude_fields A list of fields to exclude from the response.
225
239
  # @return [Array<(RepositoryVersionResponse, Integer, Hash)>] RepositoryVersionResponse data, response status code and response headers
226
240
  def read_with_http_info(npm_npm_repository_version_href, opts = {})
227
241
  if @api_client.config.debugging
@@ -236,27 +250,28 @@ module PulpNpmClient
236
250
 
237
251
  # query parameters
238
252
  query_params = opts[:query_params] || {}
239
- query_params[:'fields'] = opts[:'fields'] if !opts[:'fields'].nil?
240
- query_params[:'exclude_fields'] = opts[:'exclude_fields'] if !opts[:'exclude_fields'].nil?
253
+ query_params[:'fields'] = @api_client.build_collection_param(opts[:'fields'], :multi) if !opts[:'fields'].nil?
254
+ query_params[:'exclude_fields'] = @api_client.build_collection_param(opts[:'exclude_fields'], :multi) if !opts[:'exclude_fields'].nil?
241
255
 
242
256
  # header parameters
243
257
  header_params = opts[:header_params] || {}
244
258
  # HTTP header 'Accept' (if needed)
245
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
259
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
246
260
 
247
261
  # form parameters
248
262
  form_params = opts[:form_params] || {}
249
263
 
250
264
  # http body (model)
251
- post_body = opts[:body]
265
+ post_body = opts[:debug_body]
252
266
 
253
267
  # return_type
254
- return_type = opts[:return_type] || 'RepositoryVersionResponse'
268
+ return_type = opts[:debug_return_type] || 'RepositoryVersionResponse'
255
269
 
256
270
  # auth_names
257
- auth_names = opts[:auth_names] || ['basicAuth']
271
+ auth_names = opts[:debug_auth_names] || ['basicAuth']
258
272
 
259
273
  new_options = opts.merge(
274
+ :operation => :"RepositoriesNpmVersionsApi.read",
260
275
  :header_params => header_params,
261
276
  :query_params => query_params,
262
277
  :form_params => form_params,
@@ -308,23 +323,27 @@ module PulpNpmClient
308
323
  # header parameters
309
324
  header_params = opts[:header_params] || {}
310
325
  # HTTP header 'Accept' (if needed)
311
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
326
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
312
327
  # HTTP header 'Content-Type'
313
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data'])
328
+ content_type = @api_client.select_header_content_type(['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data'])
329
+ if !content_type.nil?
330
+ header_params['Content-Type'] = content_type
331
+ end
314
332
 
315
333
  # form parameters
316
334
  form_params = opts[:form_params] || {}
317
335
 
318
336
  # http body (model)
319
- post_body = opts[:body] || @api_client.object_to_http_body(repair)
337
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(repair)
320
338
 
321
339
  # return_type
322
- return_type = opts[:return_type] || 'AsyncOperationResponse'
340
+ return_type = opts[:debug_return_type] || 'AsyncOperationResponse'
323
341
 
324
342
  # auth_names
325
- auth_names = opts[:auth_names] || ['basicAuth']
343
+ auth_names = opts[:debug_auth_names] || ['basicAuth']
326
344
 
327
345
  new_options = opts.merge(
346
+ :operation => :"RepositoriesNpmVersionsApi.repair",
328
347
  :header_params => header_params,
329
348
  :query_params => query_params,
330
349
  :form_params => form_params,
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: v3
7
7
  Contact: pulp-list@redhat.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ Generator version: 7.10.0
10
10
 
11
11
  =end
12
12
 
@@ -14,7 +14,12 @@ require 'date'
14
14
  require 'json'
15
15
  require 'logger'
16
16
  require 'tempfile'
17
+ require 'time'
17
18
  require 'faraday'
19
+ require 'faraday/multipart' if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0')
20
+ require 'marcel'
21
+ require 'pathname'
22
+
18
23
 
19
24
  module PulpNpmClient
20
25
  class ApiClient
@@ -46,51 +51,38 @@ module PulpNpmClient
46
51
  # @return [Array<(Object, Integer, Hash)>] an array of 3 elements:
47
52
  # the data deserialized from response body (could be nil), response status code and response headers.
48
53
  def call_api(http_method, path, opts = {})
49
- ssl_options = {
50
- :ca_file => @config.ssl_ca_file,
51
- :verify => @config.ssl_verify,
52
- :verify_mode => @config.ssl_verify_mode,
53
- :client_cert => @config.ssl_client_cert,
54
- :client_key => @config.ssl_client_key
55
- }
56
- request_options = {
57
- :params_encoder => @config.params_encoder
58
- }
59
- connection = Faraday.new(:url => config.base_url, :ssl => ssl_options, :request => request_options) do |conn|
60
- conn.basic_auth(config.username, config.password)
61
- if opts[:header_params]["Content-Type"] == "multipart/form-data"
62
- conn.request :multipart
63
- conn.request :url_encoded
64
- end
65
- conn.adapter(Faraday.default_adapter)
66
- end
67
-
54
+ stream = nil
68
55
  begin
69
- response = connection.public_send(http_method.to_sym.downcase) do |req|
70
- build_request(http_method, path, req, opts)
56
+ response = connection(opts).public_send(http_method.to_sym.downcase) do |req|
57
+ request = build_request(http_method, path, req, opts)
58
+ stream = download_file(request) if opts[:return_type] == 'File' || opts[:return_type] == 'Binary'
71
59
  end
72
60
 
73
- if @config.debugging
74
- @config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n"
61
+ if config.debugging
62
+ config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n"
75
63
  end
76
64
 
77
65
  unless response.success?
78
- if response.status == 0
66
+ if response.status == 0 && response.respond_to?(:return_message)
79
67
  # Errors from libcurl will be made visible here
80
- fail ApiError.new(:code => 0,
81
- :message => response.return_message)
68
+ fail ApiError.new(code: 0,
69
+ message: response.return_message)
82
70
  else
83
- fail ApiError.new(:code => response.status,
84
- :response_headers => response.headers,
85
- :response_body => response.body),
71
+ fail ApiError.new(code: response.status,
72
+ response_headers: response.headers,
73
+ response_body: response.body),
86
74
  response.reason_phrase
87
75
  end
88
76
  end
89
77
  rescue Faraday::TimeoutError
90
78
  fail ApiError.new('Connection timed out')
79
+ rescue Faraday::ConnectionFailed
80
+ fail ApiError.new('Connection failed')
91
81
  end
92
82
 
93
- if opts[:return_type]
83
+ if opts[:return_type] == 'File' || opts[:return_type] == 'Binary'
84
+ data = deserialize_file(response, stream)
85
+ elsif opts[:return_type]
94
86
  data = deserialize(response, opts[:return_type])
95
87
  else
96
88
  data = nil
@@ -106,9 +98,9 @@ module PulpNpmClient
106
98
  # @option opts [Hash] :query_params Query parameters
107
99
  # @option opts [Hash] :form_params Query parameters
108
100
  # @option opts [Object] :body HTTP body (JSON/XML)
109
- # @return [Typhoeus::Request] A Typhoeus Request
101
+ # @return [Faraday::Request] A Faraday Request
110
102
  def build_request(http_method, path, request, opts = {})
111
- url = build_request_url(path)
103
+ url = build_request_url(path, opts)
112
104
  http_method = http_method.to_sym.downcase
113
105
 
114
106
  header_params = @default_headers.merge(opts[:header_params] || {})
@@ -117,24 +109,21 @@ module PulpNpmClient
117
109
 
118
110
  update_params_for_auth! header_params, query_params, opts[:auth_names]
119
111
 
120
- req_opts = {
121
- :params_encoding => @config.params_encoding,
122
- :timeout => @config.timeout,
123
- :verbose => @config.debugging
124
- }
125
-
126
112
  if [:post, :patch, :put, :delete].include?(http_method)
127
113
  req_body = build_request_body(header_params, form_params, opts[:body])
128
- if @config.debugging
129
- @config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
114
+ if config.debugging
115
+ config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
130
116
  end
131
117
  end
132
118
  request.headers = header_params
133
119
  request.body = req_body
134
- request.options = OpenStruct.new(req_opts)
120
+
121
+ # Overload default options only if provided
122
+ request.options.params_encoder = config.params_encoder if config.params_encoder
123
+ request.options.timeout = config.timeout if config.timeout
124
+
135
125
  request.url url
136
126
  request.params = query_params
137
- download_file(request) if opts[:return_type] == 'File'
138
127
  request
139
128
  end
140
129
 
@@ -153,8 +142,7 @@ module PulpNpmClient
153
142
  form_params.each do |key, value|
154
143
  case value
155
144
  when ::File, ::Tempfile
156
- # TODO hardcode to application/octet-stream, need better way to detect content type
157
- data[key] = Faraday::UploadIO.new(value.path, 'application/octet-stream', value.path)
145
+ data[key] = Faraday::FilePart.new(value.path, Marcel::MimeType.for(Pathname.new(value.path)))
158
146
  when ::Array, nil
159
147
  # let Faraday handle Array and nil parameters
160
148
  data[key] = value
@@ -170,6 +158,95 @@ module PulpNpmClient
170
158
  data
171
159
  end
172
160
 
161
+ def download_file(request)
162
+ stream = []
163
+
164
+ # handle streaming Responses
165
+ request.options.on_data = Proc.new do |chunk, overall_received_bytes|
166
+ stream << chunk
167
+ end
168
+
169
+ stream
170
+ end
171
+
172
+ def deserialize_file(response, stream)
173
+ body = response.body
174
+ encoding = body.encoding
175
+
176
+ # reconstruct content
177
+ content = stream.join
178
+ content = content.unpack('m').join if response.headers['Content-Transfer-Encoding'] == 'binary'
179
+ content = content.force_encoding(encoding)
180
+
181
+ # return byte stream
182
+ return content if @config.return_binary_data == true
183
+
184
+ # return file instead of binary data
185
+ content_disposition = response.headers['Content-Disposition']
186
+ if content_disposition && content_disposition =~ /filename=/i
187
+ filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
188
+ prefix = sanitize_filename(filename)
189
+ else
190
+ prefix = 'download-'
191
+ end
192
+ prefix = prefix + '-' unless prefix.end_with?('-')
193
+
194
+ tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
195
+ tempfile.write(content)
196
+ tempfile.close
197
+
198
+ config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
199
+ "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
200
+ "will be deleted automatically with GC. It's also recommended to delete the temp file "\
201
+ "explicitly with `tempfile.delete`"
202
+ tempfile
203
+ end
204
+
205
+ def connection(opts)
206
+ opts[:header_params]['Content-Type'] == 'multipart/form-data' ? connection_multipart : connection_regular
207
+ end
208
+
209
+ def connection_multipart
210
+ @connection_multipart ||= build_connection do |conn|
211
+ conn.request :multipart
212
+ conn.request :url_encoded
213
+ end
214
+ end
215
+
216
+ def connection_regular
217
+ @connection_regular ||= build_connection
218
+ end
219
+
220
+ def build_connection
221
+ Faraday.new(url: config.base_url, ssl: ssl_options, proxy: config.proxy) do |conn|
222
+ basic_auth(conn)
223
+ config.configure_middleware(conn)
224
+ yield(conn) if block_given?
225
+ conn.adapter(Faraday.default_adapter)
226
+ config.configure_connection(conn)
227
+ end
228
+ end
229
+
230
+ def ssl_options
231
+ {
232
+ ca_file: config.ssl_ca_file,
233
+ verify: config.ssl_verify,
234
+ verify_mode: config.ssl_verify_mode,
235
+ client_cert: config.ssl_client_cert,
236
+ client_key: config.ssl_client_key
237
+ }
238
+ end
239
+
240
+ def basic_auth(conn)
241
+ if config.username && config.password
242
+ if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0')
243
+ conn.request(:authorization, :basic, config.username, config.password)
244
+ else
245
+ conn.request(:basic_auth, config.username, config.password)
246
+ end
247
+ end
248
+ end
249
+
173
250
  # Check if the given MIME is a JSON MIME.
174
251
  # JSON MIME examples:
175
252
  # application/json
@@ -179,7 +256,7 @@ module PulpNpmClient
179
256
  # @param [String] mime MIME
180
257
  # @return [Boolean] True if the MIME is application/json
181
258
  def json_mime?(mime)
182
- (mime == '*/*') || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
259
+ (mime == '*/*') || !(mime =~ /^Application\/.*json(?!p)(;.*)?/i).nil?
183
260
  end
184
261
 
185
262
  # Deserialize the response to the given return type.
@@ -188,15 +265,10 @@ module PulpNpmClient
188
265
  # @param [String] return_type some examples: "User", "Array<User>", "Hash<String, Integer>"
189
266
  def deserialize(response, return_type)
190
267
  body = response.body
191
-
192
- # handle file downloading - return the File instance processed in request callbacks
193
- # note that response body is empty when the file is written in chunks in request on_body callback
194
- return @tempfile if return_type == 'File'
195
-
196
268
  return nil if body.nil? || body.empty?
197
269
 
198
270
  # return response body directly for String return type
199
- return body if return_type == 'String'
271
+ return body.to_s if return_type == 'String'
200
272
 
201
273
  # ensuring a default content type
202
274
  content_type = response.headers['Content-Type'] || 'application/json'
@@ -206,7 +278,7 @@ module PulpNpmClient
206
278
  begin
207
279
  data = JSON.parse("[#{body}]", :symbolize_names => true)[0]
208
280
  rescue JSON::ParserError => e
209
- if %w(String Date DateTime).include?(return_type)
281
+ if %w(String Date Time).include?(return_type)
210
282
  data = body
211
283
  else
212
284
  raise e
@@ -231,9 +303,9 @@ module PulpNpmClient
231
303
  data.to_f
232
304
  when 'Boolean'
233
305
  data == true
234
- when 'DateTime'
306
+ when 'Time'
235
307
  # parse date time (expecting ISO 8601 format)
236
- DateTime.parse data
308
+ Time.parse data
237
309
  when 'Date'
238
310
  # parse date time (expecting ISO 8601 format)
239
311
  Date.parse data
@@ -251,46 +323,9 @@ module PulpNpmClient
251
323
  data.each { |k, v| hash[k] = convert_to_type(v, sub_type) }
252
324
  end
253
325
  else
254
- # models, e.g. Pet
255
- PulpNpmClient.const_get(return_type).build_from_hash(data)
256
- end
257
- end
258
-
259
- # Save response body into a file in (the defined) temporary folder, using the filename
260
- # from the "Content-Disposition" header if provided, otherwise a random filename.
261
- # The response body is written to the file in chunks in order to handle files which
262
- # size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
263
- # process can use.
264
- #
265
- # @see Configuration#temp_folder_path
266
- def download_file(request)
267
- tempfile = nil
268
- encoding = nil
269
- request.on_headers do |response|
270
- content_disposition = response.headers['Content-Disposition']
271
- if content_disposition && content_disposition =~ /filename=/i
272
- filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
273
- prefix = sanitize_filename(filename)
274
- else
275
- prefix = 'download-'
276
- end
277
- prefix = prefix + '-' unless prefix.end_with?('-')
278
- encoding = response.body.encoding
279
- tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
280
- @tempfile = tempfile
281
- end
282
- request.on_body do |chunk|
283
- chunk.force_encoding(encoding)
284
- tempfile.write(chunk)
285
- end
286
- request.on_complete do |response|
287
- if tempfile
288
- tempfile.close
289
- @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
290
- "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
291
- "will be deleted automatically with GC. It's also recommended to delete the temp file "\
292
- "explicitly with `tempfile.delete`"
293
- end
326
+ # models (e.g. Pet) or oneOf
327
+ klass = PulpNpmClient.const_get(return_type)
328
+ klass.respond_to?(:openapi_one_of) ? klass.build(data) : klass.build_from_hash(data)
294
329
  end
295
330
  end
296
331
 
@@ -300,16 +335,16 @@ module PulpNpmClient
300
335
  # @param [String] filename the filename to be sanitized
301
336
  # @return [String] the sanitized filename
302
337
  def sanitize_filename(filename)
303
- filename.gsub(/.*[\/\\]/, '')
338
+ filename.split(/[\/\\]/).last
304
339
  end
305
340
 
306
- def build_request_url(path)
341
+ def build_request_url(path, opts = {})
307
342
  # Add leading and trailing slashes to path
308
343
  path = "/#{path}".gsub(/\/+/, '/')
309
- @config.base_url + path
344
+ @config.base_url(opts[:operation]) + path
310
345
  end
311
346
 
312
- # Update hearder and query params based on authentication settings.
347
+ # Update header and query params based on authentication settings.
313
348
  #
314
349
  # @param [Hash] header_params Header parameters
315
350
  # @param [Hash] query_params Query parameters
@@ -321,7 +356,7 @@ module PulpNpmClient
321
356
  case auth_setting[:in]
322
357
  when 'header' then header_params[auth_setting[:key]] = auth_setting[:value]
323
358
  when 'query' then query_params[auth_setting[:key]] = auth_setting[:value]
324
- else fail ArgumentError, 'Authentication token must be in `query` of `header`'
359
+ else fail ArgumentError, 'Authentication token must be in `query` or `header`'
325
360
  end
326
361
  end
327
362
  end
@@ -348,8 +383,8 @@ module PulpNpmClient
348
383
  # @param [Array] content_types array for Content-Type
349
384
  # @return [String] the Content-Type header (e.g. application/json)
350
385
  def select_header_content_type(content_types)
351
- # use application/json by default
352
- return 'application/json' if content_types.nil? || content_types.empty?
386
+ # return nil by default
387
+ return if content_types.nil? || content_types.empty?
353
388
  # use JSON when present, otherwise use the first one
354
389
  json_content_type = content_types.find { |s| json_mime?(s) }
355
390
  json_content_type || content_types.first