fastpixapi 1.1.4 → 1.2.0

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/metadata_fields.rb +2 -0
  3. data/lib/crystalline/module.rb +12 -13
  4. data/lib/fastpix_client/live_playback.rb +253 -0
  5. data/lib/fastpix_client/models/components/getallmediaresponse.rb +3 -3
  6. data/lib/fastpix_client/models/components/getallmediaresponse.rbi +1 -1
  7. data/lib/fastpix_client/models/components/getmediadetailresponse.rb +3 -3
  8. data/lib/fastpix_client/models/components/getmediadetailresponse.rbi +1 -1
  9. data/lib/fastpix_client/models/components/inputmediasettings.rb +7 -2
  10. data/lib/fastpix_client/models/components/inputmediasettings.rbi +2 -0
  11. data/lib/fastpix_client/models/components/live_media_clips.rb +3 -3
  12. data/lib/fastpix_client/models/components/live_media_clips.rbi +1 -1
  13. data/lib/fastpix_client/models/components/media.rb +3 -3
  14. data/lib/fastpix_client/models/components/media.rbi +1 -1
  15. data/lib/fastpix_client/models/components/mediaclipresponse_data.rb +2 -2
  16. data/lib/fastpix_client/models/components/mediaclipresponse_data.rbi +1 -1
  17. data/lib/fastpix_client/models/components/playbackidrequest.rb +6 -2
  18. data/lib/fastpix_client/models/components/playbackidrequest.rbi +3 -1
  19. data/lib/fastpix_client/models/components/playbackidresponse.rb +6 -2
  20. data/lib/fastpix_client/models/components/playbackidresponse.rbi +3 -1
  21. data/lib/fastpix_client/models/components/playbackidsuccessresponse_data.rb +6 -2
  22. data/lib/fastpix_client/models/components/playbackidsuccessresponse_data.rbi +3 -1
  23. data/lib/fastpix_client/models/components/playbacksettings.rb +6 -2
  24. data/lib/fastpix_client/models/components/playbacksettings.rbi +3 -1
  25. data/lib/fastpix_client/models/components/playlistbyidresponsemedialistitem.rb +2 -2
  26. data/lib/fastpix_client/models/components/playlistbyidresponsemedialistitem.rbi +1 -1
  27. data/lib/fastpix_client/models/components/sourceaccessmedia.rb +3 -3
  28. data/lib/fastpix_client/models/components/sourceaccessmedia.rbi +1 -1
  29. data/lib/fastpix_client/models/components/update_media.rb +3 -3
  30. data/lib/fastpix_client/models/components/update_media.rbi +1 -1
  31. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_data.rb +40 -0
  32. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_data.rbi +17 -0
  33. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_defaultpolicy.rb +21 -0
  34. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_defaultpolicy.rbi +11 -0
  35. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_request.rb +40 -0
  36. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_request.rbi +17 -0
  37. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_requestbody.rb +40 -0
  38. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_requestbody.rbi +17 -0
  39. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_response.rb +48 -0
  40. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_response.rbi +21 -0
  41. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_responsebody.rb +36 -0
  42. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_responsebody.rbi +15 -0
  43. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_data.rb +40 -0
  44. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_data.rbi +17 -0
  45. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_defaultpolicy.rb +21 -0
  46. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_defaultpolicy.rbi +11 -0
  47. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_request.rb +40 -0
  48. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_request.rbi +17 -0
  49. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_requestbody.rb +40 -0
  50. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_requestbody.rbi +17 -0
  51. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_response.rb +48 -0
  52. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_response.rbi +21 -0
  53. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_responsebody.rb +36 -0
  54. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_responsebody.rbi +15 -0
  55. data/lib/fastpix_client/models/operations.rb +12 -0
  56. data/lib/fastpix_client/sdkconfiguration.rb +3 -3
  57. metadata +44 -40
@@ -16,11 +16,14 @@ module FastpixClient
16
16
  field :id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('id') } }
17
17
  # Determines if access to the streamed content is kept private or available to all.
18
18
  field :access_policy, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('accessPolicy') } }
19
+ # Domain and user-agent access restrictions applied to the live playback ID.
20
+ field :access_restrictions, Crystalline::Nilable.new(Models::Components::PlaybackIdAccessRestrictions), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('accessRestrictions') } }
19
21
 
20
- sig { params(id: T.nilable(::String), access_policy: T.nilable(::String)).void }
21
- def initialize(id: nil, access_policy: nil)
22
+ sig { params(id: T.nilable(::String), access_policy: T.nilable(::String), access_restrictions: T.nilable(Models::Components::PlaybackIdAccessRestrictions)).void }
23
+ def initialize(id: nil, access_policy: nil, access_restrictions: nil)
22
24
  @id = id
23
25
  @access_policy = access_policy
26
+ @access_restrictions = access_restrictions
24
27
  end
25
28
 
26
29
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -28,6 +31,7 @@ module FastpixClient
28
31
  return false unless other.is_a? self.class
29
32
  return false unless @id == other.id
30
33
  return false unless @access_policy == other.access_policy
34
+ return false unless @access_restrictions == other.access_restrictions
31
35
  true
32
36
  end
33
37
  end
@@ -12,4 +12,6 @@ class FastpixClient::Models::Components::PlaybackIdSuccessResponseData
12
12
  def id=(str_); end
13
13
  def access_policy(); end
14
14
  def access_policy=(str_); end
15
- end
15
+ def access_restrictions(); end
16
+ def access_restrictions=(str_); end
17
+ end
@@ -14,16 +14,20 @@ module FastpixClient
14
14
 
15
15
  # Basic access policy for media content
16
16
  field :access_policy, Crystalline::Nilable.new(Models::Components::BasicAccessPolicy), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('accessPolicy'), 'decoder': Utils.enum_from_string(Models::Components::BasicAccessPolicy, true) } }
17
+ # Domain and user-agent access restrictions applied to the live playback ID.
18
+ field :access_restrictions, Crystalline::Nilable.new(Models::Components::PlaybackIdAccessRestrictions), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('accessRestrictions') } }
17
19
 
18
- sig { params(access_policy: T.nilable(Models::Components::BasicAccessPolicy)).void }
19
- def initialize(access_policy: Models::Components::BasicAccessPolicy::PUBLIC)
20
+ sig { params(access_policy: T.nilable(Models::Components::BasicAccessPolicy), access_restrictions: T.nilable(Models::Components::PlaybackIdAccessRestrictions)).void }
21
+ def initialize(access_policy: Models::Components::BasicAccessPolicy::PUBLIC, access_restrictions: nil)
20
22
  @access_policy = access_policy
23
+ @access_restrictions = access_restrictions
21
24
  end
22
25
 
23
26
  sig { params(other: T.untyped).returns(T::Boolean) }
24
27
  def ==(other)
25
28
  return false unless other.is_a? self.class
26
29
  return false unless @access_policy == other.access_policy
30
+ return false unless @access_restrictions == other.access_restrictions
27
31
  true
28
32
  end
29
33
  end
@@ -10,4 +10,6 @@ end
10
10
  class FastpixClient::Models::Components::PlaybackSettings
11
11
  def access_policy(); end
12
12
  def access_policy=(str_); end
13
- end
13
+ def access_restrictions(); end
14
+ def access_restrictions=(str_); end
15
+ end
@@ -15,7 +15,7 @@ module FastpixClient
15
15
  # Timestamp of media creation in the workspace.
16
16
  field :created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('createdAt'), 'decoder': Utils.datetime_from_iso_format(true) } }
17
17
  # Duration of the media in hh:mm:ss format.
18
- field :duration, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
18
+ field :duration, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
19
19
  # unique id of the particular media.
20
20
  field :id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('id') } }
21
21
  # source resolution of the media.
@@ -29,7 +29,7 @@ module FastpixClient
29
29
  # Title of the media.
30
30
  field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('title') } }
31
31
 
32
- sig { params(created_at: T.nilable(::DateTime), duration: T.nilable(::String), id: T.nilable(::String), source_resolution: T.nilable(::String), status: T.nilable(::String), thumbnail: T.nilable(::String), creator_id: T.nilable(::String), title: T.nilable(::String)).void }
32
+ sig { params(created_at: T.nilable(::DateTime), duration: T.nilable(::Float), id: T.nilable(::String), source_resolution: T.nilable(::String), status: T.nilable(::String), thumbnail: T.nilable(::String), creator_id: T.nilable(::String), title: T.nilable(::String)).void }
33
33
  def initialize(created_at: nil, duration: nil, id: nil, source_resolution: nil, status: nil, thumbnail: nil, creator_id: nil, title: nil)
34
34
  @created_at = created_at
35
35
  @duration = duration
@@ -11,7 +11,7 @@ class FastpixClient::Models::Components::PlaylistByIdResponseMediaListItem
11
11
  def created_at(); end
12
12
  def created_at=(str_); end
13
13
  def duration(); end
14
- def duration=(str_); end
14
+ def duration=(float_); end
15
15
  def id(); end
16
16
  def id=(str_); end
17
17
  def source_resolution(); end
@@ -36,8 +36,8 @@ module FastpixClient
36
36
  field :named_entities, Crystalline::Nilable.new(Models::Components::AiResponseRecord), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('namedEntities') } }
37
37
  # Represents an AI response record containing status and data for AI-generated features like summary, chapters, named entities, or moderation.
38
38
  field :moderation, Crystalline::Nilable.new(Models::Components::AiResponseRecord), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('moderation') } }
39
- # The length of the media in seconds, with a maximum allowed duration of 12 hours per individual media.
40
- field :duration, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
39
+ # Duration of the media in seconds.
40
+ field :duration, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
41
41
  # Time the media was created, defined as a localDateTime (UTC Time).
42
42
  field :created_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('createdAt'), 'decoder': Utils.datetime_from_iso_format(true) } }
43
43
  # Time the media was updated, defined as a localDateTime (UTC Time).
@@ -66,7 +66,7 @@ module FastpixClient
66
66
  # The aspect ratio of a video describes its shape based on the relationship between its width and height.
67
67
  field :aspect_ratio, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('aspectRatio') } }
68
68
 
69
- sig { params(id: T.nilable(::String), workspace_id: T.nilable(::String), media_quality: T.nilable(Models::Components::SourceAccessMediaMediaQuality), creator_id: T.nilable(::String), status: T.nilable(Models::Components::SourceAccessMediaStatus), mp4_support: T.nilable(T::Array[Models::Components::SourceAccessMediaMp4Support]), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), duration: T.nilable(::String), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), thumbnail: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), title: T.nilable(::String), max_resolution: T.nilable(Models::Components::SourceAccessMediaMaxResolution), source_resolution: T.nilable(Models::Components::SourceAccessMediaSourceResolution), source_access: T.nilable(T::Boolean), generated_subtitles: T.nilable(T::Array[Models::Components::TracksSubtitles]), is_audio_only: T.nilable(T::Boolean), subtitle_available: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean), aspect_ratio: T.nilable(::String)).void }
69
+ sig { params(id: T.nilable(::String), workspace_id: T.nilable(::String), media_quality: T.nilable(Models::Components::SourceAccessMediaMediaQuality), creator_id: T.nilable(::String), status: T.nilable(Models::Components::SourceAccessMediaStatus), mp4_support: T.nilable(T::Array[Models::Components::SourceAccessMediaMp4Support]), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), duration: T.nilable(::Float), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), thumbnail: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), title: T.nilable(::String), max_resolution: T.nilable(Models::Components::SourceAccessMediaMaxResolution), source_resolution: T.nilable(Models::Components::SourceAccessMediaSourceResolution), source_access: T.nilable(T::Boolean), generated_subtitles: T.nilable(T::Array[Models::Components::TracksSubtitles]), is_audio_only: T.nilable(T::Boolean), subtitle_available: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean), aspect_ratio: T.nilable(::String)).void }
70
70
  def initialize(id: nil, workspace_id: nil, media_quality: nil, creator_id: nil, status: nil, mp4_support: nil, playback_ids: nil, tracks: nil, summary: nil, chapters: nil, named_entities: nil, moderation: nil, duration: nil, created_at: nil, updated_at: nil, thumbnail: nil, metadata: nil, title: nil, max_resolution: Models::Components::SourceAccessMediaMaxResolution::ONE_THOUSAND_AND_EIGHTYP, source_resolution: Models::Components::SourceAccessMediaSourceResolution::ONE_THOUSAND_AND_EIGHTYP, source_access: nil, generated_subtitles: nil, is_audio_only: nil, subtitle_available: nil, optimize_audio: nil, aspect_ratio: nil)
71
71
  @id = id
72
72
  @workspace_id = workspace_id
@@ -33,7 +33,7 @@ class FastpixClient::Models::Components::SourceAccessMedia
33
33
  def moderation(); end
34
34
  def moderation=(str_); end
35
35
  def duration(); end
36
- def duration=(str_); end
36
+ def duration=(float_); end
37
37
  def created_at(); end
38
38
  def created_at=(str_); end
39
39
  def updated_at(); end
@@ -42,8 +42,8 @@ module FastpixClient
42
42
  field :subtitle_available, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('subtitleAvailable') } }
43
43
  # Enhance the quality and volume of the audio track. This is available for pre-recorded content only.
44
44
  field :optimize_audio, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('optimizeAudio') } }
45
- # The length of the media in seconds, with a maximum allowed duration of 12 hours per individual media.
46
- field :duration, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
45
+ # Duration of the media in seconds.
46
+ field :duration, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
47
47
  # The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height.
48
48
  field :aspect_ratio, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('aspectRatio') } }
49
49
  # Time the media was created, defined as a localDateTime (UTC Time).
@@ -65,7 +65,7 @@ module FastpixClient
65
65
  # Indicates whether the media contains only audio (no video track).
66
66
  field :is_audio_only, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('isAudioOnly') } }
67
67
 
68
- sig { params(thumbnail: T.nilable(::String), id: T.nilable(::String), workspace_id: T.nilable(::String), media_quality: T.nilable(Models::Components::UpdateMediaMediaQuality), status: T.nilable(Models::Components::UpdateMediaStatus), mp4_support: T.nilable(T::Array[Models::Components::UpdateMediaMp4Support]), source_access: T.nilable(T::Boolean), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), subtitle_available: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean), duration: T.nilable(::String), aspect_ratio: T.nilable(::String), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), metadata: T.nilable(T::Hash[Symbol, ::String]), creator_id: T.nilable(::String), title: T.nilable(::String), max_resolution: T.nilable(Models::Components::UpdateMediaMaxResolution), source_resolution: T.nilable(Models::Components::UpdateMediaSourceResolution), generated_subtitles: T.nilable(T::Array[Models::Components::TracksSubtitles]), is_audio_only: T.nilable(T::Boolean)).void }
68
+ sig { params(thumbnail: T.nilable(::String), id: T.nilable(::String), workspace_id: T.nilable(::String), media_quality: T.nilable(Models::Components::UpdateMediaMediaQuality), status: T.nilable(Models::Components::UpdateMediaStatus), mp4_support: T.nilable(T::Array[Models::Components::UpdateMediaMp4Support]), source_access: T.nilable(T::Boolean), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrack, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), subtitle_available: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean), duration: T.nilable(::Float), aspect_ratio: T.nilable(::String), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), metadata: T.nilable(T::Hash[Symbol, ::String]), creator_id: T.nilable(::String), title: T.nilable(::String), max_resolution: T.nilable(Models::Components::UpdateMediaMaxResolution), source_resolution: T.nilable(Models::Components::UpdateMediaSourceResolution), generated_subtitles: T.nilable(T::Array[Models::Components::TracksSubtitles]), is_audio_only: T.nilable(T::Boolean)).void }
69
69
  def initialize(thumbnail: nil, id: nil, workspace_id: nil, media_quality: nil, status: nil, mp4_support: nil, source_access: nil, playback_ids: nil, tracks: nil, summary: nil, chapters: nil, named_entities: nil, moderation: nil, subtitle_available: nil, optimize_audio: nil, duration: nil, aspect_ratio: nil, created_at: nil, updated_at: nil, metadata: nil, creator_id: '8fa85f64-5717-4562-b3fc-2c963f66afa6', title: 'My Video Title', max_resolution: Models::Components::UpdateMediaMaxResolution::ONE_THOUSAND_AND_EIGHTYP, source_resolution: Models::Components::UpdateMediaSourceResolution::ONE_THOUSAND_AND_EIGHTYP, generated_subtitles: nil, is_audio_only: nil)
70
70
  @thumbnail = thumbnail
71
71
  @id = id
@@ -39,7 +39,7 @@ class FastpixClient::Models::Components::UpdateMedia
39
39
  def optimize_audio(); end
40
40
  def optimize_audio=(str_); end
41
41
  def duration(); end
42
- def duration=(str_); end
42
+ def duration=(float_); end
43
43
  def aspect_ratio(); end
44
44
  def aspect_ratio=(str_); end
45
45
  def created_at(); end
@@ -0,0 +1,40 @@
1
+ # Generated code for FastPix API SDK.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixClient
8
+ module Models
9
+ module Operations
10
+
11
+ class UpdateLiveStreamDomainRestrictionsData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Specify the fallback behavior for domains that are not listed in the allow or deny lists.
16
+ field :default_policy, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('defaultPolicy') } }
17
+ # List of domains explicitly allowed to play the media.
18
+ field :allow, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('allow') } }
19
+ # List of domains explicitly denied from accessing the media.
20
+ field :deny, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('deny') } }
21
+
22
+ sig { params(default_policy: T.nilable(::String), allow: T.nilable(T::Array[::String]), deny: T.nilable(T::Array[::String])).void }
23
+ def initialize(default_policy: nil, allow: nil, deny: nil)
24
+ @default_policy = default_policy
25
+ @allow = allow
26
+ @deny = deny
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @default_policy == other.default_policy
33
+ return false unless @allow == other.allow
34
+ return false unless @deny == other.deny
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsData
11
+ def default_policy(); end
12
+ def default_policy=(str_); end
13
+ def allow(); end
14
+ def allow=(str_); end
15
+ def deny(); end
16
+ def deny=(str_); end
17
+ end
@@ -0,0 +1,21 @@
1
+ # Generated code for FastPix API SDK.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixClient
8
+ module Models
9
+ module Operations
10
+ # UpdateLiveStreamDomainRestrictionsDefaultPolicy - Specify the fallback behavior for domains that are not listed in the `allow` or `deny` lists.
11
+ class UpdateLiveStreamDomainRestrictionsDefaultPolicy < T::Enum
12
+
13
+
14
+ enums do
15
+ ALLOW = new('allow')
16
+ DENY = new('deny')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsDefaultPolicy
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsDefaultPolicy
11
+ end
@@ -0,0 +1,40 @@
1
+ # Generated code for FastPix API SDK.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixClient
8
+ module Models
9
+ module Operations
10
+
11
+ class UpdateLiveStreamDomainRestrictionsRequest
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :stream_id, ::String, { 'path_param': { 'field_name': 'streamId', 'style': 'simple', 'explode': false } }
17
+
18
+ field :playback_id, ::String, { 'path_param': { 'field_name': 'playbackId', 'style': 'simple', 'explode': false } }
19
+
20
+ field :body, Models::Operations::UpdateLiveStreamDomainRestrictionsRequestBody, { 'request': { 'media_type': 'application/json' } }
21
+
22
+ sig { params(stream_id: ::String, playback_id: ::String, body: Models::Operations::UpdateLiveStreamDomainRestrictionsRequestBody).void }
23
+ def initialize(stream_id:, playback_id:, body:)
24
+ @stream_id = stream_id
25
+ @playback_id = playback_id
26
+ @body = body
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @stream_id == other.stream_id
33
+ return false unless @playback_id == other.playback_id
34
+ return false unless @body == other.body
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsRequest
11
+ def stream_id(); end
12
+ def stream_id=(str_); end
13
+ def playback_id(); end
14
+ def playback_id=(str_); end
15
+ def body(); end
16
+ def body=(str_); end
17
+ end
@@ -0,0 +1,40 @@
1
+ # Generated code for FastPix API SDK.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixClient
8
+ module Models
9
+ module Operations
10
+
11
+ class UpdateLiveStreamDomainRestrictionsRequestBody
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # List of domains explicitly allowed to play the media.
16
+ field :allow, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('allow') } }
17
+ # List of domains explicitly denied from accessing the media.
18
+ field :deny, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('deny') } }
19
+ # Specify the fallback behavior for domains that are not listed in the `allow` or `deny` lists.
20
+ field :default_policy, Crystalline::Nilable.new(Models::Operations::UpdateLiveStreamDomainRestrictionsDefaultPolicy), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('defaultPolicy'), 'decoder': Utils.enum_from_string(Models::Operations::UpdateLiveStreamDomainRestrictionsDefaultPolicy, true) } }
21
+
22
+ sig { params(allow: T.nilable(T::Array[::String]), deny: T.nilable(T::Array[::String]), default_policy: T.nilable(Models::Operations::UpdateLiveStreamDomainRestrictionsDefaultPolicy)).void }
23
+ def initialize(allow: nil, deny: nil, default_policy: Models::Operations::UpdateLiveStreamDomainRestrictionsDefaultPolicy::ALLOW)
24
+ @allow = allow
25
+ @deny = deny
26
+ @default_policy = default_policy
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @allow == other.allow
33
+ return false unless @deny == other.deny
34
+ return false unless @default_policy == other.default_policy
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsRequestBody
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsRequestBody
11
+ def allow(); end
12
+ def allow=(str_); end
13
+ def deny(); end
14
+ def deny=(str_); end
15
+ def default_policy(); end
16
+ def default_policy=(str_); end
17
+ end
@@ -0,0 +1,48 @@
1
+ # Generated code for FastPix API SDK.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixClient
8
+ module Models
9
+ module Operations
10
+
11
+ class UpdateLiveStreamDomainRestrictionsResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # HTTP response content type for this operation
16
+ field :content_type, ::String
17
+ # HTTP response status code for this operation
18
+ field :status_code, ::Integer
19
+ # Raw HTTP response; suitable for custom response parsing
20
+ field :raw_response, ::Faraday::Response
21
+ # Successfully updated domain restrictions
22
+ field :object, Crystalline::Nilable.new(Models::Operations::UpdateLiveStreamDomainRestrictionsResponseBody)
23
+ # See the range of possible <a href="https://fastpix.com/docs/error-codes">error</a> responses and their status codes.
24
+ field :default_error, Crystalline::Nilable.new(Models::Components::DefaultError)
25
+
26
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, object: T.nilable(Models::Operations::UpdateLiveStreamDomainRestrictionsResponseBody), default_error: T.nilable(Models::Components::DefaultError)).void }
27
+ def initialize(content_type:, status_code:, raw_response:, object: nil, default_error: nil)
28
+ @content_type = content_type
29
+ @status_code = status_code
30
+ @raw_response = raw_response
31
+ @object = object
32
+ @default_error = default_error
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @content_type == other.content_type
39
+ return false unless @status_code == other.status_code
40
+ return false unless @raw_response == other.raw_response
41
+ return false unless @object == other.object
42
+ return false unless @default_error == other.default_error
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def object(); end
18
+ def object=(str_); end
19
+ def default_error(); end
20
+ def default_error=(str_); end
21
+ end
@@ -0,0 +1,36 @@
1
+ # Generated code for FastPix API SDK.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixClient
8
+ module Models
9
+ module Operations
10
+ # Successfully updated domain restrictions
11
+ class UpdateLiveStreamDomainRestrictionsResponseBody
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Shows the request status. Returns true for success and false for failure.
16
+ field :success, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('success') } }
17
+
18
+ field :data, Crystalline::Nilable.new(Models::Operations::UpdateLiveStreamDomainRestrictionsData), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('data') } }
19
+
20
+ sig { params(success: T.nilable(T::Boolean), data: T.nilable(Models::Operations::UpdateLiveStreamDomainRestrictionsData)).void }
21
+ def initialize(success: nil, data: nil)
22
+ @success = success
23
+ @data = data
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @success == other.success
30
+ return false unless @data == other.data
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsResponseBody
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class FastpixClient::Models::Operations::UpdateLiveStreamDomainRestrictionsResponseBody
11
+ def success(); end
12
+ def success=(str_); end
13
+ def data(); end
14
+ def data=(str_); end
15
+ end
@@ -0,0 +1,40 @@
1
+ # Generated code for FastPix API SDK.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixClient
8
+ module Models
9
+ module Operations
10
+
11
+ class UpdateLiveStreamUserAgentRestrictionsData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Specifies the default behavior for user agents not listed in the allow or deny lists.
16
+ field :default_policy, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('defaultPolicy') } }
17
+ # List of user-agent substrings explicitly allowed.
18
+ field :allow, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('allow') } }
19
+ # List of user-agent substrings explicitly denied.
20
+ field :deny, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('deny') } }
21
+
22
+ sig { params(default_policy: T.nilable(::String), allow: T.nilable(T::Array[::String]), deny: T.nilable(T::Array[::String])).void }
23
+ def initialize(default_policy: nil, allow: nil, deny: nil)
24
+ @default_policy = default_policy
25
+ @allow = allow
26
+ @deny = deny
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @default_policy == other.default_policy
33
+ return false unless @allow == other.allow
34
+ return false unless @deny == other.deny
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class FastpixClient::Models::Operations::UpdateLiveStreamUserAgentRestrictionsData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class FastpixClient::Models::Operations::UpdateLiveStreamUserAgentRestrictionsData
11
+ def default_policy(); end
12
+ def default_policy=(str_); end
13
+ def allow(); end
14
+ def allow=(str_); end
15
+ def deny(); end
16
+ def deny=(str_); end
17
+ end
@@ -0,0 +1,21 @@
1
+ # Generated code for FastPix API SDK.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixClient
8
+ module Models
9
+ module Operations
10
+ # UpdateLiveStreamUserAgentRestrictionsDefaultPolicy - The default behavior when a user-agent is not listed in `allow` or `deny`.
11
+ class UpdateLiveStreamUserAgentRestrictionsDefaultPolicy < T::Enum
12
+
13
+
14
+ enums do
15
+ ALLOW = new('allow')
16
+ DENY = new('deny')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class FastpixClient::Models::Operations::UpdateLiveStreamUserAgentRestrictionsDefaultPolicy
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class FastpixClient::Models::Operations::UpdateLiveStreamUserAgentRestrictionsDefaultPolicy
11
+ end
@@ -0,0 +1,40 @@
1
+ # Generated code for FastPix API SDK.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixClient
8
+ module Models
9
+ module Operations
10
+
11
+ class UpdateLiveStreamUserAgentRestrictionsRequest
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :stream_id, ::String, { 'path_param': { 'field_name': 'streamId', 'style': 'simple', 'explode': false } }
17
+
18
+ field :playback_id, ::String, { 'path_param': { 'field_name': 'playbackId', 'style': 'simple', 'explode': false } }
19
+
20
+ field :body, Models::Operations::UpdateLiveStreamUserAgentRestrictionsRequestBody, { 'request': { 'media_type': 'application/json' } }
21
+
22
+ sig { params(stream_id: ::String, playback_id: ::String, body: Models::Operations::UpdateLiveStreamUserAgentRestrictionsRequestBody).void }
23
+ def initialize(stream_id:, playback_id:, body:)
24
+ @stream_id = stream_id
25
+ @playback_id = playback_id
26
+ @body = body
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @stream_id == other.stream_id
33
+ return false unless @playback_id == other.playback_id
34
+ return false unless @body == other.body
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end