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.
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
@@ -0,0 +1,154 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module Livepeer
7
+ module MetadataFields
8
+ extend T::Sig
9
+
10
+ class Field
11
+ attr_accessor :name, :type, :metadata
12
+
13
+ def initialize(name, type, metadata)
14
+ @name = name
15
+ @type = type
16
+ @metadata = metadata
17
+ end
18
+ end
19
+
20
+ module ClassMethods
21
+ extend T::Sig
22
+
23
+ def fields
24
+ @__fields__ = [] if @__fields__.nil?
25
+
26
+ @__fields__
27
+ end
28
+
29
+ def field(field_name, type, metadata = {})
30
+ attr_accessor field_name
31
+
32
+ fields << Field.new(field_name, type, metadata)
33
+ end
34
+
35
+ def unmarshal_single(field_type, value, decoder = nil)
36
+ if field_type.respond_to? :unmarshal_json
37
+ unmarshalled = field_type.unmarshal_json(value)
38
+ return unmarshalled
39
+ elsif field_type.to_s == 'Object'
40
+ # rubocop:disable Lint/SuppressedException
41
+ begin
42
+ value = JSON.parse(value)
43
+ rescue TypeError, JSON::ParserError
44
+ end
45
+ # rubocop:enable Lint/SuppressedException
46
+ return value
47
+ end
48
+ if decoder.nil?
49
+ value
50
+ else
51
+ decoder.call(value)
52
+ end
53
+ end
54
+
55
+ sig { params(json_obj: T.any(String, T::Hash[Symbol, String])).returns(Utils::FieldAugmented) }
56
+ def unmarshal_json(json_obj)
57
+ to_build = new
58
+ begin
59
+ d = JSON.parse(json_obj)
60
+ rescue TypeError, JSON::ParserError
61
+ d = json_obj
62
+ end
63
+ fields.each do |field|
64
+ field_type = field.type
65
+ if field.type.respond_to?(:types) && field.type.types.length == 2
66
+ type2 = field.type.types[1]
67
+ if type2.raw_type == NilClass
68
+ field_type = field.type.types[0]
69
+ field_type = field_type.raw_type if field_type.respond_to? :raw_type
70
+ end
71
+ end
72
+
73
+
74
+ key = "#{field.name}="
75
+ lookup = field.metadata.fetch(:format_json, {}).fetch(:letter_case, nil).call
76
+ value = d[lookup]
77
+ next if value.nil?
78
+
79
+ if field_type.to_s.start_with? 'T::Array'
80
+ inner_type = field_type.type.raw_type
81
+ unmarshalled_array = value.map { |f| unmarshal_single(inner_type, f) }
82
+ to_build.send(key, unmarshalled_array)
83
+ elsif field_type.to_s.start_with? 'T::Hash'
84
+ _, val_type = field_type.type.types
85
+ # rubocop:disable Style/HashTransformValues
86
+ unmarshalled_hash = value.map { |k, v| [k, unmarshal_single(val_type.raw_type, v)] }.to_h
87
+ # rubocop:enable Style/HashTransformValues
88
+ to_build.send(key, unmarshalled_hash)
89
+ else
90
+ decoder = field.metadata.fetch(:format_json, {}).fetch(:decoder, nil)
91
+ final_value = unmarshal_single(field_type, value, decoder)
92
+ to_build.send(key, final_value)
93
+ end
94
+ end
95
+ to_build
96
+ end
97
+ end
98
+
99
+ def initialize
100
+ instance = allocate
101
+ fields.each { |mod| instance.singleton_class.include(mod) }
102
+ instance.send(:initialize)
103
+ end
104
+
105
+ def self.included(base)
106
+ base.extend(ClassMethods)
107
+ end
108
+
109
+ def fields
110
+ self.class.fields
111
+ end
112
+
113
+ def field(field_name)
114
+ fields.each do |f|
115
+ return f if f.name == field_name
116
+ end
117
+ end
118
+
119
+ def marshal_single(field)
120
+ if field.respond_to? :marshal_json
121
+ field.marshal_json(encode: false)
122
+ else
123
+ Utils.val_to_string(field, primitives: false)
124
+ end
125
+ end
126
+
127
+ def marshal_json(encode: true)
128
+ d = {}
129
+ fields.sort_by(&:name).each do |field|
130
+ f = send(field.name)
131
+ next if f.nil?
132
+
133
+ format_json_meta = field.metadata[:format_json]
134
+ if !format_json_meta.nil? && format_json_meta.include?(:letter_case)
135
+ key = format_json_meta[:letter_case].call(field.name)
136
+ else
137
+ key = field.name
138
+ end
139
+ if f.is_a? Array
140
+ d[key] = f.map { |o| marshal_single(o) }
141
+ elsif f.is_a? Hash
142
+ d[key] = f.map { |k, v| [k, marshal_single(v)] }
143
+ else
144
+ d[key] = marshal_single(f)
145
+ end
146
+ end
147
+ if encode
148
+ JSON.dump(d)
149
+ else
150
+ d
151
+ end
152
+ end
153
+ end
154
+ end