kleister 1.0.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 (96) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +18 -0
  3. data/CONTRIBUTING.md +121 -0
  4. data/DCO +34 -0
  5. data/LICENSE +202 -0
  6. data/README.md +67 -0
  7. data/lib/kleister/api/auth_api.rb +331 -0
  8. data/lib/kleister/api/fabric_api.rb +367 -0
  9. data/lib/kleister/api/forge_api.rb +367 -0
  10. data/lib/kleister/api/minecraft_api.rb +367 -0
  11. data/lib/kleister/api/mod_api.rb +1603 -0
  12. data/lib/kleister/api/neoforge_api.rb +367 -0
  13. data/lib/kleister/api/pack_api.rb +1603 -0
  14. data/lib/kleister/api/profile_api.rb +198 -0
  15. data/lib/kleister/api/quilt_api.rb +367 -0
  16. data/lib/kleister/api/team_api.rb +1283 -0
  17. data/lib/kleister/api/user_api.rb +1283 -0
  18. data/lib/kleister/api_client.rb +429 -0
  19. data/lib/kleister/api_error.rb +56 -0
  20. data/lib/kleister/configuration.rb +397 -0
  21. data/lib/kleister/models/auth_login.rb +231 -0
  22. data/lib/kleister/models/auth_token.rb +227 -0
  23. data/lib/kleister/models/auth_verify.rb +227 -0
  24. data/lib/kleister/models/build.rb +365 -0
  25. data/lib/kleister/models/build_version.rb +261 -0
  26. data/lib/kleister/models/build_version_params.rb +233 -0
  27. data/lib/kleister/models/build_versions.rb +235 -0
  28. data/lib/kleister/models/builds.rb +227 -0
  29. data/lib/kleister/models/fabric.rb +235 -0
  30. data/lib/kleister/models/fabric_build_params.rb +233 -0
  31. data/lib/kleister/models/fabric_builds.rb +228 -0
  32. data/lib/kleister/models/fabrics.rb +220 -0
  33. data/lib/kleister/models/forge.rb +243 -0
  34. data/lib/kleister/models/forge_build_params.rb +233 -0
  35. data/lib/kleister/models/forge_builds.rb +227 -0
  36. data/lib/kleister/models/forges.rb +220 -0
  37. data/lib/kleister/models/minecraft.rb +243 -0
  38. data/lib/kleister/models/minecraft_build_params.rb +233 -0
  39. data/lib/kleister/models/minecraft_builds.rb +228 -0
  40. data/lib/kleister/models/minecrafts.rb +220 -0
  41. data/lib/kleister/models/mod.rb +350 -0
  42. data/lib/kleister/models/mod_team_params.rb +265 -0
  43. data/lib/kleister/models/mod_teams.rb +227 -0
  44. data/lib/kleister/models/mod_user_params.rb +265 -0
  45. data/lib/kleister/models/mod_users.rb +227 -0
  46. data/lib/kleister/models/mods.rb +220 -0
  47. data/lib/kleister/models/neoforge.rb +243 -0
  48. data/lib/kleister/models/neoforge_build_params.rb +233 -0
  49. data/lib/kleister/models/neoforge_builds.rb +228 -0
  50. data/lib/kleister/models/neoforges.rb +220 -0
  51. data/lib/kleister/models/notification.rb +228 -0
  52. data/lib/kleister/models/pack.rb +334 -0
  53. data/lib/kleister/models/pack_back.rb +289 -0
  54. data/lib/kleister/models/pack_icon.rb +289 -0
  55. data/lib/kleister/models/pack_logo.rb +289 -0
  56. data/lib/kleister/models/pack_team_params.rb +265 -0
  57. data/lib/kleister/models/pack_teams.rb +227 -0
  58. data/lib/kleister/models/pack_user_params.rb +265 -0
  59. data/lib/kleister/models/pack_users.rb +227 -0
  60. data/lib/kleister/models/packs.rb +220 -0
  61. data/lib/kleister/models/profile.rb +313 -0
  62. data/lib/kleister/models/quilt.rb +235 -0
  63. data/lib/kleister/models/quilt_build_params.rb +233 -0
  64. data/lib/kleister/models/quilt_builds.rb +227 -0
  65. data/lib/kleister/models/quilts.rb +220 -0
  66. data/lib/kleister/models/team.rb +267 -0
  67. data/lib/kleister/models/team_mod.rb +304 -0
  68. data/lib/kleister/models/team_mod_params.rb +265 -0
  69. data/lib/kleister/models/team_mods.rb +227 -0
  70. data/lib/kleister/models/team_pack.rb +304 -0
  71. data/lib/kleister/models/team_pack_params.rb +265 -0
  72. data/lib/kleister/models/team_packs.rb +227 -0
  73. data/lib/kleister/models/team_user_params.rb +265 -0
  74. data/lib/kleister/models/team_users.rb +227 -0
  75. data/lib/kleister/models/teams.rb +220 -0
  76. data/lib/kleister/models/user.rb +315 -0
  77. data/lib/kleister/models/user_auth.rb +234 -0
  78. data/lib/kleister/models/user_mod.rb +304 -0
  79. data/lib/kleister/models/user_mod_params.rb +265 -0
  80. data/lib/kleister/models/user_mods.rb +227 -0
  81. data/lib/kleister/models/user_pack.rb +304 -0
  82. data/lib/kleister/models/user_pack_params.rb +265 -0
  83. data/lib/kleister/models/user_packs.rb +227 -0
  84. data/lib/kleister/models/user_team.rb +304 -0
  85. data/lib/kleister/models/user_team_params.rb +265 -0
  86. data/lib/kleister/models/user_teams.rb +227 -0
  87. data/lib/kleister/models/users.rb +220 -0
  88. data/lib/kleister/models/validation.rb +220 -0
  89. data/lib/kleister/models/version.rb +280 -0
  90. data/lib/kleister/models/version_build_params.rb +233 -0
  91. data/lib/kleister/models/version_builds.rb +235 -0
  92. data/lib/kleister/models/version_file.rb +289 -0
  93. data/lib/kleister/models/versions.rb +227 -0
  94. data/lib/kleister/version.rb +13 -0
  95. data/lib/kleister.rb +121 -0
  96. metadata +180 -0
@@ -0,0 +1,1603 @@
1
+ # Kleister OpenAPI
2
+ #
3
+ # API definition for Kleister, manage mod packs for Minecraft
4
+ #
5
+ # The version of the OpenAPI document: 1.0.0-alpha1
6
+ # Contact: kleister@webhippie.de
7
+ # Generated by: https://openapi-generator.tech
8
+ # Generator version: 7.6.0
9
+ #
10
+
11
+ require 'cgi'
12
+
13
+ module Kleister
14
+ class ModApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+
21
+ # Attach a team to mod
22
+ # @param mod_id [String] A mod identifier or slug
23
+ # @param mod_team_params [ModTeamParams] The team data to attach
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [Notification]
26
+ def attach_mod_to_team(mod_id, mod_team_params, opts = {})
27
+ data, _status_code, _headers = attach_mod_to_team_with_http_info(mod_id, mod_team_params, opts)
28
+ data
29
+ end
30
+
31
+ # Attach a team to mod
32
+ # @param mod_id [String] A mod identifier or slug
33
+ # @param mod_team_params [ModTeamParams] The team data to attach
34
+ # @param [Hash] opts the optional parameters
35
+ # @return [Array<(Notification, Integer, Hash)>] Notification data, response status code and response headers
36
+ def attach_mod_to_team_with_http_info(mod_id, mod_team_params, opts = {})
37
+ if @api_client.config.debugging
38
+ @api_client.config.logger.debug 'Calling API: ModApi.attach_mod_to_team ...'
39
+ end
40
+ # verify the required parameter 'mod_id' is set
41
+ if @api_client.config.client_side_validation && mod_id.nil?
42
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.attach_mod_to_team"
43
+ end
44
+ # verify the required parameter 'mod_team_params' is set
45
+ if @api_client.config.client_side_validation && mod_team_params.nil?
46
+ raise ArgumentError, "Missing the required parameter 'mod_team_params' when calling ModApi.attach_mod_to_team"
47
+ end
48
+
49
+ # resource path
50
+ local_var_path = '/mods/{mod_id}/teams'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Accept' (if needed)
58
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
59
+ # HTTP header 'Content-Type'
60
+ content_type = @api_client.select_header_content_type(['application/json'])
61
+ unless content_type.nil?
62
+ header_params['Content-Type'] = content_type
63
+ end
64
+
65
+ # form parameters
66
+ form_params = opts[:form_params] || {}
67
+
68
+ # http body (model)
69
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(mod_team_params)
70
+
71
+ # return_type
72
+ return_type = opts[:debug_return_type] || 'Notification'
73
+
74
+ # auth_names
75
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
76
+
77
+ new_options = opts.merge(
78
+ operation: :'ModApi.attach_mod_to_team',
79
+ header_params: header_params,
80
+ query_params: query_params,
81
+ form_params: form_params,
82
+ body: post_body,
83
+ auth_names: auth_names,
84
+ return_type: return_type
85
+ )
86
+
87
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
88
+ if @api_client.config.debugging
89
+ @api_client.config.logger.debug "API called: ModApi#attach_mod_to_team\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
90
+ end
91
+ [data, status_code, headers]
92
+ end
93
+
94
+ # Attach a user to mod
95
+ # @param mod_id [String] A mod identifier or slug
96
+ # @param mod_user_params [ModUserParams] The user data to attach
97
+ # @param [Hash] opts the optional parameters
98
+ # @return [Notification]
99
+ def attach_mod_to_user(mod_id, mod_user_params, opts = {})
100
+ data, _status_code, _headers = attach_mod_to_user_with_http_info(mod_id, mod_user_params, opts)
101
+ data
102
+ end
103
+
104
+ # Attach a user to mod
105
+ # @param mod_id [String] A mod identifier or slug
106
+ # @param mod_user_params [ModUserParams] The user data to attach
107
+ # @param [Hash] opts the optional parameters
108
+ # @return [Array<(Notification, Integer, Hash)>] Notification data, response status code and response headers
109
+ def attach_mod_to_user_with_http_info(mod_id, mod_user_params, opts = {})
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug 'Calling API: ModApi.attach_mod_to_user ...'
112
+ end
113
+ # verify the required parameter 'mod_id' is set
114
+ if @api_client.config.client_side_validation && mod_id.nil?
115
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.attach_mod_to_user"
116
+ end
117
+ # verify the required parameter 'mod_user_params' is set
118
+ if @api_client.config.client_side_validation && mod_user_params.nil?
119
+ raise ArgumentError, "Missing the required parameter 'mod_user_params' when calling ModApi.attach_mod_to_user"
120
+ end
121
+
122
+ # resource path
123
+ local_var_path = '/mods/{mod_id}/users'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
124
+
125
+ # query parameters
126
+ query_params = opts[:query_params] || {}
127
+
128
+ # header parameters
129
+ header_params = opts[:header_params] || {}
130
+ # HTTP header 'Accept' (if needed)
131
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
132
+ # HTTP header 'Content-Type'
133
+ content_type = @api_client.select_header_content_type(['application/json'])
134
+ unless content_type.nil?
135
+ header_params['Content-Type'] = content_type
136
+ end
137
+
138
+ # form parameters
139
+ form_params = opts[:form_params] || {}
140
+
141
+ # http body (model)
142
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(mod_user_params)
143
+
144
+ # return_type
145
+ return_type = opts[:debug_return_type] || 'Notification'
146
+
147
+ # auth_names
148
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
149
+
150
+ new_options = opts.merge(
151
+ operation: :'ModApi.attach_mod_to_user',
152
+ header_params: header_params,
153
+ query_params: query_params,
154
+ form_params: form_params,
155
+ body: post_body,
156
+ auth_names: auth_names,
157
+ return_type: return_type
158
+ )
159
+
160
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
161
+ if @api_client.config.debugging
162
+ @api_client.config.logger.debug "API called: ModApi#attach_mod_to_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
163
+ end
164
+ [data, status_code, headers]
165
+ end
166
+
167
+ # Attach a build to a version
168
+ # @param mod_id [String] A mod identifier or slug
169
+ # @param version_id [String] A version identifier or slug
170
+ # @param version_build_params [VersionBuildParams] The version build data to attach
171
+ # @param [Hash] opts the optional parameters
172
+ # @return [Notification]
173
+ def attach_version_to_build(mod_id, version_id, version_build_params, opts = {})
174
+ data, _status_code, _headers = attach_version_to_build_with_http_info(mod_id, version_id, version_build_params, opts)
175
+ data
176
+ end
177
+
178
+ # Attach a build to a version
179
+ # @param mod_id [String] A mod identifier or slug
180
+ # @param version_id [String] A version identifier or slug
181
+ # @param version_build_params [VersionBuildParams] The version build data to attach
182
+ # @param [Hash] opts the optional parameters
183
+ # @return [Array<(Notification, Integer, Hash)>] Notification data, response status code and response headers
184
+ def attach_version_to_build_with_http_info(mod_id, version_id, version_build_params, opts = {})
185
+ if @api_client.config.debugging
186
+ @api_client.config.logger.debug 'Calling API: ModApi.attach_version_to_build ...'
187
+ end
188
+ # verify the required parameter 'mod_id' is set
189
+ if @api_client.config.client_side_validation && mod_id.nil?
190
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.attach_version_to_build"
191
+ end
192
+ # verify the required parameter 'version_id' is set
193
+ if @api_client.config.client_side_validation && version_id.nil?
194
+ raise ArgumentError, "Missing the required parameter 'version_id' when calling ModApi.attach_version_to_build"
195
+ end
196
+ # verify the required parameter 'version_build_params' is set
197
+ if @api_client.config.client_side_validation && version_build_params.nil?
198
+ raise ArgumentError, "Missing the required parameter 'version_build_params' when calling ModApi.attach_version_to_build"
199
+ end
200
+
201
+ # resource path
202
+ local_var_path = '/mods/{mod_id}/versions/{version_id}/builds'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s)).sub('{' + 'version_id' + '}', CGI.escape(version_id.to_s))
203
+
204
+ # query parameters
205
+ query_params = opts[:query_params] || {}
206
+
207
+ # header parameters
208
+ header_params = opts[:header_params] || {}
209
+ # HTTP header 'Accept' (if needed)
210
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
211
+ # HTTP header 'Content-Type'
212
+ content_type = @api_client.select_header_content_type(['application/json'])
213
+ unless content_type.nil?
214
+ header_params['Content-Type'] = content_type
215
+ end
216
+
217
+ # form parameters
218
+ form_params = opts[:form_params] || {}
219
+
220
+ # http body (model)
221
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(version_build_params)
222
+
223
+ # return_type
224
+ return_type = opts[:debug_return_type] || 'Notification'
225
+
226
+ # auth_names
227
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
228
+
229
+ new_options = opts.merge(
230
+ operation: :'ModApi.attach_version_to_build',
231
+ header_params: header_params,
232
+ query_params: query_params,
233
+ form_params: form_params,
234
+ body: post_body,
235
+ auth_names: auth_names,
236
+ return_type: return_type
237
+ )
238
+
239
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
240
+ if @api_client.config.debugging
241
+ @api_client.config.logger.debug "API called: ModApi#attach_version_to_build\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
242
+ end
243
+ [data, status_code, headers]
244
+ end
245
+
246
+ # Create a new mod
247
+ # @param mod [Mod] The mod data to create
248
+ # @param [Hash] opts the optional parameters
249
+ # @return [User]
250
+ def create_mod(mod, opts = {})
251
+ data, _status_code, _headers = create_mod_with_http_info(mod, opts)
252
+ data
253
+ end
254
+
255
+ # Create a new mod
256
+ # @param mod [Mod] The mod data to create
257
+ # @param [Hash] opts the optional parameters
258
+ # @return [Array<(User, Integer, Hash)>] User data, response status code and response headers
259
+ def create_mod_with_http_info(mod, opts = {})
260
+ if @api_client.config.debugging
261
+ @api_client.config.logger.debug 'Calling API: ModApi.create_mod ...'
262
+ end
263
+ # verify the required parameter 'mod' is set
264
+ if @api_client.config.client_side_validation && mod.nil?
265
+ raise ArgumentError, "Missing the required parameter 'mod' when calling ModApi.create_mod"
266
+ end
267
+
268
+ # resource path
269
+ local_var_path = '/mods'
270
+
271
+ # query parameters
272
+ query_params = opts[:query_params] || {}
273
+
274
+ # header parameters
275
+ header_params = opts[:header_params] || {}
276
+ # HTTP header 'Accept' (if needed)
277
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
278
+ # HTTP header 'Content-Type'
279
+ content_type = @api_client.select_header_content_type(['application/json'])
280
+ unless content_type.nil?
281
+ header_params['Content-Type'] = content_type
282
+ end
283
+
284
+ # form parameters
285
+ form_params = opts[:form_params] || {}
286
+
287
+ # http body (model)
288
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(mod)
289
+
290
+ # return_type
291
+ return_type = opts[:debug_return_type] || 'User'
292
+
293
+ # auth_names
294
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
295
+
296
+ new_options = opts.merge(
297
+ operation: :'ModApi.create_mod',
298
+ header_params: header_params,
299
+ query_params: query_params,
300
+ form_params: form_params,
301
+ body: post_body,
302
+ auth_names: auth_names,
303
+ return_type: return_type
304
+ )
305
+
306
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
307
+ if @api_client.config.debugging
308
+ @api_client.config.logger.debug "API called: ModApi#create_mod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
309
+ end
310
+ [data, status_code, headers]
311
+ end
312
+
313
+ # Create a new version for a mod
314
+ # @param mod_id [String] A mod identifier or slug
315
+ # @param version [Version] The version data to create
316
+ # @param [Hash] opts the optional parameters
317
+ # @return [Version]
318
+ def create_version(mod_id, version, opts = {})
319
+ data, _status_code, _headers = create_version_with_http_info(mod_id, version, opts)
320
+ data
321
+ end
322
+
323
+ # Create a new version for a mod
324
+ # @param mod_id [String] A mod identifier or slug
325
+ # @param version [Version] The version data to create
326
+ # @param [Hash] opts the optional parameters
327
+ # @return [Array<(Version, Integer, Hash)>] Version data, response status code and response headers
328
+ def create_version_with_http_info(mod_id, version, opts = {})
329
+ if @api_client.config.debugging
330
+ @api_client.config.logger.debug 'Calling API: ModApi.create_version ...'
331
+ end
332
+ # verify the required parameter 'mod_id' is set
333
+ if @api_client.config.client_side_validation && mod_id.nil?
334
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.create_version"
335
+ end
336
+ # verify the required parameter 'version' is set
337
+ if @api_client.config.client_side_validation && version.nil?
338
+ raise ArgumentError, "Missing the required parameter 'version' when calling ModApi.create_version"
339
+ end
340
+
341
+ # resource path
342
+ local_var_path = '/mods/{mod_id}/versions'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
343
+
344
+ # query parameters
345
+ query_params = opts[:query_params] || {}
346
+
347
+ # header parameters
348
+ header_params = opts[:header_params] || {}
349
+ # HTTP header 'Accept' (if needed)
350
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
351
+ # HTTP header 'Content-Type'
352
+ content_type = @api_client.select_header_content_type(['application/json'])
353
+ unless content_type.nil?
354
+ header_params['Content-Type'] = content_type
355
+ end
356
+
357
+ # form parameters
358
+ form_params = opts[:form_params] || {}
359
+
360
+ # http body (model)
361
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(version)
362
+
363
+ # return_type
364
+ return_type = opts[:debug_return_type] || 'Version'
365
+
366
+ # auth_names
367
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
368
+
369
+ new_options = opts.merge(
370
+ operation: :'ModApi.create_version',
371
+ header_params: header_params,
372
+ query_params: query_params,
373
+ form_params: form_params,
374
+ body: post_body,
375
+ auth_names: auth_names,
376
+ return_type: return_type
377
+ )
378
+
379
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
380
+ if @api_client.config.debugging
381
+ @api_client.config.logger.debug "API called: ModApi#create_version\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
382
+ end
383
+ [data, status_code, headers]
384
+ end
385
+
386
+ # Delete a specific mod
387
+ # @param mod_id [String] A mod identifier or slug
388
+ # @param [Hash] opts the optional parameters
389
+ # @return [Notification]
390
+ def delete_mod(mod_id, opts = {})
391
+ data, _status_code, _headers = delete_mod_with_http_info(mod_id, opts)
392
+ data
393
+ end
394
+
395
+ # Delete a specific mod
396
+ # @param mod_id [String] A mod identifier or slug
397
+ # @param [Hash] opts the optional parameters
398
+ # @return [Array<(Notification, Integer, Hash)>] Notification data, response status code and response headers
399
+ def delete_mod_with_http_info(mod_id, opts = {})
400
+ if @api_client.config.debugging
401
+ @api_client.config.logger.debug 'Calling API: ModApi.delete_mod ...'
402
+ end
403
+ # verify the required parameter 'mod_id' is set
404
+ if @api_client.config.client_side_validation && mod_id.nil?
405
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.delete_mod"
406
+ end
407
+
408
+ # resource path
409
+ local_var_path = '/mods/{mod_id}'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
410
+
411
+ # query parameters
412
+ query_params = opts[:query_params] || {}
413
+
414
+ # header parameters
415
+ header_params = opts[:header_params] || {}
416
+ # HTTP header 'Accept' (if needed)
417
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
418
+
419
+ # form parameters
420
+ form_params = opts[:form_params] || {}
421
+
422
+ # http body (model)
423
+ post_body = opts[:debug_body]
424
+
425
+ # return_type
426
+ return_type = opts[:debug_return_type] || 'Notification'
427
+
428
+ # auth_names
429
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
430
+
431
+ new_options = opts.merge(
432
+ operation: :'ModApi.delete_mod',
433
+ header_params: header_params,
434
+ query_params: query_params,
435
+ form_params: form_params,
436
+ body: post_body,
437
+ auth_names: auth_names,
438
+ return_type: return_type
439
+ )
440
+
441
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
442
+ if @api_client.config.debugging
443
+ @api_client.config.logger.debug "API called: ModApi#delete_mod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
444
+ end
445
+ [data, status_code, headers]
446
+ end
447
+
448
+ # Unlink a team from mod
449
+ # @param mod_id [String] A mod identifier or slug
450
+ # @param mod_team_params [ModTeamParams] The mod team data to unlink
451
+ # @param [Hash] opts the optional parameters
452
+ # @return [Notification]
453
+ def delete_mod_from_team(mod_id, mod_team_params, opts = {})
454
+ data, _status_code, _headers = delete_mod_from_team_with_http_info(mod_id, mod_team_params, opts)
455
+ data
456
+ end
457
+
458
+ # Unlink a team from mod
459
+ # @param mod_id [String] A mod identifier or slug
460
+ # @param mod_team_params [ModTeamParams] The mod team data to unlink
461
+ # @param [Hash] opts the optional parameters
462
+ # @return [Array<(Notification, Integer, Hash)>] Notification data, response status code and response headers
463
+ def delete_mod_from_team_with_http_info(mod_id, mod_team_params, opts = {})
464
+ if @api_client.config.debugging
465
+ @api_client.config.logger.debug 'Calling API: ModApi.delete_mod_from_team ...'
466
+ end
467
+ # verify the required parameter 'mod_id' is set
468
+ if @api_client.config.client_side_validation && mod_id.nil?
469
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.delete_mod_from_team"
470
+ end
471
+ # verify the required parameter 'mod_team_params' is set
472
+ if @api_client.config.client_side_validation && mod_team_params.nil?
473
+ raise ArgumentError, "Missing the required parameter 'mod_team_params' when calling ModApi.delete_mod_from_team"
474
+ end
475
+
476
+ # resource path
477
+ local_var_path = '/mods/{mod_id}/teams'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
478
+
479
+ # query parameters
480
+ query_params = opts[:query_params] || {}
481
+
482
+ # header parameters
483
+ header_params = opts[:header_params] || {}
484
+ # HTTP header 'Accept' (if needed)
485
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
486
+ # HTTP header 'Content-Type'
487
+ content_type = @api_client.select_header_content_type(['application/json'])
488
+ unless content_type.nil?
489
+ header_params['Content-Type'] = content_type
490
+ end
491
+
492
+ # form parameters
493
+ form_params = opts[:form_params] || {}
494
+
495
+ # http body (model)
496
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(mod_team_params)
497
+
498
+ # return_type
499
+ return_type = opts[:debug_return_type] || 'Notification'
500
+
501
+ # auth_names
502
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
503
+
504
+ new_options = opts.merge(
505
+ operation: :'ModApi.delete_mod_from_team',
506
+ header_params: header_params,
507
+ query_params: query_params,
508
+ form_params: form_params,
509
+ body: post_body,
510
+ auth_names: auth_names,
511
+ return_type: return_type
512
+ )
513
+
514
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
515
+ if @api_client.config.debugging
516
+ @api_client.config.logger.debug "API called: ModApi#delete_mod_from_team\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
517
+ end
518
+ [data, status_code, headers]
519
+ end
520
+
521
+ # Unlink a user from mod
522
+ # @param mod_id [String] A mod identifier or slug
523
+ # @param mod_user_params [ModUserParams] The mod user data to unlink
524
+ # @param [Hash] opts the optional parameters
525
+ # @return [Notification]
526
+ def delete_mod_from_user(mod_id, mod_user_params, opts = {})
527
+ data, _status_code, _headers = delete_mod_from_user_with_http_info(mod_id, mod_user_params, opts)
528
+ data
529
+ end
530
+
531
+ # Unlink a user from mod
532
+ # @param mod_id [String] A mod identifier or slug
533
+ # @param mod_user_params [ModUserParams] The mod user data to unlink
534
+ # @param [Hash] opts the optional parameters
535
+ # @return [Array<(Notification, Integer, Hash)>] Notification data, response status code and response headers
536
+ def delete_mod_from_user_with_http_info(mod_id, mod_user_params, opts = {})
537
+ if @api_client.config.debugging
538
+ @api_client.config.logger.debug 'Calling API: ModApi.delete_mod_from_user ...'
539
+ end
540
+ # verify the required parameter 'mod_id' is set
541
+ if @api_client.config.client_side_validation && mod_id.nil?
542
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.delete_mod_from_user"
543
+ end
544
+ # verify the required parameter 'mod_user_params' is set
545
+ if @api_client.config.client_side_validation && mod_user_params.nil?
546
+ raise ArgumentError, "Missing the required parameter 'mod_user_params' when calling ModApi.delete_mod_from_user"
547
+ end
548
+
549
+ # resource path
550
+ local_var_path = '/mods/{mod_id}/users'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
551
+
552
+ # query parameters
553
+ query_params = opts[:query_params] || {}
554
+
555
+ # header parameters
556
+ header_params = opts[:header_params] || {}
557
+ # HTTP header 'Accept' (if needed)
558
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
559
+ # HTTP header 'Content-Type'
560
+ content_type = @api_client.select_header_content_type(['application/json'])
561
+ unless content_type.nil?
562
+ header_params['Content-Type'] = content_type
563
+ end
564
+
565
+ # form parameters
566
+ form_params = opts[:form_params] || {}
567
+
568
+ # http body (model)
569
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(mod_user_params)
570
+
571
+ # return_type
572
+ return_type = opts[:debug_return_type] || 'Notification'
573
+
574
+ # auth_names
575
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
576
+
577
+ new_options = opts.merge(
578
+ operation: :'ModApi.delete_mod_from_user',
579
+ header_params: header_params,
580
+ query_params: query_params,
581
+ form_params: form_params,
582
+ body: post_body,
583
+ auth_names: auth_names,
584
+ return_type: return_type
585
+ )
586
+
587
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
588
+ if @api_client.config.debugging
589
+ @api_client.config.logger.debug "API called: ModApi#delete_mod_from_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
590
+ end
591
+ [data, status_code, headers]
592
+ end
593
+
594
+ # Delete a specific version for a mod
595
+ # @param mod_id [String] A mod identifier or slug
596
+ # @param version_id [String] A version identifier or slug
597
+ # @param [Hash] opts the optional parameters
598
+ # @return [Notification]
599
+ def delete_version(mod_id, version_id, opts = {})
600
+ data, _status_code, _headers = delete_version_with_http_info(mod_id, version_id, opts)
601
+ data
602
+ end
603
+
604
+ # Delete a specific version for a mod
605
+ # @param mod_id [String] A mod identifier or slug
606
+ # @param version_id [String] A version identifier or slug
607
+ # @param [Hash] opts the optional parameters
608
+ # @return [Array<(Notification, Integer, Hash)>] Notification data, response status code and response headers
609
+ def delete_version_with_http_info(mod_id, version_id, opts = {})
610
+ if @api_client.config.debugging
611
+ @api_client.config.logger.debug 'Calling API: ModApi.delete_version ...'
612
+ end
613
+ # verify the required parameter 'mod_id' is set
614
+ if @api_client.config.client_side_validation && mod_id.nil?
615
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.delete_version"
616
+ end
617
+ # verify the required parameter 'version_id' is set
618
+ if @api_client.config.client_side_validation && version_id.nil?
619
+ raise ArgumentError, "Missing the required parameter 'version_id' when calling ModApi.delete_version"
620
+ end
621
+
622
+ # resource path
623
+ local_var_path = '/mods/{mod_id}/versions/{version_id}'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s)).sub('{' + 'version_id' + '}', CGI.escape(version_id.to_s))
624
+
625
+ # query parameters
626
+ query_params = opts[:query_params] || {}
627
+
628
+ # header parameters
629
+ header_params = opts[:header_params] || {}
630
+ # HTTP header 'Accept' (if needed)
631
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
632
+
633
+ # form parameters
634
+ form_params = opts[:form_params] || {}
635
+
636
+ # http body (model)
637
+ post_body = opts[:debug_body]
638
+
639
+ # return_type
640
+ return_type = opts[:debug_return_type] || 'Notification'
641
+
642
+ # auth_names
643
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
644
+
645
+ new_options = opts.merge(
646
+ operation: :'ModApi.delete_version',
647
+ header_params: header_params,
648
+ query_params: query_params,
649
+ form_params: form_params,
650
+ body: post_body,
651
+ auth_names: auth_names,
652
+ return_type: return_type
653
+ )
654
+
655
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
656
+ if @api_client.config.debugging
657
+ @api_client.config.logger.debug "API called: ModApi#delete_version\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
658
+ end
659
+ [data, status_code, headers]
660
+ end
661
+
662
+ # Unlink a build from a version
663
+ # @param mod_id [String] A mod identifier or slug
664
+ # @param version_id [String] A version identifier or slug
665
+ # @param version_build_params [VersionBuildParams] The version build data to unlink
666
+ # @param [Hash] opts the optional parameters
667
+ # @return [Notification]
668
+ def delete_version_from_build(mod_id, version_id, version_build_params, opts = {})
669
+ data, _status_code, _headers = delete_version_from_build_with_http_info(mod_id, version_id, version_build_params, opts)
670
+ data
671
+ end
672
+
673
+ # Unlink a build from a version
674
+ # @param mod_id [String] A mod identifier or slug
675
+ # @param version_id [String] A version identifier or slug
676
+ # @param version_build_params [VersionBuildParams] The version build data to unlink
677
+ # @param [Hash] opts the optional parameters
678
+ # @return [Array<(Notification, Integer, Hash)>] Notification data, response status code and response headers
679
+ def delete_version_from_build_with_http_info(mod_id, version_id, version_build_params, opts = {})
680
+ if @api_client.config.debugging
681
+ @api_client.config.logger.debug 'Calling API: ModApi.delete_version_from_build ...'
682
+ end
683
+ # verify the required parameter 'mod_id' is set
684
+ if @api_client.config.client_side_validation && mod_id.nil?
685
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.delete_version_from_build"
686
+ end
687
+ # verify the required parameter 'version_id' is set
688
+ if @api_client.config.client_side_validation && version_id.nil?
689
+ raise ArgumentError, "Missing the required parameter 'version_id' when calling ModApi.delete_version_from_build"
690
+ end
691
+ # verify the required parameter 'version_build_params' is set
692
+ if @api_client.config.client_side_validation && version_build_params.nil?
693
+ raise ArgumentError, "Missing the required parameter 'version_build_params' when calling ModApi.delete_version_from_build"
694
+ end
695
+
696
+ # resource path
697
+ local_var_path = '/mods/{mod_id}/versions/{version_id}/builds'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s)).sub('{' + 'version_id' + '}', CGI.escape(version_id.to_s))
698
+
699
+ # query parameters
700
+ query_params = opts[:query_params] || {}
701
+
702
+ # header parameters
703
+ header_params = opts[:header_params] || {}
704
+ # HTTP header 'Accept' (if needed)
705
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
706
+ # HTTP header 'Content-Type'
707
+ content_type = @api_client.select_header_content_type(['application/json'])
708
+ unless content_type.nil?
709
+ header_params['Content-Type'] = content_type
710
+ end
711
+
712
+ # form parameters
713
+ form_params = opts[:form_params] || {}
714
+
715
+ # http body (model)
716
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(version_build_params)
717
+
718
+ # return_type
719
+ return_type = opts[:debug_return_type] || 'Notification'
720
+
721
+ # auth_names
722
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
723
+
724
+ new_options = opts.merge(
725
+ operation: :'ModApi.delete_version_from_build',
726
+ header_params: header_params,
727
+ query_params: query_params,
728
+ form_params: form_params,
729
+ body: post_body,
730
+ auth_names: auth_names,
731
+ return_type: return_type
732
+ )
733
+
734
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
735
+ if @api_client.config.debugging
736
+ @api_client.config.logger.debug "API called: ModApi#delete_version_from_build\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
737
+ end
738
+ [data, status_code, headers]
739
+ end
740
+
741
+ # Fetch all teams attached to mod
742
+ # @param mod_id [String] A mod identifier or slug
743
+ # @param [Hash] opts the optional parameters
744
+ # @option opts [String] :search Search query
745
+ # @option opts [String] :sort Sorting column (default to 'name')
746
+ # @option opts [String] :order Sorting order (default to 'asc')
747
+ # @option opts [Integer] :limit Paging limit (default to 100)
748
+ # @option opts [Integer] :offset Paging offset (default to 0)
749
+ # @return [ModTeams]
750
+ def list_mod_teams(mod_id, opts = {})
751
+ data, _status_code, _headers = list_mod_teams_with_http_info(mod_id, opts)
752
+ data
753
+ end
754
+
755
+ # Fetch all teams attached to mod
756
+ # @param mod_id [String] A mod identifier or slug
757
+ # @param [Hash] opts the optional parameters
758
+ # @option opts [String] :search Search query
759
+ # @option opts [String] :sort Sorting column (default to 'name')
760
+ # @option opts [String] :order Sorting order (default to 'asc')
761
+ # @option opts [Integer] :limit Paging limit (default to 100)
762
+ # @option opts [Integer] :offset Paging offset (default to 0)
763
+ # @return [Array<(ModTeams, Integer, Hash)>] ModTeams data, response status code and response headers
764
+ def list_mod_teams_with_http_info(mod_id, opts = {})
765
+ if @api_client.config.debugging
766
+ @api_client.config.logger.debug 'Calling API: ModApi.list_mod_teams ...'
767
+ end
768
+ # verify the required parameter 'mod_id' is set
769
+ if @api_client.config.client_side_validation && mod_id.nil?
770
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.list_mod_teams"
771
+ end
772
+
773
+ allowable_values = %w[slug name]
774
+ if @api_client.config.client_side_validation && opts[:sort] && !allowable_values.include?(opts[:sort])
775
+ raise ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
776
+ end
777
+
778
+ allowable_values = %w[asc desc]
779
+ if @api_client.config.client_side_validation && opts[:order] && !allowable_values.include?(opts[:order])
780
+ raise ArgumentError, "invalid value for \"order\", must be one of #{allowable_values}"
781
+ end
782
+
783
+ # resource path
784
+ local_var_path = '/mods/{mod_id}/teams'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
785
+
786
+ # query parameters
787
+ query_params = opts[:query_params] || {}
788
+ query_params[:search] = opts[:search] unless opts[:search].nil?
789
+ query_params[:sort] = opts[:sort] unless opts[:sort].nil?
790
+ query_params[:order] = opts[:order] unless opts[:order].nil?
791
+ query_params[:limit] = opts[:limit] unless opts[:limit].nil?
792
+ query_params[:offset] = opts[:offset] unless opts[:offset].nil?
793
+
794
+ # header parameters
795
+ header_params = opts[:header_params] || {}
796
+ # HTTP header 'Accept' (if needed)
797
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
798
+
799
+ # form parameters
800
+ form_params = opts[:form_params] || {}
801
+
802
+ # http body (model)
803
+ post_body = opts[:debug_body]
804
+
805
+ # return_type
806
+ return_type = opts[:debug_return_type] || 'ModTeams'
807
+
808
+ # auth_names
809
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
810
+
811
+ new_options = opts.merge(
812
+ operation: :'ModApi.list_mod_teams',
813
+ header_params: header_params,
814
+ query_params: query_params,
815
+ form_params: form_params,
816
+ body: post_body,
817
+ auth_names: auth_names,
818
+ return_type: return_type
819
+ )
820
+
821
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
822
+ if @api_client.config.debugging
823
+ @api_client.config.logger.debug "API called: ModApi#list_mod_teams\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
824
+ end
825
+ [data, status_code, headers]
826
+ end
827
+
828
+ # Fetch all users attached to mod
829
+ # @param mod_id [String] A mod identifier or slug
830
+ # @param [Hash] opts the optional parameters
831
+ # @option opts [String] :search Search query
832
+ # @option opts [String] :sort Sorting column (default to 'username')
833
+ # @option opts [String] :order Sorting order (default to 'asc')
834
+ # @option opts [Integer] :limit Paging limit (default to 100)
835
+ # @option opts [Integer] :offset Paging offset (default to 0)
836
+ # @return [ModUsers]
837
+ def list_mod_users(mod_id, opts = {})
838
+ data, _status_code, _headers = list_mod_users_with_http_info(mod_id, opts)
839
+ data
840
+ end
841
+
842
+ # Fetch all users attached to mod
843
+ # @param mod_id [String] A mod identifier or slug
844
+ # @param [Hash] opts the optional parameters
845
+ # @option opts [String] :search Search query
846
+ # @option opts [String] :sort Sorting column (default to 'username')
847
+ # @option opts [String] :order Sorting order (default to 'asc')
848
+ # @option opts [Integer] :limit Paging limit (default to 100)
849
+ # @option opts [Integer] :offset Paging offset (default to 0)
850
+ # @return [Array<(ModUsers, Integer, Hash)>] ModUsers data, response status code and response headers
851
+ def list_mod_users_with_http_info(mod_id, opts = {})
852
+ if @api_client.config.debugging
853
+ @api_client.config.logger.debug 'Calling API: ModApi.list_mod_users ...'
854
+ end
855
+ # verify the required parameter 'mod_id' is set
856
+ if @api_client.config.client_side_validation && mod_id.nil?
857
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.list_mod_users"
858
+ end
859
+
860
+ allowable_values = %w[username email fullname admin active]
861
+ if @api_client.config.client_side_validation && opts[:sort] && !allowable_values.include?(opts[:sort])
862
+ raise ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
863
+ end
864
+
865
+ allowable_values = %w[asc desc]
866
+ if @api_client.config.client_side_validation && opts[:order] && !allowable_values.include?(opts[:order])
867
+ raise ArgumentError, "invalid value for \"order\", must be one of #{allowable_values}"
868
+ end
869
+
870
+ # resource path
871
+ local_var_path = '/mods/{mod_id}/users'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
872
+
873
+ # query parameters
874
+ query_params = opts[:query_params] || {}
875
+ query_params[:search] = opts[:search] unless opts[:search].nil?
876
+ query_params[:sort] = opts[:sort] unless opts[:sort].nil?
877
+ query_params[:order] = opts[:order] unless opts[:order].nil?
878
+ query_params[:limit] = opts[:limit] unless opts[:limit].nil?
879
+ query_params[:offset] = opts[:offset] unless opts[:offset].nil?
880
+
881
+ # header parameters
882
+ header_params = opts[:header_params] || {}
883
+ # HTTP header 'Accept' (if needed)
884
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
885
+
886
+ # form parameters
887
+ form_params = opts[:form_params] || {}
888
+
889
+ # http body (model)
890
+ post_body = opts[:debug_body]
891
+
892
+ # return_type
893
+ return_type = opts[:debug_return_type] || 'ModUsers'
894
+
895
+ # auth_names
896
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
897
+
898
+ new_options = opts.merge(
899
+ operation: :'ModApi.list_mod_users',
900
+ header_params: header_params,
901
+ query_params: query_params,
902
+ form_params: form_params,
903
+ body: post_body,
904
+ auth_names: auth_names,
905
+ return_type: return_type
906
+ )
907
+
908
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
909
+ if @api_client.config.debugging
910
+ @api_client.config.logger.debug "API called: ModApi#list_mod_users\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
911
+ end
912
+ [data, status_code, headers]
913
+ end
914
+
915
+ # Fetch all available mods
916
+ # @param [Hash] opts the optional parameters
917
+ # @option opts [String] :search Search query
918
+ # @option opts [String] :sort Sorting column (default to 'name')
919
+ # @option opts [String] :order Sorting order (default to 'asc')
920
+ # @option opts [Integer] :limit Paging limit (default to 100)
921
+ # @option opts [Integer] :offset Paging offset (default to 0)
922
+ # @return [Mods]
923
+ def list_mods(opts = {})
924
+ data, _status_code, _headers = list_mods_with_http_info(opts)
925
+ data
926
+ end
927
+
928
+ # Fetch all available mods
929
+ # @param [Hash] opts the optional parameters
930
+ # @option opts [String] :search Search query
931
+ # @option opts [String] :sort Sorting column (default to 'name')
932
+ # @option opts [String] :order Sorting order (default to 'asc')
933
+ # @option opts [Integer] :limit Paging limit (default to 100)
934
+ # @option opts [Integer] :offset Paging offset (default to 0)
935
+ # @return [Array<(Mods, Integer, Hash)>] Mods data, response status code and response headers
936
+ def list_mods_with_http_info(opts = {})
937
+ if @api_client.config.debugging
938
+ @api_client.config.logger.debug 'Calling API: ModApi.list_mods ...'
939
+ end
940
+ allowable_values = %w[name public]
941
+ if @api_client.config.client_side_validation && opts[:sort] && !allowable_values.include?(opts[:sort])
942
+ raise ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
943
+ end
944
+
945
+ allowable_values = %w[asc desc]
946
+ if @api_client.config.client_side_validation && opts[:order] && !allowable_values.include?(opts[:order])
947
+ raise ArgumentError, "invalid value for \"order\", must be one of #{allowable_values}"
948
+ end
949
+
950
+ # resource path
951
+ local_var_path = '/mods'
952
+
953
+ # query parameters
954
+ query_params = opts[:query_params] || {}
955
+ query_params[:search] = opts[:search] unless opts[:search].nil?
956
+ query_params[:sort] = opts[:sort] unless opts[:sort].nil?
957
+ query_params[:order] = opts[:order] unless opts[:order].nil?
958
+ query_params[:limit] = opts[:limit] unless opts[:limit].nil?
959
+ query_params[:offset] = opts[:offset] unless opts[:offset].nil?
960
+
961
+ # header parameters
962
+ header_params = opts[:header_params] || {}
963
+ # HTTP header 'Accept' (if needed)
964
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
965
+
966
+ # form parameters
967
+ form_params = opts[:form_params] || {}
968
+
969
+ # http body (model)
970
+ post_body = opts[:debug_body]
971
+
972
+ # return_type
973
+ return_type = opts[:debug_return_type] || 'Mods'
974
+
975
+ # auth_names
976
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
977
+
978
+ new_options = opts.merge(
979
+ operation: :'ModApi.list_mods',
980
+ header_params: header_params,
981
+ query_params: query_params,
982
+ form_params: form_params,
983
+ body: post_body,
984
+ auth_names: auth_names,
985
+ return_type: return_type
986
+ )
987
+
988
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
989
+ if @api_client.config.debugging
990
+ @api_client.config.logger.debug "API called: ModApi#list_mods\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
991
+ end
992
+ [data, status_code, headers]
993
+ end
994
+
995
+ # Fetch all builds attached to version
996
+ # @param mod_id [String] A mod identifier or slug
997
+ # @param version_id [String] A version identifier or slug
998
+ # @param [Hash] opts the optional parameters
999
+ # @option opts [String] :search Search query
1000
+ # @option opts [String] :sort Sorting column (default to 'name')
1001
+ # @option opts [String] :order Sorting order (default to 'asc')
1002
+ # @option opts [Integer] :limit Paging limit (default to 100)
1003
+ # @option opts [Integer] :offset Paging offset (default to 0)
1004
+ # @return [VersionBuilds]
1005
+ def list_version_builds(mod_id, version_id, opts = {})
1006
+ data, _status_code, _headers = list_version_builds_with_http_info(mod_id, version_id, opts)
1007
+ data
1008
+ end
1009
+
1010
+ # Fetch all builds attached to version
1011
+ # @param mod_id [String] A mod identifier or slug
1012
+ # @param version_id [String] A version identifier or slug
1013
+ # @param [Hash] opts the optional parameters
1014
+ # @option opts [String] :search Search query
1015
+ # @option opts [String] :sort Sorting column (default to 'name')
1016
+ # @option opts [String] :order Sorting order (default to 'asc')
1017
+ # @option opts [Integer] :limit Paging limit (default to 100)
1018
+ # @option opts [Integer] :offset Paging offset (default to 0)
1019
+ # @return [Array<(VersionBuilds, Integer, Hash)>] VersionBuilds data, response status code and response headers
1020
+ def list_version_builds_with_http_info(mod_id, version_id, opts = {})
1021
+ if @api_client.config.debugging
1022
+ @api_client.config.logger.debug 'Calling API: ModApi.list_version_builds ...'
1023
+ end
1024
+ # verify the required parameter 'mod_id' is set
1025
+ if @api_client.config.client_side_validation && mod_id.nil?
1026
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.list_version_builds"
1027
+ end
1028
+ # verify the required parameter 'version_id' is set
1029
+ if @api_client.config.client_side_validation && version_id.nil?
1030
+ raise ArgumentError, "Missing the required parameter 'version_id' when calling ModApi.list_version_builds"
1031
+ end
1032
+
1033
+ allowable_values = %w[slug name]
1034
+ if @api_client.config.client_side_validation && opts[:sort] && !allowable_values.include?(opts[:sort])
1035
+ raise ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
1036
+ end
1037
+
1038
+ allowable_values = %w[asc desc]
1039
+ if @api_client.config.client_side_validation && opts[:order] && !allowable_values.include?(opts[:order])
1040
+ raise ArgumentError, "invalid value for \"order\", must be one of #{allowable_values}"
1041
+ end
1042
+
1043
+ # resource path
1044
+ local_var_path = '/mods/{mod_id}/versions/{version_id}/builds'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s)).sub('{' + 'version_id' + '}', CGI.escape(version_id.to_s))
1045
+
1046
+ # query parameters
1047
+ query_params = opts[:query_params] || {}
1048
+ query_params[:search] = opts[:search] unless opts[:search].nil?
1049
+ query_params[:sort] = opts[:sort] unless opts[:sort].nil?
1050
+ query_params[:order] = opts[:order] unless opts[:order].nil?
1051
+ query_params[:limit] = opts[:limit] unless opts[:limit].nil?
1052
+ query_params[:offset] = opts[:offset] unless opts[:offset].nil?
1053
+
1054
+ # header parameters
1055
+ header_params = opts[:header_params] || {}
1056
+ # HTTP header 'Accept' (if needed)
1057
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1058
+
1059
+ # form parameters
1060
+ form_params = opts[:form_params] || {}
1061
+
1062
+ # http body (model)
1063
+ post_body = opts[:debug_body]
1064
+
1065
+ # return_type
1066
+ return_type = opts[:debug_return_type] || 'VersionBuilds'
1067
+
1068
+ # auth_names
1069
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
1070
+
1071
+ new_options = opts.merge(
1072
+ operation: :'ModApi.list_version_builds',
1073
+ header_params: header_params,
1074
+ query_params: query_params,
1075
+ form_params: form_params,
1076
+ body: post_body,
1077
+ auth_names: auth_names,
1078
+ return_type: return_type
1079
+ )
1080
+
1081
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1082
+ if @api_client.config.debugging
1083
+ @api_client.config.logger.debug "API called: ModApi#list_version_builds\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1084
+ end
1085
+ [data, status_code, headers]
1086
+ end
1087
+
1088
+ # Fetch all available versions for a mod
1089
+ # @param mod_id [String] A mod identifier or slug
1090
+ # @param [Hash] opts the optional parameters
1091
+ # @option opts [String] :search Search query
1092
+ # @option opts [String] :sort Sorting column (default to 'name')
1093
+ # @option opts [String] :order Sorting order (default to 'asc')
1094
+ # @option opts [Integer] :limit Paging limit (default to 100)
1095
+ # @option opts [Integer] :offset Paging offset (default to 0)
1096
+ # @return [Versions]
1097
+ def list_versions(mod_id, opts = {})
1098
+ data, _status_code, _headers = list_versions_with_http_info(mod_id, opts)
1099
+ data
1100
+ end
1101
+
1102
+ # Fetch all available versions for a mod
1103
+ # @param mod_id [String] A mod identifier or slug
1104
+ # @param [Hash] opts the optional parameters
1105
+ # @option opts [String] :search Search query
1106
+ # @option opts [String] :sort Sorting column (default to 'name')
1107
+ # @option opts [String] :order Sorting order (default to 'asc')
1108
+ # @option opts [Integer] :limit Paging limit (default to 100)
1109
+ # @option opts [Integer] :offset Paging offset (default to 0)
1110
+ # @return [Array<(Versions, Integer, Hash)>] Versions data, response status code and response headers
1111
+ def list_versions_with_http_info(mod_id, opts = {})
1112
+ if @api_client.config.debugging
1113
+ @api_client.config.logger.debug 'Calling API: ModApi.list_versions ...'
1114
+ end
1115
+ # verify the required parameter 'mod_id' is set
1116
+ if @api_client.config.client_side_validation && mod_id.nil?
1117
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.list_versions"
1118
+ end
1119
+
1120
+ allowable_values = %w[slug name]
1121
+ if @api_client.config.client_side_validation && opts[:sort] && !allowable_values.include?(opts[:sort])
1122
+ raise ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
1123
+ end
1124
+
1125
+ allowable_values = %w[asc desc]
1126
+ if @api_client.config.client_side_validation && opts[:order] && !allowable_values.include?(opts[:order])
1127
+ raise ArgumentError, "invalid value for \"order\", must be one of #{allowable_values}"
1128
+ end
1129
+
1130
+ # resource path
1131
+ local_var_path = '/mods/{mod_id}/versions'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
1132
+
1133
+ # query parameters
1134
+ query_params = opts[:query_params] || {}
1135
+ query_params[:search] = opts[:search] unless opts[:search].nil?
1136
+ query_params[:sort] = opts[:sort] unless opts[:sort].nil?
1137
+ query_params[:order] = opts[:order] unless opts[:order].nil?
1138
+ query_params[:limit] = opts[:limit] unless opts[:limit].nil?
1139
+ query_params[:offset] = opts[:offset] unless opts[:offset].nil?
1140
+
1141
+ # header parameters
1142
+ header_params = opts[:header_params] || {}
1143
+ # HTTP header 'Accept' (if needed)
1144
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1145
+
1146
+ # form parameters
1147
+ form_params = opts[:form_params] || {}
1148
+
1149
+ # http body (model)
1150
+ post_body = opts[:debug_body]
1151
+
1152
+ # return_type
1153
+ return_type = opts[:debug_return_type] || 'Versions'
1154
+
1155
+ # auth_names
1156
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
1157
+
1158
+ new_options = opts.merge(
1159
+ operation: :'ModApi.list_versions',
1160
+ header_params: header_params,
1161
+ query_params: query_params,
1162
+ form_params: form_params,
1163
+ body: post_body,
1164
+ auth_names: auth_names,
1165
+ return_type: return_type
1166
+ )
1167
+
1168
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1169
+ if @api_client.config.debugging
1170
+ @api_client.config.logger.debug "API called: ModApi#list_versions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1171
+ end
1172
+ [data, status_code, headers]
1173
+ end
1174
+
1175
+ # Update team perms for mod
1176
+ # @param mod_id [String] A mod identifier or slug
1177
+ # @param mod_team_params [ModTeamParams] The team data to update
1178
+ # @param [Hash] opts the optional parameters
1179
+ # @return [Notification]
1180
+ def permit_mod_team(mod_id, mod_team_params, opts = {})
1181
+ data, _status_code, _headers = permit_mod_team_with_http_info(mod_id, mod_team_params, opts)
1182
+ data
1183
+ end
1184
+
1185
+ # Update team perms for mod
1186
+ # @param mod_id [String] A mod identifier or slug
1187
+ # @param mod_team_params [ModTeamParams] The team data to update
1188
+ # @param [Hash] opts the optional parameters
1189
+ # @return [Array<(Notification, Integer, Hash)>] Notification data, response status code and response headers
1190
+ def permit_mod_team_with_http_info(mod_id, mod_team_params, opts = {})
1191
+ if @api_client.config.debugging
1192
+ @api_client.config.logger.debug 'Calling API: ModApi.permit_mod_team ...'
1193
+ end
1194
+ # verify the required parameter 'mod_id' is set
1195
+ if @api_client.config.client_side_validation && mod_id.nil?
1196
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.permit_mod_team"
1197
+ end
1198
+ # verify the required parameter 'mod_team_params' is set
1199
+ if @api_client.config.client_side_validation && mod_team_params.nil?
1200
+ raise ArgumentError, "Missing the required parameter 'mod_team_params' when calling ModApi.permit_mod_team"
1201
+ end
1202
+
1203
+ # resource path
1204
+ local_var_path = '/mods/{mod_id}/teams'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
1205
+
1206
+ # query parameters
1207
+ query_params = opts[:query_params] || {}
1208
+
1209
+ # header parameters
1210
+ header_params = opts[:header_params] || {}
1211
+ # HTTP header 'Accept' (if needed)
1212
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1213
+ # HTTP header 'Content-Type'
1214
+ content_type = @api_client.select_header_content_type(['application/json'])
1215
+ unless content_type.nil?
1216
+ header_params['Content-Type'] = content_type
1217
+ end
1218
+
1219
+ # form parameters
1220
+ form_params = opts[:form_params] || {}
1221
+
1222
+ # http body (model)
1223
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(mod_team_params)
1224
+
1225
+ # return_type
1226
+ return_type = opts[:debug_return_type] || 'Notification'
1227
+
1228
+ # auth_names
1229
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
1230
+
1231
+ new_options = opts.merge(
1232
+ operation: :'ModApi.permit_mod_team',
1233
+ header_params: header_params,
1234
+ query_params: query_params,
1235
+ form_params: form_params,
1236
+ body: post_body,
1237
+ auth_names: auth_names,
1238
+ return_type: return_type
1239
+ )
1240
+
1241
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1242
+ if @api_client.config.debugging
1243
+ @api_client.config.logger.debug "API called: ModApi#permit_mod_team\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1244
+ end
1245
+ [data, status_code, headers]
1246
+ end
1247
+
1248
+ # Update user perms for mod
1249
+ # @param mod_id [String] A mod identifier or slug
1250
+ # @param mod_user_params [ModUserParams] The user data to update
1251
+ # @param [Hash] opts the optional parameters
1252
+ # @return [Notification]
1253
+ def permit_mod_user(mod_id, mod_user_params, opts = {})
1254
+ data, _status_code, _headers = permit_mod_user_with_http_info(mod_id, mod_user_params, opts)
1255
+ data
1256
+ end
1257
+
1258
+ # Update user perms for mod
1259
+ # @param mod_id [String] A mod identifier or slug
1260
+ # @param mod_user_params [ModUserParams] The user data to update
1261
+ # @param [Hash] opts the optional parameters
1262
+ # @return [Array<(Notification, Integer, Hash)>] Notification data, response status code and response headers
1263
+ def permit_mod_user_with_http_info(mod_id, mod_user_params, opts = {})
1264
+ if @api_client.config.debugging
1265
+ @api_client.config.logger.debug 'Calling API: ModApi.permit_mod_user ...'
1266
+ end
1267
+ # verify the required parameter 'mod_id' is set
1268
+ if @api_client.config.client_side_validation && mod_id.nil?
1269
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.permit_mod_user"
1270
+ end
1271
+ # verify the required parameter 'mod_user_params' is set
1272
+ if @api_client.config.client_side_validation && mod_user_params.nil?
1273
+ raise ArgumentError, "Missing the required parameter 'mod_user_params' when calling ModApi.permit_mod_user"
1274
+ end
1275
+
1276
+ # resource path
1277
+ local_var_path = '/mods/{mod_id}/users'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
1278
+
1279
+ # query parameters
1280
+ query_params = opts[:query_params] || {}
1281
+
1282
+ # header parameters
1283
+ header_params = opts[:header_params] || {}
1284
+ # HTTP header 'Accept' (if needed)
1285
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1286
+ # HTTP header 'Content-Type'
1287
+ content_type = @api_client.select_header_content_type(['application/json'])
1288
+ unless content_type.nil?
1289
+ header_params['Content-Type'] = content_type
1290
+ end
1291
+
1292
+ # form parameters
1293
+ form_params = opts[:form_params] || {}
1294
+
1295
+ # http body (model)
1296
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(mod_user_params)
1297
+
1298
+ # return_type
1299
+ return_type = opts[:debug_return_type] || 'Notification'
1300
+
1301
+ # auth_names
1302
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
1303
+
1304
+ new_options = opts.merge(
1305
+ operation: :'ModApi.permit_mod_user',
1306
+ header_params: header_params,
1307
+ query_params: query_params,
1308
+ form_params: form_params,
1309
+ body: post_body,
1310
+ auth_names: auth_names,
1311
+ return_type: return_type
1312
+ )
1313
+
1314
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1315
+ if @api_client.config.debugging
1316
+ @api_client.config.logger.debug "API called: ModApi#permit_mod_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1317
+ end
1318
+ [data, status_code, headers]
1319
+ end
1320
+
1321
+ # Fetch a specific mod
1322
+ # @param mod_id [String] A mod identifier or slug
1323
+ # @param [Hash] opts the optional parameters
1324
+ # @return [Mod]
1325
+ def show_mod(mod_id, opts = {})
1326
+ data, _status_code, _headers = show_mod_with_http_info(mod_id, opts)
1327
+ data
1328
+ end
1329
+
1330
+ # Fetch a specific mod
1331
+ # @param mod_id [String] A mod identifier or slug
1332
+ # @param [Hash] opts the optional parameters
1333
+ # @return [Array<(Mod, Integer, Hash)>] Mod data, response status code and response headers
1334
+ def show_mod_with_http_info(mod_id, opts = {})
1335
+ if @api_client.config.debugging
1336
+ @api_client.config.logger.debug 'Calling API: ModApi.show_mod ...'
1337
+ end
1338
+ # verify the required parameter 'mod_id' is set
1339
+ if @api_client.config.client_side_validation && mod_id.nil?
1340
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.show_mod"
1341
+ end
1342
+
1343
+ # resource path
1344
+ local_var_path = '/mods/{mod_id}'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
1345
+
1346
+ # query parameters
1347
+ query_params = opts[:query_params] || {}
1348
+
1349
+ # header parameters
1350
+ header_params = opts[:header_params] || {}
1351
+ # HTTP header 'Accept' (if needed)
1352
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1353
+
1354
+ # form parameters
1355
+ form_params = opts[:form_params] || {}
1356
+
1357
+ # http body (model)
1358
+ post_body = opts[:debug_body]
1359
+
1360
+ # return_type
1361
+ return_type = opts[:debug_return_type] || 'Mod'
1362
+
1363
+ # auth_names
1364
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
1365
+
1366
+ new_options = opts.merge(
1367
+ operation: :'ModApi.show_mod',
1368
+ header_params: header_params,
1369
+ query_params: query_params,
1370
+ form_params: form_params,
1371
+ body: post_body,
1372
+ auth_names: auth_names,
1373
+ return_type: return_type
1374
+ )
1375
+
1376
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1377
+ if @api_client.config.debugging
1378
+ @api_client.config.logger.debug "API called: ModApi#show_mod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1379
+ end
1380
+ [data, status_code, headers]
1381
+ end
1382
+
1383
+ # Fetch a specific version for a mod
1384
+ # @param mod_id [String] A mod identifier or slug
1385
+ # @param version_id [String] A version identifier or slug
1386
+ # @param [Hash] opts the optional parameters
1387
+ # @return [Version]
1388
+ def show_version(mod_id, version_id, opts = {})
1389
+ data, _status_code, _headers = show_version_with_http_info(mod_id, version_id, opts)
1390
+ data
1391
+ end
1392
+
1393
+ # Fetch a specific version for a mod
1394
+ # @param mod_id [String] A mod identifier or slug
1395
+ # @param version_id [String] A version identifier or slug
1396
+ # @param [Hash] opts the optional parameters
1397
+ # @return [Array<(Version, Integer, Hash)>] Version data, response status code and response headers
1398
+ def show_version_with_http_info(mod_id, version_id, opts = {})
1399
+ if @api_client.config.debugging
1400
+ @api_client.config.logger.debug 'Calling API: ModApi.show_version ...'
1401
+ end
1402
+ # verify the required parameter 'mod_id' is set
1403
+ if @api_client.config.client_side_validation && mod_id.nil?
1404
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.show_version"
1405
+ end
1406
+ # verify the required parameter 'version_id' is set
1407
+ if @api_client.config.client_side_validation && version_id.nil?
1408
+ raise ArgumentError, "Missing the required parameter 'version_id' when calling ModApi.show_version"
1409
+ end
1410
+
1411
+ # resource path
1412
+ local_var_path = '/mods/{mod_id}/versions/{version_id}'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s)).sub('{' + 'version_id' + '}', CGI.escape(version_id.to_s))
1413
+
1414
+ # query parameters
1415
+ query_params = opts[:query_params] || {}
1416
+
1417
+ # header parameters
1418
+ header_params = opts[:header_params] || {}
1419
+ # HTTP header 'Accept' (if needed)
1420
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1421
+
1422
+ # form parameters
1423
+ form_params = opts[:form_params] || {}
1424
+
1425
+ # http body (model)
1426
+ post_body = opts[:debug_body]
1427
+
1428
+ # return_type
1429
+ return_type = opts[:debug_return_type] || 'Version'
1430
+
1431
+ # auth_names
1432
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
1433
+
1434
+ new_options = opts.merge(
1435
+ operation: :'ModApi.show_version',
1436
+ header_params: header_params,
1437
+ query_params: query_params,
1438
+ form_params: form_params,
1439
+ body: post_body,
1440
+ auth_names: auth_names,
1441
+ return_type: return_type
1442
+ )
1443
+
1444
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1445
+ if @api_client.config.debugging
1446
+ @api_client.config.logger.debug "API called: ModApi#show_version\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1447
+ end
1448
+ [data, status_code, headers]
1449
+ end
1450
+
1451
+ # Update a specific mod
1452
+ # @param mod_id [String] A mod identifier or slug
1453
+ # @param mod [Mod] The mod data to update
1454
+ # @param [Hash] opts the optional parameters
1455
+ # @return [Mod]
1456
+ def update_mod(mod_id, mod, opts = {})
1457
+ data, _status_code, _headers = update_mod_with_http_info(mod_id, mod, opts)
1458
+ data
1459
+ end
1460
+
1461
+ # Update a specific mod
1462
+ # @param mod_id [String] A mod identifier or slug
1463
+ # @param mod [Mod] The mod data to update
1464
+ # @param [Hash] opts the optional parameters
1465
+ # @return [Array<(Mod, Integer, Hash)>] Mod data, response status code and response headers
1466
+ def update_mod_with_http_info(mod_id, mod, opts = {})
1467
+ if @api_client.config.debugging
1468
+ @api_client.config.logger.debug 'Calling API: ModApi.update_mod ...'
1469
+ end
1470
+ # verify the required parameter 'mod_id' is set
1471
+ if @api_client.config.client_side_validation && mod_id.nil?
1472
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.update_mod"
1473
+ end
1474
+ # verify the required parameter 'mod' is set
1475
+ if @api_client.config.client_side_validation && mod.nil?
1476
+ raise ArgumentError, "Missing the required parameter 'mod' when calling ModApi.update_mod"
1477
+ end
1478
+
1479
+ # resource path
1480
+ local_var_path = '/mods/{mod_id}'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s))
1481
+
1482
+ # query parameters
1483
+ query_params = opts[:query_params] || {}
1484
+
1485
+ # header parameters
1486
+ header_params = opts[:header_params] || {}
1487
+ # HTTP header 'Accept' (if needed)
1488
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1489
+ # HTTP header 'Content-Type'
1490
+ content_type = @api_client.select_header_content_type(['application/json'])
1491
+ unless content_type.nil?
1492
+ header_params['Content-Type'] = content_type
1493
+ end
1494
+
1495
+ # form parameters
1496
+ form_params = opts[:form_params] || {}
1497
+
1498
+ # http body (model)
1499
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(mod)
1500
+
1501
+ # return_type
1502
+ return_type = opts[:debug_return_type] || 'Mod'
1503
+
1504
+ # auth_names
1505
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
1506
+
1507
+ new_options = opts.merge(
1508
+ operation: :'ModApi.update_mod',
1509
+ header_params: header_params,
1510
+ query_params: query_params,
1511
+ form_params: form_params,
1512
+ body: post_body,
1513
+ auth_names: auth_names,
1514
+ return_type: return_type
1515
+ )
1516
+
1517
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1518
+ if @api_client.config.debugging
1519
+ @api_client.config.logger.debug "API called: ModApi#update_mod\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1520
+ end
1521
+ [data, status_code, headers]
1522
+ end
1523
+
1524
+ # Update a specific version for a mod
1525
+ # @param mod_id [String] A mod identifier or slug
1526
+ # @param version_id [String] A version identifier or slug
1527
+ # @param version [Version] The version data to update
1528
+ # @param [Hash] opts the optional parameters
1529
+ # @return [Version]
1530
+ def update_version(mod_id, version_id, version, opts = {})
1531
+ data, _status_code, _headers = update_version_with_http_info(mod_id, version_id, version, opts)
1532
+ data
1533
+ end
1534
+
1535
+ # Update a specific version for a mod
1536
+ # @param mod_id [String] A mod identifier or slug
1537
+ # @param version_id [String] A version identifier or slug
1538
+ # @param version [Version] The version data to update
1539
+ # @param [Hash] opts the optional parameters
1540
+ # @return [Array<(Version, Integer, Hash)>] Version data, response status code and response headers
1541
+ def update_version_with_http_info(mod_id, version_id, version, opts = {})
1542
+ if @api_client.config.debugging
1543
+ @api_client.config.logger.debug 'Calling API: ModApi.update_version ...'
1544
+ end
1545
+ # verify the required parameter 'mod_id' is set
1546
+ if @api_client.config.client_side_validation && mod_id.nil?
1547
+ raise ArgumentError, "Missing the required parameter 'mod_id' when calling ModApi.update_version"
1548
+ end
1549
+ # verify the required parameter 'version_id' is set
1550
+ if @api_client.config.client_side_validation && version_id.nil?
1551
+ raise ArgumentError, "Missing the required parameter 'version_id' when calling ModApi.update_version"
1552
+ end
1553
+ # verify the required parameter 'version' is set
1554
+ if @api_client.config.client_side_validation && version.nil?
1555
+ raise ArgumentError, "Missing the required parameter 'version' when calling ModApi.update_version"
1556
+ end
1557
+
1558
+ # resource path
1559
+ local_var_path = '/mods/{mod_id}/versions/{version_id}'.sub('{' + 'mod_id' + '}', CGI.escape(mod_id.to_s)).sub('{' + 'version_id' + '}', CGI.escape(version_id.to_s))
1560
+
1561
+ # query parameters
1562
+ query_params = opts[:query_params] || {}
1563
+
1564
+ # header parameters
1565
+ header_params = opts[:header_params] || {}
1566
+ # HTTP header 'Accept' (if needed)
1567
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1568
+ # HTTP header 'Content-Type'
1569
+ content_type = @api_client.select_header_content_type(['application/json'])
1570
+ unless content_type.nil?
1571
+ header_params['Content-Type'] = content_type
1572
+ end
1573
+
1574
+ # form parameters
1575
+ form_params = opts[:form_params] || {}
1576
+
1577
+ # http body (model)
1578
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(version)
1579
+
1580
+ # return_type
1581
+ return_type = opts[:debug_return_type] || 'Version'
1582
+
1583
+ # auth_names
1584
+ auth_names = opts[:debug_auth_names] || %w[Cookie Basic Header Bearer]
1585
+
1586
+ new_options = opts.merge(
1587
+ operation: :'ModApi.update_version',
1588
+ header_params: header_params,
1589
+ query_params: query_params,
1590
+ form_params: form_params,
1591
+ body: post_body,
1592
+ auth_names: auth_names,
1593
+ return_type: return_type
1594
+ )
1595
+
1596
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1597
+ if @api_client.config.debugging
1598
+ @api_client.config.logger.debug "API called: ModApi#update_version\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1599
+ end
1600
+ [data, status_code, headers]
1601
+ end
1602
+ end
1603
+ end