import {Config} from "../config.js";
import {getUserToken} from "./auth.js";
import {http} from "../utils/http/index.js"
/**
* @module Recording
* This is an experimental API.
*
*/
/**
*
* @async
* @param {object} options
* @param {string} options.meetingToken
* @param {number} [options.interval=60]
* @param {number} [options.sensivityLevel]
* @returns {data} - recording details
*/
export async function startRecording(
options = {meetingToken, interval, sensivityLevel, alternativeEmail}
) {
let meetingToken = options.meetingToken
let interval = options?.interval || 0
let sensivityLevel = options?.sensivityLevel || 0
let altEmail = options?.alternativeEmail || ""
let headers = {
"Content-Type": "application/json",
Accept: "application/json",
"x-jibb-user-jwt": await getUserToken(),
"x-jibb-meeting-jwt": meetingToken,
}
let body = {
write_interval: interval,
level: sensivityLevel,
alternative_email: altEmail,
}
let response = await http.post(`${Config.apiBaseURL}/v1/meetings/recordings/start`, body, headers)
return response.data
}
/**
*
* @async
* @returns - http result
*/
export async function stopRecording() {
let headers = {
"Content-Type": "application/json",
Accept: "application/json",
"x-jibb-user-jwt": await getUserToken(),
}
let body = {}
let response = await http.post(`${Config.apiBaseURL}/v1/meetings/recordings/stop`, body, headers)
return response.data
}
/**
*
* @async
* @returns {data}
*/
export async function takeSnapshot() {
let headers = {
"Content-Type": "application/json",
Accept: "application/json",
"x-jibb-user-jwt": await getUserToken(),
}
let body = {}
let response = await http.post(`${Config.apiBaseURL}/v1/meetings/recordings/snapshot`, body, headers)
return response.data
}