livepeer 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|