UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

170 lines • 6.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Recordings = exports.BaseRecordings = void 0; // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. const resource_1 = require("../../core/resource.js"); const path_1 = require("../../internal/utils/path.js"); var BaseRecordings = /* @__PURE__ */ (() => { class BaseRecordings extends resource_1.APIResource { /** * Returns the active recording details for the given meeting ID. * * @example * ```ts * const response = * await client.realtimeKit.recordings.getActiveRecordings( * 'meeting_id', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * app_id: '14a396e7-ca44-4937-bf1f-050a69118543', * }, * ); * ``` */ getActiveRecordings(meetingID, params, options) { const { account_id, app_id } = params; return this._client.get((0, path_1.path) `/accounts/${account_id}/realtime/kit/${app_id}/recordings/active-recording/${meetingID}`, options); } /** * Returns details of a recording for the given recording ID. * * @example * ```ts * const response = * await client.realtimeKit.recordings.getOneRecording( * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * app_id: '14a396e7-ca44-4937-bf1f-050a69118543', * }, * ); * ``` */ getOneRecording(recordingID, params, options) { const { account_id, app_id } = params; return this._client.get((0, path_1.path) `/accounts/${account_id}/realtime/kit/${app_id}/recordings/${recordingID}`, options); } /** * Returns all recordings for an App. If the `meeting_id` parameter is passed, * returns all recordings for the given meeting ID. * * @example * ```ts * const response = * await client.realtimeKit.recordings.getRecordings( * '14a396e7-ca44-4937-bf1f-050a69118543', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ getRecordings(appID, params, options) { const { account_id, ...query } = params; return this._client.get((0, path_1.path) `/accounts/${account_id}/realtime/kit/${appID}/recordings`, { query, ...options, }); } /** * Pause/Resume/Stop a given recording ID. * * @example * ```ts * const response = * await client.realtimeKit.recordings.pauseResumeStopRecording( * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * app_id: '14a396e7-ca44-4937-bf1f-050a69118543', * action: 'stop', * }, * ); * ``` */ pauseResumeStopRecording(recordingID, params, options) { const { account_id, app_id, ...body } = params; return this._client.put((0, path_1.path) `/accounts/${account_id}/realtime/kit/${app_id}/recordings/${recordingID}`, { body, ...options, }); } /** * Starts recording a meeting. The meeting can be started by an App admin directly, * or a participant with permissions to start a recording, based on the type of * authorization used. * * @example * ```ts * const response = * await client.realtimeKit.recordings.startRecordings( * '14a396e7-ca44-4937-bf1f-050a69118543', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * meeting_id: '97440c6a-140b-40a9-9499-b23fd7a3868a', * audio_config: { * channel: 'stereo', * codec: 'AAC', * export_file: true, * }, * file_name_prefix: 'string', * interactive_config: { type: 'ID3' }, * max_seconds: 60, * realtimekit_bucket_config: { enabled: true }, * video_config: { * codec: 'H264', * export_file: true, * height: 720, * watermark: { * position: 'left top', * size: { height: 1, width: 1 }, * url: 'http://example.com', * }, * width: 1280, * }, * }, * ); * ``` */ startRecordings(appID, params, options) { const { account_id, ...body } = params; return this._client.post((0, path_1.path) `/accounts/${account_id}/realtime/kit/${appID}/recordings`, { body, ...options, }); } /** * Starts track recording for a meeting. Track recording currently records separate * participant audio tracks as WebM files in the RealtimeKit bucket. Video track * recording is in development. For more information, refer to * [Track recording](/realtime/realtimekit/recording-guide/track-recording/). * * @example * ```ts * const response = * await client.realtimeKit.recordings.startTrackRecording( * '14a396e7-ca44-4937-bf1f-050a69118543', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * meeting_id: '97440c6a-140b-40a9-9499-b23fd7a3868a', * }, * ); * ``` */ startTrackRecording(appID, params, options) { const { account_id, ...body } = params; return this._client.post((0, path_1.path) `/accounts/${account_id}/realtime/kit/${appID}/recordings/track`, { body, ...options, }); } } BaseRecordings._key = Object.freeze([ 'realtimeKit', 'recordings', ]); return BaseRecordings; })(); exports.BaseRecordings = BaseRecordings; class Recordings extends BaseRecordings { } exports.Recordings = Recordings; //# sourceMappingURL=recordings.js.map