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,103 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
12
+
13
+ module FastpixApiSDK
14
+ extend T::Sig
15
+
16
+ class SDK
17
+ extend T::Sig
18
+
19
+ attr_accessor :start_live_stream, :manage_live_stream, :playback, :simulcast_stream, :input_video, :manage_videos
20
+
21
+ sig do
22
+ params(
23
+ client: T.nilable(Faraday::Connection),
24
+ retry_config: T.nilable(::FastpixApiSDK::Utils::RetryConfig),
25
+ timeout_ms: T.nilable(Integer),
26
+ security: T.nilable(Models::Components::Security),
27
+ security_source: T.nilable(T.proc.returns(Models::Components::Security)),
28
+ server_idx: T.nilable(Integer),
29
+ server_url: T.nilable(String),
30
+ url_params: T.nilable(T::Hash[Symbol, String])
31
+ ).void
32
+ end
33
+ def initialize(client: nil, retry_config: nil, timeout_ms: nil, security: nil, security_source: nil, server_idx: nil, server_url: nil, url_params: nil)
34
+ ## Instantiates the SDK configuring it with the provided parameters.
35
+ # @param [T.nilable(Faraday::Connection)] client The faraday HTTP client to use for all operations
36
+ # @param [T.nilable(::FastpixApiSDK::Utils::RetryConfig)] retry_config The retry configuration to use for all operations
37
+ # @param [T.nilable(Integer)] timeout_ms Request timeout in milliseconds for all operations
38
+ # @param [T.nilable(Models::Components::Security)] security: The security details required for authentication
39
+ # @param [T.proc.returns(T.nilable(Models::Components::Security))] security_source: A function that returns security details required for authentication
40
+ # @param [T.nilable(::Integer)] server_idx The index of the server to use for all operations
41
+ # @param [T.nilable(::String)] server_url The server URL to use for all operations
42
+ # @param [T.nilable(::Hash<::Symbol, ::String>)] url_params Parameters to optionally template the server URL with
43
+
44
+ connection_options = {
45
+ request: {
46
+ params_encoder: Faraday::FlatParamsEncoder
47
+ }
48
+ }
49
+ connection_options[:request][:timeout] = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
50
+
51
+ client ||= Faraday.new(**connection_options) do |f|
52
+ f.request :multipart, {}
53
+ # f.response :logger, nil, { headers: true, bodies: true, errors: true }
54
+ end
55
+
56
+ if !server_url.nil?
57
+ if !url_params.nil?
58
+ server_url = Utils.template_url(server_url, url_params)
59
+ end
60
+ end
61
+
62
+ server_idx = 0 if server_idx.nil?
63
+ hooks = SDKHooks::Hooks.new
64
+ @sdk_configuration = SDKConfiguration.new(
65
+ client,
66
+ hooks,
67
+ retry_config,
68
+ timeout_ms,
69
+ security,
70
+ security_source,
71
+ server_url,
72
+ server_idx
73
+ )
74
+ @sdk_configuration = hooks.sdk_init(config: @sdk_configuration)
75
+ init_sdks
76
+ end
77
+
78
+ sig { void }
79
+ def init_sdks
80
+ @start_live_stream = StartLiveStream.new(@sdk_configuration)
81
+ @manage_live_stream = ManageLiveStream.new(@sdk_configuration)
82
+ @playback = Playback.new(@sdk_configuration)
83
+ @simulcast_stream = SimulcastStream.new(@sdk_configuration)
84
+ @input_video = InputVideo.new(@sdk_configuration)
85
+ @manage_videos = ManageVideos.new(@sdk_configuration)
86
+ end
87
+
88
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, String])).returns(String) }
89
+ def get_url(base_url:, url_variables: nil)
90
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
91
+
92
+ if base_url.nil?
93
+ base_url = sd_base_url
94
+ end
95
+
96
+ if url_variables.nil?
97
+ url_variables = sd_options
98
+ end
99
+
100
+ return Utils.template_url base_url, url_variables
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,96 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require_relative './types'
7
+
8
+ require 'sorbet-runtime'
9
+
10
+ module FastpixApiSDK
11
+ module SDKHooks
12
+ class Hooks
13
+ extend T::Sig
14
+
15
+ sig { void }
16
+ def initialize
17
+ @sdk_init_hooks = T.let([], T::Array[AbstractSDKInitHook])
18
+ @before_request_hooks = T.let([], T::Array[AbstractBeforeRequestHook])
19
+ @after_success_hooks = T.let([], T::Array[AbstractAfterSuccessHook])
20
+ @after_error_hooks = T.let([], T::Array[AbstractAfterErrorHook])
21
+ end
22
+
23
+ sig { params(hook: AbstractSDKInitHook).void }
24
+ def register_sdk_init_hook(hook)
25
+ @sdk_init_hooks << hook
26
+ end
27
+
28
+ sig { params(hook: AbstractBeforeRequestHook).void }
29
+ def register_before_request_hook(hook)
30
+ @before_request_hooks << hook
31
+ end
32
+
33
+ sig { params(hook: AbstractAfterSuccessHook).void }
34
+ def register_after_success_hook(hook)
35
+ @after_success_hooks << hook
36
+ end
37
+
38
+ sig { params(hook: AbstractAfterErrorHook).void }
39
+ def register_after_error_hook(hook)
40
+ @after_error_hooks << hook
41
+ end
42
+
43
+ sig { params(config: SDKConfiguration).returns(SDKConfiguration) }
44
+ def sdk_init(config:)
45
+ @sdk_init_hooks.each do |hook|
46
+ config = hook.sdk_init(config: config)
47
+ end
48
+
49
+ return config
50
+ end
51
+
52
+ sig do
53
+ params(
54
+ hook_ctx: BeforeRequestHookContext,
55
+ request: Faraday::Request
56
+ ).returns(Faraday::Request)
57
+ end
58
+ def before_request(hook_ctx:, request:)
59
+ @before_request_hooks.each do |hook|
60
+ request = hook.before_request(hook_ctx: hook_ctx, request: request)
61
+ end
62
+
63
+ request
64
+ end
65
+
66
+ sig do
67
+ params(
68
+ hook_ctx: AfterSuccessHookContext,
69
+ response: Faraday::Response
70
+ ).returns(Faraday::Response)
71
+ end
72
+ def after_success(hook_ctx:, response:)
73
+ @after_success_hooks.each do |hook|
74
+ response = hook.after_success(hook_ctx: hook_ctx, response: response)
75
+ end
76
+
77
+ response
78
+ end
79
+
80
+ sig do
81
+ params(
82
+ error: T.nilable(StandardError),
83
+ hook_ctx: AfterErrorHookContext,
84
+ response: T.nilable(Faraday::Response)
85
+ ).returns(T.nilable(Faraday::Response))
86
+ end
87
+ def after_error(error:, hook_ctx:, response:)
88
+ @after_error_hooks.each do |hook|
89
+ response = hook.after_error(error: error, hook_ctx: hook_ctx, response: response)
90
+ end
91
+
92
+ response
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,157 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require_relative '../sdkconfiguration'
7
+
8
+ require 'sorbet-runtime'
9
+
10
+ module FastpixApiSDK
11
+ module SDKHooks
12
+ class HookContext
13
+ extend T::Sig
14
+
15
+ sig { returns(SDKConfiguration) }
16
+ attr_accessor :config
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :base_url
20
+
21
+ sig { returns(T.nilable(T::Array[String])) }
22
+ attr_accessor :oauth2_scopes
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :operation_id
26
+
27
+ sig { returns(T.nilable(T.proc.returns(T.untyped))) }
28
+ attr_accessor :security_source
29
+
30
+ sig do
31
+ params(
32
+ config: SDKConfiguration,
33
+ base_url: String,
34
+ oauth2_scopes: T.nilable(T::Array[String]),
35
+ operation_id: String,
36
+ security_source: T.nilable(T.proc.returns(T.untyped))
37
+ ).void
38
+ end
39
+ def initialize(config:, base_url:, oauth2_scopes:, operation_id:, security_source:)
40
+ @config = T.let(config, SDKConfiguration)
41
+ @base_url = T.let(base_url, String)
42
+ @oauth2_scopes = T.let(oauth2_scopes, T.nilable(T::Array[String]))
43
+ @operation_id = T.let(operation_id, String)
44
+ @security_source = T.let(security_source, T.nilable(T.proc.returns(T.untyped)))
45
+ end
46
+ end
47
+
48
+ class BeforeRequestHookContext < HookContext
49
+ extend T::Sig
50
+
51
+ sig do
52
+ params(
53
+ hook_ctx: HookContext
54
+ ).void
55
+ end
56
+ def initialize(hook_ctx:)
57
+ super(
58
+ config: hook_ctx.config,
59
+ base_url: hook_ctx.base_url,
60
+ operation_id: hook_ctx.operation_id,
61
+ oauth2_scopes: hook_ctx.oauth2_scopes,
62
+ security_source: hook_ctx.security_source
63
+ )
64
+ end
65
+ end
66
+
67
+ class AfterSuccessHookContext < HookContext
68
+ extend T::Sig
69
+
70
+ sig do
71
+ params(
72
+ hook_ctx: HookContext
73
+ ).void
74
+ end
75
+ def initialize(hook_ctx:)
76
+ super(
77
+ config: hook_ctx.config,
78
+ base_url: hook_ctx.base_url,
79
+ operation_id: hook_ctx.operation_id,
80
+ oauth2_scopes: hook_ctx.oauth2_scopes,
81
+ security_source: hook_ctx.security_source
82
+ )
83
+ end
84
+ end
85
+
86
+ class AfterErrorHookContext < HookContext
87
+ extend T::Sig
88
+
89
+ sig do
90
+ params(
91
+ hook_ctx: HookContext
92
+ ).void
93
+ end
94
+ def initialize(hook_ctx:)
95
+ super(
96
+ config: hook_ctx.config,
97
+ base_url: hook_ctx.base_url,
98
+ operation_id: hook_ctx.operation_id,
99
+ oauth2_scopes: hook_ctx.oauth2_scopes,
100
+ security_source: hook_ctx.security_source
101
+ )
102
+ end
103
+ end
104
+
105
+ module AbstractSDKInitHook
106
+ extend T::Sig
107
+ extend T::Helpers
108
+ abstract!
109
+
110
+ sig { abstract.params(config: SDKConfiguration).returns(SDKConfiguration) }
111
+ def sdk_init(config:); end
112
+ end
113
+
114
+ module AbstractBeforeRequestHook
115
+ extend T::Sig
116
+ extend T::Helpers
117
+ abstract!
118
+
119
+ sig do
120
+ abstract.params(
121
+ hook_ctx: BeforeRequestHookContext,
122
+ request: Faraday::Request
123
+ ).returns(Faraday::Request)
124
+ end
125
+ def before_request(hook_ctx:, request:); end
126
+ end
127
+
128
+ module AbstractAfterSuccessHook
129
+ extend T::Sig
130
+ extend T::Helpers
131
+ abstract!
132
+
133
+ sig do
134
+ abstract.params(
135
+ hook_ctx: AfterSuccessHookContext,
136
+ response: Faraday::Response
137
+ ).returns(Faraday::Response)
138
+ end
139
+ def after_success(hook_ctx:, response:); end
140
+ end
141
+
142
+ module AbstractAfterErrorHook
143
+ extend T::Sig
144
+ extend T::Helpers
145
+ abstract!
146
+
147
+ sig do
148
+ abstract.params(
149
+ error: T.nilable(StandardError),
150
+ hook_ctx: AfterErrorHookContext,
151
+ response: T.nilable(Faraday::Response)
152
+ ).returns(T.nilable(Faraday::Response))
153
+ end
154
+ def after_error(error:, hook_ctx:, response:); end
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,77 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
12
+
13
+ module FastpixApiSDK
14
+ extend T::Sig
15
+
16
+ SERVERS = [
17
+ 'https://api.fastpix.io/v1/live', # 1 - LIVE STREAM
18
+ ].freeze
19
+ # Contains the list of servers available to the SDK
20
+
21
+ class SDKConfiguration
22
+ extend T::Sig
23
+ include Crystalline::MetadataFields
24
+
25
+
26
+ field :client, T.nilable(Faraday::Connection)
27
+ field :hooks, ::FastpixApiSDK::SDKHooks::Hooks
28
+ field :retry_config, T.nilable(::FastpixApiSDK::Utils::RetryConfig)
29
+ field :timeout, T.nilable(Float)
30
+ field :security_source, T.nilable(T.proc.returns(T.nilable(Models::Components::Security)))
31
+ field :server_url, T.nilable(String)
32
+ field :server_idx, T.nilable(Integer)
33
+ field :language, String
34
+ field :fastpixapi_doc_version, String
35
+ field :sdk_version, String
36
+ field :gen_version, String
37
+ field :user_agent, String
38
+
39
+ sig do
40
+ params(
41
+ client: T.nilable(Faraday::Connection),
42
+ hooks: ::FastpixApiSDK::SDKHooks::Hooks,
43
+ retry_config: T.nilable(::FastpixApiSDK::Utils::RetryConfig),
44
+ timeout_ms: T.nilable(Integer),
45
+ security: T.nilable(Models::Components::Security),
46
+ security_source: T.nilable(T.proc.returns(Models::Components::Security)),
47
+ server_url: T.nilable(String),
48
+ server_idx: T.nilable(Integer)
49
+ ).void
50
+ end
51
+ def initialize(client, hooks, retry_config, timeout_ms, security, security_source, server_url, server_idx)
52
+ @client = client
53
+ @hooks = hooks
54
+ @retry_config = retry_config
55
+ @server_url = server_url
56
+ @timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
57
+ @server_idx = server_idx.nil? ? 0 : server_idx
58
+ raise StandardError, "Invalid server index #{server_idx}" if @server_idx.negative? || @server_idx >= SERVERS.length
59
+ if !security_source.nil?
60
+ @security_source = security_source
61
+ elsif !security.nil?
62
+ @security_source = -> { security }
63
+ end
64
+ @language = 'ruby'
65
+ @fastpixapi_doc_version = '1.0.0'
66
+ @sdk_version = '0.0.1'
67
+ @gen_version = '2.628.0'
68
+ @user_agent = 'speakeasy-sdk/ruby 0.0.1 2.628.0 1.0.0 fastpixapi'
69
+ end
70
+
71
+ sig { returns([String, T::Hash[Symbol, String]]) }
72
+ def get_server_details
73
+ return [@server_url.delete_suffix('/'), {}] if !@server_url.nil?
74
+ [SERVERS[@server_idx], {}]
75
+ end
76
+ end
77
+ end