livepeer 0.0.1
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.
- checksums.yaml +7 -0
- data/lib/livepeer.rb +96 -0
- data/lib/sdk/access_control.rb +195 -0
- data/lib/sdk/asset.rb +248 -0
- data/lib/sdk/metrics.rb +158 -0
- data/lib/sdk/models/operations/createmultistreamtarget.rb +34 -0
- data/lib/sdk/models/operations/createsigningkey.rb +35 -0
- data/lib/sdk/models/operations/createstream.rb +34 -0
- data/lib/sdk/models/operations/createwebhook.rb +35 -0
- data/lib/sdk/models/operations/deleteasset.rb +45 -0
- data/lib/sdk/models/operations/deletemultistreamtarget.rb +45 -0
- data/lib/sdk/models/operations/deletesigningkey.rb +45 -0
- data/lib/sdk/models/operations/deletestream.rb +45 -0
- data/lib/sdk/models/operations/deletewebhook.rb +49 -0
- data/lib/sdk/models/operations/get_session_id_clips.rb +48 -0
- data/lib/sdk/models/operations/get_stream_id_clips.rb +48 -0
- data/lib/sdk/models/operations/getasset.rb +49 -0
- data/lib/sdk/models/operations/getassets.rb +34 -0
- data/lib/sdk/models/operations/getcreatormetrics.rb +98 -0
- data/lib/sdk/models/operations/getmultistreamtarget.rb +49 -0
- data/lib/sdk/models/operations/getmultistreamtargets.rb +34 -0
- data/lib/sdk/models/operations/getplaybackinfo.rb +53 -0
- data/lib/sdk/models/operations/getpublictotalviewsmetrics.rb +76 -0
- data/lib/sdk/models/operations/getrecordedsessions.rb +53 -0
- data/lib/sdk/models/operations/getsession.rb +49 -0
- data/lib/sdk/models/operations/getsessions.rb +34 -0
- data/lib/sdk/models/operations/getsigningkey.rb +49 -0
- data/lib/sdk/models/operations/getsigningkeys.rb +34 -0
- data/lib/sdk/models/operations/getstream.rb +49 -0
- data/lib/sdk/models/operations/getstreams.rb +48 -0
- data/lib/sdk/models/operations/gettask.rb +49 -0
- data/lib/sdk/models/operations/gettasks.rb +34 -0
- data/lib/sdk/models/operations/getusagemetrics.rb +72 -0
- data/lib/sdk/models/operations/getviewershipsmetrics.rb +107 -0
- data/lib/sdk/models/operations/getwebhook.rb +49 -0
- data/lib/sdk/models/operations/getwebhooks.rb +34 -0
- data/lib/sdk/models/operations/patch_asset_assetid_.rb +53 -0
- data/lib/sdk/models/operations/post_clip.rb +66 -0
- data/lib/sdk/models/operations/requestupload.rb +72 -0
- data/lib/sdk/models/operations/transcode.rb +35 -0
- data/lib/sdk/models/operations/updatemultistreamtarget.rb +49 -0
- data/lib/sdk/models/operations/updatesigningkey.rb +65 -0
- data/lib/sdk/models/operations/updatestream.rb +49 -0
- data/lib/sdk/models/operations/updatewebhook.rb +49 -0
- data/lib/sdk/models/operations/uploadassetviaurl.rb +66 -0
- data/lib/sdk/models/shared/asset.rb +312 -0
- data/lib/sdk/models/shared/asset_patch_payload.rb +38 -0
- data/lib/sdk/models/shared/attestation.rb +178 -0
- data/lib/sdk/models/shared/clip_payload.rb +37 -0
- data/lib/sdk/models/shared/encryption.rb +25 -0
- data/lib/sdk/models/shared/encryption_output.rb +21 -0
- data/lib/sdk/models/shared/error.rb +25 -0
- data/lib/sdk/models/shared/ffmpeg_profile.rb +71 -0
- data/lib/sdk/models/shared/ipfs_export_params.rb +41 -0
- data/lib/sdk/models/shared/ipfs_file_info.rb +31 -0
- data/lib/sdk/models/shared/multistream.rb +75 -0
- data/lib/sdk/models/shared/multistream_target.rb +36 -0
- data/lib/sdk/models/shared/multistream_target_input.rb +33 -0
- data/lib/sdk/models/shared/multistream_target_patch_payload.rb +33 -0
- data/lib/sdk/models/shared/new_asset_payload.rb +79 -0
- data/lib/sdk/models/shared/new_stream_payload.rb +44 -0
- data/lib/sdk/models/shared/nftmetadata.rb +24 -0
- data/lib/sdk/models/shared/nftmetadatatemplate.rb +23 -0
- data/lib/sdk/models/shared/playback_info.rb +115 -0
- data/lib/sdk/models/shared/playback_policy.rb +41 -0
- data/lib/sdk/models/shared/security.rb +25 -0
- data/lib/sdk/models/shared/session.rb +99 -0
- data/lib/sdk/models/shared/signing_key.rb +40 -0
- data/lib/sdk/models/shared/signing_key_response_payload.rb +43 -0
- data/lib/sdk/models/shared/storage.rb +28 -0
- data/lib/sdk/models/shared/storage_status.rb +70 -0
- data/lib/sdk/models/shared/stream.rb +142 -0
- data/lib/sdk/models/shared/stream_patch_payload.rb +41 -0
- data/lib/sdk/models/shared/task.rb +626 -0
- data/lib/sdk/models/shared/upload.rb +34 -0
- data/lib/sdk/models/shared/upload_output.rb +34 -0
- data/lib/sdk/models/shared/usage_metric.rb +38 -0
- data/lib/sdk/models/shared/viewership_metric.rb +97 -0
- data/lib/sdk/models/shared/webhook.rb +112 -0
- data/lib/sdk/multistream_target.rb +205 -0
- data/lib/sdk/playback.rb +63 -0
- data/lib/sdk/sdk.rb +89 -0
- data/lib/sdk/sdkconfiguration.rb +54 -0
- data/lib/sdk/session.rb +166 -0
- data/lib/sdk/stream.rb +290 -0
- data/lib/sdk/task.rb +87 -0
- data/lib/sdk/transcode.rb +59 -0
- data/lib/sdk/utils/metadata_fields.rb +154 -0
- data/lib/sdk/utils/utils.rb +774 -0
- data/lib/sdk/webhook.rb +192 -0
- metadata +260 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
|
|
9
|
+
module Livepeer
|
|
10
|
+
module Operations
|
|
11
|
+
|
|
12
|
+
class UpdateSigningKeyRequestBody < Livepeer::Utils::FieldAugmented
|
|
13
|
+
extend T::Sig
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :disabled, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('disabled') } }
|
|
17
|
+
|
|
18
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
sig { params(disabled: T.nilable(T::Boolean), name: T.nilable(String)).void }
|
|
22
|
+
def initialize(disabled: nil, name: nil)
|
|
23
|
+
@disabled = disabled
|
|
24
|
+
@name = name
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class UpdateSigningKeyRequest < Livepeer::Utils::FieldAugmented
|
|
30
|
+
extend T::Sig
|
|
31
|
+
|
|
32
|
+
# ID of the signing key
|
|
33
|
+
field :key_id, String, { 'path_param': { 'field_name': 'keyId', 'style': 'simple', 'explode': false } }
|
|
34
|
+
|
|
35
|
+
field :request_body, Operations::UpdateSigningKeyRequestBody, { 'request': { 'media_type': 'application/json' } }
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
sig { params(key_id: String, request_body: Operations::UpdateSigningKeyRequestBody).void }
|
|
39
|
+
def initialize(key_id: nil, request_body: nil)
|
|
40
|
+
@key_id = key_id
|
|
41
|
+
@request_body = request_body
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class UpdateSigningKeyResponse < Livepeer::Utils::FieldAugmented
|
|
47
|
+
extend T::Sig
|
|
48
|
+
|
|
49
|
+
# HTTP response content type for this operation
|
|
50
|
+
field :content_type, String
|
|
51
|
+
# HTTP response status code for this operation
|
|
52
|
+
field :status_code, Integer
|
|
53
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
54
|
+
field :raw_response, T.nilable(Faraday::Response)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
sig { params(content_type: String, status_code: Integer, raw_response: T.nilable(Faraday::Response)).void }
|
|
58
|
+
def initialize(content_type: nil, status_code: nil, raw_response: nil)
|
|
59
|
+
@content_type = content_type
|
|
60
|
+
@status_code = status_code
|
|
61
|
+
@raw_response = raw_response
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/stream_patch_payload'
|
|
9
|
+
|
|
10
|
+
module Livepeer
|
|
11
|
+
module Operations
|
|
12
|
+
|
|
13
|
+
class UpdateStreamRequest < Livepeer::Utils::FieldAugmented
|
|
14
|
+
extend T::Sig
|
|
15
|
+
|
|
16
|
+
# ID of the stream
|
|
17
|
+
field :id, String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
|
|
18
|
+
|
|
19
|
+
field :stream_patch_payload, Shared::StreamPatchPayload, { 'request': { 'media_type': 'application/json' } }
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
sig { params(id: String, stream_patch_payload: Shared::StreamPatchPayload).void }
|
|
23
|
+
def initialize(id: nil, stream_patch_payload: nil)
|
|
24
|
+
@id = id
|
|
25
|
+
@stream_patch_payload = stream_patch_payload
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class UpdateStreamResponse < Livepeer::Utils::FieldAugmented
|
|
31
|
+
extend T::Sig
|
|
32
|
+
|
|
33
|
+
# HTTP response content type for this operation
|
|
34
|
+
field :content_type, String
|
|
35
|
+
# HTTP response status code for this operation
|
|
36
|
+
field :status_code, Integer
|
|
37
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
38
|
+
field :raw_response, T.nilable(Faraday::Response)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
sig { params(content_type: String, status_code: Integer, raw_response: T.nilable(Faraday::Response)).void }
|
|
42
|
+
def initialize(content_type: nil, status_code: nil, raw_response: nil)
|
|
43
|
+
@content_type = content_type
|
|
44
|
+
@status_code = status_code
|
|
45
|
+
@raw_response = raw_response
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/webhook'
|
|
9
|
+
|
|
10
|
+
module Livepeer
|
|
11
|
+
module Operations
|
|
12
|
+
|
|
13
|
+
class UpdateWebhookRequest < Livepeer::Utils::FieldAugmented
|
|
14
|
+
extend T::Sig
|
|
15
|
+
|
|
16
|
+
# ID of the webhook
|
|
17
|
+
field :id, String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
sig { params(id: String).void }
|
|
21
|
+
def initialize(id: nil)
|
|
22
|
+
@id = id
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class UpdateWebhookResponse < Livepeer::Utils::FieldAugmented
|
|
28
|
+
extend T::Sig
|
|
29
|
+
|
|
30
|
+
# HTTP response content type for this operation
|
|
31
|
+
field :content_type, String
|
|
32
|
+
# HTTP response status code for this operation
|
|
33
|
+
field :status_code, Integer
|
|
34
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
35
|
+
field :raw_response, T.nilable(Faraday::Response)
|
|
36
|
+
# Success
|
|
37
|
+
field :webhook, T.nilable(Shared::Webhook)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
sig { params(content_type: String, status_code: Integer, raw_response: T.nilable(Faraday::Response), webhook: T.nilable(Shared::Webhook)).void }
|
|
41
|
+
def initialize(content_type: nil, status_code: nil, raw_response: nil, webhook: nil)
|
|
42
|
+
@content_type = content_type
|
|
43
|
+
@status_code = status_code
|
|
44
|
+
@raw_response = raw_response
|
|
45
|
+
@webhook = webhook
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/asset'
|
|
9
|
+
|
|
10
|
+
module Livepeer
|
|
11
|
+
module Operations
|
|
12
|
+
|
|
13
|
+
class UploadAssetViaURLTask < Livepeer::Utils::FieldAugmented
|
|
14
|
+
extend T::Sig
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
sig { params(id: T.nilable(String)).void }
|
|
21
|
+
def initialize(id: nil)
|
|
22
|
+
@id = id
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Success
|
|
27
|
+
class UploadAssetViaURLData < Livepeer::Utils::FieldAugmented
|
|
28
|
+
extend T::Sig
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
field :asset, Shared::Asset, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('asset') } }
|
|
32
|
+
|
|
33
|
+
field :task, Operations::UploadAssetViaURLTask, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('task') } }
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
sig { params(asset: Shared::Asset, task: Operations::UploadAssetViaURLTask).void }
|
|
37
|
+
def initialize(asset: nil, task: nil)
|
|
38
|
+
@asset = asset
|
|
39
|
+
@task = task
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class UploadAssetViaURLResponse < Livepeer::Utils::FieldAugmented
|
|
45
|
+
extend T::Sig
|
|
46
|
+
|
|
47
|
+
# HTTP response content type for this operation
|
|
48
|
+
field :content_type, String
|
|
49
|
+
# HTTP response status code for this operation
|
|
50
|
+
field :status_code, Integer
|
|
51
|
+
# Success
|
|
52
|
+
field :data, T.nilable(Operations::UploadAssetViaURLData)
|
|
53
|
+
# Raw HTTP response; suitable for custom response parsing
|
|
54
|
+
field :raw_response, T.nilable(Faraday::Response)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
sig { params(content_type: String, status_code: Integer, data: T.nilable(Operations::UploadAssetViaURLData), raw_response: T.nilable(Faraday::Response)).void }
|
|
58
|
+
def initialize(content_type: nil, status_code: nil, data: nil, raw_response: nil)
|
|
59
|
+
@content_type = content_type
|
|
60
|
+
@status_code = status_code
|
|
61
|
+
@data = data
|
|
62
|
+
@raw_response = raw_response
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/ipfs_file_info'
|
|
9
|
+
require_relative '../shared/storage_status'
|
|
10
|
+
require_relative '../shared/playback_policy'
|
|
11
|
+
|
|
12
|
+
module Livepeer
|
|
13
|
+
module Shared
|
|
14
|
+
# AssetType - Type of the asset.
|
|
15
|
+
class AssetType < T::Enum
|
|
16
|
+
enums do
|
|
17
|
+
VIDEO = new('video')
|
|
18
|
+
AUDIO = new('audio')
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# AssetNftMetadataTemplate - Name of the NFT metadata template to export. 'player'
|
|
24
|
+
# will embed the Livepeer Player on the NFT while 'file'
|
|
25
|
+
# will reference only the immutable MP4 files.
|
|
26
|
+
#
|
|
27
|
+
class AssetNftMetadataTemplate < T::Enum
|
|
28
|
+
enums do
|
|
29
|
+
FILE = new('file')
|
|
30
|
+
PLAYER = new('player')
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# Additional data to add to the NFT metadata exported to
|
|
36
|
+
# IPFS. Will be deep merged with the default metadata
|
|
37
|
+
# exported.
|
|
38
|
+
#
|
|
39
|
+
class AssetNftMetadata < Livepeer::Utils::FieldAugmented
|
|
40
|
+
extend T::Sig
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def initialize; end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class AssetSpec < Livepeer::Utils::FieldAugmented
|
|
50
|
+
extend T::Sig
|
|
51
|
+
|
|
52
|
+
# Additional data to add to the NFT metadata exported to
|
|
53
|
+
# IPFS. Will be deep merged with the default metadata
|
|
54
|
+
# exported.
|
|
55
|
+
#
|
|
56
|
+
field :nft_metadata, T.nilable(Shared::AssetNftMetadata), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadata') } }
|
|
57
|
+
# Name of the NFT metadata template to export. 'player'
|
|
58
|
+
# will embed the Livepeer Player on the NFT while 'file'
|
|
59
|
+
# will reference only the immutable MP4 files.
|
|
60
|
+
#
|
|
61
|
+
field :nft_metadata_template, T.nilable(Shared::AssetNftMetadataTemplate), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadataTemplate'), 'decoder': Utils.enum_from_string(Shared::AssetNftMetadataTemplate, true) } }
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
sig { params(nft_metadata: T.nilable(Shared::AssetNftMetadata), nft_metadata_template: T.nilable(Shared::AssetNftMetadataTemplate)).void }
|
|
65
|
+
def initialize(nft_metadata: nil, nft_metadata_template: nil)
|
|
66
|
+
@nft_metadata = nft_metadata
|
|
67
|
+
@nft_metadata_template = nft_metadata_template
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class Ipfs < Livepeer::Utils::FieldAugmented
|
|
73
|
+
extend T::Sig
|
|
74
|
+
|
|
75
|
+
# CID of the file on IPFS
|
|
76
|
+
field :cid, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('cid') } }
|
|
77
|
+
# URL to access file via HTTP through an IPFS gateway
|
|
78
|
+
field :gateway_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gatewayUrl') } }
|
|
79
|
+
|
|
80
|
+
field :nft_metadata, T.nilable(Shared::IpfsFileInfo), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('nftMetadata') } }
|
|
81
|
+
|
|
82
|
+
field :spec, T.nilable(Shared::AssetSpec), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('spec') } }
|
|
83
|
+
# Timestamp (in milliseconds) at which IPFS export task was
|
|
84
|
+
# updated
|
|
85
|
+
#
|
|
86
|
+
field :updated_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updatedAt') } }
|
|
87
|
+
# URL with IPFS scheme for the file
|
|
88
|
+
field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
sig { params(cid: T.nilable(String), gateway_url: T.nilable(String), nft_metadata: T.nilable(Shared::IpfsFileInfo), spec: T.nilable(Shared::AssetSpec), updated_at: T.nilable(Float), url: T.nilable(String)).void }
|
|
92
|
+
def initialize(cid: nil, gateway_url: nil, nft_metadata: nil, spec: nil, updated_at: nil, url: nil)
|
|
93
|
+
@cid = cid
|
|
94
|
+
@gateway_url = gateway_url
|
|
95
|
+
@nft_metadata = nft_metadata
|
|
96
|
+
@spec = spec
|
|
97
|
+
@updated_at = updated_at
|
|
98
|
+
@url = url
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class AssetStorage < Livepeer::Utils::FieldAugmented
|
|
104
|
+
extend T::Sig
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
field :ipfs, T.nilable(Shared::Ipfs), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('ipfs') } }
|
|
108
|
+
|
|
109
|
+
field :status, T.nilable(Shared::StorageStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('status') } }
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
sig { params(ipfs: T.nilable(Shared::Ipfs), status: T.nilable(Shared::StorageStatus)).void }
|
|
113
|
+
def initialize(ipfs: nil, status: nil)
|
|
114
|
+
@ipfs = ipfs
|
|
115
|
+
@status = status
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# AssetPhase - Phase of the asset
|
|
120
|
+
class AssetPhase < T::Enum
|
|
121
|
+
enums do
|
|
122
|
+
UPLOADING = new('uploading')
|
|
123
|
+
WAITING = new('waiting')
|
|
124
|
+
PROCESSING = new('processing')
|
|
125
|
+
READY = new('ready')
|
|
126
|
+
FAILED = new('failed')
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
# Status of the asset
|
|
132
|
+
class AssetStatus < Livepeer::Utils::FieldAugmented
|
|
133
|
+
extend T::Sig
|
|
134
|
+
|
|
135
|
+
# Phase of the asset
|
|
136
|
+
field :phase, Shared::AssetPhase, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('phase'), 'decoder': Utils.enum_from_string(Shared::AssetPhase, false) } }
|
|
137
|
+
# Timestamp (in milliseconds) at which the asset was last updated
|
|
138
|
+
field :updated_at, Float, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updatedAt') } }
|
|
139
|
+
# Error message if the asset creation failed.
|
|
140
|
+
field :error_message, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('errorMessage') } }
|
|
141
|
+
# Current progress of the task creating this asset.
|
|
142
|
+
field :progress, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('progress') } }
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
sig { params(phase: Shared::AssetPhase, updated_at: Float, error_message: T.nilable(String), progress: T.nilable(Float)).void }
|
|
146
|
+
def initialize(phase: nil, updated_at: nil, error_message: nil, progress: nil)
|
|
147
|
+
@phase = phase
|
|
148
|
+
@updated_at = updated_at
|
|
149
|
+
@error_message = error_message
|
|
150
|
+
@progress = progress
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
class Hash < Livepeer::Utils::FieldAugmented
|
|
156
|
+
extend T::Sig
|
|
157
|
+
|
|
158
|
+
# Hash algorithm used to compute the hash
|
|
159
|
+
field :algorithm, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('algorithm') } }
|
|
160
|
+
# Hash of the asset
|
|
161
|
+
field :hash, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('hash') } }
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
sig { params(algorithm: T.nilable(String), hash: T.nilable(String)).void }
|
|
165
|
+
def initialize(algorithm: nil, hash: nil)
|
|
166
|
+
@algorithm = algorithm
|
|
167
|
+
@hash = hash
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# AssetSchemasType - type of track
|
|
172
|
+
class AssetSchemasType < T::Enum
|
|
173
|
+
enums do
|
|
174
|
+
VIDEO = new('video')
|
|
175
|
+
AUDIO = new('audio')
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class Tracks < Livepeer::Utils::FieldAugmented
|
|
182
|
+
extend T::Sig
|
|
183
|
+
|
|
184
|
+
# Codec of the track
|
|
185
|
+
field :codec, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('codec') } }
|
|
186
|
+
# type of track
|
|
187
|
+
field :type, Shared::AssetSchemasType, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Shared::AssetSchemasType, false) } }
|
|
188
|
+
# Bit depth of the track - only for audio tracks
|
|
189
|
+
field :bit_depth, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('bitDepth') } }
|
|
190
|
+
# Bitrate of the track in bits per second
|
|
191
|
+
field :bitrate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('bitrate') } }
|
|
192
|
+
# Amount of audio channels in the track
|
|
193
|
+
field :channels, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('channels') } }
|
|
194
|
+
# Duration of the track in seconds
|
|
195
|
+
field :duration, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('duration') } }
|
|
196
|
+
# Frame rate of the track - only for video tracks
|
|
197
|
+
field :fps, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('fps') } }
|
|
198
|
+
# Height of the track - only for video tracks
|
|
199
|
+
field :height, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('height') } }
|
|
200
|
+
# Pixel format of the track - only for video tracks
|
|
201
|
+
field :pixel_format, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('pixelFormat') } }
|
|
202
|
+
# Sample rate of the track in samples per second - only for
|
|
203
|
+
# audio tracks
|
|
204
|
+
#
|
|
205
|
+
field :sample_rate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('sampleRate') } }
|
|
206
|
+
# Start time of the track in seconds
|
|
207
|
+
field :start_time, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('startTime') } }
|
|
208
|
+
# Width of the track - only for video tracks
|
|
209
|
+
field :width, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('width') } }
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
sig { params(codec: String, type: Shared::AssetSchemasType, bit_depth: T.nilable(Float), bitrate: T.nilable(Float), channels: T.nilable(Float), duration: T.nilable(Float), fps: T.nilable(Float), height: T.nilable(Float), pixel_format: T.nilable(String), sample_rate: T.nilable(Float), start_time: T.nilable(Float), width: T.nilable(Float)).void }
|
|
213
|
+
def initialize(codec: nil, type: nil, bit_depth: nil, bitrate: nil, channels: nil, duration: nil, fps: nil, height: nil, pixel_format: nil, sample_rate: nil, start_time: nil, width: nil)
|
|
214
|
+
@codec = codec
|
|
215
|
+
@type = type
|
|
216
|
+
@bit_depth = bit_depth
|
|
217
|
+
@bitrate = bitrate
|
|
218
|
+
@channels = channels
|
|
219
|
+
@duration = duration
|
|
220
|
+
@fps = fps
|
|
221
|
+
@height = height
|
|
222
|
+
@pixel_format = pixel_format
|
|
223
|
+
@sample_rate = sample_rate
|
|
224
|
+
@start_time = start_time
|
|
225
|
+
@width = width
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
# Video metadata
|
|
230
|
+
class VideoSpec < Livepeer::Utils::FieldAugmented
|
|
231
|
+
extend T::Sig
|
|
232
|
+
|
|
233
|
+
# Bitrate of the video in bits per second
|
|
234
|
+
field :bitrate, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('bitrate') } }
|
|
235
|
+
# Duration of the asset in seconds (float)
|
|
236
|
+
field :duration, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('duration') } }
|
|
237
|
+
# Format of the asset
|
|
238
|
+
field :format, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('format') } }
|
|
239
|
+
# List of tracks associated with the asset when the format
|
|
240
|
+
# contemplates them (e.g. mp4)
|
|
241
|
+
#
|
|
242
|
+
field :tracks, T.nilable(T::Array[Shared::Tracks]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('tracks') } }
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
sig { params(bitrate: T.nilable(Float), duration: T.nilable(Float), format: T.nilable(String), tracks: T.nilable(T::Array[Shared::Tracks])).void }
|
|
246
|
+
def initialize(bitrate: nil, duration: nil, format: nil, tracks: nil)
|
|
247
|
+
@bitrate = bitrate
|
|
248
|
+
@duration = duration
|
|
249
|
+
@format = format
|
|
250
|
+
@tracks = tracks
|
|
251
|
+
end
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
class Asset < Livepeer::Utils::FieldAugmented
|
|
256
|
+
extend T::Sig
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
field :id, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
|
|
260
|
+
# Name of the asset. This is not necessarily the filename, can be a
|
|
261
|
+
# custom name or title
|
|
262
|
+
#
|
|
263
|
+
field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
264
|
+
|
|
265
|
+
field :source, Object, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source') } }
|
|
266
|
+
# Timestamp (in milliseconds) at which asset was created
|
|
267
|
+
field :created_at, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('createdAt') } }
|
|
268
|
+
|
|
269
|
+
field :creator_id, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('creatorId') } }
|
|
270
|
+
# URL to manually download the asset if desired
|
|
271
|
+
field :download_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('downloadUrl') } }
|
|
272
|
+
# Hash of the asset
|
|
273
|
+
field :hash, T.nilable(T::Array[Shared::Hash]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('hash') } }
|
|
274
|
+
# Used to form playback URL and storage folder
|
|
275
|
+
field :playback_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackId') } }
|
|
276
|
+
# Whether the playback policy for a asset or stream is public or signed
|
|
277
|
+
field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
|
|
278
|
+
# URL for HLS playback
|
|
279
|
+
field :playback_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackUrl') } }
|
|
280
|
+
# Size of the asset in bytes
|
|
281
|
+
field :size, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('size') } }
|
|
282
|
+
# Status of the asset
|
|
283
|
+
field :status, T.nilable(Shared::AssetStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('status') } }
|
|
284
|
+
|
|
285
|
+
field :storage, T.nilable(Shared::AssetStorage), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('storage') } }
|
|
286
|
+
# Type of the asset.
|
|
287
|
+
field :type, T.nilable(Shared::AssetType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Shared::AssetType, true) } }
|
|
288
|
+
# Video metadata
|
|
289
|
+
field :video_spec, T.nilable(Shared::VideoSpec), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('videoSpec') } }
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
sig { params(id: String, name: String, source: Object, created_at: T.nilable(Float), creator_id: T.nilable(Object), download_url: T.nilable(String), hash: T.nilable(T::Array[Shared::Hash]), playback_id: T.nilable(String), playback_policy: T.nilable(Shared::PlaybackPolicy), playback_url: T.nilable(String), size: T.nilable(Float), status: T.nilable(Shared::AssetStatus), storage: T.nilable(Shared::AssetStorage), type: T.nilable(Shared::AssetType), video_spec: T.nilable(Shared::VideoSpec)).void }
|
|
293
|
+
def initialize(id: nil, name: nil, source: nil, created_at: nil, creator_id: nil, download_url: nil, hash: nil, playback_id: nil, playback_policy: nil, playback_url: nil, size: nil, status: nil, storage: nil, type: nil, video_spec: nil)
|
|
294
|
+
@id = id
|
|
295
|
+
@name = name
|
|
296
|
+
@source = source
|
|
297
|
+
@created_at = created_at
|
|
298
|
+
@creator_id = creator_id
|
|
299
|
+
@download_url = download_url
|
|
300
|
+
@hash = hash
|
|
301
|
+
@playback_id = playback_id
|
|
302
|
+
@playback_policy = playback_policy
|
|
303
|
+
@playback_url = playback_url
|
|
304
|
+
@size = size
|
|
305
|
+
@status = status
|
|
306
|
+
@storage = storage
|
|
307
|
+
@type = type
|
|
308
|
+
@video_spec = video_spec
|
|
309
|
+
end
|
|
310
|
+
end
|
|
311
|
+
end
|
|
312
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
require 'sorbet-runtime'
|
|
7
|
+
require 'faraday'
|
|
8
|
+
require_relative '../shared/playback_policy'
|
|
9
|
+
require_relative '../shared/storage'
|
|
10
|
+
|
|
11
|
+
module Livepeer
|
|
12
|
+
module Shared
|
|
13
|
+
|
|
14
|
+
class AssetPatchPayload < Livepeer::Utils::FieldAugmented
|
|
15
|
+
extend T::Sig
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
field :creator_id, T.nilable(Object), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('creatorId') } }
|
|
19
|
+
# Name of the asset. This is not necessarily the filename, can be a
|
|
20
|
+
# custom name or title
|
|
21
|
+
#
|
|
22
|
+
field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
|
|
23
|
+
# Whether the playback policy for a asset or stream is public or signed
|
|
24
|
+
field :playback_policy, T.nilable(Shared::PlaybackPolicy), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('playbackPolicy') } }
|
|
25
|
+
|
|
26
|
+
field :storage, T.nilable(Shared::Storage), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('storage') } }
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
sig { params(creator_id: T.nilable(Object), name: T.nilable(String), playback_policy: T.nilable(Shared::PlaybackPolicy), storage: T.nilable(Shared::Storage)).void }
|
|
30
|
+
def initialize(creator_id: nil, name: nil, playback_policy: nil, storage: nil)
|
|
31
|
+
@creator_id = creator_id
|
|
32
|
+
@name = name
|
|
33
|
+
@playback_policy = playback_policy
|
|
34
|
+
@storage = storage
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|