fastpixapi 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 (217) hide show
  1. checksums.yaml +7 -0
  2. data/lib/crystalline/metadata_fields.rb +210 -0
  3. data/lib/crystalline/t.rb +78 -0
  4. data/lib/crystalline/utils.rb +95 -0
  5. data/lib/crystalline.rb +12 -0
  6. data/lib/fastpix_api_sdk/input_video.rb +454 -0
  7. data/lib/fastpix_api_sdk/manage_live_stream.rb +717 -0
  8. data/lib/fastpix_api_sdk/manage_videos.rb +960 -0
  9. data/lib/fastpix_api_sdk/models/components/audioinput.rb +41 -0
  10. data/lib/fastpix_api_sdk/models/components/audioinput_type.rb +19 -0
  11. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest.rb +37 -0
  12. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest_maxresolution.rb +21 -0
  13. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest_metadata.rb +28 -0
  14. data/lib/fastpix_api_sdk/models/components/createmediarequest.rb +89 -0
  15. data/lib/fastpix_api_sdk/models/components/createmediarequest_accesspolicy.rb +22 -0
  16. data/lib/fastpix_api_sdk/models/components/createmediarequest_accessrestrictions.rb +37 -0
  17. data/lib/fastpix_api_sdk/models/components/createmediarequest_domains.rb +48 -0
  18. data/lib/fastpix_api_sdk/models/components/createmediarequest_domains_defaultpolicy.rb +23 -0
  19. data/lib/fastpix_api_sdk/models/components/createmediarequest_languagecode.rb +26 -0
  20. data/lib/fastpix_api_sdk/models/components/createmediarequest_maxresolution.rb +25 -0
  21. data/lib/fastpix_api_sdk/models/components/createmediarequest_metadata.rb +29 -0
  22. data/lib/fastpix_api_sdk/models/components/createmediarequest_mp4support.rb +22 -0
  23. data/lib/fastpix_api_sdk/models/components/createmediarequest_type.rb +22 -0
  24. data/lib/fastpix_api_sdk/models/components/createmediarequest_useragents.rb +48 -0
  25. data/lib/fastpix_api_sdk/models/components/createmediarequest_useragents_defaultpolicy.rb +23 -0
  26. data/lib/fastpix_api_sdk/models/components/createmediaresponse.rb +62 -0
  27. data/lib/fastpix_api_sdk/models/components/createmediaresponse_maxresolution.rb +24 -0
  28. data/lib/fastpix_api_sdk/models/components/createmediaresponse_metadata.rb +28 -0
  29. data/lib/fastpix_api_sdk/models/components/directupload.rb +58 -0
  30. data/lib/fastpix_api_sdk/models/components/directuploadresponse.rb +37 -0
  31. data/lib/fastpix_api_sdk/models/components/directuploadresponse_metadata.rb +28 -0
  32. data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto.rb +85 -0
  33. data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto_metadata.rb +28 -0
  34. data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto_srtplaybackresponse.rb +37 -0
  35. data/lib/fastpix_api_sdk/models/components/getstreamsresponse.rb +41 -0
  36. data/lib/fastpix_api_sdk/models/components/imposetrack.rb +49 -0
  37. data/lib/fastpix_api_sdk/models/components/input.rb +28 -0
  38. data/lib/fastpix_api_sdk/models/components/inputmediasettings.rb +45 -0
  39. data/lib/fastpix_api_sdk/models/components/livestreamdeleteresponse.rb +33 -0
  40. data/lib/fastpix_api_sdk/models/components/livestreamgetresponse.rb +37 -0
  41. data/lib/fastpix_api_sdk/models/components/livestreamresponsedto.rb +37 -0
  42. data/lib/fastpix_api_sdk/models/components/media.rb +93 -0
  43. data/lib/fastpix_api_sdk/models/components/media_maxresolution.rb +24 -0
  44. data/lib/fastpix_api_sdk/models/components/media_metadata.rb +28 -0
  45. data/lib/fastpix_api_sdk/models/components/media_mp4support.rb +22 -0
  46. data/lib/fastpix_api_sdk/models/components/mediapolicy.rb +20 -0
  47. data/lib/fastpix_api_sdk/models/components/moderation.rb +34 -0
  48. data/lib/fastpix_api_sdk/models/components/pagination.rb +41 -0
  49. data/lib/fastpix_api_sdk/models/components/patchlivestreamrequest.rb +37 -0
  50. data/lib/fastpix_api_sdk/models/components/patchlivestreamrequest_metadata.rb +28 -0
  51. data/lib/fastpix_api_sdk/models/components/patchresponsedata.rb +85 -0
  52. data/lib/fastpix_api_sdk/models/components/patchresponsedata_metadata.rb +28 -0
  53. data/lib/fastpix_api_sdk/models/components/patchresponsedata_srtplaybackresponse.rb +37 -0
  54. data/lib/fastpix_api_sdk/models/components/patchresponsedto.rb +37 -0
  55. data/lib/fastpix_api_sdk/models/components/placement.rb +45 -0
  56. data/lib/fastpix_api_sdk/models/components/playbackid.rb +41 -0
  57. data/lib/fastpix_api_sdk/models/components/playbackid_accesspolicy.rb +21 -0
  58. data/lib/fastpix_api_sdk/models/components/playbackid_accessrestrictions.rb +37 -0
  59. data/lib/fastpix_api_sdk/models/components/playbackid_domains.rb +41 -0
  60. data/lib/fastpix_api_sdk/models/components/playbackid_domains_defaultpolicy.rb +20 -0
  61. data/lib/fastpix_api_sdk/models/components/playbackid_useragents.rb +41 -0
  62. data/lib/fastpix_api_sdk/models/components/playbackid_useragents_defaultpolicy.rb +20 -0
  63. data/lib/fastpix_api_sdk/models/components/playbackidrequest.rb +33 -0
  64. data/lib/fastpix_api_sdk/models/components/playbackidrequest_accesspolicy.rb +20 -0
  65. data/lib/fastpix_api_sdk/models/components/playbackidresponse.rb +37 -0
  66. data/lib/fastpix_api_sdk/models/components/playbackidresponse_data.rb +37 -0
  67. data/lib/fastpix_api_sdk/models/components/playbackids.rb +37 -0
  68. data/lib/fastpix_api_sdk/models/components/playbacksettings.rb +33 -0
  69. data/lib/fastpix_api_sdk/models/components/playbacksettings_accesspolicy.rb +20 -0
  70. data/lib/fastpix_api_sdk/models/components/security.rb +37 -0
  71. data/lib/fastpix_api_sdk/models/components/segment_1.rb +37 -0
  72. data/lib/fastpix_api_sdk/models/components/segment_2.rb +37 -0
  73. data/lib/fastpix_api_sdk/models/components/segment_union.rb +28 -0
  74. data/lib/fastpix_api_sdk/models/components/simulcastdeleteresponse.rb +33 -0
  75. data/lib/fastpix_api_sdk/models/components/simulcastrequest.rb +37 -0
  76. data/lib/fastpix_api_sdk/models/components/simulcastresponse.rb +37 -0
  77. data/lib/fastpix_api_sdk/models/components/simulcastresponse_data.rb +49 -0
  78. data/lib/fastpix_api_sdk/models/components/simulcastresponse_metadata.rb +28 -0
  79. data/lib/fastpix_api_sdk/models/components/simulcastupdaterequest.rb +37 -0
  80. data/lib/fastpix_api_sdk/models/components/simulcastupdaterequest_metadata.rb +28 -0
  81. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse.rb +37 -0
  82. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse_data.rb +49 -0
  83. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse_metadata.rb +28 -0
  84. data/lib/fastpix_api_sdk/models/components/sourceresolution.rb +24 -0
  85. data/lib/fastpix_api_sdk/models/components/subtitle.rb +45 -0
  86. data/lib/fastpix_api_sdk/models/components/subtitle_metadata.rb +29 -0
  87. data/lib/fastpix_api_sdk/models/components/subtitleinput.rb +47 -0
  88. data/lib/fastpix_api_sdk/models/components/subtitleinput_languagecode.rb +76 -0
  89. data/lib/fastpix_api_sdk/models/components/summary.rb +40 -0
  90. data/lib/fastpix_api_sdk/models/components/track.rb +53 -0
  91. data/lib/fastpix_api_sdk/models/components/videoinput.rb +68 -0
  92. data/lib/fastpix_api_sdk/models/components/watermarkinput.rb +53 -0
  93. data/lib/fastpix_api_sdk/models/components/watermarkinput_type.rb +19 -0
  94. data/lib/fastpix_api_sdk/models/components/xalign.rb +21 -0
  95. data/lib/fastpix_api_sdk/models/components/yalign.rb +21 -0
  96. data/lib/fastpix_api_sdk/models/components.rb +98 -0
  97. data/lib/fastpix_api_sdk/models/errors/apierror.rb +38 -0
  98. data/lib/fastpix_api_sdk/models/errors/badrequest_error.rb +37 -0
  99. data/lib/fastpix_api_sdk/models/errors/badrequest_error_error.rb +42 -0
  100. data/lib/fastpix_api_sdk/models/errors/field.rb +37 -0
  101. data/lib/fastpix_api_sdk/models/errors/forbidden_error.rb +37 -0
  102. data/lib/fastpix_api_sdk/models/errors/forbidden_error_error.rb +42 -0
  103. data/lib/fastpix_api_sdk/models/errors/invalidpermission_error.rb +37 -0
  104. data/lib/fastpix_api_sdk/models/errors/invalidpermission_error_error.rb +42 -0
  105. data/lib/fastpix_api_sdk/models/errors/medianotfound_error.rb +37 -0
  106. data/lib/fastpix_api_sdk/models/errors/medianotfound_error_error.rb +42 -0
  107. data/lib/fastpix_api_sdk/models/errors/mediaorplaybacknotfound_error.rb +37 -0
  108. data/lib/fastpix_api_sdk/models/errors/mediaorplaybacknotfound_error_error.rb +42 -0
  109. data/lib/fastpix_api_sdk/models/errors/notfounderror.rb +37 -0
  110. data/lib/fastpix_api_sdk/models/errors/notfounderror_error.rb +42 -0
  111. data/lib/fastpix_api_sdk/models/errors/notfounderrorplaybackid.rb +37 -0
  112. data/lib/fastpix_api_sdk/models/errors/notfounderrorplaybackid_error.rb +42 -0
  113. data/lib/fastpix_api_sdk/models/errors/notfounderrorsimulcast.rb +37 -0
  114. data/lib/fastpix_api_sdk/models/errors/notfounderrorsimulcast_error.rb +42 -0
  115. data/lib/fastpix_api_sdk/models/errors/simulcastunavailable_error.rb +38 -0
  116. data/lib/fastpix_api_sdk/models/errors/simulcastunavailable_error_error.rb +45 -0
  117. data/lib/fastpix_api_sdk/models/errors/unauthorized_error.rb +37 -0
  118. data/lib/fastpix_api_sdk/models/errors/unauthorized_error_error.rb +42 -0
  119. data/lib/fastpix_api_sdk/models/errors/validationerrorresponse.rb +37 -0
  120. data/lib/fastpix_api_sdk/models/errors/validationerrorresponse_error.rb +41 -0
  121. data/lib/fastpix_api_sdk/models/errors.rb +35 -0
  122. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_accesspolicy.rb +21 -0
  123. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_accessrestrictions.rb +37 -0
  124. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_domains.rb +48 -0
  125. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_domains_defaultpolicy.rb +23 -0
  126. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_request.rb +37 -0
  127. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_requestbody.rb +37 -0
  128. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_response.rb +45 -0
  129. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_responsebody.rb +37 -0
  130. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_useragents.rb +48 -0
  131. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_useragents_defaultpolicy.rb +23 -0
  132. data/lib/fastpix_api_sdk/models/operations/create_media_response.rb +45 -0
  133. data/lib/fastpix_api_sdk/models/operations/create_media_responsebody.rb +37 -0
  134. data/lib/fastpix_api_sdk/models/operations/create_new_stream_response.rb +45 -0
  135. data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_request.rb +37 -0
  136. data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_response.rb +45 -0
  137. data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_request.rb +37 -0
  138. data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_response.rb +45 -0
  139. data/lib/fastpix_api_sdk/models/operations/data.rb +33 -0
  140. data/lib/fastpix_api_sdk/models/operations/delete_live_stream_request.rb +33 -0
  141. data/lib/fastpix_api_sdk/models/operations/delete_live_stream_response.rb +45 -0
  142. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_request.rb +37 -0
  143. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_response.rb +45 -0
  144. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_responsebody.rb +33 -0
  145. data/lib/fastpix_api_sdk/models/operations/delete_media_request.rb +33 -0
  146. data/lib/fastpix_api_sdk/models/operations/delete_media_response.rb +45 -0
  147. data/lib/fastpix_api_sdk/models/operations/delete_media_responsebody.rb +33 -0
  148. data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_request.rb +37 -0
  149. data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_response.rb +45 -0
  150. data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_request.rb +37 -0
  151. data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_response.rb +45 -0
  152. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_accesspolicy.rb +20 -0
  153. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_accessrestrictions.rb +37 -0
  154. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_domains.rb +48 -0
  155. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_domains_defaultpolicy.rb +23 -0
  156. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_metadata.rb +28 -0
  157. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_request.rb +37 -0
  158. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_response.rb +45 -0
  159. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_responsebody.rb +37 -0
  160. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_useragents.rb +48 -0
  161. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_useragents_defaultpolicy.rb +23 -0
  162. data/lib/fastpix_api_sdk/models/operations/get_all_streams_orderby.rb +20 -0
  163. data/lib/fastpix_api_sdk/models/operations/get_all_streams_request.rb +41 -0
  164. data/lib/fastpix_api_sdk/models/operations/get_all_streams_response.rb +45 -0
  165. data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_request.rb +33 -0
  166. data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_response.rb +45 -0
  167. data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_request.rb +37 -0
  168. data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_response.rb +45 -0
  169. data/lib/fastpix_api_sdk/models/operations/get_media_request.rb +33 -0
  170. data/lib/fastpix_api_sdk/models/operations/get_media_response.rb +45 -0
  171. data/lib/fastpix_api_sdk/models/operations/get_media_responsebody.rb +37 -0
  172. data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_request.rb +37 -0
  173. data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_response.rb +45 -0
  174. data/lib/fastpix_api_sdk/models/operations/input.rb +28 -0
  175. data/lib/fastpix_api_sdk/models/operations/languagecode.rb +26 -0
  176. data/lib/fastpix_api_sdk/models/operations/list_media_orderby.rb +20 -0
  177. data/lib/fastpix_api_sdk/models/operations/list_media_request.rb +41 -0
  178. data/lib/fastpix_api_sdk/models/operations/list_media_response.rb +45 -0
  179. data/lib/fastpix_api_sdk/models/operations/list_media_responsebody.rb +41 -0
  180. data/lib/fastpix_api_sdk/models/operations/maxresolution.rb +25 -0
  181. data/lib/fastpix_api_sdk/models/operations/moderation.rb +34 -0
  182. data/lib/fastpix_api_sdk/models/operations/mp4support.rb +22 -0
  183. data/lib/fastpix_api_sdk/models/operations/push_media_settings.rb +95 -0
  184. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_request.rb +33 -0
  185. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_response.rb +45 -0
  186. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_responsebody.rb +37 -0
  187. data/lib/fastpix_api_sdk/models/operations/subtitles.rb +43 -0
  188. data/lib/fastpix_api_sdk/models/operations/subtitles_metadata.rb +28 -0
  189. data/lib/fastpix_api_sdk/models/operations/summary.rb +40 -0
  190. data/lib/fastpix_api_sdk/models/operations/type.rb +22 -0
  191. data/lib/fastpix_api_sdk/models/operations/update_live_stream_request.rb +37 -0
  192. data/lib/fastpix_api_sdk/models/operations/update_live_stream_response.rb +45 -0
  193. data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_request.rb +41 -0
  194. data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_response.rb +45 -0
  195. data/lib/fastpix_api_sdk/models/operations/updated_media_metadata.rb +28 -0
  196. data/lib/fastpix_api_sdk/models/operations/updated_media_request.rb +37 -0
  197. data/lib/fastpix_api_sdk/models/operations/updated_media_requestbody.rb +33 -0
  198. data/lib/fastpix_api_sdk/models/operations/updated_media_response.rb +45 -0
  199. data/lib/fastpix_api_sdk/models/operations/updated_media_responsebody.rb +37 -0
  200. data/lib/fastpix_api_sdk/models/operations.rb +89 -0
  201. data/lib/fastpix_api_sdk/playback.rb +941 -0
  202. data/lib/fastpix_api_sdk/sdk.rb +103 -0
  203. data/lib/fastpix_api_sdk/sdk_hooks/hooks.rb +96 -0
  204. data/lib/fastpix_api_sdk/sdk_hooks/types.rb +157 -0
  205. data/lib/fastpix_api_sdk/sdkconfiguration.rb +77 -0
  206. data/lib/fastpix_api_sdk/simulcast_stream.rb +767 -0
  207. data/lib/fastpix_api_sdk/start_live_stream.rb +208 -0
  208. data/lib/fastpix_api_sdk/utils/forms.rb +210 -0
  209. data/lib/fastpix_api_sdk/utils/headers.rb +79 -0
  210. data/lib/fastpix_api_sdk/utils/query_params.rb +133 -0
  211. data/lib/fastpix_api_sdk/utils/request_bodies.rb +62 -0
  212. data/lib/fastpix_api_sdk/utils/retries.rb +95 -0
  213. data/lib/fastpix_api_sdk/utils/security.rb +133 -0
  214. data/lib/fastpix_api_sdk/utils/url.rb +102 -0
  215. data/lib/fastpix_api_sdk/utils/utils.rb +186 -0
  216. data/lib/fastpixapi.rb +29 -0
  217. metadata +442 -0
@@ -0,0 +1,93 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class Media
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # A video thumbnail is a still image that acts as the preview image for your video.
17
+ field :thumbnail, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('thumbnail') } }
18
+ # When creating the media, FastPix assigns a universally unique identifier with a maximum length of 255 characters.
19
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('id') } }
20
+ # A unique identifier is generated by FastPix for the workspace.
21
+ field :workspace_id, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('workspaceId') } }
22
+ # You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic Metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
23
+ field :metadata, T.nilable(Models::Components::MediaMetadata), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('metadata') } }
24
+ # Determines the media's status, which can be one of the possible values.
25
+ field :status, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('status') } }
26
+ # Determines the type of MP4 support for the media. - **none**: Disables MP4 support. - **capped_4k**: Enables MP4 downloads with resolutions up to 4K. - **audioOnly**: Provides an MP4 stream containing only the audio. - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream.
27
+ field :mp4_support, T.nilable(Models::Components::MediaMp4Support), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('mp4Support'), 'decoder': Utils.enum_from_string(Models::Components::MediaMp4Support, true) } }
28
+ # The sourceAccess parameter determines whether the original media file is accessible. Set to true to enable access or false to restrict it
29
+ field :source_access, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('sourceAccess') } }
30
+ # A collection of Playback ID objects utilized for crafting HLS playback URLs.
31
+ field :playback_ids, T.nilable(T::Array[Models::Components::PlaybackId]), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('playbackIds') } }
32
+ # A media consists of different media tracks, like video, audio, and subtitle, all combined.
33
+ field :tracks, T.nilable(T::Array[Models::Components::Track]), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('tracks') } }
34
+ # The time span of the media, measured in seconds with a maximum allowable duration of 12 hours per individual media.
35
+ field :duration, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('duration') } }
36
+ # Frame rate quantifies the speed at which frames are displayed per second. It represents the range of frames available for a specific track. If the frame rate of the input file is indeterminable, it will be indicated by a value of -1.
37
+ field :frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('frameRate') } }
38
+ # The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height.
39
+ field :aspect_ratio, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('aspectRatio') } }
40
+ # Time the media was created, defined as a localDateTime (UTC Time).
41
+ field :created_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('createdAt'), 'decoder': Utils.datetime_from_iso_format(true) } }
42
+ # Time the media was updated, defined as a localDateTime (UTC Time).
43
+ field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('updatedAt'), 'decoder': Utils.datetime_from_iso_format(true) } }
44
+ # The maximum resolution specified by the user for the media.
45
+ field :max_resolution, T.nilable(Models::Components::MediaMaxResolution), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('maxResolution'), 'decoder': Utils.enum_from_string(Models::Components::MediaMaxResolution, true) } }
46
+ # The actual resolution of the uploaded media. This represents the native quality of the source media.
47
+ field :source_resolution, T.nilable(Models::Components::SourceResolution), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('sourceResolution'), 'decoder': Utils.enum_from_string(Models::Components::SourceResolution, true) } }
48
+
49
+ sig { params(thumbnail: T.nilable(::String), id: T.nilable(::String), workspace_id: T.nilable(::String), metadata: T.nilable(Models::Components::MediaMetadata), status: T.nilable(::String), mp4_support: T.nilable(Models::Components::MediaMp4Support), source_access: T.nilable(T::Boolean), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[Models::Components::Track]), duration: T.nilable(::String), frame_rate: T.nilable(::String), aspect_ratio: T.nilable(::String), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), max_resolution: T.nilable(Models::Components::MediaMaxResolution), source_resolution: T.nilable(Models::Components::SourceResolution)).void }
50
+ def initialize(thumbnail: nil, id: nil, workspace_id: nil, metadata: nil, status: nil, mp4_support: nil, source_access: nil, playback_ids: nil, tracks: nil, duration: nil, frame_rate: nil, aspect_ratio: nil, created_at: nil, updated_at: nil, max_resolution: Models::Components::MediaMaxResolution::ONE_THOUSAND_AND_EIGHTYP, source_resolution: Models::Components::SourceResolution::ONE_THOUSAND_AND_EIGHTYP)
51
+ @thumbnail = thumbnail
52
+ @id = id
53
+ @workspace_id = workspace_id
54
+ @metadata = metadata
55
+ @status = status
56
+ @mp4_support = mp4_support
57
+ @source_access = source_access
58
+ @playback_ids = playback_ids
59
+ @tracks = tracks
60
+ @duration = duration
61
+ @frame_rate = frame_rate
62
+ @aspect_ratio = aspect_ratio
63
+ @created_at = created_at
64
+ @updated_at = updated_at
65
+ @max_resolution = max_resolution
66
+ @source_resolution = source_resolution
67
+ end
68
+
69
+ sig { params(other: T.untyped).returns(T::Boolean) }
70
+ def ==(other)
71
+ return false unless other.is_a? self.class
72
+ return false unless @thumbnail == other.thumbnail
73
+ return false unless @id == other.id
74
+ return false unless @workspace_id == other.workspace_id
75
+ return false unless @metadata == other.metadata
76
+ return false unless @status == other.status
77
+ return false unless @mp4_support == other.mp4_support
78
+ return false unless @source_access == other.source_access
79
+ return false unless @playback_ids == other.playback_ids
80
+ return false unless @tracks == other.tracks
81
+ return false unless @duration == other.duration
82
+ return false unless @frame_rate == other.frame_rate
83
+ return false unless @aspect_ratio == other.aspect_ratio
84
+ return false unless @created_at == other.created_at
85
+ return false unless @updated_at == other.updated_at
86
+ return false unless @max_resolution == other.max_resolution
87
+ return false unless @source_resolution == other.source_resolution
88
+ true
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,24 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # MediaMaxResolution - The maximum resolution specified by the user for the media.
12
+ class MediaMaxResolution < T::Enum
13
+ enums do
14
+ TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new('2160p')
15
+ ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP = new('1440p')
16
+ ONE_THOUSAND_AND_EIGHTYP = new('1080p')
17
+ SEVEN_HUNDRED_AND_TWENTYP = new('720p')
18
+ FOUR_HUNDRED_AND_EIGHTYP = new('480p')
19
+ THREE_HUNDRED_AND_SIXTYP = new('360p')
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic Metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
12
+ class MediaMetadata
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+ def initialize; end
19
+
20
+ sig { params(other: T.untyped).returns(T::Boolean) }
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # MediaMp4Support - Determines the type of MP4 support for the media. - **none**: Disables MP4 support. - **capped_4k**: Enables MP4 downloads with resolutions up to 4K. - **audioOnly**: Provides an MP4 stream containing only the audio. - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream.
12
+ class MediaMp4Support < T::Enum
13
+ enums do
14
+ NONE = new('none')
15
+ CAPPED_4K = new('capped_4k')
16
+ AUDIO_ONLY = new('audioOnly')
17
+ AUDIO_ONLY_CAPPED_4K = new('audioOnly,capped_4k')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # MediaPolicy - Determines whether the recorded stream should be publicly accessible or private in Live to VOD (Video on Demand).
12
+ class MediaPolicy < T::Enum
13
+ enums do
14
+ PUBLIC = new('public')
15
+ PRIVATE = new('private')
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,34 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class Moderation
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Defines the type of input. Possible values include video, audio, av.
17
+ #
18
+ field :type, Models::Components::CreateMediaRequestType, { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Components::CreateMediaRequestType, false) } }
19
+
20
+ sig { params(type: Models::Components::CreateMediaRequestType).void }
21
+ def initialize(type:)
22
+ @type = type
23
+ end
24
+
25
+ sig { params(other: T.untyped).returns(T::Boolean) }
26
+ def ==(other)
27
+ return false unless other.is_a? self.class
28
+ return false unless @type == other.type
29
+ true
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,41 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # Pagination organizes content into pages for better readability and navigation.
12
+ class Pagination
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # It gives the total number of media assets that are accessible overall.
17
+ field :total_records, T.nilable(::Integer), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('totalRecords') } }
18
+ # Determines the current point for data retrieval within a paginated list.
19
+ field :current_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('currentOffset') } }
20
+ # The offset count is expressed as total records by limit.
21
+ field :offset_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('offsetCount') } }
22
+
23
+ sig { params(total_records: T.nilable(::Integer), current_offset: T.nilable(::Integer), offset_count: T.nilable(::Integer)).void }
24
+ def initialize(total_records: nil, current_offset: nil, offset_count: nil)
25
+ @total_records = total_records
26
+ @current_offset = current_offset
27
+ @offset_count = offset_count
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @total_records == other.total_records
34
+ return false unless @current_offset == other.current_offset
35
+ return false unless @offset_count == other.offset_count
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class PatchLiveStreamRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # You can search for videos with specific key value pairs using metadata, when you tag a video in "key":"value"s pairs. Dynamic Metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
17
+ field :metadata, T.nilable(Models::Components::PatchLiveStreamRequestMetadata), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('metadata') } }
18
+ # In case the software streaming the live, get disrupted for any reason and get disconnect from FastPix, the reconnect window specifies the waiting time span of FastPix will wait before ending the stream. Before starting the stream, you can set the reconnect window time set which is up to 1800 seconds.
19
+ field :reconnect_window, T.nilable(::Integer), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('reconnectWindow') } }
20
+
21
+ sig { params(metadata: T.nilable(Models::Components::PatchLiveStreamRequestMetadata), reconnect_window: T.nilable(::Integer)).void }
22
+ def initialize(metadata: nil, reconnect_window: 60)
23
+ @metadata = metadata
24
+ @reconnect_window = reconnect_window
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @metadata == other.metadata
31
+ return false unless @reconnect_window == other.reconnect_window
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # You can search for videos with specific key value pairs using metadata, when you tag a video in "key":"value"s pairs. Dynamic Metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
12
+ class PatchLiveStreamRequestMetadata
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+ def initialize; end
19
+
20
+ sig { params(other: T.untyped).returns(T::Boolean) }
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,85 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # Displays the result of the request.
12
+ class PatchResponseData
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Upon creating a new live stream, FastPix assigns a unique identifier to the stream.
17
+ field :stream_id, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('streamId') } }
18
+ # A unique stream key is generated for streaming, allowing the user to start streaming on any third-party platform using this key.
19
+ field :stream_key, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('streamKey') } }
20
+ # A secret used for securing the SRT stream. This ensures that only authorized users can access the stream.
21
+ field :srt_secret, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('srtSecret') } }
22
+ # FastPix allows for a to trial the live stream for free. The duration of trial streams is five minutes. After five minutes of activity, the trial stream is turned off, and the recorded asset is removed after a day.
23
+ field :trial, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('trial') } }
24
+ # The current live stream status can be one of four values:Idle, Preparing, Active or Disabled.The Idle status signifies that there isn't a broadcast in progress.The preparing status indicates that the stream is getting prepared. while, the Active status indicates that a broadcast is currently in progress. The Disabled status means that no more RTMP streams can be published.
25
+ field :status, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('status') } }
26
+ # Max resolution can be used to control the maximum resolution your media is encoded, stored, and streamed at.
27
+ field :max_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('maxResolution') } }
28
+ # The maximum duration in seconds that a live stream can have before it ends the stream.
29
+ field :max_duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('maxDuration') } }
30
+ # It is the moment when the stream was created Time the media was generated, defined as a localDateTime (UTC Time).
31
+ field :created_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('createdAt'), 'decoder': Utils.datetime_from_iso_format(true) } }
32
+ # In case the software streaming the live, get disrupted for any reason and get disconnect from FastPix, the reconnect window specifies the waiting time span of FastPix will wait before ending the stream. Before starting the stream, you can set the reconnect window time set which is up to 1800 seconds.
33
+ field :reconnect_window, T.nilable(::Integer), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('reconnectWindow') } }
34
+ # When set to true, the livestream will be recorded and stored for later viewing purposes. If set to false, the livestream will not be recorded.
35
+ field :enable_recording, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('enableRecording') } }
36
+ # Determines whether the recorded stream should be publicly accessible or private in Live to VOD (Video on Demand).
37
+ field :media_policy, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('mediaPolicy') } }
38
+ # You can search for videos with specific key value pairs using metadata, when you tag a video in "key":"value"s pairs. Dynamic Metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
39
+ field :metadata, T.nilable(Models::Components::PatchResponseDataMetadata), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('metadata') } }
40
+
41
+ field :playback_id, T.nilable(T::Array[Models::Components::PlaybackIds]), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('playbackId') } }
42
+ # This object contains the livestream playback response details for SRT Protocol.
43
+ field :srt_playback_response, T.nilable(Models::Components::PatchResponseDataSrtPlaybackResponse), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('srtPlaybackResponse') } }
44
+
45
+ sig { params(stream_id: T.nilable(::String), stream_key: T.nilable(::String), srt_secret: T.nilable(::String), trial: T.nilable(T::Boolean), status: T.nilable(::String), max_resolution: T.nilable(::String), max_duration: T.nilable(::Integer), created_at: T.nilable(::DateTime), reconnect_window: T.nilable(::Integer), enable_recording: T.nilable(T::Boolean), media_policy: T.nilable(::String), metadata: T.nilable(Models::Components::PatchResponseDataMetadata), playback_id: T.nilable(T::Array[Models::Components::PlaybackIds]), srt_playback_response: T.nilable(Models::Components::PatchResponseDataSrtPlaybackResponse)).void }
46
+ def initialize(stream_id: nil, stream_key: nil, srt_secret: nil, trial: nil, status: nil, max_resolution: nil, max_duration: nil, created_at: nil, reconnect_window: nil, enable_recording: nil, media_policy: nil, metadata: nil, playback_id: nil, srt_playback_response: nil)
47
+ @stream_id = stream_id
48
+ @stream_key = stream_key
49
+ @srt_secret = srt_secret
50
+ @trial = trial
51
+ @status = status
52
+ @max_resolution = max_resolution
53
+ @max_duration = max_duration
54
+ @created_at = created_at
55
+ @reconnect_window = reconnect_window
56
+ @enable_recording = enable_recording
57
+ @media_policy = media_policy
58
+ @metadata = metadata
59
+ @playback_id = playback_id
60
+ @srt_playback_response = srt_playback_response
61
+ end
62
+
63
+ sig { params(other: T.untyped).returns(T::Boolean) }
64
+ def ==(other)
65
+ return false unless other.is_a? self.class
66
+ return false unless @stream_id == other.stream_id
67
+ return false unless @stream_key == other.stream_key
68
+ return false unless @srt_secret == other.srt_secret
69
+ return false unless @trial == other.trial
70
+ return false unless @status == other.status
71
+ return false unless @max_resolution == other.max_resolution
72
+ return false unless @max_duration == other.max_duration
73
+ return false unless @created_at == other.created_at
74
+ return false unless @reconnect_window == other.reconnect_window
75
+ return false unless @enable_recording == other.enable_recording
76
+ return false unless @media_policy == other.media_policy
77
+ return false unless @metadata == other.metadata
78
+ return false unless @playback_id == other.playback_id
79
+ return false unless @srt_playback_response == other.srt_playback_response
80
+ true
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # You can search for videos with specific key value pairs using metadata, when you tag a video in "key":"value"s pairs. Dynamic Metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
12
+ class PatchResponseDataMetadata
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+ def initialize; end
19
+
20
+ sig { params(other: T.untyped).returns(T::Boolean) }
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # This object contains the livestream playback response details for SRT Protocol.
12
+ class PatchResponseDataSrtPlaybackResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # A unique identifier for the SRT playback stream. This ID is used to distinguish between different playback streams.
17
+ field :srt_playback_stream_id, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('srtPlaybackStreamId') } }
18
+ # A playback secret used for securing the SRT playback stream. This ensures that only authorized users can access the playback.
19
+ field :srt_playback_secret, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('srtPlaybackSecret') } }
20
+
21
+ sig { params(srt_playback_stream_id: T.nilable(::String), srt_playback_secret: T.nilable(::String)).void }
22
+ def initialize(srt_playback_stream_id: nil, srt_playback_secret: nil)
23
+ @srt_playback_stream_id = srt_playback_stream_id
24
+ @srt_playback_secret = srt_playback_secret
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @srt_playback_stream_id == other.srt_playback_stream_id
31
+ return false unless @srt_playback_secret == other.srt_playback_secret
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # Displays the result of the request.
12
+ class PatchResponseDTO
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # It demonstrates whether the request is successful or not.
17
+ field :success, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('success') } }
18
+ # Displays the result of the request.
19
+ field :data, T.nilable(Models::Components::PatchResponseData), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('data') } }
20
+
21
+ sig { params(success: T.nilable(T::Boolean), data: T.nilable(Models::Components::PatchResponseData)).void }
22
+ def initialize(success: nil, data: nil)
23
+ @success = success
24
+ @data = data
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @success == other.success
31
+ return false unless @data == other.data
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,45 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class Placement
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Horizontal alignment of the watermark.
17
+ field :x_align, T.nilable(Models::Components::XAlign), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('xAlign'), 'decoder': Utils.enum_from_string(Models::Components::XAlign, true) } }
18
+ # Horizontal margin from the edge of the video.
19
+ field :x_margin, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('xMargin') } }
20
+ # Vertical alignment of the watermark.
21
+ field :y_align, T.nilable(Models::Components::YAlign), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('yAlign'), 'decoder': Utils.enum_from_string(Models::Components::YAlign, true) } }
22
+ # Vertical margin from the edge of the video.
23
+ field :y_margin, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('yMargin') } }
24
+
25
+ sig { params(x_align: T.nilable(Models::Components::XAlign), x_margin: T.nilable(::String), y_align: T.nilable(Models::Components::YAlign), y_margin: T.nilable(::String)).void }
26
+ def initialize(x_align: nil, x_margin: nil, y_align: nil, y_margin: nil)
27
+ @x_align = x_align
28
+ @x_margin = x_margin
29
+ @y_align = y_align
30
+ @y_margin = y_margin
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @x_align == other.x_align
37
+ return false unless @x_margin == other.x_margin
38
+ return false unless @y_align == other.y_align
39
+ return false unless @y_margin == other.y_margin
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,41 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # A collection of Playback ID objects utilized for crafting HLS playback urls.
12
+ class PlaybackId
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # A unique identifier is generated by FastPix for the playbacks.
17
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('id') } }
18
+ # Determines if access to the streamed content is kept private or available to all.
19
+ field :access_policy, T.nilable(Models::Components::PlaybackIdAccessPolicy), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('accessPolicy'), 'decoder': Utils.enum_from_string(Models::Components::PlaybackIdAccessPolicy, true) } }
20
+ # Controls access based on domains and user agents. Defines a default policy (either "allow" or "deny") and provides lists for explicitly allowed or denied domains and user agents.
21
+ field :access_restrictions, T.nilable(Models::Components::PlaybackIdAccessRestrictions), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('accessRestrictions') } }
22
+
23
+ sig { params(id: T.nilable(::String), access_policy: T.nilable(Models::Components::PlaybackIdAccessPolicy), access_restrictions: T.nilable(Models::Components::PlaybackIdAccessRestrictions)).void }
24
+ def initialize(id: nil, access_policy: nil, access_restrictions: nil)
25
+ @id = id
26
+ @access_policy = access_policy
27
+ @access_restrictions = access_restrictions
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @id == other.id
34
+ return false unless @access_policy == other.access_policy
35
+ return false unless @access_restrictions == other.access_restrictions
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,21 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # PlaybackIdAccessPolicy - Determines if access to the streamed content is kept private or available to all.
12
+ class PlaybackIdAccessPolicy < T::Enum
13
+ enums do
14
+ PUBLIC = new('public')
15
+ PRIVATE = new('private')
16
+ DRM = new('drm')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end