zoom-video-sdk-api-wrapper
Version:
A convenient wrapper for the Zoom Video SDK API
13 lines (11 loc) • 14.7 kB
JavaScript
import { KJUR } from 'jsrsasign';
import ye from 'url-join-dual';
import j from 'wretch';
import A from 'wretch/addons/queryString';
import { z as z$1 } from 'zod';
import { produce } from 'immer';
import se from 'dayjs';
var de=Object.defineProperty,me=Object.defineProperties;var ue=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;var F=(s,e,t)=>e in s?de(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,O=(s,e)=>{for(var t in e||(e={}))le.call(e,t)&&F(s,t,e[t]);if(T)for(var t of T(e))_e.call(e,t)&&F(s,t,e[t]);return s},I=(s,e)=>me(s,ue(e));var i=(s,e,t)=>new Promise((p,u)=>{var f=L=>{try{h(t.next(L));}catch(C){u(C);}},g=L=>{try{h(t.throw(L));}catch(C){u(C);}},h=L=>L.done?p(L.value):Promise.resolve(L.value).then(f,g);h((t=t.apply(s,e)).next());});var G="https://api.zoom.us/",c=s=>encodeURIComponent(encodeURIComponent(s)),H=({APIKey:s,APISecret:e})=>{let t=Math.round((new Date().getTime()-3e4)/1e3),p=t+60*60*2,u={alg:"HS256",typ:"JWT"},f={iss:s,iat:t,exp:p},g=JSON.stringify(u),h=JSON.stringify(f);return KJUR.jws.JWS.sign("HS256",g,h,e)},x=({base:s,pathList:e})=>new URL(ye(...e),s).toString(),m=p=>i(void 0,[p],function*({token:s,pathList:e,options:t}){let u=x({base:G,pathList:e});return yield j(u).addon(A).query(t).auth(`Bearer ${s}`).get().json().catch(g=>{throw new Error(g.text)})}),q=p=>i(void 0,[p],function*({token:s,pathList:e,options:t}){let u=x({base:G,pathList:e});return yield j(u).addon(A).query(t).auth(`Bearer ${s}`).delete().json().catch(g=>{throw new Error(g.text)})}),z=u=>i(void 0,[u],function*({token:s,pathList:e,body:t,options:p}){let f=x({base:G,pathList:e});return yield j(f).content("application/json").addon(A).query(p).auth(`Bearer ${s}`).body(JSON.stringify(t)).put().json(h=>{if(h)return h}).catch(h=>{console.info(h.text);})}),D=u=>i(void 0,[u],function*({token:s,pathList:e,body:t,options:p}){let f=x({base:G,pathList:e});yield j(f).content("application/json").addon(A).query(p).auth(`Bearer ${s}`).body(JSON.stringify(t)).patch().json(g=>{if(g)return g}).catch(g=>{throw new Error(g.text)});});var Re=(s,e)=>i(void 0,null,function*(){return yield q({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"recordings",e.recordingId],options:e}),200}),M=s=>e=>Re(s,e);var ve=(s,e)=>i(void 0,null,function*(){yield q({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"recordings"],options:e});}),J=s=>e=>ve(s,e);var fe=z$1.object({id:z$1.string(),recording_start:z$1.string(),recording_end:z$1.string(),file_type:z$1.string(),file_size:z$1.number(),download_url:z$1.string(),status:z$1.string(),deleted_time:z$1.optional(z$1.string()),recording_type:z$1.string()}),he=z$1.object({id:z$1.string(),recording_start:z$1.string(),recording_end:z$1.string(),file_name:z$1.string(),file_type:z$1.string(),file_extension:z$1.string(),file_size:z$1.number(),download_url:z$1.string(),recording_type:z$1.string(),status:z$1.string(),user_id:z$1.string(),user_key:z$1.string()}),be=z$1.object({session_id:z$1.string(),session_name:z$1.string(),start_time:z$1.string(),duration:z$1.number(),total_size:z$1.number(),recording_count:z$1.number(),recording_files:z$1.array(fe),participant_video_files:z$1.array(he)}),ke=z$1.object({from:z$1.string(),to:z$1.string(),page_size:z$1.number(),total_records:z$1.number(),next_page_token:z$1.string(),sessions:z$1.array(be)}).deepPartial(),Le=(s,e)=>i(void 0,null,function*(){let t=yield m({token:s,pathList:["v2","videosdk","recordings"],options:e});return ke.parse(t)}),W=s=>e=>Le(s,e);var Oe=z$1.object({id:z$1.string(),recording_start:z$1.string(),recording_end:z$1.string(),file_type:z$1.string(),file_size:z$1.number(),download_url:z$1.string(),status:z$1.string(),deleted_time:z$1.optional(z$1.string()),recording_type:z$1.string()}),Ue=z$1.object({id:z$1.string(),recording_start:z$1.string(),recording_end:z$1.string(),file_name:z$1.string(),file_type:z$1.string(),file_extension:z$1.string(),file_size:z$1.number(),download_url:z$1.string(),recording_type:z$1.string(),status:z$1.string(),user_id:z$1.string(),user_key:z$1.string()}),Ge=z$1.object({id:z$1.string(),recording_start:z$1.string(),recording_end:z$1.string(),file_name:z$1.string(),file_type:z$1.string(),file_extension:z$1.string(),file_size:z$1.number(),download_url:z$1.string(),status:z$1.string(),user_id:z$1.string(),user_key:z$1.string()}),xe=z$1.object({session_id:z$1.string(),session_name:z$1.string(),start_time:z$1.string(),duration:z$1.number(),total_size:z$1.number(),recording_count:z$1.number(),recording_files:z$1.array(Oe),participant_video_files:z$1.array(Ue),download_access_token:z$1.string(),participant_audio_files:z$1.array(Ge)}).deepPartial(),ze=(s,e)=>i(void 0,null,function*(){let t=yield m({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"recordings"],options:O({},e)});return xe.parse(t)}),Y=s=>e=>ze(s,e);var De=(s,e)=>i(void 0,null,function*(){return yield z({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"recordings",e.recordingId,"status"],options:{},body:{action:"recover"}}),204}),B=s=>e=>De(s,e);var we=(s,e)=>i(void 0,null,function*(){return yield z({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"recordings","status"],options:{},body:{action:"recover"}}),204}),V=s=>e=>we(s,e);var Pe=z$1.object({id:z$1.string(),session_name:z$1.string(),start_time:z$1.string(),end_time:z$1.string(),duration:z$1.string(),user_count:z$1.number(),has_voip:z$1.boolean(),has_video:z$1.boolean(),has_screen_share:z$1.boolean(),has_recording:z$1.boolean(),has_pstn:z$1.boolean(),session_key:z$1.string().nullish()}).deepPartial(),Ie=(s,e)=>i(void 0,null,function*(){var u;let t=yield m({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId)],options:I(O({},e),{type:(u=e.type)!=null?u:"live"})});return Pe.parse(t)}),$=s=>e=>Ie(s,e);var je=z$1.object({stream_url:z$1.string(),stream_key:z$1.string(),page_url:z$1.string(),resolution:z$1.string()}).deepPartial(),Ae=(s,e)=>i(void 0,null,function*(){let t=yield m({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"livestream"],options:O({},e)});return je.parse(t)}),K=s=>e=>Ae(s,e);var Ce=z$1.object({call_number:z$1.string(),call_type:z$1.string(),zoom_number:z$1.string()}),E=z$1.union([z$1.literal("Phone"),z$1.literal("H.323/SIP"),z$1.literal("Windows"),z$1.literal("Mac"),z$1.literal("iOS"),z$1.literal("Android"),z$1.literal("Web"),z$1.literal("\u30A6\u30A7\u30D6"),z$1.string()]),Q=z$1.union([z$1.literal("Wired"),z$1.literal("Wifi"),z$1.literal("PPP"),z$1.literal("Cellular"),z$1.literal("Others"),z$1.literal("\u305D\u306E\u4ED6"),z$1.string()]),Ee=z$1.object({id:z$1.string(),name:z$1.string(),device:E,ip_address:z$1.string(),location:z$1.string(),network_type:Q,microphone:z$1.string().nullish(),speaker:z$1.string().nullish(),camera:z$1.string().nullish(),data_center:z$1.string(),connection_type:z$1.string().nullish(),join_time:z$1.string(),leave_time:z$1.string(),user_key:z$1.string().max(1e5),audio_call:z$1.array(Ce)}),Qe=z$1.object({page_size:z$1.number(),next_page_token:z$1.string(),users:z$1.array(Ee)}).deepPartial(),Te=(s,e)=>i(void 0,null,function*(){let t=yield m({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"users"],options:produce(e,p=>{p.page_size||(p.page_size=30),p.type||(p.type="live");})});return Qe.parse(t)}),N=s=>e=>Te(s,e);var P=z$1.object({bitrate:z$1.string(),latency:z$1.string(),jitter:z$1.string(),avg_loss:z$1.string(),max_loss:z$1.string()}),U=P.extend({resolution:z$1.string(),frame_rate:z$1.string()}),Fe=z$1.object({zoom_min_cpu_usage:z$1.string(),zoom_avg_cpu_usage:z$1.string(),zoom_max_cpu_usage:z$1.string(),system_max_cpu_usage:z$1.string()}),He=z$1.object({id:z$1.string(),name:z$1.string(),device:E,ip_address:z$1.string(),location:z$1.string(),network_type:Q,microphone:z$1.string(),speaker:z$1.string(),camera:z$1.string(),data_center:z$1.string(),connection_type:z$1.string(),join_time:z$1.string(),leave_time:z$1.string(),user_qos:z$1.array(z$1.object({date_time:z$1.string(),audio_input:P,audio_output:P,video_input:U,video_output:U,as_input:U,as_output:U,audio_device_from_rwg:P,audio_device_to_rwg:P,video_device_from_rwg:U,video_device_to_rwg:U,as_device_from_rwg:U,as_device_to_rwg:U,cpu_usage:Fe}))}).deepPartial(),Me=(s,e)=>i(void 0,null,function*(){var u;let t=yield m({token:s,pathList:["v2","videosdk","sessions",e.sessionId,"users",e.userId,"qos"],options:I(O({},e),{type:(u=e.type)!=null?u:"live"})});return He.parse(t)}),Z=s=>e=>Me(s,e);var We=z$1.object({content:z$1.string(),start_time:z$1.string(),end_time:z$1.string()}),Ye=z$1.object({id:z$1.string(),name:z$1.string(),details:z$1.array(We)}),Be=z$1.object({page_size:z$1.number(),next_page_token:z$1.string(),users:z$1.array(Ye)}).deepPartial(),Ve=(s,e)=>i(void 0,null,function*(){let t=yield m({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"users","sharing"],options:produce(e,u=>{u.type||(u.type="live");})});return Be.parse(t)}),X=s=>e=>Ve(s,e);var R=z$1.object({bitrate:z$1.string(),latency:z$1.string(),jitter:z$1.string(),avg_loss:z$1.string(),max_loss:z$1.string(),resolution:z$1.optional(z$1.string()),frame_rate:z$1.optional(z$1.string())}),Ke=z$1.object({zoom_min_cpu_usage:z$1.string(),zoom_avg_cpu_usage:z$1.string(),zoom_max_cpu_usage:z$1.string(),system_max_cpu_usage:z$1.string()}),Ne=z$1.object({date_time:z$1.string(),audio_input:R,audio_output:R,video_input:R,video_output:R,as_input:R,as_output:R,audio_device_from_rwg:R,audio_device_to_rwg:R,video_device_from_rwg:R,video_device_to_rwg:R,as_device_from_rwg:R,as_device_to_rwg:R,cpu_usage:Ke}),Ze=z$1.object({id:z$1.string(),name:z$1.string(),device:z$1.string(),ip_address:z$1.string(),location:z$1.string(),network_type:z$1.string(),microphone:z$1.string(),speaker:z$1.string(),camera:z$1.string(),data_center:z$1.string(),connection_type:z$1.string(),join_time:z$1.string(),leave_time:z$1.string(),user_qos:z$1.array(Ne)}),Xe=z$1.object({page_size:z$1.number(),next_page_token:z$1.string(),users:z$1.array(Ze)}).deepPartial(),es=(s,e)=>i(void 0,null,function*(){let t=yield m({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"users","qos"],options:produce(e,p=>{p.type||(p.type="live");})});return Xe.parse(t)}),ee=s=>e=>es(s,e);var rs=z$1.object({from:z$1.string(),to:z$1.string(),page_size:z$1.number(),next_page_token:z$1.string(),sessions:z$1.array(z$1.object({id:z$1.string(),session_name:z$1.string(),start_time:z$1.string(),end_time:z$1.string(),duration:z$1.string(),user_count:z$1.number(),has_voip:z$1.boolean(),has_video:z$1.boolean(),has_screen_share:z$1.boolean(),has_recording:z$1.boolean(),has_pstn:z$1.boolean(),has_session_summary:z$1.boolean()}))}).deepPartial(),os=(s,e)=>i(void 0,null,function*(){let t=produce(e,g=>{g.type!=="past"&&g.type!=="live"&&(g.type="live"),g.from=se(g.from).format("YYYY-MM-DD"),g.to=se(g.to).format("YYYY-MM-DD"),g.page_size?g.page_size<1?g.page_size=1:g.page_size>300&&(g.page_size=300):g.page_size=30;}),p=x({base:G,pathList:["v2","videosdk","sessions"]}),u=yield j(p).addon(A).query(t).auth(`Bearer ${s}`).get().json().catch(g=>{throw new Error(g.text)});return rs.parse(u)}),te=s=>e=>os(s,e);var ns=(s,e)=>i(void 0,null,function*(){return yield D({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"livestream"],options:{},body:{stream_url:e.stream_url,stream_key:e.stream_key,page_url:e.page_url,resolution:e.resolution}}),204}),ie=s=>e=>ns(s,e);var as=(s,e)=>i(void 0,null,function*(){return yield D({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"livestream","status"],options:{},body:{action:e.action,settings:e.settings}}),204}),re=s=>e=>as(s,e);var ps=(s,e)=>i(void 0,null,function*(){return yield z({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"status"],options:{},body:{action:"end"}}),204}),oe=s=>e=>ps(s,e);var gs=(s,e)=>i(void 0,null,function*(){return yield D({token:s,pathList:["v2","videosdk","sessions",c(e.sessionId),"events"],options:{},body:{method:e.method,params:e.params}}),202}),ne=s=>e=>gs(s,e);var cs=z$1.object({date:z$1.string(),usage:z$1.string(),plan_usage:z$1.string(),free_usage:z$1.string()}),ds=z$1.object({from:z$1.string(),to:z$1.string(),cloud_recording_storage:z$1.array(cs)}).deepPartial(),ms=(s,e)=>i(void 0,null,function*(){let t=yield m({token:s,pathList:["v2","videosdk","report","cloud-recording"],options:e});return ds.parse(t)}),ae=s=>e=>ms(s,e);var us=z$1.object({date:z$1.string(),sessions:z$1.number(),users:z$1.number(),session_minutes:z$1.number()}),ls=z$1.object({year:z$1.number(),month:z$1.number(),dates:z$1.array(us)}),_s=(s,e)=>i(void 0,null,function*(){let t=yield m({token:s,pathList:["v2","videosdk","report","daily"],options:e});return ls.parse(t)}),pe=s=>e=>_s(s,e);var Ss=z$1.object({time:z$1.string(),operator:z$1.string(),category_type:z$1.string(),action:z$1.string(),operation_detail:z$1.string()}),ys=z$1.object({page_size:z$1.number(),next_page_token:z$1.string(),from:z$1.string(),to:z$1.string(),operation_logs:z$1.array(Ss)}).deepPartial(),Rs=(s,e)=>i(void 0,null,function*(){let t=yield m({token:s,pathList:["v2","videosdk","report","operationlogs"],options:e});return ys.parse(t)}),ge=s=>e=>Rs(s,e);var fs=z$1.object({session_id:z$1.string(),phone_number:z$1.string(),signaled_number:z$1.string(),start_time:z$1.string(),end_time:z$1.string(),duration:z$1.number(),total:z$1.number(),country_name:z$1.string(),call_in_number:z$1.string(),type:z$1.string(),rate:z$1.number()}),hs=z$1.object({page_size:z$1.number(),next_page_token:z$1.string(),from:z$1.string(),to:z$1.string(),telephony_usage:z$1.array(fs)}).deepPartial(),bs=(s,e)=>i(void 0,null,function*(){let t=yield m({token:s,pathList:["v2","videosdk","report","telephone"],options:produce(e,p=>{p.type||(p.type=1),p.query_date_type||(p.query_date_type="start_time"),p.page_size||(p.page_size=30);})});return hs.parse(t)}),ce=s=>e=>bs(s,e);var zi=({apiKey:s,apiSecret:e})=>{let t=H({APIKey:s,APISecret:e});return {deleteSessiion_sRecordingFile:M(t),deleteSessiion_sRecordings:J(t),listRecordingsOfAnAccount:W(t),listSession_sRecordings:Y(t),recoverASingleRecording:B(t),recoverSession_sRecordings:V(t),getSessionDetails:$(t),getSessionLiveStreamDetails:K(t),getSessionUserQos:Z(t),getSharingRecordingDetails:X(t),listSessionUsers:N(t),listSessionUsersQoS:ee(t),listSessions:te(t),updateASessionLiveStream:ie(t),updateSessionLivestreamStatus:re(t),updateSessionStatus:oe(t),useIn_SessionEventsControls:ne(t),getCloudRecordingUsageReport:ae(t),getDailyUsageReport:pe(t),getOperationLogsReport:ge(t),getTelephoneReport:ce(t)}};
export { zi as createZoomVideoSdkApiClient };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.mjs.map