livepeer 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +7 -0
  2. data/lib/livepeer.rb +96 -0
  3. data/lib/sdk/access_control.rb +195 -0
  4. data/lib/sdk/asset.rb +248 -0
  5. data/lib/sdk/metrics.rb +158 -0
  6. data/lib/sdk/models/operations/createmultistreamtarget.rb +34 -0
  7. data/lib/sdk/models/operations/createsigningkey.rb +35 -0
  8. data/lib/sdk/models/operations/createstream.rb +34 -0
  9. data/lib/sdk/models/operations/createwebhook.rb +35 -0
  10. data/lib/sdk/models/operations/deleteasset.rb +45 -0
  11. data/lib/sdk/models/operations/deletemultistreamtarget.rb +45 -0
  12. data/lib/sdk/models/operations/deletesigningkey.rb +45 -0
  13. data/lib/sdk/models/operations/deletestream.rb +45 -0
  14. data/lib/sdk/models/operations/deletewebhook.rb +49 -0
  15. data/lib/sdk/models/operations/get_session_id_clips.rb +48 -0
  16. data/lib/sdk/models/operations/get_stream_id_clips.rb +48 -0
  17. data/lib/sdk/models/operations/getasset.rb +49 -0
  18. data/lib/sdk/models/operations/getassets.rb +34 -0
  19. data/lib/sdk/models/operations/getcreatormetrics.rb +98 -0
  20. data/lib/sdk/models/operations/getmultistreamtarget.rb +49 -0
  21. data/lib/sdk/models/operations/getmultistreamtargets.rb +34 -0
  22. data/lib/sdk/models/operations/getplaybackinfo.rb +53 -0
  23. data/lib/sdk/models/operations/getpublictotalviewsmetrics.rb +76 -0
  24. data/lib/sdk/models/operations/getrecordedsessions.rb +53 -0
  25. data/lib/sdk/models/operations/getsession.rb +49 -0
  26. data/lib/sdk/models/operations/getsessions.rb +34 -0
  27. data/lib/sdk/models/operations/getsigningkey.rb +49 -0
  28. data/lib/sdk/models/operations/getsigningkeys.rb +34 -0
  29. data/lib/sdk/models/operations/getstream.rb +49 -0
  30. data/lib/sdk/models/operations/getstreams.rb +48 -0
  31. data/lib/sdk/models/operations/gettask.rb +49 -0
  32. data/lib/sdk/models/operations/gettasks.rb +34 -0
  33. data/lib/sdk/models/operations/getusagemetrics.rb +72 -0
  34. data/lib/sdk/models/operations/getviewershipsmetrics.rb +107 -0
  35. data/lib/sdk/models/operations/getwebhook.rb +49 -0
  36. data/lib/sdk/models/operations/getwebhooks.rb +34 -0
  37. data/lib/sdk/models/operations/patch_asset_assetid_.rb +53 -0
  38. data/lib/sdk/models/operations/post_clip.rb +66 -0
  39. data/lib/sdk/models/operations/requestupload.rb +72 -0
  40. data/lib/sdk/models/operations/transcode.rb +35 -0
  41. data/lib/sdk/models/operations/updatemultistreamtarget.rb +49 -0
  42. data/lib/sdk/models/operations/updatesigningkey.rb +65 -0
  43. data/lib/sdk/models/operations/updatestream.rb +49 -0
  44. data/lib/sdk/models/operations/updatewebhook.rb +49 -0
  45. data/lib/sdk/models/operations/uploadassetviaurl.rb +66 -0
  46. data/lib/sdk/models/shared/asset.rb +312 -0
  47. data/lib/sdk/models/shared/asset_patch_payload.rb +38 -0
  48. data/lib/sdk/models/shared/attestation.rb +178 -0
  49. data/lib/sdk/models/shared/clip_payload.rb +37 -0
  50. data/lib/sdk/models/shared/encryption.rb +25 -0
  51. data/lib/sdk/models/shared/encryption_output.rb +21 -0
  52. data/lib/sdk/models/shared/error.rb +25 -0
  53. data/lib/sdk/models/shared/ffmpeg_profile.rb +71 -0
  54. data/lib/sdk/models/shared/ipfs_export_params.rb +41 -0
  55. data/lib/sdk/models/shared/ipfs_file_info.rb +31 -0
  56. data/lib/sdk/models/shared/multistream.rb +75 -0
  57. data/lib/sdk/models/shared/multistream_target.rb +36 -0
  58. data/lib/sdk/models/shared/multistream_target_input.rb +33 -0
  59. data/lib/sdk/models/shared/multistream_target_patch_payload.rb +33 -0
  60. data/lib/sdk/models/shared/new_asset_payload.rb +79 -0
  61. data/lib/sdk/models/shared/new_stream_payload.rb +44 -0
  62. data/lib/sdk/models/shared/nftmetadata.rb +24 -0
  63. data/lib/sdk/models/shared/nftmetadatatemplate.rb +23 -0
  64. data/lib/sdk/models/shared/playback_info.rb +115 -0
  65. data/lib/sdk/models/shared/playback_policy.rb +41 -0
  66. data/lib/sdk/models/shared/security.rb +25 -0
  67. data/lib/sdk/models/shared/session.rb +99 -0
  68. data/lib/sdk/models/shared/signing_key.rb +40 -0
  69. data/lib/sdk/models/shared/signing_key_response_payload.rb +43 -0
  70. data/lib/sdk/models/shared/storage.rb +28 -0
  71. data/lib/sdk/models/shared/storage_status.rb +70 -0
  72. data/lib/sdk/models/shared/stream.rb +142 -0
  73. data/lib/sdk/models/shared/stream_patch_payload.rb +41 -0
  74. data/lib/sdk/models/shared/task.rb +626 -0
  75. data/lib/sdk/models/shared/upload.rb +34 -0
  76. data/lib/sdk/models/shared/upload_output.rb +34 -0
  77. data/lib/sdk/models/shared/usage_metric.rb +38 -0
  78. data/lib/sdk/models/shared/viewership_metric.rb +97 -0
  79. data/lib/sdk/models/shared/webhook.rb +112 -0
  80. data/lib/sdk/multistream_target.rb +205 -0
  81. data/lib/sdk/playback.rb +63 -0
  82. data/lib/sdk/sdk.rb +89 -0
  83. data/lib/sdk/sdkconfiguration.rb +54 -0
  84. data/lib/sdk/session.rb +166 -0
  85. data/lib/sdk/stream.rb +290 -0
  86. data/lib/sdk/task.rb +87 -0
  87. data/lib/sdk/transcode.rb +59 -0
  88. data/lib/sdk/utils/metadata_fields.rb +154 -0
  89. data/lib/sdk/utils/utils.rb +774 -0
  90. data/lib/sdk/webhook.rb +192 -0
  91. metadata +260 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 19a41c70f8968e649a5e4d9117a08287899e24097c4e2296424810b127a0e6a6
4
+ data.tar.gz: 7ba2e750d2001df8366bc8c56bcff2e730e9e71876248bb04aaa081fe761cc7c
5
+ SHA512:
6
+ metadata.gz: 92328f764ef361bcf27d758568b51620dced1f65107bc09c66fe4101359403e33a428b83c22723d7d51d10f90ec337a378d2ba8486a3bd54d2dfb3fd202a3b40
7
+ data.tar.gz: 880b98e28926a32d4b5676e1fb4120dda3eaa296c5662f9d14f4e1f87f7976592b83ab4765944a0e5e23d18f95bb72bf035e86249acbc5ee869ade5e67ca105f
data/lib/livepeer.rb ADDED
@@ -0,0 +1,96 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require_relative 'sdk/utils/utils'
7
+ require_relative 'sdk/utils/metadata_fields'
8
+ require_relative 'sdk/sdk'
9
+ require_relative 'sdk/models/shared/stream'
10
+ require_relative 'sdk/models/shared/ffmpeg_profile'
11
+ require_relative 'sdk/models/shared/playback_policy'
12
+ require_relative 'sdk/models/shared/new_stream_payload'
13
+ require_relative 'sdk/models/shared/multistream'
14
+ require_relative 'sdk/models/shared/stream_patch_payload'
15
+ require_relative 'sdk/models/shared/asset'
16
+ require_relative 'sdk/models/shared/storage_status'
17
+ require_relative 'sdk/models/shared/ipfs_file_info'
18
+ require_relative 'sdk/models/shared/clip_payload'
19
+ require_relative 'sdk/models/shared/multistream_target'
20
+ require_relative 'sdk/models/shared/multistream_target_input'
21
+ require_relative 'sdk/models/shared/multistream_target_patch_payload'
22
+ require_relative 'sdk/models/shared/webhook'
23
+ require_relative 'sdk/models/shared/new_asset_payload'
24
+ require_relative 'sdk/models/shared/asset_patch_payload'
25
+ require_relative 'sdk/models/shared/storage'
26
+ require_relative 'sdk/models/shared/viewership_metric'
27
+ require_relative 'sdk/models/shared/usage_metric'
28
+ require_relative 'sdk/models/shared/session'
29
+ require_relative 'sdk/models/shared/signing_key'
30
+ require_relative 'sdk/models/shared/signing_key_response_payload'
31
+ require_relative 'sdk/models/shared/ipfs_export_params'
32
+ require_relative 'sdk/models/shared/nftmetadata'
33
+ require_relative 'sdk/models/shared/nftmetadatatemplate'
34
+ require_relative 'sdk/models/shared/upload_output'
35
+ require_relative 'sdk/models/shared/encryption_output'
36
+ require_relative 'sdk/models/shared/task'
37
+ require_relative 'sdk/models/shared/upload'
38
+ require_relative 'sdk/models/shared/encryption'
39
+ require_relative 'sdk/models/shared/error'
40
+ require_relative 'sdk/models/shared/playback_info'
41
+ require_relative 'sdk/models/shared/attestation'
42
+ require_relative 'sdk/models/shared/security'
43
+ require_relative 'sdk/models/operations/createmultistreamtarget'
44
+ require_relative 'sdk/models/operations/createsigningkey'
45
+ require_relative 'sdk/models/operations/createstream'
46
+ require_relative 'sdk/models/operations/createwebhook'
47
+ require_relative 'sdk/models/operations/deleteasset'
48
+ require_relative 'sdk/models/operations/deletemultistreamtarget'
49
+ require_relative 'sdk/models/operations/deletesigningkey'
50
+ require_relative 'sdk/models/operations/deletestream'
51
+ require_relative 'sdk/models/operations/deletewebhook'
52
+ require_relative 'sdk/models/operations/get_session_id_clips'
53
+ require_relative 'sdk/models/operations/get_stream_id_clips'
54
+ require_relative 'sdk/models/operations/getasset'
55
+ require_relative 'sdk/models/operations/getassets'
56
+ require_relative 'sdk/models/operations/getcreatormetrics'
57
+ require_relative 'sdk/models/operations/getmultistreamtarget'
58
+ require_relative 'sdk/models/operations/getmultistreamtargets'
59
+ require_relative 'sdk/models/operations/getplaybackinfo'
60
+ require_relative 'sdk/models/operations/getpublictotalviewsmetrics'
61
+ require_relative 'sdk/models/operations/getrecordedsessions'
62
+ require_relative 'sdk/models/operations/getsession'
63
+ require_relative 'sdk/models/operations/getsessions'
64
+ require_relative 'sdk/models/operations/getsigningkey'
65
+ require_relative 'sdk/models/operations/getsigningkeys'
66
+ require_relative 'sdk/models/operations/getstream'
67
+ require_relative 'sdk/models/operations/getstreams'
68
+ require_relative 'sdk/models/operations/gettask'
69
+ require_relative 'sdk/models/operations/gettasks'
70
+ require_relative 'sdk/models/operations/getusagemetrics'
71
+ require_relative 'sdk/models/operations/getviewershipsmetrics'
72
+ require_relative 'sdk/models/operations/getwebhook'
73
+ require_relative 'sdk/models/operations/getwebhooks'
74
+ require_relative 'sdk/models/operations/patch_asset_assetid_'
75
+ require_relative 'sdk/models/operations/post_clip'
76
+ require_relative 'sdk/models/operations/requestupload'
77
+ require_relative 'sdk/models/operations/transcode'
78
+ require_relative 'sdk/models/operations/updatemultistreamtarget'
79
+ require_relative 'sdk/models/operations/updatesigningkey'
80
+ require_relative 'sdk/models/operations/updatestream'
81
+ require_relative 'sdk/models/operations/updatewebhook'
82
+ require_relative 'sdk/models/operations/uploadassetviaurl'
83
+ require_relative 'sdk/sdkconfiguration'
84
+ require_relative 'sdk/stream'
85
+ require_relative 'sdk/multistream_target'
86
+ require_relative 'sdk/webhook'
87
+ require_relative 'sdk/asset'
88
+ require_relative 'sdk/metrics'
89
+ require_relative 'sdk/session'
90
+ require_relative 'sdk/access_control'
91
+ require_relative 'sdk/task'
92
+ require_relative 'sdk/transcode'
93
+ require_relative 'sdk/playback'
94
+
95
+ module Livepeer
96
+ end
@@ -0,0 +1,195 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module Livepeer
11
+ extend T::Sig
12
+ class AccessControl
13
+
14
+ extend T::Sig
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
18
+ end
19
+
20
+ sig { returns(Utils::FieldAugmented) }
21
+ def get_signing_keys
22
+ # get_signing_keys - Retrieves signing keys
23
+ url, params = @sdk_configuration.get_server_details
24
+ base_url = Utils.template_url(url, params)
25
+ url = "#{base_url}/access-control/signing-key"
26
+ headers = {}
27
+ headers['Accept'] = 'application/json'
28
+ headers['user-agent'] = @sdk_configuration.user_agent
29
+
30
+ r = @sdk_configuration.client.get(url) do |req|
31
+ req.headers = headers
32
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
33
+ end
34
+
35
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
36
+
37
+ res = Operations::GetSigningKeysResponse.new(
38
+ status_code: r.status, content_type: content_type, raw_response: r
39
+ )
40
+ if r.status == 200
41
+ if Utils.match_content_type(content_type, 'application/json')
42
+ out = Utils.unmarshal_complex(r.env.response_body, T::Array[Shared::SigningKey])
43
+ res.data = out
44
+ end
45
+ end
46
+ res
47
+ end
48
+
49
+ sig { returns(Utils::FieldAugmented) }
50
+ def create_signing_key
51
+ # create_signing_key - Create a signing key
52
+ url, params = @sdk_configuration.get_server_details
53
+ base_url = Utils.template_url(url, params)
54
+ url = "#{base_url}/access-control/signing-key"
55
+ headers = {}
56
+ headers['Accept'] = 'application/json'
57
+ headers['user-agent'] = @sdk_configuration.user_agent
58
+
59
+ r = @sdk_configuration.client.post(url) do |req|
60
+ req.headers = headers
61
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
62
+ end
63
+
64
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
65
+
66
+ res = Operations::CreateSigningKeyResponse.new(
67
+ status_code: r.status, content_type: content_type, raw_response: r
68
+ )
69
+ if r.status == 200
70
+ if Utils.match_content_type(content_type, 'application/json')
71
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::SigningKeyResponsePayload)
72
+ res.signing_key_response_payload = out
73
+ end
74
+ end
75
+ res
76
+ end
77
+
78
+ sig { params(key_id: String).returns(Utils::FieldAugmented) }
79
+ def delete_signing_key(key_id)
80
+ # delete_signing_key - Delete Signing Key
81
+ request = Operations::DeleteSigningKeyRequest.new(
82
+
83
+ key_id: key_id
84
+ )
85
+ url, params = @sdk_configuration.get_server_details
86
+ base_url = Utils.template_url(url, params)
87
+ url = Utils.generate_url(
88
+ Operations::DeleteSigningKeyRequest,
89
+ base_url,
90
+ '/access-control/signing-key/{keyId}',
91
+ request
92
+ )
93
+ headers = {}
94
+ headers['Accept'] = '*/*'
95
+ headers['user-agent'] = @sdk_configuration.user_agent
96
+
97
+ r = @sdk_configuration.client.delete(url) do |req|
98
+ req.headers = headers
99
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
100
+ end
101
+
102
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
103
+
104
+ res = Operations::DeleteSigningKeyResponse.new(
105
+ status_code: r.status, content_type: content_type, raw_response: r
106
+ )
107
+ if r.status == 204
108
+ end
109
+ res
110
+ end
111
+
112
+ sig { params(key_id: String).returns(Utils::FieldAugmented) }
113
+ def get_signing_key(key_id)
114
+ # get_signing_key - Retrieves a signing key
115
+ request = Operations::GetSigningKeyRequest.new(
116
+
117
+ key_id: key_id
118
+ )
119
+ url, params = @sdk_configuration.get_server_details
120
+ base_url = Utils.template_url(url, params)
121
+ url = Utils.generate_url(
122
+ Operations::GetSigningKeyRequest,
123
+ base_url,
124
+ '/access-control/signing-key/{keyId}',
125
+ request
126
+ )
127
+ headers = {}
128
+ headers['Accept'] = 'application/json'
129
+ headers['user-agent'] = @sdk_configuration.user_agent
130
+
131
+ r = @sdk_configuration.client.get(url) do |req|
132
+ req.headers = headers
133
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
134
+ end
135
+
136
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
137
+
138
+ res = Operations::GetSigningKeyResponse.new(
139
+ status_code: r.status, content_type: content_type, raw_response: r
140
+ )
141
+ if r.status == 200
142
+ if Utils.match_content_type(content_type, 'application/json')
143
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::SigningKey)
144
+ res.signing_key = out
145
+ end
146
+ end
147
+ res
148
+ end
149
+
150
+ sig { params(key_id: String, request_body: Operations::UpdateSigningKeyRequestBody).returns(Utils::FieldAugmented) }
151
+ def update_signing_key(key_id, request_body)
152
+ # update_signing_key - Update a signing key
153
+ request = Operations::UpdateSigningKeyRequest.new(
154
+
155
+ key_id: key_id,
156
+ request_body: request_body
157
+ )
158
+ url, params = @sdk_configuration.get_server_details
159
+ base_url = Utils.template_url(url, params)
160
+ url = Utils.generate_url(
161
+ Operations::UpdateSigningKeyRequest,
162
+ base_url,
163
+ '/access-control/signing-key/{keyId}',
164
+ request
165
+ )
166
+ headers = {}
167
+ req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :json)
168
+ headers['content-type'] = req_content_type
169
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
170
+ headers['Accept'] = '*/*'
171
+ headers['user-agent'] = @sdk_configuration.user_agent
172
+
173
+ r = @sdk_configuration.client.patch(url) do |req|
174
+ req.headers = headers
175
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
176
+ if form
177
+ req.body = Utils.encode_form(form)
178
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
179
+ req.body = URI.encode_www_form(data)
180
+ else
181
+ req.body = data
182
+ end
183
+ end
184
+
185
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
186
+
187
+ res = Operations::UpdateSigningKeyResponse.new(
188
+ status_code: r.status, content_type: content_type, raw_response: r
189
+ )
190
+ if r.status == 204
191
+ end
192
+ res
193
+ end
194
+ end
195
+ end
data/lib/sdk/asset.rb ADDED
@@ -0,0 +1,248 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module Livepeer
11
+ extend T::Sig
12
+ class Asset
13
+
14
+ extend T::Sig
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
18
+ end
19
+
20
+ sig { returns(Utils::FieldAugmented) }
21
+ def get_all
22
+ # get_all - Retrieve assets
23
+ url, params = @sdk_configuration.get_server_details
24
+ base_url = Utils.template_url(url, params)
25
+ url = "#{base_url}/asset"
26
+ headers = {}
27
+ headers['Accept'] = 'application/json'
28
+ headers['user-agent'] = @sdk_configuration.user_agent
29
+
30
+ r = @sdk_configuration.client.get(url) do |req|
31
+ req.headers = headers
32
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
33
+ end
34
+
35
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
36
+
37
+ res = Operations::GetAssetsResponse.new(
38
+ status_code: r.status, content_type: content_type, raw_response: r
39
+ )
40
+ if r.status == 200
41
+ if Utils.match_content_type(content_type, 'application/json')
42
+ out = Utils.unmarshal_complex(r.env.response_body, T::Array[Shared::Asset])
43
+ res.data = out
44
+ end
45
+ end
46
+ res
47
+ end
48
+
49
+ sig { params(request: Shared::NewAssetPayload).returns(Utils::FieldAugmented) }
50
+ def create(request)
51
+ # create - Upload an asset
52
+ url, params = @sdk_configuration.get_server_details
53
+ base_url = Utils.template_url(url, params)
54
+ url = "#{base_url}/asset/request-upload"
55
+ headers = {}
56
+ req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
57
+ headers['content-type'] = req_content_type
58
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
59
+ headers['Accept'] = 'application/json'
60
+ headers['user-agent'] = @sdk_configuration.user_agent
61
+
62
+ r = @sdk_configuration.client.post(url) do |req|
63
+ req.headers = headers
64
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
65
+ if form
66
+ req.body = Utils.encode_form(form)
67
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
68
+ req.body = URI.encode_www_form(data)
69
+ else
70
+ req.body = data
71
+ end
72
+ end
73
+
74
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
75
+
76
+ res = Operations::RequestUploadResponse.new(
77
+ status_code: r.status, content_type: content_type, raw_response: r
78
+ )
79
+ if r.status == 200
80
+ if Utils.match_content_type(content_type, 'application/json')
81
+ out = Utils.unmarshal_complex(r.env.response_body, Operations::RequestUploadData)
82
+ res.data = out
83
+ end
84
+ end
85
+ res
86
+ end
87
+
88
+ sig { params(request: Shared::NewAssetPayload).returns(Utils::FieldAugmented) }
89
+ def create_via_url(request)
90
+ # create_via_url - Upload asset via URL
91
+ url, params = @sdk_configuration.get_server_details
92
+ base_url = Utils.template_url(url, params)
93
+ url = "#{base_url}/asset/upload/url"
94
+ headers = {}
95
+ req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
96
+ headers['content-type'] = req_content_type
97
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
98
+ headers['Accept'] = 'application/json'
99
+ headers['user-agent'] = @sdk_configuration.user_agent
100
+
101
+ r = @sdk_configuration.client.post(url) do |req|
102
+ req.headers = headers
103
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
104
+ if form
105
+ req.body = Utils.encode_form(form)
106
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
107
+ req.body = URI.encode_www_form(data)
108
+ else
109
+ req.body = data
110
+ end
111
+ end
112
+
113
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
114
+
115
+ res = Operations::UploadAssetViaURLResponse.new(
116
+ status_code: r.status, content_type: content_type, raw_response: r
117
+ )
118
+ if r.status == 200
119
+ if Utils.match_content_type(content_type, 'application/json')
120
+ out = Utils.unmarshal_complex(r.env.response_body, Operations::UploadAssetViaURLData)
121
+ res.data = out
122
+ end
123
+ end
124
+ res
125
+ end
126
+
127
+ sig { params(asset_id: String).returns(Utils::FieldAugmented) }
128
+ def delete(asset_id)
129
+ # delete - Delete an asset
130
+ request = Operations::DeleteAssetRequest.new(
131
+
132
+ asset_id: asset_id
133
+ )
134
+ url, params = @sdk_configuration.get_server_details
135
+ base_url = Utils.template_url(url, params)
136
+ url = Utils.generate_url(
137
+ Operations::DeleteAssetRequest,
138
+ base_url,
139
+ '/asset/{assetId}',
140
+ request
141
+ )
142
+ headers = {}
143
+ headers['Accept'] = '*/*'
144
+ headers['user-agent'] = @sdk_configuration.user_agent
145
+
146
+ r = @sdk_configuration.client.delete(url) do |req|
147
+ req.headers = headers
148
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
149
+ end
150
+
151
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
152
+
153
+ res = Operations::DeleteAssetResponse.new(
154
+ status_code: r.status, content_type: content_type, raw_response: r
155
+ )
156
+ if r.status == 204
157
+ end
158
+ res
159
+ end
160
+
161
+ sig { params(asset_id: String).returns(Utils::FieldAugmented) }
162
+ def get(asset_id)
163
+ # get - Retrieves an asset
164
+ request = Operations::GetAssetRequest.new(
165
+
166
+ asset_id: asset_id
167
+ )
168
+ url, params = @sdk_configuration.get_server_details
169
+ base_url = Utils.template_url(url, params)
170
+ url = Utils.generate_url(
171
+ Operations::GetAssetRequest,
172
+ base_url,
173
+ '/asset/{assetId}',
174
+ request
175
+ )
176
+ headers = {}
177
+ headers['Accept'] = 'application/json'
178
+ headers['user-agent'] = @sdk_configuration.user_agent
179
+
180
+ r = @sdk_configuration.client.get(url) do |req|
181
+ req.headers = headers
182
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
183
+ end
184
+
185
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
186
+
187
+ res = Operations::GetAssetResponse.new(
188
+ status_code: r.status, content_type: content_type, raw_response: r
189
+ )
190
+ if r.status == 200
191
+ if Utils.match_content_type(content_type, 'application/json')
192
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::Asset)
193
+ res.asset = out
194
+ end
195
+ end
196
+ res
197
+ end
198
+
199
+ sig { params(asset_id: String, asset_patch_payload: Shared::AssetPatchPayload).returns(Utils::FieldAugmented) }
200
+ def update(asset_id, asset_patch_payload)
201
+ # update - Update an asset
202
+ request = Operations::PatchAssetAssetIdRequest.new(
203
+
204
+ asset_id: asset_id,
205
+ asset_patch_payload: asset_patch_payload
206
+ )
207
+ url, params = @sdk_configuration.get_server_details
208
+ base_url = Utils.template_url(url, params)
209
+ url = Utils.generate_url(
210
+ Operations::PatchAssetAssetIdRequest,
211
+ base_url,
212
+ '/asset/{assetId}',
213
+ request
214
+ )
215
+ headers = {}
216
+ req_content_type, data, form = Utils.serialize_request_body(request, :asset_patch_payload, :json)
217
+ headers['content-type'] = req_content_type
218
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
219
+ headers['Accept'] = 'application/json'
220
+ headers['user-agent'] = @sdk_configuration.user_agent
221
+
222
+ r = @sdk_configuration.client.patch(url) do |req|
223
+ req.headers = headers
224
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
225
+ if form
226
+ req.body = Utils.encode_form(form)
227
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
228
+ req.body = URI.encode_www_form(data)
229
+ else
230
+ req.body = data
231
+ end
232
+ end
233
+
234
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
235
+
236
+ res = Operations::PatchAssetAssetIdResponse.new(
237
+ status_code: r.status, content_type: content_type, raw_response: r
238
+ )
239
+ if r.status == 200
240
+ if Utils.match_content_type(content_type, 'application/json')
241
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::Asset)
242
+ res.asset = out
243
+ end
244
+ end
245
+ res
246
+ end
247
+ end
248
+ end