fastpixapi 0.0.1 → 1.0.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.
- checksums.yaml +4 -4
- data/lib/crystalline/metadata_fields.rb +29 -31
- data/lib/crystalline/module.rb +95 -0
- data/lib/crystalline/t.rb +1 -2
- data/lib/crystalline/types.rb +77 -0
- data/lib/crystalline/utils.rb +48 -75
- data/lib/crystalline.rb +3 -3
- data/lib/fastpix_api_sdk/dimensions.rb +394 -0
- data/lib/fastpix_api_sdk/drm_configurations.rb +445 -0
- data/lib/fastpix_api_sdk/errors.rb +227 -0
- data/lib/fastpix_api_sdk/fastpix.rb +113 -0
- data/lib/fastpix_api_sdk/in_video_ai_features.rb +894 -0
- data/lib/fastpix_api_sdk/input_video.rb +106 -53
- data/lib/fastpix_api_sdk/live_playback.rb +627 -0
- data/lib/fastpix_api_sdk/manage_live_stream.rb +758 -64
- data/lib/fastpix_api_sdk/manage_videos.rb +2362 -108
- data/lib/fastpix_api_sdk/metrics.rb +793 -0
- data/lib/fastpix_api_sdk/models/callbacks.rb +11 -0
- data/lib/fastpix_api_sdk/models/components/accesspolicy.rb +22 -0
- data/lib/fastpix_api_sdk/models/components/accesspolicy.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/addtrackrequest.rb +44 -0
- data/lib/fastpix_api_sdk/models/components/addtrackrequest.rbi +19 -0
- data/lib/fastpix_api_sdk/models/components/addtrackrequest_type.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/addtrackrequest_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/addtrackresponse.rb +48 -0
- data/lib/fastpix_api_sdk/models/components/addtrackresponse.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/addtrackresponse_type.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/addtrackresponse_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/audioinput.rb +3 -4
- data/lib/fastpix_api_sdk/models/components/audioinput.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/audioinput_type.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/audioinput_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/badrequest_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/badrequest_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/basicaccesspolicy.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/basicaccesspolicy.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/browsernamedimensiondetails.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/browsernamedimensiondetails.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/chaptersresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/chaptersresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/createlivestreamrequest.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/createlivestreamrequest.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/createlivestreamrequest_maxresolution.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/createlivestreamrequest_maxresolution.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/createlivestreamrequest_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/createmediarequest.rb +18 -20
- data/lib/fastpix_api_sdk/models/components/createmediarequest.rbi +37 -0
- data/lib/fastpix_api_sdk/models/components/createmediarequest_accesspolicy.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/createmediarequest_accesspolicy.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/createmediarequest_accessrestrictions.rb +2 -3
- data/lib/fastpix_api_sdk/models/components/createmediarequest_accessrestrictions.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/createmediarequest_domains.rb +5 -9
- data/lib/fastpix_api_sdk/models/components/createmediarequest_domains.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/createmediarequest_domains_defaultpolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/createmediarequest_languagecode.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/createmediarequest_languagecode.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/createmediarequest_maxresolution.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/createmediarequest_maxresolution.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/createmediarequest_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/createmediarequest_mp4support.rb +3 -2
- data/lib/fastpix_api_sdk/models/components/createmediarequest_mp4support.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/createmediarequest_type.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/createmediarequest_useragents.rb +5 -9
- data/lib/fastpix_api_sdk/models/components/createmediarequest_useragents.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/createmediarequest_useragents_defaultpolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/createmediaresponse.rb +9 -10
- data/lib/fastpix_api_sdk/models/components/createmediaresponse.rbi +27 -0
- data/lib/fastpix_api_sdk/models/components/createmediaresponse_maxresolution.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/createmediaresponse_maxresolution.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/createmediaresponse_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/createmediasuccessresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/createmediasuccessresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/createplaylistrequest.rb +56 -0
- data/lib/fastpix_api_sdk/models/components/createplaylistrequest.rbi +25 -0
- data/lib/fastpix_api_sdk/models/components/createplaylistrequest_metadata.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/createplaylistrequest_metadata.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/createplaylistrequest_type.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/createplaylistrequest_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/createresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/createresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/createsigningkeyresponsedto.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/createsigningkeyresponsedto.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/datapagination.rb +45 -0
- data/lib/fastpix_api_sdk/models/components/datapagination.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/daterange.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/daterange.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/deletesigningkeyresponse.rb +32 -0
- data/lib/fastpix_api_sdk/models/components/deletesigningkeyresponse.rbi +13 -0
- data/lib/fastpix_api_sdk/models/components/details.rb +48 -0
- data/lib/fastpix_api_sdk/models/components/details.rbi +19 -0
- data/lib/fastpix_api_sdk/models/components/directupload.rb +7 -8
- data/lib/fastpix_api_sdk/models/components/directupload.rbi +25 -0
- data/lib/fastpix_api_sdk/models/components/directuploadresponse.rb +3 -4
- data/lib/fastpix_api_sdk/models/components/directuploadresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/directuploadresponse_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/domainrestrictions.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/domainrestrictions.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/drmidresponse.rb +32 -0
- data/lib/fastpix_api_sdk/models/components/drmidresponse.rbi +13 -0
- data/lib/fastpix_api_sdk/models/components/duplicatemp4support_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/duplicatemp4support_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/duplicatereferenceiderrorresponse_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/duplicatereferenceiderrorresponse_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/errordetails.rb +60 -0
- data/lib/fastpix_api_sdk/models/components/errordetails.rbi +27 -0
- data/lib/fastpix_api_sdk/models/components/errordetails_percentage.rb +27 -0
- data/lib/fastpix_api_sdk/models/components/errordetails_percentage.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/event.rb +52 -0
- data/lib/fastpix_api_sdk/models/components/event.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/event_time.rb +28 -0
- data/lib/fastpix_api_sdk/models/components/event_time.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/fielderror.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/fielderror.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/forbidden_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/forbidden_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/forbiddenresponse_error.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/forbiddenresponse_error.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/generatedsubtitle.rb +27 -0
- data/lib/fastpix_api_sdk/models/components/generatedsubtitle.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/generatetrackresponse.rb +49 -0
- data/lib/fastpix_api_sdk/models/components/generatetrackresponse.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/generatetrackresponse_languagecode.rb +77 -0
- data/lib/fastpix_api_sdk/models/components/generatetrackresponse_languagecode.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/generatetrackresponse_type.rb +20 -0
- data/lib/fastpix_api_sdk/models/components/generatetrackresponse_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/getallplaylistsresponse.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/getallplaylistsresponse.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/getallsigningkeyresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/getallsigningkeyresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/getallsigningkeyresponsedto.rb +44 -0
- data/lib/fastpix_api_sdk/models/components/getallsigningkeyresponsedto.rbi +19 -0
- data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto.rb +29 -22
- data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto.rbi +43 -0
- data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto_srtplaybackresponse.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/getpublicpemusingsigningkeyidresponsedto.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/getpublicpemusingsigningkeyidresponsedto.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/getpublicpemusingsigningkeyidresponsedto_data.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/getpublicpemusingsigningkeyidresponsedto_data.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/getstreamsresponse.rb +4 -5
- data/lib/fastpix_api_sdk/models/components/getstreamsresponse.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/globalvalue.rb +27 -0
- data/lib/fastpix_api_sdk/models/components/globalvalue.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/imposetrack.rb +5 -6
- data/lib/fastpix_api_sdk/models/components/imposetrack.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/input.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/input.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/inputmediasettings.rb +14 -11
- data/lib/fastpix_api_sdk/models/components/inputmediasettings.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/invalidpermission_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/invalidpermission_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/invalidplaylistidresponse_error.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/invalidplaylistidresponse_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/item.rb +49 -0
- data/lib/fastpix_api_sdk/models/components/item.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/languagecode.rb +80 -0
- data/lib/fastpix_api_sdk/models/components/languagecode.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/livenotfounderror_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/livenotfounderror_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/livestreamdeleteresponse.rb +1 -2
- data/lib/fastpix_api_sdk/models/components/livestreamdeleteresponse.rbi +13 -0
- data/lib/fastpix_api_sdk/models/components/livestreamgetresponse.rb +2 -3
- data/lib/fastpix_api_sdk/models/components/livestreamgetresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/livestreampagination.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/livestreampagination.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/livestreamresponsedto.rb +2 -3
- data/lib/fastpix_api_sdk/models/components/livestreamresponsedto.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/media.rb +18 -19
- data/lib/fastpix_api_sdk/models/components/media.rbi +43 -0
- data/lib/fastpix_api_sdk/models/components/media_maxresolution.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/media_maxresolution.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/media_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/media_mp4support.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/media_mp4support.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/media_sourceresolution.rb +25 -0
- data/lib/fastpix_api_sdk/models/components/media_sourceresolution.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/mediacancelresponse.rb +64 -0
- data/lib/fastpix_api_sdk/models/components/mediacancelresponse.rbi +29 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipnotfound_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipnotfound_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_accessrestrictions.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_accessrestrictions.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_data.rb +100 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_data.rbi +47 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_domains.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_domains.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_maxresolution.rb +25 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_maxresolution.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_pagination.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_pagination.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_playbackid.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_playbackid.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_sourceresolution.rb +25 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_sourceresolution.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_track.rb +56 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_track.rbi +25 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_type.rb +22 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_useragents.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/mediaclipresponse_useragents.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/mediaidsrequest.rb +32 -0
- data/lib/fastpix_api_sdk/models/components/mediaidsrequest.rbi +13 -0
- data/lib/fastpix_api_sdk/models/components/medianotfound_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/medianotfound_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/mediaorplaybacknotfound_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/mediaorplaybacknotfound_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/mediapolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/mediatype.rb +22 -0
- data/lib/fastpix_api_sdk/models/components/mediatype.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/metricsbreakdowndetails.rb +48 -0
- data/lib/fastpix_api_sdk/models/components/metricsbreakdowndetails.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/metricsbreakdowndetails_value.rb +27 -0
- data/lib/fastpix_api_sdk/models/components/metricsbreakdowndetails_value.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/metricscomparisondetails.rb +49 -0
- data/lib/fastpix_api_sdk/models/components/metricscomparisondetails.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/metricsoveralldatadetails.rb +52 -0
- data/lib/fastpix_api_sdk/models/components/metricsoveralldatadetails.rbi +23 -0
- data/lib/fastpix_api_sdk/models/components/metricsoveralldatadetails_value.rb +27 -0
- data/lib/fastpix_api_sdk/models/components/metricsoveralldatadetails_value.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/metricsoverallmetadatadetails.rb +32 -0
- data/lib/fastpix_api_sdk/models/components/metricsoverallmetadatadetails.rbi +13 -0
- data/lib/fastpix_api_sdk/models/components/metricstimeseriesdatadetails.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/metricstimeseriesdatadetails.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/metricstimeseriesmetadatadetails.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/metricstimeseriesmetadatadetails.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/metricvalue.rb +27 -0
- data/lib/fastpix_api_sdk/models/components/metricvalue.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/moderation.rb +3 -5
- data/lib/fastpix_api_sdk/models/components/moderation.rbi +13 -0
- data/lib/fastpix_api_sdk/models/components/moderationresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/moderationresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/namedentitiesresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/namedentitiesresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/notfounderror_error.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/notfounderror_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/notfounderrorplaybackid_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/notfounderrorplaybackid_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/notfounderrorsimulcast_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/notfounderrorsimulcast_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/pagination.rb +5 -6
- data/lib/fastpix_api_sdk/models/components/pagination.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/patchlivestreamrequest.rb +4 -5
- data/lib/fastpix_api_sdk/models/components/patchlivestreamrequest.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/patchlivestreamrequest_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/patchresponsedata.rb +21 -22
- data/lib/fastpix_api_sdk/models/components/patchresponsedata.rbi +39 -0
- data/lib/fastpix_api_sdk/models/components/patchresponsedata_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/patchresponsedata_srtplaybackresponse.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/patchresponsedto.rb +2 -3
- data/lib/fastpix_api_sdk/models/components/patchresponsedto.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/placement.rb +4 -5
- data/lib/fastpix_api_sdk/models/components/placement.rbi +19 -0
- data/lib/fastpix_api_sdk/models/components/playbackid.rb +5 -6
- data/lib/fastpix_api_sdk/models/components/playbackid.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/playbackid_accesspolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/playbackid_accessrestrictions.rb +2 -3
- data/lib/fastpix_api_sdk/models/components/playbackid_accessrestrictions.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/playbackid_domains.rb +5 -6
- data/lib/fastpix_api_sdk/models/components/playbackid_domains.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/playbackid_domains_defaultpolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/playbackid_useragents.rb +5 -6
- data/lib/fastpix_api_sdk/models/components/playbackid_useragents.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/playbackid_useragents_defaultpolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/playbackidrequest.rb +4 -5
- data/lib/fastpix_api_sdk/models/components/playbackidrequest.rbi +13 -0
- data/lib/fastpix_api_sdk/models/components/playbackidrequest_accesspolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/playbackidresponse.rb +11 -12
- data/lib/fastpix_api_sdk/models/components/playbackidresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/playbackidresponse_data.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/playbackids.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/playbackidsuccessresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/playbackidsuccessresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/playbackidsuccessresponse_data.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/playbackidsuccessresponse_data.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/playbacksettings.rb +4 -5
- data/lib/fastpix_api_sdk/models/components/playbacksettings.rbi +13 -0
- data/lib/fastpix_api_sdk/models/components/playbacksettings_accesspolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/playerheight.rb +28 -0
- data/lib/fastpix_api_sdk/models/components/playerheight.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/playerwidth.rb +28 -0
- data/lib/fastpix_api_sdk/models/components/playerwidth.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/playlistbyidresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/playlistbyidresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_data.rb +68 -0
- data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_data.rbi +31 -0
- data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_medialist.rb +52 -0
- data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_medialist.rbi +23 -0
- data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_type.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/playlistbyidresponse_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/playlistcreatedresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/playlistcreatedresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/playlistcreatedschema.rb +76 -0
- data/lib/fastpix_api_sdk/models/components/playlistcreatedschema.rbi +35 -0
- data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_medialist.rb +52 -0
- data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_medialist.rbi +23 -0
- data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_metadata.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_metadata.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_type.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/playlistcreatedschema_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/playlistitem.rb +52 -0
- data/lib/fastpix_api_sdk/models/components/playlistitem.rbi +23 -0
- data/lib/fastpix_api_sdk/models/components/playlistitem_type.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/playlistitem_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/playlistorder.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/playlistorder.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/policyaction.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/policyaction.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/security.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/security.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/segment_1.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/segment_1.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/segment_2.rb +1 -2
- data/lib/fastpix_api_sdk/models/components/segment_2.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/segment_union.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/segment_union.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/signingkeynotfounderror_error.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/signingkeynotfounderror_error.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/signingkeyworkspacedto.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/signingkeyworkspacedto.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/simulcastdeleteresponse.rb +1 -2
- data/lib/fastpix_api_sdk/models/components/simulcastdeleteresponse.rbi +13 -0
- data/lib/fastpix_api_sdk/models/components/simulcastrequest.rb +9 -6
- data/lib/fastpix_api_sdk/models/components/simulcastrequest.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/simulcastresponse.rb +2 -3
- data/lib/fastpix_api_sdk/models/components/simulcastresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/simulcastresponse_data.rb +8 -9
- data/lib/fastpix_api_sdk/models/components/simulcastresponse_data.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/simulcastresponse_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/simulcastunavailable_error.rb +44 -0
- data/lib/fastpix_api_sdk/models/components/simulcastunavailable_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/simulcastupdaterequest.rb +4 -5
- data/lib/fastpix_api_sdk/models/components/simulcastupdaterequest.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/simulcastupdaterequest_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse.rb +2 -3
- data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse_data.rb +7 -8
- data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse_data.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/singingkeyspagination.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/singingkeyspagination.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/sortorder.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/sortorder.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/sourceresolution.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/srtplaybackresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/srtplaybackresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/status.rb +23 -0
- data/lib/fastpix_api_sdk/models/components/status.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/streamalreadydisablederror_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/streamalreadydisablederror_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/subtitle.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/subtitle_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/subtitleinput.rb +3 -5
- data/lib/fastpix_api_sdk/models/components/subtitleinput.rbi +19 -0
- data/lib/fastpix_api_sdk/models/components/subtitleinput_languagecode.rb +0 -1
- data/lib/fastpix_api_sdk/models/components/subtitles.rb +43 -0
- data/lib/fastpix_api_sdk/models/components/subtitles.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/successresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/successresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/successresponse_data.rb +27 -0
- data/lib/fastpix_api_sdk/models/components/successresponse_data.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/summary.rb +2 -3
- data/lib/fastpix_api_sdk/models/components/summary.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/summaryresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/summaryresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/toperrordetails.rb +64 -0
- data/lib/fastpix_api_sdk/models/components/toperrordetails.rbi +29 -0
- data/lib/fastpix_api_sdk/models/components/toperrordetails_percentage.rb +27 -0
- data/lib/fastpix_api_sdk/models/components/toperrordetails_percentage.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/track.rb +5 -6
- data/lib/fastpix_api_sdk/models/components/track.rbi +23 -0
- data/lib/fastpix_api_sdk/models/components/trackduplicaterequest_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/trackduplicaterequest_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/tracksubtitlesgeneraterequest.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/tracksubtitlesgeneraterequest.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/unauthorized_error.rb +41 -0
- data/lib/fastpix_api_sdk/models/components/unauthorized_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/unauthorizedresponse_error.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/unauthorizedresponse_error.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/uniqueviewerseffectedpercentage.rb +27 -0
- data/lib/fastpix_api_sdk/models/components/uniqueviewerseffectedpercentage.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/updateplaylistrequest.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/updateplaylistrequest.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/updatetrackrequest.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/updatetrackrequest.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/updatetrackresponse.rb +48 -0
- data/lib/fastpix_api_sdk/models/components/updatetrackresponse.rbi +21 -0
- data/lib/fastpix_api_sdk/models/components/updatetrackresponse_type.rb +21 -0
- data/lib/fastpix_api_sdk/models/components/updatetrackresponse_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/useragentrestrictions.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/useragentrestrictions.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/validationerrorresponse_error.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/validationerrorresponse_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/videoinput.rb +6 -7
- data/lib/fastpix_api_sdk/models/components/videoinput.rbi +27 -0
- data/lib/fastpix_api_sdk/models/components/viewnotfound_error.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/viewnotfound_error.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/views.rb +588 -0
- data/lib/fastpix_api_sdk/models/components/views.rbi +235 -0
- data/lib/fastpix_api_sdk/models/components/viewsbytopcontentdetails.rb +40 -0
- data/lib/fastpix_api_sdk/models/components/viewsbytopcontentdetails.rbi +17 -0
- data/lib/fastpix_api_sdk/models/components/viewscountresponse.rb +36 -0
- data/lib/fastpix_api_sdk/models/components/viewscountresponse.rbi +15 -0
- data/lib/fastpix_api_sdk/models/components/viewscountresponse_data.rb +32 -0
- data/lib/fastpix_api_sdk/models/components/viewscountresponse_data.rbi +13 -0
- data/lib/fastpix_api_sdk/models/components/viewslist.rb +88 -0
- data/lib/fastpix_api_sdk/models/components/viewslist.rbi +35 -0
- data/lib/fastpix_api_sdk/models/components/watermarkinput.rb +6 -7
- data/lib/fastpix_api_sdk/models/components/watermarkinput.rbi +23 -0
- data/lib/fastpix_api_sdk/models/components/watermarkinput_type.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/watermarkinput_type.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/xalign.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/xalign.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components/yalign.rb +2 -1
- data/lib/fastpix_api_sdk/models/components/yalign.rbi +11 -0
- data/lib/fastpix_api_sdk/models/components.rb +127 -29
- data/lib/fastpix_api_sdk/models/errors/apierror.rb +0 -2
- data/lib/fastpix_api_sdk/models/errors/apierror.rbi +16 -0
- data/lib/fastpix_api_sdk/models/errors/badrequest_error.rb +9 -6
- data/lib/fastpix_api_sdk/models/errors/badrequest_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/badrequest_error_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/duplicatemp4support_error.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/duplicatemp4support_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/duplicatereferenceiderrorresponse.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/duplicatereferenceiderrorresponse.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/field.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/forbidden_error.rb +9 -6
- data/lib/fastpix_api_sdk/models/errors/forbidden_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/forbidden_error_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/forbiddenresponse_error.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/forbiddenresponse_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/invalidpermission_error.rb +9 -6
- data/lib/fastpix_api_sdk/models/errors/invalidpermission_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/invalidpermission_error_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/invalidplaylistidresponse_error.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/invalidplaylistidresponse_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/livenotfounderror.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/livenotfounderror.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/mediaclipnotfound_error.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/mediaclipnotfound_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/medianotfound_error.rb +9 -6
- data/lib/fastpix_api_sdk/models/errors/medianotfound_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/medianotfound_error_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/mediaorplaybacknotfound_error.rb +9 -6
- data/lib/fastpix_api_sdk/models/errors/mediaorplaybacknotfound_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/mediaorplaybacknotfound_error_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/notfounderror.rb +11 -8
- data/lib/fastpix_api_sdk/models/errors/notfounderror.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/notfounderror_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/notfounderrorplaybackid.rb +9 -6
- data/lib/fastpix_api_sdk/models/errors/notfounderrorplaybackid.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/notfounderrorplaybackid_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/notfounderrorsimulcast.rb +9 -6
- data/lib/fastpix_api_sdk/models/errors/notfounderrorsimulcast.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/notfounderrorsimulcast_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/signingkeynotfounderror.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/signingkeynotfounderror.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/simulcastunavailable_error.rb +9 -6
- data/lib/fastpix_api_sdk/models/errors/simulcastunavailable_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/simulcastunavailable_error_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/streamalreadydisablederror.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/streamalreadydisablederror.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/trackduplicaterequest_error.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/trackduplicaterequest_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/unauthorized_error.rb +9 -6
- data/lib/fastpix_api_sdk/models/errors/unauthorized_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/unauthorized_error_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/unauthorizedresponse_error.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/unauthorizedresponse_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/validationerrorresponse.rb +11 -8
- data/lib/fastpix_api_sdk/models/errors/validationerrorresponse.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors/validationerrorresponse_error.rb +0 -1
- data/lib/fastpix_api_sdk/models/errors/viewnotfound_error.rb +40 -0
- data/lib/fastpix_api_sdk/models/errors/viewnotfound_error.rbi +17 -0
- data/lib/fastpix_api_sdk/models/errors.rb +11 -13
- data/lib/fastpix_api_sdk/models/operations/add_media_to_playlist_request.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_to_playlist_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_to_playlist_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_to_playlist_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_track_request.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_track_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_track_requestbody.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_track_requestbody.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_track_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_track_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_track_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/add_media_track_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/cancel_upload_request.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/cancel_upload_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/cancel_upload_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/cancel_upload_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/cancel_upload_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/cancel_upload_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/change_media_order_in_playlist_request.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/change_media_order_in_playlist_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/change_media_order_in_playlist_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/change_media_order_in_playlist_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/complete_live_stream_request.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/complete_live_stream_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/complete_live_stream_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/complete_live_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/create_a_playlist_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/create_a_playlist_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_accesspolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_accessrestrictions.rb +5 -6
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_accessrestrictions.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_data.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_data.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_domains.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_domains_defaultpolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_request.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_requestbody.rb +13 -6
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_requestbody.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_responsebody.rb +3 -4
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_useragents.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_useragents_defaultpolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/create_media_response.rb +5 -6
- data/lib/fastpix_api_sdk/models/operations/create_media_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/create_media_responsebody.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/create_new_stream_response.rb +7 -2
- data/lib/fastpix_api_sdk/models/operations/create_new_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_request.rb +3 -4
- data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_response.rb +5 -6
- data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/create_signing_key_response.rb +50 -0
- data/lib/fastpix_api_sdk/models/operations/create_signing_key_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_request.rb +3 -4
- data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/data.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/delete_a_playlist_request.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/delete_a_playlist_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/delete_a_playlist_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/delete_a_playlist_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/delete_live_stream_request.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/delete_live_stream_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/delete_live_stream_response.rb +7 -2
- data/lib/fastpix_api_sdk/models/operations/delete_live_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_from_playlist_request.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_from_playlist_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_from_playlist_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_from_playlist_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_request.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_responsebody.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_responsebody.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_request.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/delete_media_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/delete_media_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_responsebody.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/delete_media_responsebody.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_track_request.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_track_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_track_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_track_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_track_responsebody.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/delete_media_track_responsebody.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_request.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/delete_signing_key_request.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/delete_signing_key_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/delete_signing_key_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/delete_signing_key_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_request.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/dimensionsid.rb +75 -0
- data/lib/fastpix_api_sdk/models/operations/dimensionsid.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_accesspolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_accessrestrictions.rb +5 -6
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_accessrestrictions.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_domains.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_domains_defaultpolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_moderation.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_moderation.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_mp4support.rb +23 -0
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_mp4support.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_request.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_responsebody.rb +2 -3
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_useragents.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_useragents_defaultpolicy.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/disable_live_stream_request.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/disable_live_stream_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/disable_live_stream_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/disable_live_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/errorcode.rb +28 -0
- data/lib/fastpix_api_sdk/models/operations/errorcode.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_request.rb +40 -0
- data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_request.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/generate_subtitle_track_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/get_all_playlists_request.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/get_all_playlists_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/get_all_playlists_response.rb +50 -0
- data/lib/fastpix_api_sdk/models/operations/get_all_playlists_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_all_streams_orderby.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/get_all_streams_request.rb +5 -6
- data/lib/fastpix_api_sdk/models/operations/get_all_streams_request.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/get_all_streams_response.rb +7 -2
- data/lib/fastpix_api_sdk/models/operations/get_all_streams_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_data.rb +40 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_data.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_dimension.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_dimension.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_request.rb +42 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_responsebody.rb +40 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_filter_responsebody.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_data.rb +40 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_data.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_responsebody.rb +40 -0
- data/lib/fastpix_api_sdk/models/operations/get_data_viewlist_current_views_gettimeseriesviews_responsebody.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_request.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_request.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_response.rb +5 -6
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_viewer_count_by_id_request.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_viewer_count_by_id_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_viewer_count_by_id_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/get_live_stream_viewer_count_by_id_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_media_clips_request.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/get_media_clips_request.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_media_clips_response.rb +50 -0
- data/lib/fastpix_api_sdk/models/operations/get_media_clips_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_media_request.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/get_media_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/get_media_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/get_media_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_media_responsebody.rb +2 -3
- data/lib/fastpix_api_sdk/models/operations/get_media_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/get_playback_id_data.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/get_playback_id_data.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/get_playback_id_request.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/get_playback_id_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/get_playback_id_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/get_playback_id_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_playback_id_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/get_playback_id_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/get_playlist_by_id_request.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/get_playlist_by_id_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/get_playlist_by_id_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/get_playlist_by_id_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_signing_key_by_id_request.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/get_signing_key_by_id_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/get_signing_key_by_id_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/get_signing_key_by_id_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_request.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_metricid.rb +46 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_metricid.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_request.rb +60 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_request.rbi +23 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_responsebody.rb +45 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_responsebody.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_sortorder.rb +22 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_sortorder.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_timespan_.rb +26 -0
- data/lib/fastpix_api_sdk/models/operations/get_timeseries_data_timespan_.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/get_video_view_details_request.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/get_video_view_details_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/get_video_view_details_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/get_video_view_details_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/get_video_view_details_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/get_video_view_details_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_request.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_responsebody.rb +40 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfiguration_responsebody.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_request.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/getdrmconfigurationbyid_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/groupby.rb +24 -0
- data/lib/fastpix_api_sdk/models/operations/groupby.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/input.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/input.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/languagecode.rb +2 -1
- data/lib/fastpix_api_sdk/models/operations/languagecode.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_metricid.rb +46 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_metricid.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_request.rb +75 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_request.rbi +29 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_responsebody.rb +45 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_responsebody.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_sortorder.rb +22 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_sortorder.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_timespan_.rb +26 -0
- data/lib/fastpix_api_sdk/models/operations/list_breakdown_values_timespan_.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_by_top_content_request.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_by_top_content_request.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_by_top_content_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_by_top_content_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_by_top_content_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/list_by_top_content_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/list_by_top_content_timespan_.rb +26 -0
- data/lib/fastpix_api_sdk/models/operations/list_by_top_content_timespan_.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_comparison_values_dimension.rb +75 -0
- data/lib/fastpix_api_sdk/models/operations/list_comparison_values_dimension.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_comparison_values_request.rb +52 -0
- data/lib/fastpix_api_sdk/models/operations/list_comparison_values_request.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_comparison_values_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_comparison_values_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_comparison_values_responsebody.rb +42 -0
- data/lib/fastpix_api_sdk/models/operations/list_comparison_values_responsebody.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_comparison_values_timespan_.rb +26 -0
- data/lib/fastpix_api_sdk/models/operations/list_comparison_values_timespan_.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_dimensions_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_dimensions_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_dimensions_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/list_dimensions_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/list_errors_data.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/list_errors_data.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/list_errors_request.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_errors_request.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_errors_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_errors_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_errors_responsebody.rb +41 -0
- data/lib/fastpix_api_sdk/models/operations/list_errors_responsebody.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_errors_timespan_.rb +26 -0
- data/lib/fastpix_api_sdk/models/operations/list_errors_timespan_.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_request.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_request.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_responsebody.rb +41 -0
- data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_responsebody.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_timespan_.rb +26 -0
- data/lib/fastpix_api_sdk/models/operations/list_filter_values_for_dimension_timespan_.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_live_clips_request.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_live_clips_request.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_live_clips_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_live_clips_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_live_clips_responsebody.rb +40 -0
- data/lib/fastpix_api_sdk/models/operations/list_live_clips_responsebody.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_media_orderby.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/list_media_request.rb +5 -6
- data/lib/fastpix_api_sdk/models/operations/list_media_request.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_media_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/list_media_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_media_responsebody.rb +3 -4
- data/lib/fastpix_api_sdk/models/operations/list_media_responsebody.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_overall_values_metricid.rb +46 -0
- data/lib/fastpix_api_sdk/models/operations/list_overall_values_metricid.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_overall_values_request.rb +50 -0
- data/lib/fastpix_api_sdk/models/operations/list_overall_values_request.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_overall_values_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_overall_values_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_overall_values_responsebody.rb +45 -0
- data/lib/fastpix_api_sdk/models/operations/list_overall_values_responsebody.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_overall_values_timespan_.rb +26 -0
- data/lib/fastpix_api_sdk/models/operations/list_overall_values_timespan_.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/list_signing_keys_request.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/list_signing_keys_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/list_signing_keys_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_signing_keys_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_uploads_request.rb +40 -0
- data/lib/fastpix_api_sdk/models/operations/list_uploads_request.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_uploads_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_uploads_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_uploads_responsebody.rb +40 -0
- data/lib/fastpix_api_sdk/models/operations/list_uploads_responsebody.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/list_video_views_request.rb +69 -0
- data/lib/fastpix_api_sdk/models/operations/list_video_views_request.rbi +27 -0
- data/lib/fastpix_api_sdk/models/operations/list_video_views_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/list_video_views_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_video_views_responsebody.rb +45 -0
- data/lib/fastpix_api_sdk/models/operations/list_video_views_responsebody.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/list_video_views_timespan_.rb +26 -0
- data/lib/fastpix_api_sdk/models/operations/list_video_views_timespan_.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/maxresolution.rb +2 -1
- data/lib/fastpix_api_sdk/models/operations/maxresolution.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/moderation.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/mp4support.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/orderby.rb +21 -0
- data/lib/fastpix_api_sdk/models/operations/orderby.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/push_media_settings.rb +17 -18
- data/lib/fastpix_api_sdk/models/operations/push_media_settings.rbi +41 -0
- data/lib/fastpix_api_sdk/models/operations/resolution.rb +24 -0
- data/lib/fastpix_api_sdk/models/operations/resolution.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_data.rb +27 -0
- data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_data.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_request.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_request.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_responsebody.rb +3 -4
- data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/subtitles.rb +5 -6
- data/lib/fastpix_api_sdk/models/operations/subtitles.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/subtitles_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/summary.rb +2 -3
- data/lib/fastpix_api_sdk/models/operations/summary.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/type.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/update_a_playlist_request.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/update_a_playlist_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_a_playlist_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/update_a_playlist_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/update_live_stream_request.rb +3 -4
- data/lib/fastpix_api_sdk/models/operations/update_live_stream_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_live_stream_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/update_live_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_chapters_request.rb +37 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_chapters_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_chapters_requestbody.rb +33 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_chapters_requestbody.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_chapters_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_chapters_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_chapters_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_chapters_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_moderation_moderation.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_moderation_moderation.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_moderation_request.rb +37 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_moderation_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_moderation_requestbody.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_moderation_requestbody.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_moderation_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_moderation_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_moderation_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_moderation_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_request.rb +37 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_requestbody.rb +33 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_requestbody.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_named_entities_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_summary_request.rb +37 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_summary_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_summary_requestbody.rb +39 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_summary_requestbody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_summary_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_summary_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_summary_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_summary_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_track_request.rb +40 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_track_request.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_track_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_track_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_track_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/update_media_track_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_request.rb +3 -4
- data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_request.rbi +17 -0
- data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/updated_media_metadata.rb +0 -1
- data/lib/fastpix_api_sdk/models/operations/updated_media_request.rb +3 -4
- data/lib/fastpix_api_sdk/models/operations/updated_media_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/updated_media_requestbody.rb +3 -4
- data/lib/fastpix_api_sdk/models/operations/updated_media_requestbody.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/updated_media_response.rb +1 -2
- data/lib/fastpix_api_sdk/models/operations/updated_media_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/updated_media_responsebody.rb +2 -3
- data/lib/fastpix_api_sdk/models/operations/updated_media_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/updated_mp4support_mp4support.rb +23 -0
- data/lib/fastpix_api_sdk/models/operations/updated_mp4support_mp4support.rbi +11 -0
- data/lib/fastpix_api_sdk/models/operations/updated_mp4support_request.rb +37 -0
- data/lib/fastpix_api_sdk/models/operations/updated_mp4support_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/updated_mp4support_requestbody.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/updated_mp4support_requestbody.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/updated_mp4support_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/updated_mp4support_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/updated_mp4support_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/updated_mp4support_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/updated_source_access_request.rb +37 -0
- data/lib/fastpix_api_sdk/models/operations/updated_source_access_request.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations/updated_source_access_requestbody.rb +32 -0
- data/lib/fastpix_api_sdk/models/operations/updated_source_access_requestbody.rbi +13 -0
- data/lib/fastpix_api_sdk/models/operations/updated_source_access_response.rb +44 -0
- data/lib/fastpix_api_sdk/models/operations/updated_source_access_response.rbi +19 -0
- data/lib/fastpix_api_sdk/models/operations/updated_source_access_responsebody.rb +36 -0
- data/lib/fastpix_api_sdk/models/operations/updated_source_access_responsebody.rbi +15 -0
- data/lib/fastpix_api_sdk/models/operations.rb +149 -21
- data/lib/fastpix_api_sdk/playback.rb +153 -443
- data/lib/fastpix_api_sdk/playlist.rb +1558 -0
- data/lib/fastpix_api_sdk/sdk.rb +0 -1
- data/lib/fastpix_api_sdk/sdk_hooks/hooks.rb +8 -10
- data/lib/fastpix_api_sdk/sdk_hooks/types.rb +23 -11
- data/lib/fastpix_api_sdk/sdkconfiguration.rb +50 -24
- data/lib/fastpix_api_sdk/sdkconfiguration.rbi +57 -0
- data/lib/fastpix_api_sdk/signing_keys.rb +838 -0
- data/lib/fastpix_api_sdk/simulcast_stream.rb +159 -74
- data/lib/fastpix_api_sdk/start_live_stream.rb +46 -21
- data/lib/fastpix_api_sdk/utils/forms.rb +22 -27
- data/lib/fastpix_api_sdk/utils/headers.rb +5 -8
- data/lib/fastpix_api_sdk/utils/query_params.rb +13 -16
- data/lib/fastpix_api_sdk/utils/request_bodies.rb +11 -13
- data/lib/fastpix_api_sdk/utils/retries.rb +5 -1
- data/lib/fastpix_api_sdk/utils/security.rb +13 -17
- data/lib/fastpix_api_sdk/utils/url.rb +12 -15
- data/lib/fastpix_api_sdk/utils/utils.rb +20 -18
- data/lib/fastpix_api_sdk/views.rb +937 -0
- data/lib/fastpixapi.rb +14 -6
- metadata +717 -2
@@ -1,4 +1,3 @@
|
|
1
|
-
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
1
|
|
3
2
|
# typed: true
|
4
3
|
# frozen_string_literal: true
|
@@ -14,7 +13,7 @@ module FastpixApiSDK
|
|
14
13
|
extend T::Sig
|
15
14
|
class ManageVideos
|
16
15
|
extend T::Sig
|
17
|
-
|
16
|
+
|
18
17
|
|
19
18
|
|
20
19
|
sig { params(sdk_config: SDKConfiguration).void }
|
@@ -23,7 +22,7 @@ module FastpixApiSDK
|
|
23
22
|
|
24
23
|
end
|
25
24
|
|
26
|
-
sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, String])).returns(String) }
|
25
|
+
sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
|
27
26
|
def get_url(base_url:, url_variables: nil)
|
28
27
|
sd_base_url, sd_options = @sdk_configuration.get_server_details
|
29
28
|
|
@@ -39,29 +38,22 @@ module FastpixApiSDK
|
|
39
38
|
end
|
40
39
|
|
41
40
|
|
42
|
-
sig { params(limit: T.nilable(::Integer), offset: T.nilable(::Integer), order_by: T.nilable(Models::
|
43
|
-
def list_media(limit: nil, offset: nil, order_by: nil, timeout_ms: nil)
|
41
|
+
sig { params(limit: T.nilable(::Integer), offset: T.nilable(::Integer), order_by: T.nilable(Models::Components::SortOrder), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListMediaResponse) }
|
42
|
+
def list_media(limit: nil, offset: nil, order_by: nil, retries: nil, timeout_ms: nil)
|
44
43
|
# list_media - Get list of all media
|
45
|
-
# This endpoint returns a list of all media files
|
44
|
+
# This endpoint returns a list of all media files uploaded to FastPix within a specific workspace. Each media entry contains data such as the media `id`, `createdAt`, `status`, `type` and more. It allows you to retrieve an overview of your media assets, making it easier to manage and review them.
|
46
45
|
#
|
47
46
|
#
|
48
47
|
# #### How it works
|
49
48
|
#
|
50
|
-
# When called, the API provides a paginated response containing the media items in
|
49
|
+
# Use the access token and secret key related to the workspace in the request header. When called, the API provides a paginated response containing all the media items in that specific workspace. This is helpful for retrieving a large volume of media and managing content in bulk.
|
51
50
|
#
|
52
51
|
#
|
53
52
|
#
|
54
|
-
# ####
|
55
|
-
#
|
56
|
-
# * **Use case:** A content manager at a video-on-demand platform wants to see all uploaded media to assess the quality and status of videos.
|
57
|
-
#
|
58
|
-
#
|
59
|
-
#
|
60
|
-
# * **Detailed example:**
|
61
|
-
# You're managing a video platform and need to check all the uploaded media in your library to ensure no outdated or low-quality content is being served. Using this endpoint, you can retrieve a complete list of media, allowing you to filter, sort, or update items as needed.
|
53
|
+
# #### Example
|
54
|
+
# You're managing a video platform and need to check all the uploaded media in your library to ensure no outdated or low-quality content is being served. Using this endpoint, you can retrieve a complete list of media, allowing you to filter, sort, or update items as needed.
|
62
55
|
#
|
63
56
|
request = Models::Operations::ListMediaRequest.new(
|
64
|
-
|
65
57
|
limit: limit,
|
66
58
|
offset: offset,
|
67
59
|
order_by: order_by
|
@@ -70,21 +62,37 @@ module FastpixApiSDK
|
|
70
62
|
base_url = Utils.template_url(url, params)
|
71
63
|
url = "#{base_url}/on-demand"
|
72
64
|
headers = {}
|
65
|
+
headers = T.cast(headers, T::Hash[String, String])
|
73
66
|
query_params = Utils.get_query_params(Models::Operations::ListMediaRequest, request, nil)
|
74
67
|
headers['Accept'] = 'application/json'
|
75
68
|
headers['user-agent'] = @sdk_configuration.user_agent
|
69
|
+
retries ||= @sdk_configuration.retry_config
|
70
|
+
retries ||= Utils::RetryConfig.new(
|
71
|
+
backoff: Utils::BackoffStrategy.new(
|
72
|
+
exponent: 1.5,
|
73
|
+
initial_interval: 1000,
|
74
|
+
max_elapsed_time: 3_600_000,
|
75
|
+
max_interval: 10_000
|
76
|
+
),
|
77
|
+
retry_connection_errors: true,
|
78
|
+
strategy: 'backoff'
|
79
|
+
)
|
80
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
81
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
76
82
|
|
77
|
-
security =
|
83
|
+
security = @sdk_configuration.security_source&.call
|
78
84
|
|
79
85
|
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
80
86
|
timeout ||= @sdk_configuration.timeout
|
87
|
+
|
81
88
|
|
82
|
-
connection = @sdk_configuration.client
|
89
|
+
connection = @sdk_configuration.client.dup
|
90
|
+
connection.request :retry, retry_options
|
83
91
|
|
84
92
|
hook_ctx = SDKHooks::HookContext.new(
|
85
93
|
config: @sdk_configuration,
|
86
94
|
base_url: base_url,
|
87
|
-
oauth2_scopes:
|
95
|
+
oauth2_scopes: nil,
|
88
96
|
operation_id: 'list-media',
|
89
97
|
security_source: @sdk_configuration.security_source
|
90
98
|
)
|
@@ -94,7 +102,7 @@ module FastpixApiSDK
|
|
94
102
|
|
95
103
|
|
96
104
|
begin
|
97
|
-
http_response = connection.get(url) do |req|
|
105
|
+
http_response = T.must(connection).get(url) do |req|
|
98
106
|
req.headers.merge!(headers)
|
99
107
|
req.options.timeout = timeout unless timeout.nil?
|
100
108
|
req.params = query_params
|
@@ -148,7 +156,7 @@ module FastpixApiSDK
|
|
148
156
|
status_code: http_response.status,
|
149
157
|
content_type: content_type,
|
150
158
|
raw_response: http_response,
|
151
|
-
object: obj
|
159
|
+
object: T.unsafe(obj)
|
152
160
|
)
|
153
161
|
|
154
162
|
return response
|
@@ -165,7 +173,8 @@ module FastpixApiSDK
|
|
165
173
|
)
|
166
174
|
response_data = http_response.env.response_body
|
167
175
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
168
|
-
|
176
|
+
obj.raw_response = http_response
|
177
|
+
raise obj
|
169
178
|
else
|
170
179
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
171
180
|
end
|
@@ -179,7 +188,8 @@ module FastpixApiSDK
|
|
179
188
|
)
|
180
189
|
response_data = http_response.env.response_body
|
181
190
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
182
|
-
|
191
|
+
obj.raw_response = http_response
|
192
|
+
raise obj
|
183
193
|
else
|
184
194
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
185
195
|
end
|
@@ -193,7 +203,8 @@ module FastpixApiSDK
|
|
193
203
|
)
|
194
204
|
response_data = http_response.env.response_body
|
195
205
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
196
|
-
|
206
|
+
obj.raw_response = http_response
|
207
|
+
raise obj
|
197
208
|
else
|
198
209
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
199
210
|
end
|
@@ -208,36 +219,213 @@ module FastpixApiSDK
|
|
208
219
|
end
|
209
220
|
|
210
221
|
|
211
|
-
sig { params(
|
212
|
-
def
|
213
|
-
#
|
214
|
-
#
|
222
|
+
sig { params(livestream_id: ::String, limit: T.nilable(::Integer), offset: T.nilable(::Integer), order_by: T.nilable(Models::Components::SortOrder), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListLiveClipsResponse) }
|
223
|
+
def list_live_clips(livestream_id:, limit: nil, offset: nil, order_by: nil, retries: nil, timeout_ms: nil)
|
224
|
+
# list_live_clips - Get all clips of a live stream
|
225
|
+
# Retrieves a list of all media clips generated from a specific livestream. Each media entry includes metadata such as the clip media IDs, and other relevant details. A media clip is a segmented portion of an original media file (source live stream). Clips are often created for various purposes such as previews, highlights, or customized edits.
|
226
|
+
# #### How it works
|
227
|
+
# To use this endpoint, provide the `livestreamId` as a parameter. The API then returns a paginated list of clipped media items created from that livestream. Pagination ensures optimal performance and usability when dealing with a large number of media files, making it easier to organize and manage content in bulk.
|
215
228
|
#
|
229
|
+
# Related guide: <a href="https://docs.fastpix.io/docs/instant-live-clipping">Instant live clipping</a>
|
216
230
|
#
|
231
|
+
request = Models::Operations::ListLiveClipsRequest.new(
|
232
|
+
livestream_id: livestream_id,
|
233
|
+
limit: limit,
|
234
|
+
offset: offset,
|
235
|
+
order_by: order_by
|
236
|
+
)
|
237
|
+
url, params = @sdk_configuration.get_server_details
|
238
|
+
base_url = Utils.template_url(url, params)
|
239
|
+
url = Utils.generate_url(
|
240
|
+
Models::Operations::ListLiveClipsRequest,
|
241
|
+
base_url,
|
242
|
+
'/on-demand/{livestreamId}/live-clips',
|
243
|
+
request
|
244
|
+
)
|
245
|
+
headers = {}
|
246
|
+
headers = T.cast(headers, T::Hash[String, String])
|
247
|
+
query_params = Utils.get_query_params(Models::Operations::ListLiveClipsRequest, request, nil)
|
248
|
+
headers['Accept'] = 'application/json'
|
249
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
250
|
+
retries ||= @sdk_configuration.retry_config
|
251
|
+
retries ||= Utils::RetryConfig.new(
|
252
|
+
backoff: Utils::BackoffStrategy.new(
|
253
|
+
exponent: 1.5,
|
254
|
+
initial_interval: 1000,
|
255
|
+
max_elapsed_time: 3_600_000,
|
256
|
+
max_interval: 10_000
|
257
|
+
),
|
258
|
+
retry_connection_errors: true,
|
259
|
+
strategy: 'backoff'
|
260
|
+
)
|
261
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
262
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
263
|
+
|
264
|
+
security = @sdk_configuration.security_source&.call
|
265
|
+
|
266
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
267
|
+
timeout ||= @sdk_configuration.timeout
|
268
|
+
|
269
|
+
|
270
|
+
connection = @sdk_configuration.client.dup
|
271
|
+
connection.request :retry, retry_options
|
272
|
+
|
273
|
+
hook_ctx = SDKHooks::HookContext.new(
|
274
|
+
config: @sdk_configuration,
|
275
|
+
base_url: base_url,
|
276
|
+
oauth2_scopes: nil,
|
277
|
+
operation_id: 'list-live-clips',
|
278
|
+
security_source: @sdk_configuration.security_source
|
279
|
+
)
|
280
|
+
|
281
|
+
error = T.let(nil, T.nilable(StandardError))
|
282
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
283
|
+
|
284
|
+
|
285
|
+
begin
|
286
|
+
http_response = T.must(connection).get(url) do |req|
|
287
|
+
req.headers.merge!(headers)
|
288
|
+
req.options.timeout = timeout unless timeout.nil?
|
289
|
+
req.params = query_params
|
290
|
+
Utils.configure_request_security(req, security)
|
291
|
+
|
292
|
+
@sdk_configuration.hooks.before_request(
|
293
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
294
|
+
hook_ctx: hook_ctx
|
295
|
+
),
|
296
|
+
request: req
|
297
|
+
)
|
298
|
+
end
|
299
|
+
rescue StandardError => e
|
300
|
+
error = e
|
301
|
+
ensure
|
302
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
303
|
+
http_response = @sdk_configuration.hooks.after_error(
|
304
|
+
error: error,
|
305
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
306
|
+
hook_ctx: hook_ctx
|
307
|
+
),
|
308
|
+
response: http_response
|
309
|
+
)
|
310
|
+
else
|
311
|
+
http_response = @sdk_configuration.hooks.after_success(
|
312
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
313
|
+
hook_ctx: hook_ctx
|
314
|
+
),
|
315
|
+
response: http_response
|
316
|
+
)
|
317
|
+
end
|
318
|
+
|
319
|
+
if http_response.nil?
|
320
|
+
raise error if !error.nil?
|
321
|
+
raise 'no response'
|
322
|
+
end
|
323
|
+
end
|
324
|
+
|
325
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
326
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
327
|
+
if Utils.match_content_type(content_type, 'application/json')
|
328
|
+
http_response = @sdk_configuration.hooks.after_success(
|
329
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
330
|
+
hook_ctx: hook_ctx
|
331
|
+
),
|
332
|
+
response: http_response
|
333
|
+
)
|
334
|
+
response_data = http_response.env.response_body
|
335
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ListLiveClipsResponseBody)
|
336
|
+
response = Models::Operations::ListLiveClipsResponse.new(
|
337
|
+
status_code: http_response.status,
|
338
|
+
content_type: content_type,
|
339
|
+
raw_response: http_response,
|
340
|
+
object: T.unsafe(obj)
|
341
|
+
)
|
342
|
+
|
343
|
+
return response
|
344
|
+
else
|
345
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
346
|
+
end
|
347
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
348
|
+
if Utils.match_content_type(content_type, 'application/json')
|
349
|
+
http_response = @sdk_configuration.hooks.after_success(
|
350
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
351
|
+
hook_ctx: hook_ctx
|
352
|
+
),
|
353
|
+
response: http_response
|
354
|
+
)
|
355
|
+
response_data = http_response.env.response_body
|
356
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
357
|
+
obj.raw_response = http_response
|
358
|
+
raise obj
|
359
|
+
else
|
360
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
361
|
+
end
|
362
|
+
elsif Utils.match_status_code(http_response.status, ['403'])
|
363
|
+
if Utils.match_content_type(content_type, 'application/json')
|
364
|
+
http_response = @sdk_configuration.hooks.after_success(
|
365
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
366
|
+
hook_ctx: hook_ctx
|
367
|
+
),
|
368
|
+
response: http_response
|
369
|
+
)
|
370
|
+
response_data = http_response.env.response_body
|
371
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
372
|
+
obj.raw_response = http_response
|
373
|
+
raise obj
|
374
|
+
else
|
375
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
376
|
+
end
|
377
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
378
|
+
if Utils.match_content_type(content_type, 'application/json')
|
379
|
+
http_response = @sdk_configuration.hooks.after_success(
|
380
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
381
|
+
hook_ctx: hook_ctx
|
382
|
+
),
|
383
|
+
response: http_response
|
384
|
+
)
|
385
|
+
response_data = http_response.env.response_body
|
386
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
387
|
+
obj.raw_response = http_response
|
388
|
+
raise obj
|
389
|
+
else
|
390
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
391
|
+
end
|
392
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
393
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
394
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
395
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
396
|
+
else
|
397
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
398
|
+
|
399
|
+
end
|
400
|
+
end
|
401
|
+
|
402
|
+
|
403
|
+
sig { params(media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetMediaResponse) }
|
404
|
+
def get_media(media_id:, retries: nil, timeout_ms: nil)
|
405
|
+
# get_media - Get a media by ID
|
406
|
+
# By calling this endpoint, you can retrieve detailed information about a specific media item, including its current `status` and a `playbackId`. This is particularly useful for retrieving specific media details when managing large content libraries.
|
217
407
|
#
|
218
|
-
# #### How it works
|
219
408
|
#
|
220
409
|
#
|
410
|
+
# #### How it works
|
221
411
|
#
|
222
|
-
# 1. Make a GET request to the **/on-demand/`<mediaId>`** endpoint, replacing `<mediaId>` with the **uploadId** received during the upload process or the id obtained when creating media from a URL.
|
223
412
|
#
|
224
413
|
#
|
225
|
-
#
|
414
|
+
# 1. Make a GET request to this endpoint, using the `<mediaId>` received after uploading the media file.
|
226
415
|
#
|
227
|
-
# * **status:** Indicates whether the media is still "preparing" or has transitioned to "ready."
|
228
416
|
#
|
229
|
-
#
|
417
|
+
# 2. Receive a response that includes details about the media:
|
230
418
|
#
|
419
|
+
# * `status` Indicates whether the media is still `preparing` or has transitioned to `ready`.
|
231
420
|
#
|
421
|
+
# * The `playbackId` is a unique identifier that allows you to stream the media once it is `ready`. You can construct the stream URL in this format: `https://stream.fastpix.io/<playbackId>.m3u8`
|
232
422
|
#
|
233
|
-
# **Please note:** Polling this API will let you know the status that whether the upload media has been moved to ready status, so that you can get started with streaming your media.
|
234
423
|
#
|
235
|
-
# ####
|
424
|
+
# #### Example
|
236
425
|
#
|
237
|
-
#
|
426
|
+
# Suppose your platform provides users with an interface where they can manage their uploaded content. A user requests detailed information about a specific video to see if it has been fully processed and is available for playback. Using the media ID, you can fetch the information from FastPix and display it in the user's dashboard.
|
238
427
|
#
|
239
428
|
request = Models::Operations::GetMediaRequest.new(
|
240
|
-
|
241
429
|
media_id: media_id
|
242
430
|
)
|
243
431
|
url, params = @sdk_configuration.get_server_details
|
@@ -249,20 +437,36 @@ module FastpixApiSDK
|
|
249
437
|
request
|
250
438
|
)
|
251
439
|
headers = {}
|
440
|
+
headers = T.cast(headers, T::Hash[String, String])
|
252
441
|
headers['Accept'] = 'application/json'
|
253
442
|
headers['user-agent'] = @sdk_configuration.user_agent
|
443
|
+
retries ||= @sdk_configuration.retry_config
|
444
|
+
retries ||= Utils::RetryConfig.new(
|
445
|
+
backoff: Utils::BackoffStrategy.new(
|
446
|
+
exponent: 1.5,
|
447
|
+
initial_interval: 1000,
|
448
|
+
max_elapsed_time: 3_600_000,
|
449
|
+
max_interval: 10_000
|
450
|
+
),
|
451
|
+
retry_connection_errors: true,
|
452
|
+
strategy: 'backoff'
|
453
|
+
)
|
454
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
455
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
254
456
|
|
255
|
-
security =
|
457
|
+
security = @sdk_configuration.security_source&.call
|
256
458
|
|
257
459
|
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
258
460
|
timeout ||= @sdk_configuration.timeout
|
461
|
+
|
259
462
|
|
260
|
-
connection = @sdk_configuration.client
|
463
|
+
connection = @sdk_configuration.client.dup
|
464
|
+
connection.request :retry, retry_options
|
261
465
|
|
262
466
|
hook_ctx = SDKHooks::HookContext.new(
|
263
467
|
config: @sdk_configuration,
|
264
468
|
base_url: base_url,
|
265
|
-
oauth2_scopes:
|
469
|
+
oauth2_scopes: nil,
|
266
470
|
operation_id: 'get-media',
|
267
471
|
security_source: @sdk_configuration.security_source
|
268
472
|
)
|
@@ -272,7 +476,7 @@ module FastpixApiSDK
|
|
272
476
|
|
273
477
|
|
274
478
|
begin
|
275
|
-
http_response = connection.get(url) do |req|
|
479
|
+
http_response = T.must(connection).get(url) do |req|
|
276
480
|
req.headers.merge!(headers)
|
277
481
|
req.options.timeout = timeout unless timeout.nil?
|
278
482
|
Utils.configure_request_security(req, security)
|
@@ -325,7 +529,7 @@ module FastpixApiSDK
|
|
325
529
|
status_code: http_response.status,
|
326
530
|
content_type: content_type,
|
327
531
|
raw_response: http_response,
|
328
|
-
object: obj
|
532
|
+
object: T.unsafe(obj)
|
329
533
|
)
|
330
534
|
|
331
535
|
return response
|
@@ -342,7 +546,8 @@ module FastpixApiSDK
|
|
342
546
|
)
|
343
547
|
response_data = http_response.env.response_body
|
344
548
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
345
|
-
|
549
|
+
obj.raw_response = http_response
|
550
|
+
raise obj
|
346
551
|
else
|
347
552
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
348
553
|
end
|
@@ -356,7 +561,8 @@ module FastpixApiSDK
|
|
356
561
|
)
|
357
562
|
response_data = http_response.env.response_body
|
358
563
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
359
|
-
|
564
|
+
obj.raw_response = http_response
|
565
|
+
raise obj
|
360
566
|
else
|
361
567
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
362
568
|
end
|
@@ -370,7 +576,8 @@ module FastpixApiSDK
|
|
370
576
|
)
|
371
577
|
response_data = http_response.env.response_body
|
372
578
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
373
|
-
|
579
|
+
obj.raw_response = http_response
|
580
|
+
raise obj
|
374
581
|
else
|
375
582
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
376
583
|
end
|
@@ -384,7 +591,8 @@ module FastpixApiSDK
|
|
384
591
|
)
|
385
592
|
response_data = http_response.env.response_body
|
386
593
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
387
|
-
|
594
|
+
obj.raw_response = http_response
|
595
|
+
raise obj
|
388
596
|
else
|
389
597
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
390
598
|
end
|
@@ -399,27 +607,26 @@ module FastpixApiSDK
|
|
399
607
|
end
|
400
608
|
|
401
609
|
|
402
|
-
sig { params(media_id: ::String,
|
403
|
-
def updated_media(media_id:,
|
610
|
+
sig { params(request_body: Models::Operations::UpdatedMediaRequestBody, media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdatedMediaResponse) }
|
611
|
+
def updated_media(request_body:, media_id:, retries: nil, timeout_ms: nil)
|
404
612
|
# updated_media - Update a media by ID
|
405
|
-
# This endpoint allows you to update specific parameters of an existing media file. You can modify the key-value pairs of the metadata that were provided in the payload during the creation of media from a URL or when uploading the media
|
613
|
+
# This endpoint allows you to update specific parameters of an existing media file. You can modify the key-value pairs of the metadata that were provided in the payload during the creation of media from a URL or when uploading the media directly from device.
|
406
614
|
#
|
407
615
|
#
|
408
616
|
# #### How it works
|
409
617
|
#
|
410
|
-
# 1. Make a PATCH request to
|
618
|
+
# 1. Make a PATCH request to this endpoint, replacing `<mediaId>` with the unique ID (`uploadId` or `id`) of the media received after uploading to FastPix.
|
411
619
|
#
|
412
620
|
# 2. Include the updated parameters in the request body.
|
413
621
|
#
|
414
622
|
# 3. Receive a response containing the updated media data, confirming the changes made.
|
415
623
|
#
|
416
|
-
# Once you have made the update request, you can also look for the webhook event
|
624
|
+
# Once you have made the update request, you can also look for the webhook event <a href="https://docs.fastpix.io/docs/media-events#videomediaupdated">video.media.updated</a> to notify your system about update status.
|
417
625
|
#
|
418
|
-
#
|
419
|
-
#
|
626
|
+
# #### Example
|
627
|
+
# Imagine a scenario where a user uploads a video and later realizes they need to change the title, add a new description or tags. You can use this endpoint to update the media metadata without having to re-upload the entire video.
|
420
628
|
#
|
421
629
|
request = Models::Operations::UpdatedMediaRequest.new(
|
422
|
-
|
423
630
|
media_id: media_id,
|
424
631
|
request_body: request_body
|
425
632
|
)
|
@@ -432,30 +639,47 @@ module FastpixApiSDK
|
|
432
639
|
request
|
433
640
|
)
|
434
641
|
headers = {}
|
642
|
+
headers = T.cast(headers, T::Hash[String, String])
|
435
643
|
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
|
436
644
|
headers['content-type'] = req_content_type
|
645
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
437
646
|
|
438
647
|
if form
|
439
648
|
body = Utils.encode_form(form)
|
440
649
|
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
441
|
-
body = URI.encode_www_form(data)
|
650
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
442
651
|
else
|
443
652
|
body = data
|
444
653
|
end
|
445
654
|
headers['Accept'] = 'application/json'
|
446
655
|
headers['user-agent'] = @sdk_configuration.user_agent
|
656
|
+
retries ||= @sdk_configuration.retry_config
|
657
|
+
retries ||= Utils::RetryConfig.new(
|
658
|
+
backoff: Utils::BackoffStrategy.new(
|
659
|
+
exponent: 1.5,
|
660
|
+
initial_interval: 1000,
|
661
|
+
max_elapsed_time: 3_600_000,
|
662
|
+
max_interval: 10_000
|
663
|
+
),
|
664
|
+
retry_connection_errors: true,
|
665
|
+
strategy: 'backoff'
|
666
|
+
)
|
667
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
668
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
447
669
|
|
448
|
-
security =
|
670
|
+
security = @sdk_configuration.security_source&.call
|
449
671
|
|
450
672
|
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
451
673
|
timeout ||= @sdk_configuration.timeout
|
674
|
+
|
452
675
|
|
453
|
-
connection = @sdk_configuration.client
|
676
|
+
connection = @sdk_configuration.client.dup
|
677
|
+
connection.request :retry, retry_options
|
454
678
|
|
455
679
|
hook_ctx = SDKHooks::HookContext.new(
|
456
680
|
config: @sdk_configuration,
|
457
681
|
base_url: base_url,
|
458
|
-
oauth2_scopes:
|
682
|
+
oauth2_scopes: nil,
|
459
683
|
operation_id: 'updated-media',
|
460
684
|
security_source: @sdk_configuration.security_source
|
461
685
|
)
|
@@ -465,7 +689,7 @@ module FastpixApiSDK
|
|
465
689
|
|
466
690
|
|
467
691
|
begin
|
468
|
-
http_response = connection.patch(url) do |req|
|
692
|
+
http_response = T.must(connection).patch(url) do |req|
|
469
693
|
req.body = body
|
470
694
|
req.headers.merge!(headers)
|
471
695
|
req.options.timeout = timeout unless timeout.nil?
|
@@ -519,7 +743,7 @@ module FastpixApiSDK
|
|
519
743
|
status_code: http_response.status,
|
520
744
|
content_type: content_type,
|
521
745
|
raw_response: http_response,
|
522
|
-
object: obj
|
746
|
+
object: T.unsafe(obj)
|
523
747
|
)
|
524
748
|
|
525
749
|
return response
|
@@ -536,7 +760,8 @@ module FastpixApiSDK
|
|
536
760
|
)
|
537
761
|
response_data = http_response.env.response_body
|
538
762
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
539
|
-
|
763
|
+
obj.raw_response = http_response
|
764
|
+
raise obj
|
540
765
|
else
|
541
766
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
542
767
|
end
|
@@ -550,7 +775,8 @@ module FastpixApiSDK
|
|
550
775
|
)
|
551
776
|
response_data = http_response.env.response_body
|
552
777
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
553
|
-
|
778
|
+
obj.raw_response = http_response
|
779
|
+
raise obj
|
554
780
|
else
|
555
781
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
556
782
|
end
|
@@ -564,7 +790,8 @@ module FastpixApiSDK
|
|
564
790
|
)
|
565
791
|
response_data = http_response.env.response_body
|
566
792
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
567
|
-
|
793
|
+
obj.raw_response = http_response
|
794
|
+
raise obj
|
568
795
|
else
|
569
796
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
570
797
|
end
|
@@ -578,7 +805,8 @@ module FastpixApiSDK
|
|
578
805
|
)
|
579
806
|
response_data = http_response.env.response_body
|
580
807
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
581
|
-
|
808
|
+
obj.raw_response = http_response
|
809
|
+
raise obj
|
582
810
|
else
|
583
811
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
584
812
|
end
|
@@ -593,25 +821,25 @@ module FastpixApiSDK
|
|
593
821
|
end
|
594
822
|
|
595
823
|
|
596
|
-
sig { params(media_id: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::DeleteMediaResponse) }
|
597
|
-
def delete_media(media_id:, timeout_ms: nil)
|
824
|
+
sig { params(media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DeleteMediaResponse) }
|
825
|
+
def delete_media(media_id:, retries: nil, timeout_ms: nil)
|
598
826
|
# delete_media - Delete a media by ID
|
599
|
-
# This endpoint allows you to permanently delete a a specific video or audio media file along with all associated data. If you wish to remove a media
|
827
|
+
# This endpoint allows you to permanently delete a a specific video or audio media file along with all associated data. If you wish to remove a media from FastPix storage, use this endpoint with the `mediaId` (either `uploadId` or `id`) received during the media's creation or upload.
|
600
828
|
#
|
601
829
|
#
|
602
830
|
# #### How it works
|
603
831
|
#
|
604
832
|
#
|
605
|
-
# 1. Make a DELETE request to
|
833
|
+
# 1. Make a DELETE request to this endpoint, replacing `<mediaId>` with the `uploadId` or the `id` of the media you want to delete.
|
606
834
|
#
|
607
|
-
# 2.
|
835
|
+
# 2. Since this action is irreversible, ensure that you no longer need the media before proceeding. Once deleted, the media cannot be retrieved or played back.
|
608
836
|
#
|
609
|
-
# 3. Webhook event to look for:
|
837
|
+
# 3. Webhook event to look for: <a href="https://docs.fastpix.io/docs/media-events#videomediadeleted">video.media.deleted</a>
|
610
838
|
#
|
611
|
-
#
|
839
|
+
# #### Example
|
840
|
+
# A user on a video-sharing platform decides to remove an old video from their profile, or suppose you're running a content moderation system, and one of the videos uploaded by a user violates your platform's policies. Using this endpoint, the media is permanently deleted from your library, ensuring it's no longer accessible or viewable by other users.
|
612
841
|
#
|
613
842
|
request = Models::Operations::DeleteMediaRequest.new(
|
614
|
-
|
615
843
|
media_id: media_id
|
616
844
|
)
|
617
845
|
url, params = @sdk_configuration.get_server_details
|
@@ -623,20 +851,36 @@ module FastpixApiSDK
|
|
623
851
|
request
|
624
852
|
)
|
625
853
|
headers = {}
|
854
|
+
headers = T.cast(headers, T::Hash[String, String])
|
626
855
|
headers['Accept'] = 'application/json'
|
627
856
|
headers['user-agent'] = @sdk_configuration.user_agent
|
857
|
+
retries ||= @sdk_configuration.retry_config
|
858
|
+
retries ||= Utils::RetryConfig.new(
|
859
|
+
backoff: Utils::BackoffStrategy.new(
|
860
|
+
exponent: 1.5,
|
861
|
+
initial_interval: 1000,
|
862
|
+
max_elapsed_time: 3_600_000,
|
863
|
+
max_interval: 10_000
|
864
|
+
),
|
865
|
+
retry_connection_errors: true,
|
866
|
+
strategy: 'backoff'
|
867
|
+
)
|
868
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
869
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
628
870
|
|
629
|
-
security =
|
871
|
+
security = @sdk_configuration.security_source&.call
|
630
872
|
|
631
873
|
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
632
874
|
timeout ||= @sdk_configuration.timeout
|
875
|
+
|
633
876
|
|
634
|
-
connection = @sdk_configuration.client
|
877
|
+
connection = @sdk_configuration.client.dup
|
878
|
+
connection.request :retry, retry_options
|
635
879
|
|
636
880
|
hook_ctx = SDKHooks::HookContext.new(
|
637
881
|
config: @sdk_configuration,
|
638
882
|
base_url: base_url,
|
639
|
-
oauth2_scopes:
|
883
|
+
oauth2_scopes: nil,
|
640
884
|
operation_id: 'delete-media',
|
641
885
|
security_source: @sdk_configuration.security_source
|
642
886
|
)
|
@@ -646,7 +890,7 @@ module FastpixApiSDK
|
|
646
890
|
|
647
891
|
|
648
892
|
begin
|
649
|
-
http_response = connection.delete(url) do |req|
|
893
|
+
http_response = T.must(connection).delete(url) do |req|
|
650
894
|
req.headers.merge!(headers)
|
651
895
|
req.options.timeout = timeout unless timeout.nil?
|
652
896
|
Utils.configure_request_security(req, security)
|
@@ -699,7 +943,7 @@ module FastpixApiSDK
|
|
699
943
|
status_code: http_response.status,
|
700
944
|
content_type: content_type,
|
701
945
|
raw_response: http_response,
|
702
|
-
object: obj
|
946
|
+
object: T.unsafe(obj)
|
703
947
|
)
|
704
948
|
|
705
949
|
return response
|
@@ -716,7 +960,8 @@ module FastpixApiSDK
|
|
716
960
|
)
|
717
961
|
response_data = http_response.env.response_body
|
718
962
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
719
|
-
|
963
|
+
obj.raw_response = http_response
|
964
|
+
raise obj
|
720
965
|
else
|
721
966
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
722
967
|
end
|
@@ -730,7 +975,8 @@ module FastpixApiSDK
|
|
730
975
|
)
|
731
976
|
response_data = http_response.env.response_body
|
732
977
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
733
|
-
|
978
|
+
obj.raw_response = http_response
|
979
|
+
raise obj
|
734
980
|
else
|
735
981
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
736
982
|
end
|
@@ -744,7 +990,8 @@ module FastpixApiSDK
|
|
744
990
|
)
|
745
991
|
response_data = http_response.env.response_body
|
746
992
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
747
|
-
|
993
|
+
obj.raw_response = http_response
|
994
|
+
raise obj
|
748
995
|
else
|
749
996
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
750
997
|
end
|
@@ -758,7 +1005,8 @@ module FastpixApiSDK
|
|
758
1005
|
)
|
759
1006
|
response_data = http_response.env.response_body
|
760
1007
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
761
|
-
|
1008
|
+
obj.raw_response = http_response
|
1009
|
+
raise obj
|
762
1010
|
else
|
763
1011
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
764
1012
|
end
|
@@ -773,56 +1021,90 @@ module FastpixApiSDK
|
|
773
1021
|
end
|
774
1022
|
|
775
1023
|
|
776
|
-
sig { params(media_id: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::
|
777
|
-
def
|
778
|
-
#
|
779
|
-
#
|
1024
|
+
sig { params(request_body: Models::Operations::AddMediaTrackRequestBody, media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::AddMediaTrackResponse) }
|
1025
|
+
def add_media_track(request_body:, media_id:, retries: nil, timeout_ms: nil)
|
1026
|
+
# add_media_track - Add audio / subtitle track
|
1027
|
+
# This endpoint allows you to add an audio or subtitle track to an existing media file using its `mediaId`. You need to provide the track `url` along with its `type` (audio or subtitle), `languageName` and `languageCode` in the request payload.
|
780
1028
|
#
|
781
1029
|
#
|
782
1030
|
# #### How it works
|
783
1031
|
#
|
1032
|
+
# 1. Send a POST request to this endpoint, replacing `{mediaId}` with the media ID (`uploadId` or `id`).
|
784
1033
|
#
|
1034
|
+
# 2. Provide the necessary details in the request body.
|
785
1035
|
#
|
786
|
-
#
|
1036
|
+
# 3. Receive a response containing a unique track ID and the details of the newly added track.
|
787
1037
|
#
|
788
|
-
# * **Input-url:** The URL of the uploaded media file.
|
789
1038
|
#
|
790
|
-
#
|
1039
|
+
# #### Webhook events
|
791
1040
|
#
|
792
|
-
#
|
1041
|
+
# 1. After successfully adding a track, your system will receive the webhook event <a href="https://docs.fastpix.io/docs/transform-media-events#videomediatrackcreated">video.media.track.created</a>.
|
793
1042
|
#
|
1043
|
+
# 2. Once the track is processed and ready, you will receive the webhook event <a href="https://docs.fastpix.io/docs/transform-media-events#videomediatrackready">video.media.track.ready</a>.
|
794
1044
|
#
|
1045
|
+
# 3. Finally, an update event <a href="https://docs.fastpix.io/docs/media-events#videomediaupdated">video.media.updated</a> will notify your system about the media's updated status.
|
795
1046
|
#
|
796
|
-
# This endpoint is particularly useful for ensuring that all necessary tracks (video and audio) have been correctly associated with the media during the upload or media creation process.
|
797
1047
|
#
|
798
|
-
|
799
|
-
|
800
|
-
|
1048
|
+
# #### Example
|
1049
|
+
# Suppose you have a video uploaded to the FastPix platform, and you want to add an Italian audio track to it. By calling this API, you can attach an external audio file (https://static.fastpix.io/music-1.mp3) to the media file. Similarly, if you need to add subtitles in different languages, you can specify type: `subtitle` with the corresponding subtitle `url`, `languageCode` and `languageName`.
|
1050
|
+
#
|
1051
|
+
# Related guides: <a href="https://docs.fastpix.io/docs/manage-subtitle-tracks">Add own subtitle tracks</a>, <a href="https://docs.fastpix.io/docs/manage-audio-tracks">Add own audio tracks</a>
|
1052
|
+
#
|
1053
|
+
request = Models::Operations::AddMediaTrackRequest.new(
|
1054
|
+
media_id: media_id,
|
1055
|
+
request_body: request_body
|
801
1056
|
)
|
802
1057
|
url, params = @sdk_configuration.get_server_details
|
803
1058
|
base_url = Utils.template_url(url, params)
|
804
1059
|
url = Utils.generate_url(
|
805
|
-
Models::Operations::
|
1060
|
+
Models::Operations::AddMediaTrackRequest,
|
806
1061
|
base_url,
|
807
|
-
'/on-demand/{mediaId}/
|
1062
|
+
'/on-demand/{mediaId}/tracks',
|
808
1063
|
request
|
809
1064
|
)
|
810
1065
|
headers = {}
|
1066
|
+
headers = T.cast(headers, T::Hash[String, String])
|
1067
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
|
1068
|
+
headers['content-type'] = req_content_type
|
1069
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
1070
|
+
|
1071
|
+
if form
|
1072
|
+
body = Utils.encode_form(form)
|
1073
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
1074
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
1075
|
+
else
|
1076
|
+
body = data
|
1077
|
+
end
|
811
1078
|
headers['Accept'] = 'application/json'
|
812
1079
|
headers['user-agent'] = @sdk_configuration.user_agent
|
1080
|
+
retries ||= @sdk_configuration.retry_config
|
1081
|
+
retries ||= Utils::RetryConfig.new(
|
1082
|
+
backoff: Utils::BackoffStrategy.new(
|
1083
|
+
exponent: 1.5,
|
1084
|
+
initial_interval: 1000,
|
1085
|
+
max_elapsed_time: 3_600_000,
|
1086
|
+
max_interval: 10_000
|
1087
|
+
),
|
1088
|
+
retry_connection_errors: true,
|
1089
|
+
strategy: 'backoff'
|
1090
|
+
)
|
1091
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
1092
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
813
1093
|
|
814
|
-
security =
|
1094
|
+
security = @sdk_configuration.security_source&.call
|
815
1095
|
|
816
1096
|
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
817
1097
|
timeout ||= @sdk_configuration.timeout
|
1098
|
+
|
818
1099
|
|
819
|
-
connection = @sdk_configuration.client
|
1100
|
+
connection = @sdk_configuration.client.dup
|
1101
|
+
connection.request :retry, retry_options
|
820
1102
|
|
821
1103
|
hook_ctx = SDKHooks::HookContext.new(
|
822
1104
|
config: @sdk_configuration,
|
823
1105
|
base_url: base_url,
|
824
|
-
oauth2_scopes:
|
825
|
-
operation_id: '
|
1106
|
+
oauth2_scopes: nil,
|
1107
|
+
operation_id: 'Add-media-track',
|
826
1108
|
security_source: @sdk_configuration.security_source
|
827
1109
|
)
|
828
1110
|
|
@@ -831,7 +1113,8 @@ module FastpixApiSDK
|
|
831
1113
|
|
832
1114
|
|
833
1115
|
begin
|
834
|
-
http_response = connection.
|
1116
|
+
http_response = T.must(connection).post(url) do |req|
|
1117
|
+
req.body = body
|
835
1118
|
req.headers.merge!(headers)
|
836
1119
|
req.options.timeout = timeout unless timeout.nil?
|
837
1120
|
Utils.configure_request_security(req, security)
|
@@ -870,7 +1153,7 @@ module FastpixApiSDK
|
|
870
1153
|
end
|
871
1154
|
|
872
1155
|
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
873
|
-
if Utils.match_status_code(http_response.status, ['
|
1156
|
+
if Utils.match_status_code(http_response.status, ['201'])
|
874
1157
|
if Utils.match_content_type(content_type, 'application/json')
|
875
1158
|
http_response = @sdk_configuration.hooks.after_success(
|
876
1159
|
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
@@ -879,18 +1162,33 @@ module FastpixApiSDK
|
|
879
1162
|
response: http_response
|
880
1163
|
)
|
881
1164
|
response_data = http_response.env.response_body
|
882
|
-
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::
|
883
|
-
response = Models::Operations::
|
1165
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::AddMediaTrackResponseBody)
|
1166
|
+
response = Models::Operations::AddMediaTrackResponse.new(
|
884
1167
|
status_code: http_response.status,
|
885
1168
|
content_type: content_type,
|
886
1169
|
raw_response: http_response,
|
887
|
-
object: obj
|
1170
|
+
object: T.unsafe(obj)
|
888
1171
|
)
|
889
1172
|
|
890
1173
|
return response
|
891
1174
|
else
|
892
1175
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
893
1176
|
end
|
1177
|
+
elsif Utils.match_status_code(http_response.status, ['400'])
|
1178
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1179
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1180
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1181
|
+
hook_ctx: hook_ctx
|
1182
|
+
),
|
1183
|
+
response: http_response
|
1184
|
+
)
|
1185
|
+
response_data = http_response.env.response_body
|
1186
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TrackDuplicateRequestError)
|
1187
|
+
obj.raw_response = http_response
|
1188
|
+
raise obj
|
1189
|
+
else
|
1190
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1191
|
+
end
|
894
1192
|
elsif Utils.match_status_code(http_response.status, ['401'])
|
895
1193
|
if Utils.match_content_type(content_type, 'application/json')
|
896
1194
|
http_response = @sdk_configuration.hooks.after_success(
|
@@ -901,7 +1199,8 @@ module FastpixApiSDK
|
|
901
1199
|
)
|
902
1200
|
response_data = http_response.env.response_body
|
903
1201
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
904
|
-
|
1202
|
+
obj.raw_response = http_response
|
1203
|
+
raise obj
|
905
1204
|
else
|
906
1205
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
907
1206
|
end
|
@@ -915,7 +1214,8 @@ module FastpixApiSDK
|
|
915
1214
|
)
|
916
1215
|
response_data = http_response.env.response_body
|
917
1216
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
918
|
-
|
1217
|
+
obj.raw_response = http_response
|
1218
|
+
raise obj
|
919
1219
|
else
|
920
1220
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
921
1221
|
end
|
@@ -929,7 +1229,1960 @@ module FastpixApiSDK
|
|
929
1229
|
)
|
930
1230
|
response_data = http_response.env.response_body
|
931
1231
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
932
|
-
|
1232
|
+
obj.raw_response = http_response
|
1233
|
+
raise obj
|
1234
|
+
else
|
1235
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1236
|
+
end
|
1237
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
1238
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1239
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1240
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1241
|
+
hook_ctx: hook_ctx
|
1242
|
+
),
|
1243
|
+
response: http_response
|
1244
|
+
)
|
1245
|
+
response_data = http_response.env.response_body
|
1246
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
1247
|
+
obj.raw_response = http_response
|
1248
|
+
raise obj
|
1249
|
+
else
|
1250
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1251
|
+
end
|
1252
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
1253
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
1254
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
1255
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
1256
|
+
else
|
1257
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
1258
|
+
|
1259
|
+
end
|
1260
|
+
end
|
1261
|
+
|
1262
|
+
|
1263
|
+
sig { params(upload_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::CancelUploadResponse) }
|
1264
|
+
def cancel_upload(upload_id:, retries: nil, timeout_ms: nil)
|
1265
|
+
# cancel_upload - Cancel ongoing upload
|
1266
|
+
# This endpoint allows you to cancel ongoing upload by its `uploadId`. Once cancelled, the upload will be marked as cancelled. Use this if a user aborts an upload or if you want to programmatically stop an in-progress upload.
|
1267
|
+
#
|
1268
|
+
# #### How it works
|
1269
|
+
#
|
1270
|
+
# 1. Make a PUT request to this endpoint, replacing `{uploadId}` with the unique upload ID received after starting the upload.
|
1271
|
+
# 2. The response will confirm the cancellation and provide the status of the upload.
|
1272
|
+
#
|
1273
|
+
# #### Webhook Events
|
1274
|
+
#
|
1275
|
+
# Once the upload is cancelled, you will receive the webhook event <a href="https://docs.fastpix.io/docs/media-events#videomediauploadcancelled-event">video.media.upload.cancelled</a>.
|
1276
|
+
#
|
1277
|
+
# #### Example
|
1278
|
+
#
|
1279
|
+
# Suppose a user starts uploading a large video file but decides to cancel before completion. By calling this API, you can immediately stop the upload and free up resources.
|
1280
|
+
#
|
1281
|
+
request = Models::Operations::CancelUploadRequest.new(
|
1282
|
+
upload_id: upload_id
|
1283
|
+
)
|
1284
|
+
url, params = @sdk_configuration.get_server_details
|
1285
|
+
base_url = Utils.template_url(url, params)
|
1286
|
+
url = Utils.generate_url(
|
1287
|
+
Models::Operations::CancelUploadRequest,
|
1288
|
+
base_url,
|
1289
|
+
'/on-demand/upload/{uploadId}/cancel',
|
1290
|
+
request
|
1291
|
+
)
|
1292
|
+
headers = {}
|
1293
|
+
headers = T.cast(headers, T::Hash[String, String])
|
1294
|
+
headers['Accept'] = 'application/json'
|
1295
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
1296
|
+
retries ||= @sdk_configuration.retry_config
|
1297
|
+
retries ||= Utils::RetryConfig.new(
|
1298
|
+
backoff: Utils::BackoffStrategy.new(
|
1299
|
+
exponent: 1.5,
|
1300
|
+
initial_interval: 1000,
|
1301
|
+
max_elapsed_time: 3_600_000,
|
1302
|
+
max_interval: 10_000
|
1303
|
+
),
|
1304
|
+
retry_connection_errors: true,
|
1305
|
+
strategy: 'backoff'
|
1306
|
+
)
|
1307
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
1308
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
1309
|
+
|
1310
|
+
security = @sdk_configuration.security_source&.call
|
1311
|
+
|
1312
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
1313
|
+
timeout ||= @sdk_configuration.timeout
|
1314
|
+
|
1315
|
+
|
1316
|
+
connection = @sdk_configuration.client.dup
|
1317
|
+
connection.request :retry, retry_options
|
1318
|
+
|
1319
|
+
hook_ctx = SDKHooks::HookContext.new(
|
1320
|
+
config: @sdk_configuration,
|
1321
|
+
base_url: base_url,
|
1322
|
+
oauth2_scopes: nil,
|
1323
|
+
operation_id: 'cancel-upload',
|
1324
|
+
security_source: @sdk_configuration.security_source
|
1325
|
+
)
|
1326
|
+
|
1327
|
+
error = T.let(nil, T.nilable(StandardError))
|
1328
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
1329
|
+
|
1330
|
+
|
1331
|
+
begin
|
1332
|
+
http_response = T.must(connection).put(url) do |req|
|
1333
|
+
req.headers.merge!(headers)
|
1334
|
+
req.options.timeout = timeout unless timeout.nil?
|
1335
|
+
Utils.configure_request_security(req, security)
|
1336
|
+
|
1337
|
+
@sdk_configuration.hooks.before_request(
|
1338
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
1339
|
+
hook_ctx: hook_ctx
|
1340
|
+
),
|
1341
|
+
request: req
|
1342
|
+
)
|
1343
|
+
end
|
1344
|
+
rescue StandardError => e
|
1345
|
+
error = e
|
1346
|
+
ensure
|
1347
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
1348
|
+
http_response = @sdk_configuration.hooks.after_error(
|
1349
|
+
error: error,
|
1350
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
1351
|
+
hook_ctx: hook_ctx
|
1352
|
+
),
|
1353
|
+
response: http_response
|
1354
|
+
)
|
1355
|
+
else
|
1356
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1357
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1358
|
+
hook_ctx: hook_ctx
|
1359
|
+
),
|
1360
|
+
response: http_response
|
1361
|
+
)
|
1362
|
+
end
|
1363
|
+
|
1364
|
+
if http_response.nil?
|
1365
|
+
raise error if !error.nil?
|
1366
|
+
raise 'no response'
|
1367
|
+
end
|
1368
|
+
end
|
1369
|
+
|
1370
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
1371
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
1372
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1373
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1374
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1375
|
+
hook_ctx: hook_ctx
|
1376
|
+
),
|
1377
|
+
response: http_response
|
1378
|
+
)
|
1379
|
+
response_data = http_response.env.response_body
|
1380
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::CancelUploadResponseBody)
|
1381
|
+
response = Models::Operations::CancelUploadResponse.new(
|
1382
|
+
status_code: http_response.status,
|
1383
|
+
content_type: content_type,
|
1384
|
+
raw_response: http_response,
|
1385
|
+
object: T.unsafe(obj)
|
1386
|
+
)
|
1387
|
+
|
1388
|
+
return response
|
1389
|
+
else
|
1390
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1391
|
+
end
|
1392
|
+
elsif Utils.match_status_code(http_response.status, ['400'])
|
1393
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1394
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1395
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1396
|
+
hook_ctx: hook_ctx
|
1397
|
+
),
|
1398
|
+
response: http_response
|
1399
|
+
)
|
1400
|
+
response_data = http_response.env.response_body
|
1401
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::BadRequestError)
|
1402
|
+
obj.raw_response = http_response
|
1403
|
+
raise obj
|
1404
|
+
else
|
1405
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1406
|
+
end
|
1407
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
1408
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1409
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1410
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1411
|
+
hook_ctx: hook_ctx
|
1412
|
+
),
|
1413
|
+
response: http_response
|
1414
|
+
)
|
1415
|
+
response_data = http_response.env.response_body
|
1416
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
1417
|
+
obj.raw_response = http_response
|
1418
|
+
raise obj
|
1419
|
+
else
|
1420
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1421
|
+
end
|
1422
|
+
elsif Utils.match_status_code(http_response.status, ['403'])
|
1423
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1424
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1425
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1426
|
+
hook_ctx: hook_ctx
|
1427
|
+
),
|
1428
|
+
response: http_response
|
1429
|
+
)
|
1430
|
+
response_data = http_response.env.response_body
|
1431
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
1432
|
+
obj.raw_response = http_response
|
1433
|
+
raise obj
|
1434
|
+
else
|
1435
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1436
|
+
end
|
1437
|
+
elsif Utils.match_status_code(http_response.status, ['404'])
|
1438
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1439
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1440
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1441
|
+
hook_ctx: hook_ctx
|
1442
|
+
),
|
1443
|
+
response: http_response
|
1444
|
+
)
|
1445
|
+
response_data = http_response.env.response_body
|
1446
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
1447
|
+
obj.raw_response = http_response
|
1448
|
+
raise obj
|
1449
|
+
else
|
1450
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1451
|
+
end
|
1452
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
1453
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1454
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1455
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1456
|
+
hook_ctx: hook_ctx
|
1457
|
+
),
|
1458
|
+
response: http_response
|
1459
|
+
)
|
1460
|
+
response_data = http_response.env.response_body
|
1461
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
1462
|
+
obj.raw_response = http_response
|
1463
|
+
raise obj
|
1464
|
+
else
|
1465
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1466
|
+
end
|
1467
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
1468
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
1469
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
1470
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
1471
|
+
else
|
1472
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
1473
|
+
|
1474
|
+
end
|
1475
|
+
end
|
1476
|
+
|
1477
|
+
|
1478
|
+
sig { params(update_track_request: Models::Components::UpdateTrackRequest, track_id: ::String, media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdateMediaTrackResponse) }
|
1479
|
+
def update_media_track(update_track_request:, track_id:, media_id:, retries: nil, timeout_ms: nil)
|
1480
|
+
# update_media_track - Update audio / subtitle track
|
1481
|
+
# This endpoint allows you to update an existing audio or subtitle track associated with a media file. When updating a track, you must provide the new track `url`, `languageName`, and `languageCode`, ensuring all three parameters are included in the request.
|
1482
|
+
#
|
1483
|
+
#
|
1484
|
+
# #### How it works
|
1485
|
+
#
|
1486
|
+
# 1. Send a PATCH request to this endpoint, replacing `{mediaId}` with the media ID, and `{trackId}` with the ID of the track you want to update.
|
1487
|
+
#
|
1488
|
+
# 2. Provide the necessary details in the request body.
|
1489
|
+
#
|
1490
|
+
# 3. Receive a response confirming the track update.
|
1491
|
+
#
|
1492
|
+
# #### Webhook Events
|
1493
|
+
#
|
1494
|
+
# After updating a track, your system will receive webhook notifications:
|
1495
|
+
#
|
1496
|
+
# 1. After successfully updating a track, your system will receive the webhook event <a href="https://docs.fastpix.io/docs/transform-media-events#videomediatrackupdated">video.media.track.updated</a>.
|
1497
|
+
#
|
1498
|
+
# 2. Once the new track is processed and ready, you will receive the webhook event <a href="https://docs.fastpix.io/docs/transform-media-events#videomediatrackready">video.media.track.ready</a>.
|
1499
|
+
#
|
1500
|
+
# 3. Once the media file is updated with the new track details, a <a href="https://docs.fastpix.io/docs/media-events#videomediaupdated">video.media.updated</a> event will be triggered.
|
1501
|
+
#
|
1502
|
+
#
|
1503
|
+
# #### Example
|
1504
|
+
# Suppose you previously added a French subtitle track to a video but now need to update it with a different file. By calling this API, you can replace the existing subtitle file (.vtt) with a new one while keeping the same track ID. This is useful when:
|
1505
|
+
#
|
1506
|
+
# - The original track file has errors and needs correction.
|
1507
|
+
# - You want to improve subtitle translations or replace an audio track with a better-quality version.
|
1508
|
+
#
|
1509
|
+
# Related guides: <a href="https://docs.fastpix.io/docs/manage-subtitle-tracks">Add own subtitle tracks</a>, <a href="https://docs.fastpix.io/docs/manage-audio-tracks">Add own audio tracks</a>
|
1510
|
+
#
|
1511
|
+
request = Models::Operations::UpdateMediaTrackRequest.new(
|
1512
|
+
track_id: track_id,
|
1513
|
+
media_id: media_id,
|
1514
|
+
update_track_request: update_track_request
|
1515
|
+
)
|
1516
|
+
url, params = @sdk_configuration.get_server_details
|
1517
|
+
base_url = Utils.template_url(url, params)
|
1518
|
+
url = Utils.generate_url(
|
1519
|
+
Models::Operations::UpdateMediaTrackRequest,
|
1520
|
+
base_url,
|
1521
|
+
'/on-demand/{mediaId}/tracks/{trackId}',
|
1522
|
+
request
|
1523
|
+
)
|
1524
|
+
headers = {}
|
1525
|
+
headers = T.cast(headers, T::Hash[String, String])
|
1526
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :update_track_request, :json)
|
1527
|
+
headers['content-type'] = req_content_type
|
1528
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
1529
|
+
|
1530
|
+
if form
|
1531
|
+
body = Utils.encode_form(form)
|
1532
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
1533
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
1534
|
+
else
|
1535
|
+
body = data
|
1536
|
+
end
|
1537
|
+
headers['Accept'] = 'application/json'
|
1538
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
1539
|
+
retries ||= @sdk_configuration.retry_config
|
1540
|
+
retries ||= Utils::RetryConfig.new(
|
1541
|
+
backoff: Utils::BackoffStrategy.new(
|
1542
|
+
exponent: 1.5,
|
1543
|
+
initial_interval: 1000,
|
1544
|
+
max_elapsed_time: 3_600_000,
|
1545
|
+
max_interval: 10_000
|
1546
|
+
),
|
1547
|
+
retry_connection_errors: true,
|
1548
|
+
strategy: 'backoff'
|
1549
|
+
)
|
1550
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
1551
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
1552
|
+
|
1553
|
+
security = @sdk_configuration.security_source&.call
|
1554
|
+
|
1555
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
1556
|
+
timeout ||= @sdk_configuration.timeout
|
1557
|
+
|
1558
|
+
|
1559
|
+
connection = @sdk_configuration.client.dup
|
1560
|
+
connection.request :retry, retry_options
|
1561
|
+
|
1562
|
+
hook_ctx = SDKHooks::HookContext.new(
|
1563
|
+
config: @sdk_configuration,
|
1564
|
+
base_url: base_url,
|
1565
|
+
oauth2_scopes: nil,
|
1566
|
+
operation_id: 'update-media-track',
|
1567
|
+
security_source: @sdk_configuration.security_source
|
1568
|
+
)
|
1569
|
+
|
1570
|
+
error = T.let(nil, T.nilable(StandardError))
|
1571
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
1572
|
+
|
1573
|
+
|
1574
|
+
begin
|
1575
|
+
http_response = T.must(connection).patch(url) do |req|
|
1576
|
+
req.body = body
|
1577
|
+
req.headers.merge!(headers)
|
1578
|
+
req.options.timeout = timeout unless timeout.nil?
|
1579
|
+
Utils.configure_request_security(req, security)
|
1580
|
+
|
1581
|
+
@sdk_configuration.hooks.before_request(
|
1582
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
1583
|
+
hook_ctx: hook_ctx
|
1584
|
+
),
|
1585
|
+
request: req
|
1586
|
+
)
|
1587
|
+
end
|
1588
|
+
rescue StandardError => e
|
1589
|
+
error = e
|
1590
|
+
ensure
|
1591
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
1592
|
+
http_response = @sdk_configuration.hooks.after_error(
|
1593
|
+
error: error,
|
1594
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
1595
|
+
hook_ctx: hook_ctx
|
1596
|
+
),
|
1597
|
+
response: http_response
|
1598
|
+
)
|
1599
|
+
else
|
1600
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1601
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1602
|
+
hook_ctx: hook_ctx
|
1603
|
+
),
|
1604
|
+
response: http_response
|
1605
|
+
)
|
1606
|
+
end
|
1607
|
+
|
1608
|
+
if http_response.nil?
|
1609
|
+
raise error if !error.nil?
|
1610
|
+
raise 'no response'
|
1611
|
+
end
|
1612
|
+
end
|
1613
|
+
|
1614
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
1615
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
1616
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1617
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1618
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1619
|
+
hook_ctx: hook_ctx
|
1620
|
+
),
|
1621
|
+
response: http_response
|
1622
|
+
)
|
1623
|
+
response_data = http_response.env.response_body
|
1624
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::UpdateMediaTrackResponseBody)
|
1625
|
+
response = Models::Operations::UpdateMediaTrackResponse.new(
|
1626
|
+
status_code: http_response.status,
|
1627
|
+
content_type: content_type,
|
1628
|
+
raw_response: http_response,
|
1629
|
+
object: T.unsafe(obj)
|
1630
|
+
)
|
1631
|
+
|
1632
|
+
return response
|
1633
|
+
else
|
1634
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1635
|
+
end
|
1636
|
+
elsif Utils.match_status_code(http_response.status, ['400'])
|
1637
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1638
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1639
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1640
|
+
hook_ctx: hook_ctx
|
1641
|
+
),
|
1642
|
+
response: http_response
|
1643
|
+
)
|
1644
|
+
response_data = http_response.env.response_body
|
1645
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TrackDuplicateRequestError)
|
1646
|
+
obj.raw_response = http_response
|
1647
|
+
raise obj
|
1648
|
+
else
|
1649
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1650
|
+
end
|
1651
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
1652
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1653
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1654
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1655
|
+
hook_ctx: hook_ctx
|
1656
|
+
),
|
1657
|
+
response: http_response
|
1658
|
+
)
|
1659
|
+
response_data = http_response.env.response_body
|
1660
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
1661
|
+
obj.raw_response = http_response
|
1662
|
+
raise obj
|
1663
|
+
else
|
1664
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1665
|
+
end
|
1666
|
+
elsif Utils.match_status_code(http_response.status, ['403'])
|
1667
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1668
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1669
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1670
|
+
hook_ctx: hook_ctx
|
1671
|
+
),
|
1672
|
+
response: http_response
|
1673
|
+
)
|
1674
|
+
response_data = http_response.env.response_body
|
1675
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
1676
|
+
obj.raw_response = http_response
|
1677
|
+
raise obj
|
1678
|
+
else
|
1679
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1680
|
+
end
|
1681
|
+
elsif Utils.match_status_code(http_response.status, ['404'])
|
1682
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1683
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1684
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1685
|
+
hook_ctx: hook_ctx
|
1686
|
+
),
|
1687
|
+
response: http_response
|
1688
|
+
)
|
1689
|
+
response_data = http_response.env.response_body
|
1690
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
1691
|
+
obj.raw_response = http_response
|
1692
|
+
raise obj
|
1693
|
+
else
|
1694
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1695
|
+
end
|
1696
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
1697
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1698
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1699
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1700
|
+
hook_ctx: hook_ctx
|
1701
|
+
),
|
1702
|
+
response: http_response
|
1703
|
+
)
|
1704
|
+
response_data = http_response.env.response_body
|
1705
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
1706
|
+
obj.raw_response = http_response
|
1707
|
+
raise obj
|
1708
|
+
else
|
1709
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1710
|
+
end
|
1711
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
1712
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
1713
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
1714
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
1715
|
+
else
|
1716
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
1717
|
+
|
1718
|
+
end
|
1719
|
+
end
|
1720
|
+
|
1721
|
+
|
1722
|
+
sig { params(media_id: ::String, track_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DeleteMediaTrackResponse) }
|
1723
|
+
def delete_media_track(media_id:, track_id:, retries: nil, timeout_ms: nil)
|
1724
|
+
# delete_media_track - Delete audio / subtitle track
|
1725
|
+
# This endpoint allows you to delete an existing audio or subtitle track from a media file. Once deleted, the track will no longer be available for playback.
|
1726
|
+
#
|
1727
|
+
#
|
1728
|
+
# #### How it works
|
1729
|
+
#
|
1730
|
+
#
|
1731
|
+
# 1. Send a DELETE request to this endpoint, replacing `{mediaId}` with the media ID, and `{trackId}` with the ID of the track you want to remove.
|
1732
|
+
#
|
1733
|
+
# 2. The track will be deleted from the media file, and you will receive a confirmation response.
|
1734
|
+
#
|
1735
|
+
# #### Webhook events
|
1736
|
+
#
|
1737
|
+
# 1. After successfully deleting a track, your system will receive the webhook event **video.media.track.deleted**.
|
1738
|
+
#
|
1739
|
+
# 2. Once the media file is updated to reflect the track removal, a <a href="https://docs.fastpix.io/docs/media-events#videomediaupdated">video.media.updated</a> event will be triggered.
|
1740
|
+
#
|
1741
|
+
#
|
1742
|
+
# #### Example
|
1743
|
+
# Suppose you uploaded an audio track in Italian for a video but later realize it's incorrect or no longer needed. By calling this API, you can remove the specific track while keeping the rest of the media file unchanged. This is useful when:
|
1744
|
+
#
|
1745
|
+
# - A track was mistakenly added and needs to be removed.
|
1746
|
+
# - The content owner requests the removal of a specific subtitle or audio track.
|
1747
|
+
# - A new version of the track will be uploaded to replace the existing one.
|
1748
|
+
#
|
1749
|
+
# Related guides: <a href="https://docs.fastpix.io/docs/manage-subtitle-tracks">Add own subtitle tracks</a>, <a href="https://docs.fastpix.io/docs/manage-audio-tracks">Add own audio tracks</a>
|
1750
|
+
#
|
1751
|
+
request = Models::Operations::DeleteMediaTrackRequest.new(
|
1752
|
+
media_id: media_id,
|
1753
|
+
track_id: track_id
|
1754
|
+
)
|
1755
|
+
url, params = @sdk_configuration.get_server_details
|
1756
|
+
base_url = Utils.template_url(url, params)
|
1757
|
+
url = Utils.generate_url(
|
1758
|
+
Models::Operations::DeleteMediaTrackRequest,
|
1759
|
+
base_url,
|
1760
|
+
'/on-demand/{mediaId}/tracks/{trackId}',
|
1761
|
+
request
|
1762
|
+
)
|
1763
|
+
headers = {}
|
1764
|
+
headers = T.cast(headers, T::Hash[String, String])
|
1765
|
+
headers['Accept'] = 'application/json'
|
1766
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
1767
|
+
retries ||= @sdk_configuration.retry_config
|
1768
|
+
retries ||= Utils::RetryConfig.new(
|
1769
|
+
backoff: Utils::BackoffStrategy.new(
|
1770
|
+
exponent: 1.5,
|
1771
|
+
initial_interval: 1000,
|
1772
|
+
max_elapsed_time: 3_600_000,
|
1773
|
+
max_interval: 10_000
|
1774
|
+
),
|
1775
|
+
retry_connection_errors: true,
|
1776
|
+
strategy: 'backoff'
|
1777
|
+
)
|
1778
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
1779
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
1780
|
+
|
1781
|
+
security = @sdk_configuration.security_source&.call
|
1782
|
+
|
1783
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
1784
|
+
timeout ||= @sdk_configuration.timeout
|
1785
|
+
|
1786
|
+
|
1787
|
+
connection = @sdk_configuration.client.dup
|
1788
|
+
connection.request :retry, retry_options
|
1789
|
+
|
1790
|
+
hook_ctx = SDKHooks::HookContext.new(
|
1791
|
+
config: @sdk_configuration,
|
1792
|
+
base_url: base_url,
|
1793
|
+
oauth2_scopes: nil,
|
1794
|
+
operation_id: 'delete-media-track',
|
1795
|
+
security_source: @sdk_configuration.security_source
|
1796
|
+
)
|
1797
|
+
|
1798
|
+
error = T.let(nil, T.nilable(StandardError))
|
1799
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
1800
|
+
|
1801
|
+
|
1802
|
+
begin
|
1803
|
+
http_response = T.must(connection).delete(url) do |req|
|
1804
|
+
req.headers.merge!(headers)
|
1805
|
+
req.options.timeout = timeout unless timeout.nil?
|
1806
|
+
Utils.configure_request_security(req, security)
|
1807
|
+
|
1808
|
+
@sdk_configuration.hooks.before_request(
|
1809
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
1810
|
+
hook_ctx: hook_ctx
|
1811
|
+
),
|
1812
|
+
request: req
|
1813
|
+
)
|
1814
|
+
end
|
1815
|
+
rescue StandardError => e
|
1816
|
+
error = e
|
1817
|
+
ensure
|
1818
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
1819
|
+
http_response = @sdk_configuration.hooks.after_error(
|
1820
|
+
error: error,
|
1821
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
1822
|
+
hook_ctx: hook_ctx
|
1823
|
+
),
|
1824
|
+
response: http_response
|
1825
|
+
)
|
1826
|
+
else
|
1827
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1828
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1829
|
+
hook_ctx: hook_ctx
|
1830
|
+
),
|
1831
|
+
response: http_response
|
1832
|
+
)
|
1833
|
+
end
|
1834
|
+
|
1835
|
+
if http_response.nil?
|
1836
|
+
raise error if !error.nil?
|
1837
|
+
raise 'no response'
|
1838
|
+
end
|
1839
|
+
end
|
1840
|
+
|
1841
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
1842
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
1843
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1844
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1845
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1846
|
+
hook_ctx: hook_ctx
|
1847
|
+
),
|
1848
|
+
response: http_response
|
1849
|
+
)
|
1850
|
+
response_data = http_response.env.response_body
|
1851
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::DeleteMediaTrackResponseBody)
|
1852
|
+
response = Models::Operations::DeleteMediaTrackResponse.new(
|
1853
|
+
status_code: http_response.status,
|
1854
|
+
content_type: content_type,
|
1855
|
+
raw_response: http_response,
|
1856
|
+
object: T.unsafe(obj)
|
1857
|
+
)
|
1858
|
+
|
1859
|
+
return response
|
1860
|
+
else
|
1861
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1862
|
+
end
|
1863
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
1864
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1865
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1866
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1867
|
+
hook_ctx: hook_ctx
|
1868
|
+
),
|
1869
|
+
response: http_response
|
1870
|
+
)
|
1871
|
+
response_data = http_response.env.response_body
|
1872
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
1873
|
+
obj.raw_response = http_response
|
1874
|
+
raise obj
|
1875
|
+
else
|
1876
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1877
|
+
end
|
1878
|
+
elsif Utils.match_status_code(http_response.status, ['403'])
|
1879
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1880
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1881
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1882
|
+
hook_ctx: hook_ctx
|
1883
|
+
),
|
1884
|
+
response: http_response
|
1885
|
+
)
|
1886
|
+
response_data = http_response.env.response_body
|
1887
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
1888
|
+
obj.raw_response = http_response
|
1889
|
+
raise obj
|
1890
|
+
else
|
1891
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1892
|
+
end
|
1893
|
+
elsif Utils.match_status_code(http_response.status, ['404'])
|
1894
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1895
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1896
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1897
|
+
hook_ctx: hook_ctx
|
1898
|
+
),
|
1899
|
+
response: http_response
|
1900
|
+
)
|
1901
|
+
response_data = http_response.env.response_body
|
1902
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
1903
|
+
obj.raw_response = http_response
|
1904
|
+
raise obj
|
1905
|
+
else
|
1906
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1907
|
+
end
|
1908
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
1909
|
+
if Utils.match_content_type(content_type, 'application/json')
|
1910
|
+
http_response = @sdk_configuration.hooks.after_success(
|
1911
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
1912
|
+
hook_ctx: hook_ctx
|
1913
|
+
),
|
1914
|
+
response: http_response
|
1915
|
+
)
|
1916
|
+
response_data = http_response.env.response_body
|
1917
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
1918
|
+
obj.raw_response = http_response
|
1919
|
+
raise obj
|
1920
|
+
else
|
1921
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
1922
|
+
end
|
1923
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
1924
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
1925
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
1926
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
1927
|
+
else
|
1928
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
1929
|
+
|
1930
|
+
end
|
1931
|
+
end
|
1932
|
+
|
1933
|
+
|
1934
|
+
sig { params(track_subtitles_generate_request: Models::Components::TrackSubtitlesGenerateRequest, media_id: ::String, track_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GenerateSubtitleTrackResponse) }
|
1935
|
+
def generate_subtitle_track(track_subtitles_generate_request:, media_id:, track_id:, retries: nil, timeout_ms: nil)
|
1936
|
+
# generate_subtitle_track - Generate track subtitle
|
1937
|
+
# This endpoint allows you to generate subtitles for an existing audio track in a media file. By calling this API, you can generate subtitles automatically using speech recognition
|
1938
|
+
#
|
1939
|
+
# #### How it works
|
1940
|
+
#
|
1941
|
+
# 1. Send a `POST` request to this endpoint, replacing `{mediaId}` with the media ID and `{trackId}` with the track ID.
|
1942
|
+
#
|
1943
|
+
# 2. Provide the necessary details in the request body, including the languageName and languageCode.
|
1944
|
+
#
|
1945
|
+
# 3. Receive a response containing a unique subtitle track ID and its details.
|
1946
|
+
#
|
1947
|
+
# #### Webhook Events
|
1948
|
+
#
|
1949
|
+
# 1. Once the subtitle track is generated and ready, you will receive the webhook event <a href="https://docs.fastpix.io/docs/transform-media-events#videomediasubtitlegeneratedready">video.media.subtitle.generated.ready</a>.
|
1950
|
+
#
|
1951
|
+
# 2. Finally, an update event <a href="https://docs.fastpix.io/docs/media-events#videomediaupdated">video.media.updated</a> will notify your system about the media's updated status.
|
1952
|
+
#
|
1953
|
+
# </br> Related guide: <a href="https://docs.fastpix.io/docs/add-auto-generated-subtitles-to-videos">Add auto-generated subtitles</a>
|
1954
|
+
#
|
1955
|
+
request = Models::Operations::GenerateSubtitleTrackRequest.new(
|
1956
|
+
media_id: media_id,
|
1957
|
+
track_id: track_id,
|
1958
|
+
track_subtitles_generate_request: track_subtitles_generate_request
|
1959
|
+
)
|
1960
|
+
url, params = @sdk_configuration.get_server_details
|
1961
|
+
base_url = Utils.template_url(url, params)
|
1962
|
+
url = Utils.generate_url(
|
1963
|
+
Models::Operations::GenerateSubtitleTrackRequest,
|
1964
|
+
base_url,
|
1965
|
+
'/on-demand/{mediaId}/tracks/{trackId}/generate-subtitles',
|
1966
|
+
request
|
1967
|
+
)
|
1968
|
+
headers = {}
|
1969
|
+
headers = T.cast(headers, T::Hash[String, String])
|
1970
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :track_subtitles_generate_request, :json)
|
1971
|
+
headers['content-type'] = req_content_type
|
1972
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
1973
|
+
|
1974
|
+
if form
|
1975
|
+
body = Utils.encode_form(form)
|
1976
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
1977
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
1978
|
+
else
|
1979
|
+
body = data
|
1980
|
+
end
|
1981
|
+
headers['Accept'] = 'application/json'
|
1982
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
1983
|
+
retries ||= @sdk_configuration.retry_config
|
1984
|
+
retries ||= Utils::RetryConfig.new(
|
1985
|
+
backoff: Utils::BackoffStrategy.new(
|
1986
|
+
exponent: 1.5,
|
1987
|
+
initial_interval: 1000,
|
1988
|
+
max_elapsed_time: 3_600_000,
|
1989
|
+
max_interval: 10_000
|
1990
|
+
),
|
1991
|
+
retry_connection_errors: true,
|
1992
|
+
strategy: 'backoff'
|
1993
|
+
)
|
1994
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
1995
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
1996
|
+
|
1997
|
+
security = @sdk_configuration.security_source&.call
|
1998
|
+
|
1999
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
2000
|
+
timeout ||= @sdk_configuration.timeout
|
2001
|
+
|
2002
|
+
|
2003
|
+
connection = @sdk_configuration.client.dup
|
2004
|
+
connection.request :retry, retry_options
|
2005
|
+
|
2006
|
+
hook_ctx = SDKHooks::HookContext.new(
|
2007
|
+
config: @sdk_configuration,
|
2008
|
+
base_url: base_url,
|
2009
|
+
oauth2_scopes: nil,
|
2010
|
+
operation_id: 'Generate-subtitle-track',
|
2011
|
+
security_source: @sdk_configuration.security_source
|
2012
|
+
)
|
2013
|
+
|
2014
|
+
error = T.let(nil, T.nilable(StandardError))
|
2015
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
2016
|
+
|
2017
|
+
|
2018
|
+
begin
|
2019
|
+
http_response = T.must(connection).post(url) do |req|
|
2020
|
+
req.body = body
|
2021
|
+
req.headers.merge!(headers)
|
2022
|
+
req.options.timeout = timeout unless timeout.nil?
|
2023
|
+
Utils.configure_request_security(req, security)
|
2024
|
+
|
2025
|
+
@sdk_configuration.hooks.before_request(
|
2026
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
2027
|
+
hook_ctx: hook_ctx
|
2028
|
+
),
|
2029
|
+
request: req
|
2030
|
+
)
|
2031
|
+
end
|
2032
|
+
rescue StandardError => e
|
2033
|
+
error = e
|
2034
|
+
ensure
|
2035
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
2036
|
+
http_response = @sdk_configuration.hooks.after_error(
|
2037
|
+
error: error,
|
2038
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
2039
|
+
hook_ctx: hook_ctx
|
2040
|
+
),
|
2041
|
+
response: http_response
|
2042
|
+
)
|
2043
|
+
else
|
2044
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2045
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2046
|
+
hook_ctx: hook_ctx
|
2047
|
+
),
|
2048
|
+
response: http_response
|
2049
|
+
)
|
2050
|
+
end
|
2051
|
+
|
2052
|
+
if http_response.nil?
|
2053
|
+
raise error if !error.nil?
|
2054
|
+
raise 'no response'
|
2055
|
+
end
|
2056
|
+
end
|
2057
|
+
|
2058
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
2059
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
2060
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2061
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2062
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2063
|
+
hook_ctx: hook_ctx
|
2064
|
+
),
|
2065
|
+
response: http_response
|
2066
|
+
)
|
2067
|
+
response_data = http_response.env.response_body
|
2068
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::GenerateSubtitleTrackResponseBody)
|
2069
|
+
response = Models::Operations::GenerateSubtitleTrackResponse.new(
|
2070
|
+
status_code: http_response.status,
|
2071
|
+
content_type: content_type,
|
2072
|
+
raw_response: http_response,
|
2073
|
+
object: T.unsafe(obj)
|
2074
|
+
)
|
2075
|
+
|
2076
|
+
return response
|
2077
|
+
else
|
2078
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2079
|
+
end
|
2080
|
+
elsif Utils.match_status_code(http_response.status, ['400'])
|
2081
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2082
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2083
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2084
|
+
hook_ctx: hook_ctx
|
2085
|
+
),
|
2086
|
+
response: http_response
|
2087
|
+
)
|
2088
|
+
response_data = http_response.env.response_body
|
2089
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TrackDuplicateRequestError)
|
2090
|
+
obj.raw_response = http_response
|
2091
|
+
raise obj
|
2092
|
+
else
|
2093
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2094
|
+
end
|
2095
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
2096
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2097
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2098
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2099
|
+
hook_ctx: hook_ctx
|
2100
|
+
),
|
2101
|
+
response: http_response
|
2102
|
+
)
|
2103
|
+
response_data = http_response.env.response_body
|
2104
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
2105
|
+
obj.raw_response = http_response
|
2106
|
+
raise obj
|
2107
|
+
else
|
2108
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2109
|
+
end
|
2110
|
+
elsif Utils.match_status_code(http_response.status, ['403'])
|
2111
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2112
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2113
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2114
|
+
hook_ctx: hook_ctx
|
2115
|
+
),
|
2116
|
+
response: http_response
|
2117
|
+
)
|
2118
|
+
response_data = http_response.env.response_body
|
2119
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
2120
|
+
obj.raw_response = http_response
|
2121
|
+
raise obj
|
2122
|
+
else
|
2123
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2124
|
+
end
|
2125
|
+
elsif Utils.match_status_code(http_response.status, ['404'])
|
2126
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2127
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2128
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2129
|
+
hook_ctx: hook_ctx
|
2130
|
+
),
|
2131
|
+
response: http_response
|
2132
|
+
)
|
2133
|
+
response_data = http_response.env.response_body
|
2134
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
2135
|
+
obj.raw_response = http_response
|
2136
|
+
raise obj
|
2137
|
+
else
|
2138
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2139
|
+
end
|
2140
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
2141
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2142
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2143
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2144
|
+
hook_ctx: hook_ctx
|
2145
|
+
),
|
2146
|
+
response: http_response
|
2147
|
+
)
|
2148
|
+
response_data = http_response.env.response_body
|
2149
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
2150
|
+
obj.raw_response = http_response
|
2151
|
+
raise obj
|
2152
|
+
else
|
2153
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2154
|
+
end
|
2155
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
2156
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
2157
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
2158
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
2159
|
+
else
|
2160
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
2161
|
+
|
2162
|
+
end
|
2163
|
+
end
|
2164
|
+
|
2165
|
+
|
2166
|
+
sig { params(request_body: Models::Operations::UpdatedSourceAccessRequestBody, media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdatedSourceAccessResponse) }
|
2167
|
+
def updated_source_access(request_body:, media_id:, retries: nil, timeout_ms: nil)
|
2168
|
+
# updated_source_access - Update the source access of a media by ID
|
2169
|
+
# This endpoint allows you to update the `sourceAccess` setting of an existing media file. The `sourceAccess` parameter determines whether the original media file is accessible or restricted. Setting this to `true` enables access to the media source, while setting it to `false` restricts access.
|
2170
|
+
#
|
2171
|
+
# #### How it works
|
2172
|
+
#
|
2173
|
+
# 1. Make a `PATCH` request to this endpoint, replacing `{mediaId}` with the ID of the media you want to update.
|
2174
|
+
#
|
2175
|
+
# 2. Include the updated `sourceAccess` parameter in the request body.
|
2176
|
+
#
|
2177
|
+
# 3. Receive a response confirming the update to the media's source access status.
|
2178
|
+
# 4. Webhook events: <a href="https://docs.fastpix.io/docs/transform-media-events#videomediasourceready">video.media.source.ready</a>, <a href="https://docs.fastpix.io/docs/transform-media-events#videomediasourcedeleted">video.media.source.deleted</a>
|
2179
|
+
#
|
2180
|
+
request = Models::Operations::UpdatedSourceAccessRequest.new(
|
2181
|
+
media_id: media_id,
|
2182
|
+
request_body: request_body
|
2183
|
+
)
|
2184
|
+
url, params = @sdk_configuration.get_server_details
|
2185
|
+
base_url = Utils.template_url(url, params)
|
2186
|
+
url = Utils.generate_url(
|
2187
|
+
Models::Operations::UpdatedSourceAccessRequest,
|
2188
|
+
base_url,
|
2189
|
+
'/on-demand/{mediaId}/source-access',
|
2190
|
+
request
|
2191
|
+
)
|
2192
|
+
headers = {}
|
2193
|
+
headers = T.cast(headers, T::Hash[String, String])
|
2194
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
|
2195
|
+
headers['content-type'] = req_content_type
|
2196
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
2197
|
+
|
2198
|
+
if form
|
2199
|
+
body = Utils.encode_form(form)
|
2200
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
2201
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
2202
|
+
else
|
2203
|
+
body = data
|
2204
|
+
end
|
2205
|
+
headers['Accept'] = 'application/json'
|
2206
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
2207
|
+
retries ||= @sdk_configuration.retry_config
|
2208
|
+
retries ||= Utils::RetryConfig.new(
|
2209
|
+
backoff: Utils::BackoffStrategy.new(
|
2210
|
+
exponent: 1.5,
|
2211
|
+
initial_interval: 1000,
|
2212
|
+
max_elapsed_time: 3_600_000,
|
2213
|
+
max_interval: 10_000
|
2214
|
+
),
|
2215
|
+
retry_connection_errors: true,
|
2216
|
+
strategy: 'backoff'
|
2217
|
+
)
|
2218
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
2219
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
2220
|
+
|
2221
|
+
security = @sdk_configuration.security_source&.call
|
2222
|
+
|
2223
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
2224
|
+
timeout ||= @sdk_configuration.timeout
|
2225
|
+
|
2226
|
+
|
2227
|
+
connection = @sdk_configuration.client.dup
|
2228
|
+
connection.request :retry, retry_options
|
2229
|
+
|
2230
|
+
hook_ctx = SDKHooks::HookContext.new(
|
2231
|
+
config: @sdk_configuration,
|
2232
|
+
base_url: base_url,
|
2233
|
+
oauth2_scopes: nil,
|
2234
|
+
operation_id: 'updated-source-access',
|
2235
|
+
security_source: @sdk_configuration.security_source
|
2236
|
+
)
|
2237
|
+
|
2238
|
+
error = T.let(nil, T.nilable(StandardError))
|
2239
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
2240
|
+
|
2241
|
+
|
2242
|
+
begin
|
2243
|
+
http_response = T.must(connection).patch(url) do |req|
|
2244
|
+
req.body = body
|
2245
|
+
req.headers.merge!(headers)
|
2246
|
+
req.options.timeout = timeout unless timeout.nil?
|
2247
|
+
Utils.configure_request_security(req, security)
|
2248
|
+
|
2249
|
+
@sdk_configuration.hooks.before_request(
|
2250
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
2251
|
+
hook_ctx: hook_ctx
|
2252
|
+
),
|
2253
|
+
request: req
|
2254
|
+
)
|
2255
|
+
end
|
2256
|
+
rescue StandardError => e
|
2257
|
+
error = e
|
2258
|
+
ensure
|
2259
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
2260
|
+
http_response = @sdk_configuration.hooks.after_error(
|
2261
|
+
error: error,
|
2262
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
2263
|
+
hook_ctx: hook_ctx
|
2264
|
+
),
|
2265
|
+
response: http_response
|
2266
|
+
)
|
2267
|
+
else
|
2268
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2269
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2270
|
+
hook_ctx: hook_ctx
|
2271
|
+
),
|
2272
|
+
response: http_response
|
2273
|
+
)
|
2274
|
+
end
|
2275
|
+
|
2276
|
+
if http_response.nil?
|
2277
|
+
raise error if !error.nil?
|
2278
|
+
raise 'no response'
|
2279
|
+
end
|
2280
|
+
end
|
2281
|
+
|
2282
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
2283
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
2284
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2285
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2286
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2287
|
+
hook_ctx: hook_ctx
|
2288
|
+
),
|
2289
|
+
response: http_response
|
2290
|
+
)
|
2291
|
+
response_data = http_response.env.response_body
|
2292
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::UpdatedSourceAccessResponseBody)
|
2293
|
+
response = Models::Operations::UpdatedSourceAccessResponse.new(
|
2294
|
+
status_code: http_response.status,
|
2295
|
+
content_type: content_type,
|
2296
|
+
raw_response: http_response,
|
2297
|
+
object: T.unsafe(obj)
|
2298
|
+
)
|
2299
|
+
|
2300
|
+
return response
|
2301
|
+
else
|
2302
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2303
|
+
end
|
2304
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
2305
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2306
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2307
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2308
|
+
hook_ctx: hook_ctx
|
2309
|
+
),
|
2310
|
+
response: http_response
|
2311
|
+
)
|
2312
|
+
response_data = http_response.env.response_body
|
2313
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
2314
|
+
obj.raw_response = http_response
|
2315
|
+
raise obj
|
2316
|
+
else
|
2317
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2318
|
+
end
|
2319
|
+
elsif Utils.match_status_code(http_response.status, ['403'])
|
2320
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2321
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2322
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2323
|
+
hook_ctx: hook_ctx
|
2324
|
+
),
|
2325
|
+
response: http_response
|
2326
|
+
)
|
2327
|
+
response_data = http_response.env.response_body
|
2328
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
2329
|
+
obj.raw_response = http_response
|
2330
|
+
raise obj
|
2331
|
+
else
|
2332
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2333
|
+
end
|
2334
|
+
elsif Utils.match_status_code(http_response.status, ['404'])
|
2335
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2336
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2337
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2338
|
+
hook_ctx: hook_ctx
|
2339
|
+
),
|
2340
|
+
response: http_response
|
2341
|
+
)
|
2342
|
+
response_data = http_response.env.response_body
|
2343
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
2344
|
+
obj.raw_response = http_response
|
2345
|
+
raise obj
|
2346
|
+
else
|
2347
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2348
|
+
end
|
2349
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
2350
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2351
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2352
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2353
|
+
hook_ctx: hook_ctx
|
2354
|
+
),
|
2355
|
+
response: http_response
|
2356
|
+
)
|
2357
|
+
response_data = http_response.env.response_body
|
2358
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
2359
|
+
obj.raw_response = http_response
|
2360
|
+
raise obj
|
2361
|
+
else
|
2362
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2363
|
+
end
|
2364
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
2365
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
2366
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
2367
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
2368
|
+
else
|
2369
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
2370
|
+
|
2371
|
+
end
|
2372
|
+
end
|
2373
|
+
|
2374
|
+
|
2375
|
+
sig { params(request_body: Models::Operations::UpdatedMp4SupportRequestBody, media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdatedMp4SupportResponse) }
|
2376
|
+
def updated_mp4_support(request_body:, media_id:, retries: nil, timeout_ms: nil)
|
2377
|
+
# updated_mp4_support - Update the mp4Support of a media by ID
|
2378
|
+
# This endpoint allows you to update the `mp4Support` setting of an existing media file using its media ID. You can specify the MP4 support level, such as `none`, `capped_4k`, `audioOnly`, or a combination of `audioOnly`, `capped_4k`, in the request payload.
|
2379
|
+
#
|
2380
|
+
# #### How it works
|
2381
|
+
#
|
2382
|
+
# 1. Send a PATCH request to this endpoint, replacing `{mediaId}` with the media ID.
|
2383
|
+
#
|
2384
|
+
# 2. Provide the desired `mp4Support` value in the request body.
|
2385
|
+
#
|
2386
|
+
# 3. Receive a response confirming the update, including the media's updated MP4 support status.
|
2387
|
+
#
|
2388
|
+
# #### MP4 Support Options
|
2389
|
+
#
|
2390
|
+
# - `none` – MP4 support is disabled for this media.
|
2391
|
+
#
|
2392
|
+
# - `capped_4k` – The media will have mp4 renditions up to 4K resolution.
|
2393
|
+
#
|
2394
|
+
# - `audioOnly` – The media will generate an m4a file containing only the audio track.
|
2395
|
+
#
|
2396
|
+
# - `audioOnly,capped_4k` – The media will have both an audio-only m4a file and mp4 renditions up to 4K resolution.
|
2397
|
+
#
|
2398
|
+
# #### Webhook events
|
2399
|
+
#
|
2400
|
+
# - <a href="https://docs.fastpix.io/docs/transform-media-events#videomediamp4supportready">video.media.mp4Support.ready</a> – Triggered when the MP4 support setting is successfully updated.
|
2401
|
+
#
|
2402
|
+
# #### Example
|
2403
|
+
# Suppose you have a video uploaded to the FastPix platform, and you want to allow users to download the video in MP4 format. By setting "mp4Support": "capped_4k", the system will generate an MP4 rendition of the video up to 4K resolution, making it available for download via the stream URL(`https://stream.fastpix.io/{playbackId}/{capped-4k.mp4 | audio.m4a}`).
|
2404
|
+
# If you want users to stream only the audio from the media file, you can set "mp4Support": "audioOnly". This will provide an audio-only stream URL that allows users to listen to the media without video.
|
2405
|
+
# By setting "mp4Support": "audioOnly,capped_4k", both options will be enabled. Users will be able to download the MP4 video and also stream just the audio version of the media.
|
2406
|
+
#
|
2407
|
+
#
|
2408
|
+
# Related guide: <a href="https://docs.fastpix.io/docs/mp4-support-for-offline-viewing">Use MP4 support for offline viewing</a>
|
2409
|
+
#
|
2410
|
+
request = Models::Operations::UpdatedMp4SupportRequest.new(
|
2411
|
+
media_id: media_id,
|
2412
|
+
request_body: request_body
|
2413
|
+
)
|
2414
|
+
url, params = @sdk_configuration.get_server_details
|
2415
|
+
base_url = Utils.template_url(url, params)
|
2416
|
+
url = Utils.generate_url(
|
2417
|
+
Models::Operations::UpdatedMp4SupportRequest,
|
2418
|
+
base_url,
|
2419
|
+
'/on-demand/{mediaId}/update-mp4Support',
|
2420
|
+
request
|
2421
|
+
)
|
2422
|
+
headers = {}
|
2423
|
+
headers = T.cast(headers, T::Hash[String, String])
|
2424
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :json)
|
2425
|
+
headers['content-type'] = req_content_type
|
2426
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
2427
|
+
|
2428
|
+
if form
|
2429
|
+
body = Utils.encode_form(form)
|
2430
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
2431
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
2432
|
+
else
|
2433
|
+
body = data
|
2434
|
+
end
|
2435
|
+
headers['Accept'] = 'application/json'
|
2436
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
2437
|
+
retries ||= @sdk_configuration.retry_config
|
2438
|
+
retries ||= Utils::RetryConfig.new(
|
2439
|
+
backoff: Utils::BackoffStrategy.new(
|
2440
|
+
exponent: 1.5,
|
2441
|
+
initial_interval: 1000,
|
2442
|
+
max_elapsed_time: 3_600_000,
|
2443
|
+
max_interval: 10_000
|
2444
|
+
),
|
2445
|
+
retry_connection_errors: true,
|
2446
|
+
strategy: 'backoff'
|
2447
|
+
)
|
2448
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
2449
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
2450
|
+
|
2451
|
+
security = @sdk_configuration.security_source&.call
|
2452
|
+
|
2453
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
2454
|
+
timeout ||= @sdk_configuration.timeout
|
2455
|
+
|
2456
|
+
|
2457
|
+
connection = @sdk_configuration.client.dup
|
2458
|
+
connection.request :retry, retry_options
|
2459
|
+
|
2460
|
+
hook_ctx = SDKHooks::HookContext.new(
|
2461
|
+
config: @sdk_configuration,
|
2462
|
+
base_url: base_url,
|
2463
|
+
oauth2_scopes: nil,
|
2464
|
+
operation_id: 'updated-mp4Support',
|
2465
|
+
security_source: @sdk_configuration.security_source
|
2466
|
+
)
|
2467
|
+
|
2468
|
+
error = T.let(nil, T.nilable(StandardError))
|
2469
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
2470
|
+
|
2471
|
+
|
2472
|
+
begin
|
2473
|
+
http_response = T.must(connection).patch(url) do |req|
|
2474
|
+
req.body = body
|
2475
|
+
req.headers.merge!(headers)
|
2476
|
+
req.options.timeout = timeout unless timeout.nil?
|
2477
|
+
Utils.configure_request_security(req, security)
|
2478
|
+
|
2479
|
+
@sdk_configuration.hooks.before_request(
|
2480
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
2481
|
+
hook_ctx: hook_ctx
|
2482
|
+
),
|
2483
|
+
request: req
|
2484
|
+
)
|
2485
|
+
end
|
2486
|
+
rescue StandardError => e
|
2487
|
+
error = e
|
2488
|
+
ensure
|
2489
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
2490
|
+
http_response = @sdk_configuration.hooks.after_error(
|
2491
|
+
error: error,
|
2492
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
2493
|
+
hook_ctx: hook_ctx
|
2494
|
+
),
|
2495
|
+
response: http_response
|
2496
|
+
)
|
2497
|
+
else
|
2498
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2499
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2500
|
+
hook_ctx: hook_ctx
|
2501
|
+
),
|
2502
|
+
response: http_response
|
2503
|
+
)
|
2504
|
+
end
|
2505
|
+
|
2506
|
+
if http_response.nil?
|
2507
|
+
raise error if !error.nil?
|
2508
|
+
raise 'no response'
|
2509
|
+
end
|
2510
|
+
end
|
2511
|
+
|
2512
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
2513
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
2514
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2515
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2516
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2517
|
+
hook_ctx: hook_ctx
|
2518
|
+
),
|
2519
|
+
response: http_response
|
2520
|
+
)
|
2521
|
+
response_data = http_response.env.response_body
|
2522
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::UpdatedMp4SupportResponseBody)
|
2523
|
+
response = Models::Operations::UpdatedMp4SupportResponse.new(
|
2524
|
+
status_code: http_response.status,
|
2525
|
+
content_type: content_type,
|
2526
|
+
raw_response: http_response,
|
2527
|
+
object: T.unsafe(obj)
|
2528
|
+
)
|
2529
|
+
|
2530
|
+
return response
|
2531
|
+
else
|
2532
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2533
|
+
end
|
2534
|
+
elsif Utils.match_status_code(http_response.status, ['400'])
|
2535
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2536
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2537
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2538
|
+
hook_ctx: hook_ctx
|
2539
|
+
),
|
2540
|
+
response: http_response
|
2541
|
+
)
|
2542
|
+
response_data = http_response.env.response_body
|
2543
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::DuplicateMp4SupportError)
|
2544
|
+
obj.raw_response = http_response
|
2545
|
+
raise obj
|
2546
|
+
else
|
2547
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2548
|
+
end
|
2549
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
2550
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2551
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2552
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2553
|
+
hook_ctx: hook_ctx
|
2554
|
+
),
|
2555
|
+
response: http_response
|
2556
|
+
)
|
2557
|
+
response_data = http_response.env.response_body
|
2558
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
2559
|
+
obj.raw_response = http_response
|
2560
|
+
raise obj
|
2561
|
+
else
|
2562
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2563
|
+
end
|
2564
|
+
elsif Utils.match_status_code(http_response.status, ['403'])
|
2565
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2566
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2567
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2568
|
+
hook_ctx: hook_ctx
|
2569
|
+
),
|
2570
|
+
response: http_response
|
2571
|
+
)
|
2572
|
+
response_data = http_response.env.response_body
|
2573
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
2574
|
+
obj.raw_response = http_response
|
2575
|
+
raise obj
|
2576
|
+
else
|
2577
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2578
|
+
end
|
2579
|
+
elsif Utils.match_status_code(http_response.status, ['404'])
|
2580
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2581
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2582
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2583
|
+
hook_ctx: hook_ctx
|
2584
|
+
),
|
2585
|
+
response: http_response
|
2586
|
+
)
|
2587
|
+
response_data = http_response.env.response_body
|
2588
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
2589
|
+
obj.raw_response = http_response
|
2590
|
+
raise obj
|
2591
|
+
else
|
2592
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2593
|
+
end
|
2594
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
2595
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2596
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2597
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2598
|
+
hook_ctx: hook_ctx
|
2599
|
+
),
|
2600
|
+
response: http_response
|
2601
|
+
)
|
2602
|
+
response_data = http_response.env.response_body
|
2603
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
2604
|
+
obj.raw_response = http_response
|
2605
|
+
raise obj
|
2606
|
+
else
|
2607
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2608
|
+
end
|
2609
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
2610
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
2611
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
2612
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
2613
|
+
else
|
2614
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
2615
|
+
|
2616
|
+
end
|
2617
|
+
end
|
2618
|
+
|
2619
|
+
|
2620
|
+
sig { params(media_id: ::String, retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::RetrieveMediaInputInfoResponse) }
|
2621
|
+
def retrieve_media_input_info(media_id:, retries: nil, timeout_ms: nil)
|
2622
|
+
# retrieve_media_input_info - Get info of media inputs
|
2623
|
+
# Allows you to retrieve detailed information about the media inputs associated with a specific media item. You can use this endpoint to verify the media file's input URL, track creation status, and container format. The `mediaId` (either `uploadId` or `id`) must be provided to fetch the information.
|
2624
|
+
#
|
2625
|
+
#
|
2626
|
+
# #### How it works
|
2627
|
+
#
|
2628
|
+
# Upon making a `GET` request with the mediaId, FastPix returns a response with:
|
2629
|
+
#
|
2630
|
+
# * The public storage input `url` of the uploaded media file.
|
2631
|
+
#
|
2632
|
+
# * Information about the `tracks` associated with the media, including both video and audio tracks, indicating whether they have been successfully created.
|
2633
|
+
#
|
2634
|
+
# * The format of the uploaded media file container (e.g., MP4, MKV).
|
2635
|
+
#
|
2636
|
+
# This endpoint is particularly useful for ensuring that all necessary tracks (video and audio) have been correctly associated with the media during the upload or media creation process.
|
2637
|
+
#
|
2638
|
+
request = Models::Operations::RetrieveMediaInputInfoRequest.new(
|
2639
|
+
media_id: media_id
|
2640
|
+
)
|
2641
|
+
url, params = @sdk_configuration.get_server_details
|
2642
|
+
base_url = Utils.template_url(url, params)
|
2643
|
+
url = Utils.generate_url(
|
2644
|
+
Models::Operations::RetrieveMediaInputInfoRequest,
|
2645
|
+
base_url,
|
2646
|
+
'/on-demand/{mediaId}/input-info',
|
2647
|
+
request
|
2648
|
+
)
|
2649
|
+
headers = {}
|
2650
|
+
headers = T.cast(headers, T::Hash[String, String])
|
2651
|
+
headers['Accept'] = 'application/json'
|
2652
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
2653
|
+
retries ||= @sdk_configuration.retry_config
|
2654
|
+
retries ||= Utils::RetryConfig.new(
|
2655
|
+
backoff: Utils::BackoffStrategy.new(
|
2656
|
+
exponent: 1.5,
|
2657
|
+
initial_interval: 1000,
|
2658
|
+
max_elapsed_time: 3_600_000,
|
2659
|
+
max_interval: 10_000
|
2660
|
+
),
|
2661
|
+
retry_connection_errors: true,
|
2662
|
+
strategy: 'backoff'
|
2663
|
+
)
|
2664
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
2665
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
2666
|
+
|
2667
|
+
security = @sdk_configuration.security_source&.call
|
2668
|
+
|
2669
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
2670
|
+
timeout ||= @sdk_configuration.timeout
|
2671
|
+
|
2672
|
+
|
2673
|
+
connection = @sdk_configuration.client.dup
|
2674
|
+
connection.request :retry, retry_options
|
2675
|
+
|
2676
|
+
hook_ctx = SDKHooks::HookContext.new(
|
2677
|
+
config: @sdk_configuration,
|
2678
|
+
base_url: base_url,
|
2679
|
+
oauth2_scopes: nil,
|
2680
|
+
operation_id: 'retrieveMediaInputInfo',
|
2681
|
+
security_source: @sdk_configuration.security_source
|
2682
|
+
)
|
2683
|
+
|
2684
|
+
error = T.let(nil, T.nilable(StandardError))
|
2685
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
2686
|
+
|
2687
|
+
|
2688
|
+
begin
|
2689
|
+
http_response = T.must(connection).get(url) do |req|
|
2690
|
+
req.headers.merge!(headers)
|
2691
|
+
req.options.timeout = timeout unless timeout.nil?
|
2692
|
+
Utils.configure_request_security(req, security)
|
2693
|
+
|
2694
|
+
@sdk_configuration.hooks.before_request(
|
2695
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
2696
|
+
hook_ctx: hook_ctx
|
2697
|
+
),
|
2698
|
+
request: req
|
2699
|
+
)
|
2700
|
+
end
|
2701
|
+
rescue StandardError => e
|
2702
|
+
error = e
|
2703
|
+
ensure
|
2704
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
2705
|
+
http_response = @sdk_configuration.hooks.after_error(
|
2706
|
+
error: error,
|
2707
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
2708
|
+
hook_ctx: hook_ctx
|
2709
|
+
),
|
2710
|
+
response: http_response
|
2711
|
+
)
|
2712
|
+
else
|
2713
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2714
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2715
|
+
hook_ctx: hook_ctx
|
2716
|
+
),
|
2717
|
+
response: http_response
|
2718
|
+
)
|
2719
|
+
end
|
2720
|
+
|
2721
|
+
if http_response.nil?
|
2722
|
+
raise error if !error.nil?
|
2723
|
+
raise 'no response'
|
2724
|
+
end
|
2725
|
+
end
|
2726
|
+
|
2727
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
2728
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
2729
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2730
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2731
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2732
|
+
hook_ctx: hook_ctx
|
2733
|
+
),
|
2734
|
+
response: http_response
|
2735
|
+
)
|
2736
|
+
response_data = http_response.env.response_body
|
2737
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::RetrieveMediaInputInfoResponseBody)
|
2738
|
+
response = Models::Operations::RetrieveMediaInputInfoResponse.new(
|
2739
|
+
status_code: http_response.status,
|
2740
|
+
content_type: content_type,
|
2741
|
+
raw_response: http_response,
|
2742
|
+
object: T.unsafe(obj)
|
2743
|
+
)
|
2744
|
+
|
2745
|
+
return response
|
2746
|
+
else
|
2747
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2748
|
+
end
|
2749
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
2750
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2751
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2752
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2753
|
+
hook_ctx: hook_ctx
|
2754
|
+
),
|
2755
|
+
response: http_response
|
2756
|
+
)
|
2757
|
+
response_data = http_response.env.response_body
|
2758
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
2759
|
+
obj.raw_response = http_response
|
2760
|
+
raise obj
|
2761
|
+
else
|
2762
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2763
|
+
end
|
2764
|
+
elsif Utils.match_status_code(http_response.status, ['403'])
|
2765
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2766
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2767
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2768
|
+
hook_ctx: hook_ctx
|
2769
|
+
),
|
2770
|
+
response: http_response
|
2771
|
+
)
|
2772
|
+
response_data = http_response.env.response_body
|
2773
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
2774
|
+
obj.raw_response = http_response
|
2775
|
+
raise obj
|
2776
|
+
else
|
2777
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2778
|
+
end
|
2779
|
+
elsif Utils.match_status_code(http_response.status, ['404'])
|
2780
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2781
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2782
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2783
|
+
hook_ctx: hook_ctx
|
2784
|
+
),
|
2785
|
+
response: http_response
|
2786
|
+
)
|
2787
|
+
response_data = http_response.env.response_body
|
2788
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaNotFoundError)
|
2789
|
+
obj.raw_response = http_response
|
2790
|
+
raise obj
|
2791
|
+
else
|
2792
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2793
|
+
end
|
2794
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
2795
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2796
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2797
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2798
|
+
hook_ctx: hook_ctx
|
2799
|
+
),
|
2800
|
+
response: http_response
|
2801
|
+
)
|
2802
|
+
response_data = http_response.env.response_body
|
2803
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
2804
|
+
obj.raw_response = http_response
|
2805
|
+
raise obj
|
2806
|
+
else
|
2807
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2808
|
+
end
|
2809
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
2810
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
2811
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
2812
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
2813
|
+
else
|
2814
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
2815
|
+
|
2816
|
+
end
|
2817
|
+
end
|
2818
|
+
|
2819
|
+
|
2820
|
+
sig { params(limit: T.nilable(::Integer), offset: T.nilable(::Integer), order_by: T.nilable(Models::Components::SortOrder), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListUploadsResponse) }
|
2821
|
+
def list_uploads(limit: nil, offset: nil, order_by: nil, retries: nil, timeout_ms: nil)
|
2822
|
+
# list_uploads - Get all unused upload URLs
|
2823
|
+
# This endpoint retrieves a paginated list of all unused upload signed URLs within your organization. It provides comprehensive metadata including upload IDs, creation dates, status, and URLs, helping you manage your media resources efficiently.
|
2824
|
+
#
|
2825
|
+
# An unused upload URL is a signed URL that gets generated when an user initiates upload but never completed the upload process. This can happen due to reasons like network issues, manual cancellation of upload, browser/app crashes or session timeouts.These URLs remain in the system as "unused" since they were created but never resulted in a successful media file upload.
|
2826
|
+
#
|
2827
|
+
# #### How it works
|
2828
|
+
#
|
2829
|
+
# - The endpoint returns metadata for all unused upload URLs in your organization's library.
|
2830
|
+
# - Results are paginated to manage large datasets effectively.
|
2831
|
+
# - Signed URLs expire after 24 hours from creation.
|
2832
|
+
# - Each entry includes full metadata about the unused upload.
|
2833
|
+
#
|
2834
|
+
#
|
2835
|
+
#
|
2836
|
+
# #### Example
|
2837
|
+
#
|
2838
|
+
# A video management team for a media organization regularly uploads content to their system but often forgets to delete or utilize unused uploads. These unused uploads, which have signed URLs that expire after 24 hours, need to be managed efficiently. By using this API, they can retrieve metadata for all unused uploads, identify expired signed URLs, and decide whether to regenerate URLs, reuse the uploads, or delete them.
|
2839
|
+
#
|
2840
|
+
request = Models::Operations::ListUploadsRequest.new(
|
2841
|
+
limit: limit,
|
2842
|
+
offset: offset,
|
2843
|
+
order_by: order_by
|
2844
|
+
)
|
2845
|
+
url, params = @sdk_configuration.get_server_details
|
2846
|
+
base_url = Utils.template_url(url, params)
|
2847
|
+
url = "#{base_url}/on-demand/uploads"
|
2848
|
+
headers = {}
|
2849
|
+
headers = T.cast(headers, T::Hash[String, String])
|
2850
|
+
query_params = Utils.get_query_params(Models::Operations::ListUploadsRequest, request, nil)
|
2851
|
+
headers['Accept'] = 'application/json'
|
2852
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
2853
|
+
retries ||= @sdk_configuration.retry_config
|
2854
|
+
retries ||= Utils::RetryConfig.new(
|
2855
|
+
backoff: Utils::BackoffStrategy.new(
|
2856
|
+
exponent: 1.5,
|
2857
|
+
initial_interval: 1000,
|
2858
|
+
max_elapsed_time: 3_600_000,
|
2859
|
+
max_interval: 10_000
|
2860
|
+
),
|
2861
|
+
retry_connection_errors: true,
|
2862
|
+
strategy: 'backoff'
|
2863
|
+
)
|
2864
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
2865
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
2866
|
+
|
2867
|
+
security = @sdk_configuration.security_source&.call
|
2868
|
+
|
2869
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
2870
|
+
timeout ||= @sdk_configuration.timeout
|
2871
|
+
|
2872
|
+
|
2873
|
+
connection = @sdk_configuration.client.dup
|
2874
|
+
connection.request :retry, retry_options
|
2875
|
+
|
2876
|
+
hook_ctx = SDKHooks::HookContext.new(
|
2877
|
+
config: @sdk_configuration,
|
2878
|
+
base_url: base_url,
|
2879
|
+
oauth2_scopes: nil,
|
2880
|
+
operation_id: 'list-uploads',
|
2881
|
+
security_source: @sdk_configuration.security_source
|
2882
|
+
)
|
2883
|
+
|
2884
|
+
error = T.let(nil, T.nilable(StandardError))
|
2885
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
2886
|
+
|
2887
|
+
|
2888
|
+
begin
|
2889
|
+
http_response = T.must(connection).get(url) do |req|
|
2890
|
+
req.headers.merge!(headers)
|
2891
|
+
req.options.timeout = timeout unless timeout.nil?
|
2892
|
+
req.params = query_params
|
2893
|
+
Utils.configure_request_security(req, security)
|
2894
|
+
|
2895
|
+
@sdk_configuration.hooks.before_request(
|
2896
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
2897
|
+
hook_ctx: hook_ctx
|
2898
|
+
),
|
2899
|
+
request: req
|
2900
|
+
)
|
2901
|
+
end
|
2902
|
+
rescue StandardError => e
|
2903
|
+
error = e
|
2904
|
+
ensure
|
2905
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
2906
|
+
http_response = @sdk_configuration.hooks.after_error(
|
2907
|
+
error: error,
|
2908
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
2909
|
+
hook_ctx: hook_ctx
|
2910
|
+
),
|
2911
|
+
response: http_response
|
2912
|
+
)
|
2913
|
+
else
|
2914
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2915
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2916
|
+
hook_ctx: hook_ctx
|
2917
|
+
),
|
2918
|
+
response: http_response
|
2919
|
+
)
|
2920
|
+
end
|
2921
|
+
|
2922
|
+
if http_response.nil?
|
2923
|
+
raise error if !error.nil?
|
2924
|
+
raise 'no response'
|
2925
|
+
end
|
2926
|
+
end
|
2927
|
+
|
2928
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
2929
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
2930
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2931
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2932
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2933
|
+
hook_ctx: hook_ctx
|
2934
|
+
),
|
2935
|
+
response: http_response
|
2936
|
+
)
|
2937
|
+
response_data = http_response.env.response_body
|
2938
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Operations::ListUploadsResponseBody)
|
2939
|
+
response = Models::Operations::ListUploadsResponse.new(
|
2940
|
+
status_code: http_response.status,
|
2941
|
+
content_type: content_type,
|
2942
|
+
raw_response: http_response,
|
2943
|
+
object: T.unsafe(obj)
|
2944
|
+
)
|
2945
|
+
|
2946
|
+
return response
|
2947
|
+
else
|
2948
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2949
|
+
end
|
2950
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
2951
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2952
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2953
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2954
|
+
hook_ctx: hook_ctx
|
2955
|
+
),
|
2956
|
+
response: http_response
|
2957
|
+
)
|
2958
|
+
response_data = http_response.env.response_body
|
2959
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
2960
|
+
obj.raw_response = http_response
|
2961
|
+
raise obj
|
2962
|
+
else
|
2963
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2964
|
+
end
|
2965
|
+
elsif Utils.match_status_code(http_response.status, ['403'])
|
2966
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2967
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2968
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2969
|
+
hook_ctx: hook_ctx
|
2970
|
+
),
|
2971
|
+
response: http_response
|
2972
|
+
)
|
2973
|
+
response_data = http_response.env.response_body
|
2974
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
2975
|
+
obj.raw_response = http_response
|
2976
|
+
raise obj
|
2977
|
+
else
|
2978
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2979
|
+
end
|
2980
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
2981
|
+
if Utils.match_content_type(content_type, 'application/json')
|
2982
|
+
http_response = @sdk_configuration.hooks.after_success(
|
2983
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
2984
|
+
hook_ctx: hook_ctx
|
2985
|
+
),
|
2986
|
+
response: http_response
|
2987
|
+
)
|
2988
|
+
response_data = http_response.env.response_body
|
2989
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
2990
|
+
obj.raw_response = http_response
|
2991
|
+
raise obj
|
2992
|
+
else
|
2993
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
2994
|
+
end
|
2995
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
2996
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
2997
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
2998
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
2999
|
+
else
|
3000
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
|
3001
|
+
|
3002
|
+
end
|
3003
|
+
end
|
3004
|
+
|
3005
|
+
|
3006
|
+
sig { params(source_media_id: ::String, offset: T.nilable(::Integer), limit: T.nilable(::Integer), order_by: T.nilable(Models::Components::SortOrder), retries: T.nilable(Utils::RetryConfig), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetMediaClipsResponse) }
|
3007
|
+
def get_media_clips(source_media_id:, offset: nil, limit: nil, order_by: nil, retries: nil, timeout_ms: nil)
|
3008
|
+
# get_media_clips - Get all clips of a media
|
3009
|
+
# This endpoint retrieves a list of all media clips associated with a given source media ID. It helps in organizing and managing media's efficiently by providing metadata, including clip media IDs and other relevant details.
|
3010
|
+
#
|
3011
|
+
# A media clip is a segmented portion of an original media file (source media). Clips are often created for various purposes such as previews, highlights, or customized edits. This API allows you to fetch all such clips linked to a specific source media, making it easier to track and manage clips.
|
3012
|
+
#
|
3013
|
+
#
|
3014
|
+
# #### How it works
|
3015
|
+
#
|
3016
|
+
# - The endpoint returns metadata for all media clips associated with the given `sourceMediaId`.
|
3017
|
+
# - Results are paginated to efficiently handle large datasets.
|
3018
|
+
# - Each entry includes detailed metadata such as media `id`, `duration`, and `status`.
|
3019
|
+
# - Helps in organizing clips effectively by providing structured information.
|
3020
|
+
#
|
3021
|
+
#
|
3022
|
+
# #### Example
|
3023
|
+
#
|
3024
|
+
# Imagine you're managing a video editing platform where users upload full-length videos and create short clips for social media sharing. To keep track of all clips linked to a particular video, you call this API with the sourceMediaId. The response provides a list of all associated clips, allowing you to manage, edit, or repurpose them as needed.
|
3025
|
+
#
|
3026
|
+
# Related guide: <a href="https://docs.fastpix.io/docs/create-clips-from-existing-media">Create clips from existing media</a>
|
3027
|
+
#
|
3028
|
+
request = Models::Operations::GetMediaClipsRequest.new(
|
3029
|
+
source_media_id: source_media_id,
|
3030
|
+
offset: offset,
|
3031
|
+
limit: limit,
|
3032
|
+
order_by: order_by
|
3033
|
+
)
|
3034
|
+
url, params = @sdk_configuration.get_server_details
|
3035
|
+
base_url = Utils.template_url(url, params)
|
3036
|
+
url = Utils.generate_url(
|
3037
|
+
Models::Operations::GetMediaClipsRequest,
|
3038
|
+
base_url,
|
3039
|
+
'/on-demand/{sourceMediaId}/media-clips',
|
3040
|
+
request
|
3041
|
+
)
|
3042
|
+
headers = {}
|
3043
|
+
headers = T.cast(headers, T::Hash[String, String])
|
3044
|
+
query_params = Utils.get_query_params(Models::Operations::GetMediaClipsRequest, request, nil)
|
3045
|
+
headers['Accept'] = 'application/json'
|
3046
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
3047
|
+
retries ||= @sdk_configuration.retry_config
|
3048
|
+
retries ||= Utils::RetryConfig.new(
|
3049
|
+
backoff: Utils::BackoffStrategy.new(
|
3050
|
+
exponent: 1.5,
|
3051
|
+
initial_interval: 1000,
|
3052
|
+
max_elapsed_time: 3_600_000,
|
3053
|
+
max_interval: 10_000
|
3054
|
+
),
|
3055
|
+
retry_connection_errors: true,
|
3056
|
+
strategy: 'backoff'
|
3057
|
+
)
|
3058
|
+
retry_options = retries.to_faraday_retry_options(initial_time: Time.now)
|
3059
|
+
retry_options[:retry_statuses] = [408, 429, 500, 502, 503, 504]
|
3060
|
+
|
3061
|
+
security = @sdk_configuration.security_source&.call
|
3062
|
+
|
3063
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
3064
|
+
timeout ||= @sdk_configuration.timeout
|
3065
|
+
|
3066
|
+
|
3067
|
+
connection = @sdk_configuration.client.dup
|
3068
|
+
connection.request :retry, retry_options
|
3069
|
+
|
3070
|
+
hook_ctx = SDKHooks::HookContext.new(
|
3071
|
+
config: @sdk_configuration,
|
3072
|
+
base_url: base_url,
|
3073
|
+
oauth2_scopes: nil,
|
3074
|
+
operation_id: 'get-media-clips',
|
3075
|
+
security_source: @sdk_configuration.security_source
|
3076
|
+
)
|
3077
|
+
|
3078
|
+
error = T.let(nil, T.nilable(StandardError))
|
3079
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
3080
|
+
|
3081
|
+
|
3082
|
+
begin
|
3083
|
+
http_response = T.must(connection).get(url) do |req|
|
3084
|
+
req.headers.merge!(headers)
|
3085
|
+
req.options.timeout = timeout unless timeout.nil?
|
3086
|
+
req.params = query_params
|
3087
|
+
Utils.configure_request_security(req, security)
|
3088
|
+
|
3089
|
+
@sdk_configuration.hooks.before_request(
|
3090
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
3091
|
+
hook_ctx: hook_ctx
|
3092
|
+
),
|
3093
|
+
request: req
|
3094
|
+
)
|
3095
|
+
end
|
3096
|
+
rescue StandardError => e
|
3097
|
+
error = e
|
3098
|
+
ensure
|
3099
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
3100
|
+
http_response = @sdk_configuration.hooks.after_error(
|
3101
|
+
error: error,
|
3102
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
3103
|
+
hook_ctx: hook_ctx
|
3104
|
+
),
|
3105
|
+
response: http_response
|
3106
|
+
)
|
3107
|
+
else
|
3108
|
+
http_response = @sdk_configuration.hooks.after_success(
|
3109
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
3110
|
+
hook_ctx: hook_ctx
|
3111
|
+
),
|
3112
|
+
response: http_response
|
3113
|
+
)
|
3114
|
+
end
|
3115
|
+
|
3116
|
+
if http_response.nil?
|
3117
|
+
raise error if !error.nil?
|
3118
|
+
raise 'no response'
|
3119
|
+
end
|
3120
|
+
end
|
3121
|
+
|
3122
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
3123
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
3124
|
+
if Utils.match_content_type(content_type, 'application/json')
|
3125
|
+
http_response = @sdk_configuration.hooks.after_success(
|
3126
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
3127
|
+
hook_ctx: hook_ctx
|
3128
|
+
),
|
3129
|
+
response: http_response
|
3130
|
+
)
|
3131
|
+
response_data = http_response.env.response_body
|
3132
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::MediaClipResponse)
|
3133
|
+
response = Models::Operations::GetMediaClipsResponse.new(
|
3134
|
+
status_code: http_response.status,
|
3135
|
+
content_type: content_type,
|
3136
|
+
raw_response: http_response,
|
3137
|
+
media_clip_response: T.unsafe(obj)
|
3138
|
+
)
|
3139
|
+
|
3140
|
+
return response
|
3141
|
+
else
|
3142
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
3143
|
+
end
|
3144
|
+
elsif Utils.match_status_code(http_response.status, ['401'])
|
3145
|
+
if Utils.match_content_type(content_type, 'application/json')
|
3146
|
+
http_response = @sdk_configuration.hooks.after_success(
|
3147
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
3148
|
+
hook_ctx: hook_ctx
|
3149
|
+
),
|
3150
|
+
response: http_response
|
3151
|
+
)
|
3152
|
+
response_data = http_response.env.response_body
|
3153
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::InvalidPermissionError)
|
3154
|
+
obj.raw_response = http_response
|
3155
|
+
raise obj
|
3156
|
+
else
|
3157
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
3158
|
+
end
|
3159
|
+
elsif Utils.match_status_code(http_response.status, ['403'])
|
3160
|
+
if Utils.match_content_type(content_type, 'application/json')
|
3161
|
+
http_response = @sdk_configuration.hooks.after_success(
|
3162
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
3163
|
+
hook_ctx: hook_ctx
|
3164
|
+
),
|
3165
|
+
response: http_response
|
3166
|
+
)
|
3167
|
+
response_data = http_response.env.response_body
|
3168
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ForbiddenError)
|
3169
|
+
obj.raw_response = http_response
|
3170
|
+
raise obj
|
3171
|
+
else
|
3172
|
+
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
3173
|
+
end
|
3174
|
+
elsif Utils.match_status_code(http_response.status, ['404'])
|
3175
|
+
if Utils.match_content_type(content_type, 'application/json')
|
3176
|
+
http_response = @sdk_configuration.hooks.after_success(
|
3177
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
3178
|
+
hook_ctx: hook_ctx
|
3179
|
+
),
|
3180
|
+
response: http_response
|
3181
|
+
)
|
3182
|
+
response_data = http_response.env.response_body
|
3183
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MediaClipNotFoundError)
|
3184
|
+
obj.raw_response = http_response
|
3185
|
+
raise obj
|
933
3186
|
else
|
934
3187
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
935
3188
|
end
|
@@ -943,7 +3196,8 @@ module FastpixApiSDK
|
|
943
3196
|
)
|
944
3197
|
response_data = http_response.env.response_body
|
945
3198
|
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ValidationErrorResponse)
|
946
|
-
|
3199
|
+
obj.raw_response = http_response
|
3200
|
+
raise obj
|
947
3201
|
else
|
948
3202
|
raise ::FastpixApiSDK::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
949
3203
|
end
|