@jibb-open/jssdk 3.6.6 → 3.7.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.
- package/api/admin.js +1 -1
- package/api/auth.js +1 -1
- package/api/eventbus.js +1 -1
- package/api/index.js +1 -1
- package/api/meeting.js +1 -1
- package/api/recording.js +1 -1
- package/package.json +1 -1
- package/types/types.js +1 -1
- package/ws/eventbus.js +1 -1
- package/ws/meeting.js +1 -1
package/api/admin.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SendUserActivationEmail=SendUserActivationEmail,exports.createDomain=createDomain,exports.createOrganizationUser=createOrganizationUser,exports.createUsers=createUsers,exports.deleteDomain=deleteDomain,exports.deleteOrganizationUser=deleteOrganizationUser,exports.deleteSAML=deleteSAML,exports.getDomainList=getDomainList,exports.getOrganizationDetails=getOrganizationDetails,exports.getOrganizationList=getOrganizationList,exports.getOrganizationUserDetails=getOrganizationUserDetails,exports.getSAML=getSAML,exports.getUserList=getUserList,exports.setSAML=setSAML,exports.updateUserType=updateUserType,exports.verifyDomain=verifyDomain,require("core-js/modules/es.promise.js"),require("core-js/modules/es.json.stringify.js");var _config=require("../config.js"),_index=require("../utils/http/index.js"),_auth=require("./auth.js"),_types=require("../types/types.js");const accessLevel=_types.AccessLevel.ADMIN;async function getOrganizationList(){let a={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SendUserActivationEmail=SendUserActivationEmail,exports.createDomain=createDomain,exports.createOrganizationUser=createOrganizationUser,exports.createUsers=createUsers,exports.deleteDomain=deleteDomain,exports.deleteOrganizationUser=deleteOrganizationUser,exports.deleteSAML=deleteSAML,exports.getDomainList=getDomainList,exports.getOrganizationDetails=getOrganizationDetails,exports.getOrganizationList=getOrganizationList,exports.getOrganizationUserDetails=getOrganizationUserDetails,exports.getSAML=getSAML,exports.getUserList=getUserList,exports.setSAML=setSAML,exports.updateUserType=updateUserType,exports.verifyDomain=verifyDomain,require("core-js/modules/es.promise.js"),require("core-js/modules/es.json.stringify.js");var _config=require("../config.js"),_index=require("../utils/http/index.js"),_auth=require("./auth.js"),_types=require("../types/types.js");const accessLevel=_types.AccessLevel.ADMIN;async function getOrganizationList(){let a={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})},b=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations"),a);return b.data.organizations}async function getOrganizationDetails(a){if(!a)throw new Error("organization ID can not be empty");let b={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})},c=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(a),b);return c.data}async function getUserList(a,b){let c={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})};void 0!==b&&(c["x-jibb-pagination"]=JSON.stringify(b));let d=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(a,"/users"),c);return b=d.headers["x-jibb-pagination"],b=b&&JSON.parse(b),{users:d.data.users,pagination:b}}async function createUsers(a){let{orgId:b,users:c}=a,d={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})};return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(b,"/users"),{users:c},d)}async function createOrganizationUser(a){let{orgId:b,email:c,userType:d}=a,e={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})};return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(b,"/users"),{users:[{email:c,user_type:d}]},e)}async function SendUserActivationEmail(a){let{orgId:b,userIds:c}=a,d={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})};return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(b,"/activation/email"),{user_ids:c},d)}async function deleteOrganizationUser(a){let{orgId:b,userId:c}=a,d={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})};return _index.http.delete("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(b,"/users/").concat(c),d)}async function updateUserType(a){let{orgId:b,userId:c,userType:d}=a,e={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})};return _index.http.patch("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(b,"/users/").concat(c),{user_type:d},e)}async function getOrganizationUserDetails(a){let{orgId:b,userId:c}=a,d={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})},e=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(b,"/users/").concat(c),d);return e.data}async function setSAML(a){let{orgId:b,metadata:c,autoAddUsers:d,defaultUserType:e,enabled:f}=a;if(!b)throw new Error("organization ID can not be empty");let g={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})},h={organization_id:b,metadata:c||"",auto_add_users:d!==void 0&&d,default_user_type:e===void 0?_types.UserType.UNKNOWN:e,enabled:f||!1};return _index.http.put("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(b,"/saml"),h,g)}async function deleteSAML(a){let b={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})};return _index.http.delete("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(a,"/saml"),b)}async function getSAML(a){if(!a)throw new Error("organization ID can not be empty");let b={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})},c=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(a,"/saml"),b);return c.data}async function getDomainList(a){let b={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})},c=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(a,"/domains"),b);return c.data}async function createDomain(a){let{orgId:b,domain:c}=a,d={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})},e=await _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(b,"/domains"),{domain_name:c},d);return e.data}async function deleteDomain(a){let{orgId:b,domainId:c}=a,d={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})};return _index.http.delete("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(b,"/domains/").concat(c),d)}async function verifyDomain(a){let{orgId:b,domainId:c}=a,d={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)({accessLevel:accessLevel})},e=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/admin/organizations/").concat(b,"/domains/").concat(c,"/verify"),d);return e.data}
|
package/api/auth.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.configure=configure,exports.generateAPIKey=generateAPIKey,exports.generateCustomAuthPassword=generateCustomAuthPassword,exports.getUserClaims=getUserClaims,exports.getUserToken=getUserToken,exports.logout=logout,exports.setUserToken=setUserToken,require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.promise.js");var _config=require("../config.js"),_types=require("../types/types.js"),_index=require("../utils/http/index.js");let _apiKey,_userClaims=new Map,_getIdToken=async()=>{throw new Error("not implemented")};function configure(a){let{apiKey:b,getIdToken:c}=a;b&&(_apiKey=b),c&&(_getIdToken=c),_userClaims.clear()}function setUserToken(a){let b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:_types.AccessLevel.USER;if(a){let d=new _types.UserClaims(a);d.isExpired()||_userClaims.set(b,d)}}async function getUserClaims(){return getUserToken().then(()=>_userClaims.get(_types.AccessLevel.USER))}async function getUserToken(){let{minExpiry:a,accessLevel:b}=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},c=_userClaims.get(b),d=!1;a=a||1800,b=b||_types.AccessLevel.USER;let e=c?c.getSecondsUntilExpiry():0;if(60>e?(c=void 0,d=!0):e<a&&(d=!0),!0===d)return _refreshUserToken(b).then(a=>(setUserToken(a,b),a)).catch(()=>{if(c)return c.token;throw new Error("unable to create user token")});if(c)return c.token;throw new Error("could not create user token")}function logout(){_apiKey=void 0,_userClaims.clear()}async function generateAPIKey(){let a={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await getUserToken()},b=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/auth/apikey"),a);return b.data.apiKey}async function generateCustomAuthPassword(){let a={"Content-Type":"application/json",Accept:"application/json","x-jibb-id-jwt":await _getIdToken()},b=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/auth/custom"),a);return b.data.password}async function _getUserTokenFromApiKey(a){let b,c={api_key:_apiKey};switch(a){case _types.AccessLevel.ADMIN:b="".concat(_config.Config.apiBaseURL,"/v1/admin/auth/token");break;case _types.AccessLevel.SUPERADMIN:b="".concat(_config.Config.apiBaseURL,"/v1/superadmin/auth/token");break;default:b="".concat(_config.Config.apiBaseURL,"/v1/auth/token");}let d=await _index.http.post(b,c,{"Content-Type":"application/json",Accept:"application/json"});return d.data.token}async function _getUserTokenFromIDToken(a){let b,c={"Content-Type":"application/json",Accept:"application/json","x-jibb-id-jwt":await _getIdToken()};switch(a){case _types.AccessLevel.ADMIN:b="".concat(_config.Config.apiBaseURL,"/v1/admin/auth/token");break;case _types.AccessLevel.SUPERADMIN:b="".concat(_config.Config.apiBaseURL,"/v1/superadmin/auth/token");break;default:b="".concat(_config.Config.apiBaseURL,"/v1/auth/token");}let d=await _index.http.post(b,{},c);return d.data.token}async function _refreshUserToken(a){return _apiKey?_getUserTokenFromApiKey(a):_getUserTokenFromIDToken(a)}
|
package/api/eventbus.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCameraList=getCameraList,exports.getCameraPreview=getCameraPreview,exports.getClientStatusList=getClientStatusList,exports.sendMessage=sendMessage,exports.setRuntimeConfig=setRuntimeConfig,exports.startStream=startStream,exports.stopStream=stopStream,require("core-js/modules/es.promise.js");var _auth=require("./auth.js"),_config=require("../config.js"),_index=require("../utils/http/index.js");async function getCameraList(a){let b=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/eventbus/clients/").concat(a,"/cameras"),await _prepareRequestHeaders());return b.data.items}async function getCameraPreview(a){let{cameraId:b,clientId:c}=a,d=await _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/eventbus/").concat(c,"/preview"),{source:{id:b}},await _prepareRequestHeaders());return d.data.image}async function startStream(a){let{meetingId:b,meetingToken:c,surfaceType:d,cameraId:e,sipUri:f,flipLeftRight:g,flipUpDown:h,rotation:i,fixedCorners:j,clientId:k,customCorners:l,enableColor:m,enableEstimation:n}=a,o={config:{surface_type:d},app_config:{meeting_id:b,meeting_token:c},runtime_config:_makeRuntimeConfig({fixedCorners:j,flipLeftRight:g,flipUpDown:h,rotation:i,customCorners:l,enableColor:m,enableEstimation:n})};if(!e&&!f)return Promise.reject("Invalid request: either sipUri or cameraId should be specified");if(e&&f)return Promise.reject("Invalid request: both sipUri (".concat(f,") and cameraId (").concat(f,") are specified"));f?o.sip_uri=f:o.camera={id:e};return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/eventbus/clients/").concat(k,"/start"),{start_request:o},await _prepareRequestHeaders())}async function stopStream(a){return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/eventbus/").concat(a,"/stop"),{},await _prepareRequestHeaders())}async function sendMessage(a){return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/eventbus"),a,await _prepareRequestHeaders())}async function setRuntimeConfig(a){let{flipLeftRight:b,flipUpDown:c,rotation:d,fixedCorners:e,customCorners:f,clientId:g,enableColor:h,enableEstimation:i}=a,j={runtime_config_request:{runtime_config:_makeRuntimeConfig({fixedCorners:e,flipLeftRight:b,flipUpDown:c,rotation:d,customCorners:f,enableColor:h,enableEstimation:i})}};return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/eventbus/").concat(g,"/runtime_config"),j,await _prepareRequestHeaders())}async function getClientStatusList(){let a=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/eventbus/clients"),await _prepareRequestHeaders());return a.data.clients}async function _prepareRequestHeaders(){return{"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCameraList=getCameraList,exports.getCameraPreview=getCameraPreview,exports.getClientStatusList=getClientStatusList,exports.sendMessage=sendMessage,exports.setRuntimeConfig=setRuntimeConfig,exports.startStream=startStream,exports.stopStream=stopStream,require("core-js/modules/es.promise.js");var _auth=require("./auth.js"),_config=require("../config.js"),_index=require("../utils/http/index.js");async function getCameraList(a){let b=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/eventbus/clients/").concat(a,"/cameras"),await _prepareRequestHeaders());return b.data.items}async function getCameraPreview(a){let{cameraId:b,clientId:c}=a,d=await _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/eventbus/").concat(c,"/preview"),{source:{id:b}},await _prepareRequestHeaders());return d.data.image}async function startStream(a){let{meetingId:b,meetingToken:c,surfaceType:d,cameraId:e,sipUri:f,flipLeftRight:g,flipUpDown:h,rotation:i,fixedCorners:j,clientId:k,customCorners:l,enableColor:m,enableEstimation:n}=a,o={config:{surface_type:d},app_config:{meeting_id:b,meeting_token:c},runtime_config:_makeRuntimeConfig({fixedCorners:j,flipLeftRight:g,flipUpDown:h,rotation:i,customCorners:l,enableColor:m,enableEstimation:n})};if(!e&&!f)return Promise.reject("Invalid request: either sipUri or cameraId should be specified");if(e&&f)return Promise.reject("Invalid request: both sipUri (".concat(f,") and cameraId (").concat(f,") are specified"));f?o.sip_uri=f:o.camera={id:e};return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/eventbus/clients/").concat(k,"/start"),{start_request:o},await _prepareRequestHeaders())}async function stopStream(a){return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/eventbus/").concat(a,"/stop"),{},await _prepareRequestHeaders())}async function sendMessage(a){return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/eventbus"),a,await _prepareRequestHeaders())}async function setRuntimeConfig(a){let{flipLeftRight:b,flipUpDown:c,rotation:d,fixedCorners:e,customCorners:f,clientId:g,enableColor:h,enableEstimation:i}=a,j={runtime_config_request:{runtime_config:_makeRuntimeConfig({fixedCorners:e,flipLeftRight:b,flipUpDown:c,rotation:d,customCorners:f,enableColor:h,enableEstimation:i})}};return _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/eventbus/").concat(g,"/runtime_config"),j,await _prepareRequestHeaders())}async function getClientStatusList(){let a=await _index.http.get("".concat(_config.Config.apiBaseURL,"/v1/eventbus/clients"),await _prepareRequestHeaders());return a.data.clients}async function _prepareRequestHeaders(){return{"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()}}function _makeRuntimeConfig(a){let{fixedCorners:b,flipLeftRight:c,flipUpDown:d,rotation:e,customCorners:f,enableColor:g,enableEstimation:h}=a;switch(e){case 90:e="1";break;case 180:case-180:e="2";break;case-90:case 270:e="3";break;case 0:case 360:default:e="0";}return{custom_corners:f||[],rotation:e,enable_color:g||!1,fixed_corners:b,enable_estimation:h||!1,flip_up_down:d||!1,flip_left_right:c||!1}}
|
package/api/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var WebexBot=_interopRequireWildcard(require("./webexbot.js"));var Meeting=_interopRequireWildcard(require("./meeting.js"));var SuperAdmin=_interopRequireWildcard(require("./superadmin.js"));var Admin=_interopRequireWildcard(require("./admin.js"));var User=_interopRequireWildcard(require("./user.js"));var
|
|
1
|
+
"use strict";var WebexBot=_interopRequireWildcard(require("./webexbot.js"));var Meeting=_interopRequireWildcard(require("./meeting.js"));var SuperAdmin=_interopRequireWildcard(require("./superadmin.js"));var Admin=_interopRequireWildcard(require("./admin.js"));var User=_interopRequireWildcard(require("./user.js"));var Auth=_interopRequireWildcard(require("./auth.js"));var EventBus=_interopRequireWildcard(require("./eventbus.js"));var Recording=_interopRequireWildcard(require("./recording.js"));require("core-js/modules/web.dom-collections.iterator.js"),Object.defineProperty(exports,"__esModule",{value:!0}),exports.WebexBot=exports.User=exports.SuperAdmin=exports.Recording=exports.Meeting=exports.EventBus=exports.Auth=exports.Admin=void 0,Object.defineProperty(exports,"Whiteboard",{enumerable:!0,get:function get(){return _whiteboard.Whiteboard}}),exports.default=void 0;exports.WebexBot=WebexBot;exports.Meeting=Meeting;exports.SuperAdmin=SuperAdmin;exports.Admin=Admin;exports.User=User;exports.Auth=Auth;exports.EventBus=EventBus;exports.Recording=Recording;var _whiteboard=require("./whiteboard.js"),_index=require("../utils/logger/index.js");function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d.default=a,c&&c.set(a,d),d}(0,_index.initPinoLogger)();var _default={WebexBot,Meeting,Auth,User,Admin,SuperAdmin,Recording,Whiteboard:_whiteboard.Whiteboard,EventBus};exports.default=_default;
|
package/api/meeting.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createMeeting=createMeeting,exports.createShare=createShare,exports.createTemporaryShare=createTemporaryShare,exports.deleteMeeting=deleteMeeting,exports.deleteMeetingImages=deleteMeetingImages,exports.deleteShare=deleteShare,exports.endMeeting=endMeeting,exports.getIncomingShares=getIncomingShares,exports.getMeetingDetails=getMeetingDetails,exports.getMeetingImage=getMeetingImage,exports.getMeetingImages=getMeetingImages,exports.getMeetingList=getMeetingList,exports.getMeetingToken=getMeetingToken,exports.getMeetingTokenFromTempShareId=getMeetingTokenFromTempShareId,exports.getOutgoingShares=getOutgoingShares,exports.isMeetingOwner=isMeetingOwner,exports.startMeeting=startMeeting,exports.updateMeeting=updateMeeting,exports.updateShare=updateShare,require("core-js/modules/es.promise.js"),require("core-js/modules/es.json.stringify.js");var _config=require("../config.js"),_auth=require("./auth.js"),_index=require("../utils/logger/index.js"),_exceptions=require("../types/exceptions.js"),_index2=require("../utils/http/index.js"),_types=require("../types/types.js");async function createMeeting(a){let{title:b,isTemporary:c,capacity:d,meetingType:e}=a,f={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createMeeting=createMeeting,exports.createShare=createShare,exports.createTemporaryShare=createTemporaryShare,exports.deleteMeeting=deleteMeeting,exports.deleteMeetingImages=deleteMeetingImages,exports.deleteShare=deleteShare,exports.endMeeting=endMeeting,exports.getIncomingShares=getIncomingShares,exports.getMeetingDetails=getMeetingDetails,exports.getMeetingImage=getMeetingImage,exports.getMeetingImages=getMeetingImages,exports.getMeetingList=getMeetingList,exports.getMeetingToken=getMeetingToken,exports.getMeetingTokenFromTempShareId=getMeetingTokenFromTempShareId,exports.getOutgoingShares=getOutgoingShares,exports.isMeetingOwner=isMeetingOwner,exports.startMeeting=startMeeting,exports.updateMeeting=updateMeeting,exports.updateShare=updateShare,require("core-js/modules/es.promise.js"),require("core-js/modules/es.json.stringify.js");var _config=require("../config.js"),_auth=require("./auth.js"),_index=require("../utils/logger/index.js"),_exceptions=require("../types/exceptions.js"),_index2=require("../utils/http/index.js"),_types=require("../types/types.js");async function createMeeting(a){let{title:b,isTemporary:c,capacity:d,meetingType:e}=a,f={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()},g={title:b||"",isTemporary:c||!1,capacity:d||2,meetingType:e||_types.MeetingTypes.DEFAULT},h=await _index2.http.post("".concat(_config.Config.apiBaseURL,"/v1/meetings"),g,f);return h.data.meetingId}async function createTemporaryShare(a){let{meetingId:b,permission:c,expiry:d,auxData:e}=a,f={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()},g=await _index2.http.post("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(b,"/temp-shares"),{permission:c,expiry:{seconds:d||3600},auxilary:e||{}},f);return g.data.shareId}async function getMeetingTokenFromTempShareId(a){let{meetingId:b,shareId:c}=a,d=await _index2.http.get("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(b,"/temp-shares/").concat(c),{"Content-Type":"application/json",Accept:"application/json"});return d.data.token}async function deleteMeetingImages(a){let{meetingId:b,mtoken:c}=a,d={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)(),"x-jibb-meeting-jwt":c};return _index2.http.delete("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(b,"/images"),d)}async function getMeetingImages(a){let{meetingId:b,meetingToken:c}=a,d={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)(),"x-jibb-meeting-jwt":c},e=await _index2.http.get("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(b,"/images"),d);return e.data}async function getMeetingImage(a){let{meetingId:b,meetingToken:c,imageId:d}=a,e={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)(),"x-jibb-meeting-jwt":c},f=await _index2.http.get("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(b,"/images/").concat(d),e);return f.data}async function startMeeting(a){let{meetingId:b,meetingToken:c}=a;try{return await _index2.http.post("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(b,"/actions/start"),{},{"Content-Type":"application/json",Accept:"application/json","x-jibb-meeting-jwt":c})}catch(a){var d;if(404==(null===a||void 0===a||null===(d=a.response)||void 0===d?void 0:d.status))throw new _exceptions.NotFoundError;else throw a}}async function endMeeting(a){let{meetingId:b,meetingToken:c}=a;return _index2.http.post("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(b,"/actions/end"),{},{"Content-Type":"application/json",Accept:"application/json","x-jibb-meeting-jwt":c})}async function deleteMeeting(a){let b={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()};return _index2.http.delete("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(a),b)}async function getMeetingToken(a){let b,{meetingId:c,permission:d,expiry:e=3600}=a;try{b=await(0,_auth.getUserToken)()}catch(a){throw _index.logger.error({err:a}),new _exceptions.PermissionDeniedError("user is not authenticated")}try{let a={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":b},f=await _index2.http.get("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(c,"/token/").concat(d,"?expiry.seconds=").concat(e),a);return f.data.token}catch(a){var f;if(404==(null===a||void 0===a||null===(f=a.response)||void 0===f?void 0:f.status))throw new _exceptions.NotFoundError("meeting not found");else throw a}}async function getMeetingList(a){let b={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()};void 0!==a&&(b["x-jibb-pagination"]=JSON.stringify(a));let c=await _index2.http.get("".concat(_config.Config.apiBaseURL,"/v1/meetings"),b);return a=c.headers["x-jibb-pagination"],a=a&&JSON.parse(a),{meetings:c.data.meetings,pagination:a}}async function getMeetingDetails(a){let b={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()},c=await _index2.http.get("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(a),b);return c.data}async function updateMeeting(a){let{meetingId:b,title:c,capacity:d}=a,e={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()},f={};return c&&(f.title=c),d&&(f.capacity=d),_index2.http.post("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(b),f,e)}async function isMeetingOwner(a){try{let b=new _types.MeetingClaims(a),c=new _types.UserClaims(await(0,_auth.getUserToken)());return c.email===b.owner}catch(a){return!1}}async function createShare(a){let{email:b,meetingId:c,permission:d,meetingToken:e}=a,f={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)(),"x-jibb-meeting-jwt":e},g=await _index2.http.post("".concat(_config.Config.apiBaseURL,"/v1/meetings/").concat(c,"/shares"),{email:b,permission:d},f);return g.data}async function getIncomingShares(){let a={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()},b=await _index2.http.get("".concat(_config.Config.apiBaseURL,"/v1/meetings/shares?incoming=true"),a);return b.data.shares}async function getOutgoingShares(){let a={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()},b=await _index2.http.get("".concat(_config.Config.apiBaseURL,"/v1/meetings/shares?outgoing=true"),a);return b.data.shares}async function deleteShare(a){let b={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()};return _index2.http.delete("".concat(_config.Config.apiBaseURL,"/v1/meetings/shares/").concat(a),b)}async function updateShare(a){let{shareId:b,permission:c}=a,d={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()};return _index2.http.patch("".concat(_config.Config.apiBaseURL,"/v1/meetings/shares/").concat(b),{permission:c},d)}
|
package/api/recording.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.startRecording=startRecording,exports.stopRecording=stopRecording,exports.takeSnapshot=takeSnapshot,require("core-js/modules/es.promise.js");var _config=require("../config.js"),_auth=require("./auth.js"),_index=require("../utils/http/index.js");async function startRecording(){let a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{meetingId,meetingToken,title:"UNTITLED",interval:60};return async function(){let b=null===a||void 0===a?void 0:a.meetingToken,c=(null===a||void 0===a?void 0:a.title)||"UNTITLED",d=null===a||void 0===a?void 0:a.meetingId,e=null===a||void 0===a?void 0:a.interval;e===void 0&&(e=60);let f={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.startRecording=startRecording,exports.stopRecording=stopRecording,exports.takeSnapshot=takeSnapshot,require("core-js/modules/es.promise.js");var _config=require("../config.js"),_auth=require("./auth.js"),_index=require("../utils/http/index.js");async function startRecording(){let a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{meetingId,meetingToken,title:"UNTITLED",interval:60};return async function(){let b=null===a||void 0===a?void 0:a.meetingToken,c=(null===a||void 0===a?void 0:a.title)||"UNTITLED",d=null===a||void 0===a?void 0:a.meetingId,e=null===a||void 0===a?void 0:a.interval;e===void 0&&(e=60);let f={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)(),"x-jibb-meeting-jwt":b},g={title:c,write_interval:e,meeting_id:d},h=await _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/meetings/recordings/start"),g,f);return h.data}()}async function stopRecording(){let a={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()},b=await _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/meetings/recordings/stop"),{},a);return b.data}async function takeSnapshot(){let a={"Content-Type":"application/json",Accept:"application/json","x-jibb-user-jwt":await(0,_auth.getUserToken)()},b=await _index.http.post("".concat(_config.Config.apiBaseURL,"/v1/meetings/recordings/snapshot"),{},a);return b.data}
|
package/package.json
CHANGED
package/types/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _jwtDecode=_interopRequireDefault(require("jwt-decode"));Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserType=exports.UserClaims=exports.MeetingTypes=exports.MeetingClaims=exports.AccessLevel=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}const MeetingTypes={DEFAULT:0,WHITEBOARD:1};exports.MeetingTypes=MeetingTypes;const AccessLevel={USER:"USER",ADMIN:"ADMIN",SUPERADMIN:"SUPERADMIN"};exports.AccessLevel=AccessLevel;const UserType={UNKNOWN:0,LIMITED:1,MEMBER:2,ADMIN:3,OWNER:4};exports.UserType=UserType;class
|
|
1
|
+
"use strict";var _jwtDecode=_interopRequireDefault(require("jwt-decode"));Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserType=exports.UserClaims=exports.MeetingTypes=exports.MeetingClaims=exports.AccessLevel=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}const MeetingTypes={DEFAULT:0,WHITEBOARD:1};exports.MeetingTypes=MeetingTypes;const AccessLevel={USER:"USER",ADMIN:"ADMIN",SUPERADMIN:"SUPERADMIN"};exports.AccessLevel=AccessLevel;const UserType={UNKNOWN:0,LIMITED:1,MEMBER:2,ADMIN:3,OWNER:4};exports.UserType=UserType;class StandardClaims{constructor(a){this.claims=(0,_jwtDecode.default)(a),this.expiryTime=new Date(1e3*this.claims.exp)}getSecondsUntilExpiry(){let a=this.expiryTime-Date.now();return 0>a?0:a}getHoursUntilExpiry(){let a=this.getSecondsUntilExpiry();return Math.floor(a/3600)}isExpired(){return 60>=this.getSecondsUntilExpiry()}}class MeetingClaims extends StandardClaims{constructor(a){super(a),this.owner=this.claims.data.owner,this.meetindId=this.claims.data.meeting_id,this.title=this.claims.data.title,this.capacity=this.claims.data.capacity,this.permission=this.claims.data.permission,this.meetingType=this.claims.data.meeting_type,this.isTemporary=this.claims.data.is_temporary}}exports.MeetingClaims=MeetingClaims;class UserClaims extends StandardClaims{constructor(a){var b;super(a),this.email=null===(b=this.claims.data)||void 0===b?void 0:b.email,this.userId=this.claims.sub}getUserId(){return this.userId}}exports.UserClaims=UserClaims;
|
package/ws/eventbus.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EventBusConnection=void 0,require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/web.url.js"),require("core-js/modules/web.url-search-params.js"),require("core-js/modules/es.array-buffer.constructor.js"),require("core-js/modules/es.array-buffer.slice.js"),require("core-js/modules/es.typed-array.uint8-array.js"),require("core-js/modules/es.typed-array.fill.js"),require("core-js/modules/es.typed-array.set.js"),require("core-js/modules/es.typed-array.sort.js"),require("core-js/modules/es.typed-array.to-locale-string.js");var _config=require("../config.js"),_index=require("../utils/logger/index.js"),_exceptions=require("../types/exceptions.js"),_retry_connection=require("./retry_connection.js"),_connection_base=require("./connection_base.js"),_types=require("../types/types.js"),_proto=require("../types/proto.js"),_auth=require("../api/auth.js");function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _classPrivateMethodInitSpec(a,b){_checkPrivateRedeclaration(a,b),b.add(a)}function _classPrivateFieldInitSpec(a,b,c){_checkPrivateRedeclaration(a,b),b.set(a,c)}function _checkPrivateRedeclaration(a,b){if(b.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateMethodGet(a,b,c){if(!b.has(a))throw new TypeError("attempted to get private field on non-instance");return c}function _classPrivateFieldGet(a,b){var c=_classExtractFieldDescriptor(a,b,"get");return _classApplyDescriptorGet(a,c)}function _classApplyDescriptorGet(a,b){return b.get?b.get.call(a):b.value}function _classPrivateFieldSet(a,b,c){var d=_classExtractFieldDescriptor(a,b,"set");return _classApplyDescriptorSet(a,d,c),c}function _classExtractFieldDescriptor(a,b,c){if(!b.has(a))throw new TypeError("attempted to "+c+" private field on non-instance");return b.get(a)}function _classApplyDescriptorSet(a,b,c){if(b.set)b.set.call(a,c);else{if(!b.writable)throw new TypeError("attempted to set read only private field");b.value=c}}const ClientType=_proto.types.ClientType,ErrorCode=_proto.types.Code,BusMessage=_proto.cilix.BusMessage;function getClientNameByType(a){let b=Object.entries(ClientType).find(b=>{let[c,d]=b;return d==a});if(!b)throw new _exceptions.InvalidArgumentError("Invalid client type: ".concat(a));let c=b[0].toLowerCase();return c}var _expiryTimer=/*#__PURE__*/new WeakMap,_handleMessage=/*#__PURE__*/new WeakSet;class WSConnection extends _retry_connection.RetryConnection{constructor(a,b){let c=getClientNameByType(a).toLowerCase();super("eventbus-".concat(c)),_classPrivateMethodInitSpec(this,_handleMessage),_classPrivateFieldInitSpec(this,_expiryTimer,{writable:!0,value:void 0}),this.clientType=a,this.socket=null,this.userToken=null,this.clientName=c,this.name=b,_classPrivateFieldSet(this,_expiryTimer,null)}async start(){this.userToken=await _auth.Auth.getUserToken(),this.userClaims=new _types.UserClaims(this.userToken);let a=this.userClaims.getSecondsUntilExpiry();return 0>=a?void this.onErrorMessage(ErrorCode.ERR_TIMEOUT,"token expired"):void(_classPrivateFieldSet(this,_expiryTimer,setTimeout(()=>{this.stop(),this.onErrorMessage(ErrorCode.ERR_TIMEOUT,"token expired")},a)),super.start())}async stop(){clearTimeout(_classPrivateFieldGet(this,_expiryTimer)),super.stop()}disconnect(){null!=this.socket&&(this.socket.close(),this.socket=null,_index.logger.info("eventbus disconnect ",this.clientName)),super.disconnect()}async write(a){await super.waitForConnection(),_index.logger.debug("".concat(this.getName(),".write: "),BusMessage.toObject(a));let b=BusMessage.encode(a).finish();this.socket.send(b)}writeObject(a){let b=BusMessage.verify(a);if(b)throw new Error(b);let c=BusMessage.fromObject(a);return this.write(c)}async connect(){if(this.getConnectionStatus()!=_connection_base.ConnectionStatus.DISCONNECTED)return;super.connect();let a=this;try{let b=new _types.UserClaims(this.userToken);if(b.isExpired())return void a.onErrorMessage(ErrorCode.ERR_TIMEOUT,"token expired")}catch(b){return _index.logger.error(e),void a.onErrorMessage(ErrorCode.ERR_UNAUTHORIZED,"unauthorized")}let b=new URL(_config.Config.apiBaseURL),c="wss://".concat(b.hostname,"/ws/eventbus/").concat(this.clientName,"?user_token=").concat(this.userToken,"&name=").concat(this.name);this.socket=new WebSocket(c),this.socket.binaryType="arraybuffer",this.socket.addEventListener("open",()=>{a.onConnected()}),this.socket.addEventListener("close",()=>{a.onDisconnected()}),this.socket.addEventListener("message",b=>{_classPrivateMethodGet(a,_handleMessage,_handleMessage2).call(a,b.data)}),this.socket.addEventListener("error",b=>{a.onWarningMessage(ErrorCode.ERR_IO,b)})}onMessage(a){_index.logger.debug(a)}}async function _handleMessage2(a){try{if(a instanceof ArrayBuffer){let b=new Uint8Array(a),c=BusMessage.decode(b);return b=null,_index.logger.debug("".concat(this.getName(),".read: "),c),void this.onMessage(c)}}catch(a){_index.logger.error(a)}try{let b=JSON.parse(a);switch(b.code){case ErrorCode.ERR_TOO_MANY_CONNECTIONS:case ErrorCode.ERR_UNAUTHORIZED:case ErrorCode.ERR_BAD_REQUEST:case ErrorCode.ERR_TIMEOUT:this.onErrorMessage(b.code,b.reason);break;default:this.onInfoMessage(b.code,b.reason);}}catch(a){this.onWarningMessage(ErrorCode.ERR_IO,a)}}var _sendPreview=/*#__PURE__*/new WeakSet,_onCameraListRequest=/*#__PURE__*/new WeakSet,_onCameraListResponse=/*#__PURE__*/new WeakSet,_onClientConnected=/*#__PURE__*/new WeakSet,_onClientDisconnected=/*#__PURE__*/new WeakSet,_onRuntimeConfigRequest=/*#__PURE__*/new WeakSet,_onStopRequest=/*#__PURE__*/new WeakSet,_onPreviewRequest=/*#__PURE__*/new WeakSet,_onPreviewResponse=/*#__PURE__*/new WeakSet,_onStartRequest=/*#__PURE__*/new WeakSet,_onCornersReceived=/*#__PURE__*/new WeakSet,_onIPSAResponse=/*#__PURE__*/new WeakSet,_onTooManyPublishers=/*#__PURE__*/new WeakSet,_onRecordingStarted=/*#__PURE__*/new WeakSet,_onRecordingStopped=/*#__PURE__*/new WeakSet;class EventBusConnection extends WSConnection{static getInstance(){let a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:ClientType.WEBAPP,b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",d=EventBusConnection.instances.get(a);return d||(d=new EventBusConnection(a,b),EventBusConnection.instances.set(a,d)),d}constructor(){let a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:ClientType.WEBAPP,b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"";super(a,b),_classPrivateMethodInitSpec(this,_onRecordingStopped),_classPrivateMethodInitSpec(this,_onRecordingStarted),_classPrivateMethodInitSpec(this,_onTooManyPublishers),_classPrivateMethodInitSpec(this,_onIPSAResponse),_classPrivateMethodInitSpec(this,_onCornersReceived),_classPrivateMethodInitSpec(this,_onStartRequest),_classPrivateMethodInitSpec(this,_onPreviewResponse),_classPrivateMethodInitSpec(this,_onPreviewRequest),_classPrivateMethodInitSpec(this,_onStopRequest),_classPrivateMethodInitSpec(this,_onRuntimeConfigRequest),_classPrivateMethodInitSpec(this,_onClientDisconnected),_classPrivateMethodInitSpec(this,_onClientConnected),_classPrivateMethodInitSpec(this,_onCameraListResponse),_classPrivateMethodInitSpec(this,_onCameraListRequest),_classPrivateMethodInitSpec(this,_sendPreview)}async onMessage(a){if(a&&"object"==typeof a)try{a.clientConnected&&_classPrivateMethodGet(this,_onClientConnected,_onClientConnected2).call(this,a),a.clientDisconnected&&_classPrivateMethodGet(this,_onClientDisconnected,_onClientDisconnected2).call(this,a),a.cameraListRequest&&_classPrivateMethodGet(this,_onCameraListRequest,_onCameraListRequest2).call(this,a),a.cameraListResponse&&_classPrivateMethodGet(this,_onCameraListResponse,_onCameraListResponse2).call(this,a),a.runtimeConfigRequest&&_classPrivateMethodGet(this,_onRuntimeConfigRequest,_onRuntimeConfigRequest2).call(this,a),a.startRequest&&_classPrivateMethodGet(this,_onStartRequest,_onStartRequest2).call(this,a),a.stopRequest&&_classPrivateMethodGet(this,_onStopRequest,_onStopRequest2).call(this,a),a.previewRequest&&_classPrivateMethodGet(this,_onPreviewRequest,_onPreviewRequest2).call(this,a),a.previewResponse&&_classPrivateMethodGet(this,_onPreviewResponse,_onPreviewResponse2).call(this,a),a.ipsaResponse&&_classPrivateMethodGet(this,_onIPSAResponse,_onIPSAResponse2).call(this,a),a.tooManyPublishers&&_classPrivateMethodGet(this,_onTooManyPublishers,_onTooManyPublishers2).call(this,a),a.recordingStarted&&_classPrivateMethodGet(this,_onRecordingStarted,_onRecordingStarted2).call(this,a),a.recordingStopped&&_classPrivateMethodGet(this,_onRecordingStopped,_onRecordingStopped2).call(this,a)}catch(a){_index.logger.error(a)}}stopStream(a){return this.writeObject({stopRequest:{},dst:{id:a}})}stopAllStreams(){return this.writeObject({stopRequest:{}})}startStream(a){let{config:b,runtimeConfig:c,camera:d,clientId:f,meetingToken:g}=a;return this.writeObject({startRequest:{config:b,runtimeConfig:c,camera:d,meetingToken:g},dst:{id:f}})}requestCameraPreview(a,b){return this.writeObject({previewRequest:{source:{id:b}},dst:{id:a}})}setRuntimeConfig(a,b){return this.writeObject({runtimeConfigRequest:b,dst:{id:a}})}getCameraList(a){return this.write({cameraListRequest:{},dst:{id:a}})}sendCameraList(a,b,c){return this.writeObject({cameraListResponse:{items:a},src:b,dst:c})}getClientStatusList(){return this.writeObject({clientStatusRequest:{}})}}exports.EventBusConnection=EventBusConnection;function _sendPreview2(a,b){return this.write({previewResponse:{image:a},dst:b})}async function _onCameraListRequest2(a){let b=await this.callSubscribers("onCameraListRequest",a.cameraListRequest);this.sendCameraList(b,a.dst,a.src)}function _onCameraListResponse2(a){this.notify("onCameraListResponse",a.cameraListResponse)}function _onClientConnected2(a){_index.logger.info("".concat(this.getName(),": client connected: "),a.src),this.notify("onClientConnected",a.src)}function _onClientDisconnected2(a){_index.logger.warn("".concat(this.getName(),": client disconnected: "),a.src),this.notify("onClientDisconnected",a.src)}function _onRuntimeConfigRequest2(a){this.notify("onRuntimeConfigRequest",a.runtimeConfigRequest)}function _onStopRequest2(a){this.notify("onStopRequest",a.stopRequest)}async function _onPreviewRequest2(a){let b=await this.callSubscribers("onPreviewRequest",a.previewRequest);_classPrivateMethodGet(this,_sendPreview,_sendPreview2).call(this,b,a.src)}function _onPreviewResponse2(a){this.notify("onPreviewResponse",a.previewResponse)}function _onStartRequest2(a){var b,c;let d=a.startRequest;!(null!==d&&void 0!==d&&null!==(b=d.camera)&&void 0!==b&&b.id)&&null!==d&&void 0!==d&&null!==(c=d.inputSource)&&void 0!==c&&c.id&&(d.camera={id:d.inputSource.id}),this.notify("onStartRequest",d)}function _onCornersReceived2(a){this.notify("onCornersReceived",a.corners.corners)}function _onIPSAResponse2(a){a&&this.notify("onIPSAResponse",a.ipsaResponse)}function _onTooManyPublishers2(a){this.notify("onTooManyPublishers",a.tooManyPublishers)}function _onRecordingStarted2(a){this.notify("onRecordingStarted",a.recordingStarted)}function _onRecordingStopped2(a){this.notify("onRecordingStopped",a.recordingStopped)}_defineProperty(EventBusConnection,"instances",new Map);
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EventBusConnection=void 0,require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/web.url.js"),require("core-js/modules/web.url-search-params.js"),require("core-js/modules/es.array-buffer.constructor.js"),require("core-js/modules/es.array-buffer.slice.js"),require("core-js/modules/es.typed-array.uint8-array.js"),require("core-js/modules/es.typed-array.fill.js"),require("core-js/modules/es.typed-array.set.js"),require("core-js/modules/es.typed-array.sort.js"),require("core-js/modules/es.typed-array.to-locale-string.js");var _config=require("../config.js"),_index=require("../utils/logger/index.js"),_exceptions=require("../types/exceptions.js"),_retry_connection=require("./retry_connection.js"),_connection_base=require("./connection_base.js"),_types=require("../types/types.js"),_proto=require("../types/proto.js"),_auth=require("../api/auth.js");function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _classPrivateMethodInitSpec(a,b){_checkPrivateRedeclaration(a,b),b.add(a)}function _classPrivateFieldInitSpec(a,b,c){_checkPrivateRedeclaration(a,b),b.set(a,c)}function _checkPrivateRedeclaration(a,b){if(b.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateMethodGet(a,b,c){if(!b.has(a))throw new TypeError("attempted to get private field on non-instance");return c}function _classPrivateFieldGet(a,b){var c=_classExtractFieldDescriptor(a,b,"get");return _classApplyDescriptorGet(a,c)}function _classApplyDescriptorGet(a,b){return b.get?b.get.call(a):b.value}function _classPrivateFieldSet(a,b,c){var d=_classExtractFieldDescriptor(a,b,"set");return _classApplyDescriptorSet(a,d,c),c}function _classExtractFieldDescriptor(a,b,c){if(!b.has(a))throw new TypeError("attempted to "+c+" private field on non-instance");return b.get(a)}function _classApplyDescriptorSet(a,b,c){if(b.set)b.set.call(a,c);else{if(!b.writable)throw new TypeError("attempted to set read only private field");b.value=c}}const ClientType=_proto.types.ClientType,ErrorCode=_proto.types.Code,BusMessage=_proto.cilix.BusMessage;function getClientNameByType(a){let b=Object.entries(ClientType).find(b=>{let[c,d]=b;return d==a});if(!b)throw new _exceptions.InvalidArgumentError("Invalid client type: ".concat(a));let c=b[0].toLowerCase();return c}var _expiryTimer=/*#__PURE__*/new WeakMap,_handleMessage=/*#__PURE__*/new WeakSet;class WSConnection extends _retry_connection.RetryConnection{constructor(a,b){let c=getClientNameByType(a).toLowerCase();super("eventbus-".concat(c)),_classPrivateMethodInitSpec(this,_handleMessage),_classPrivateFieldInitSpec(this,_expiryTimer,{writable:!0,value:void 0}),this.clientType=a,this.socket=null,this.userToken=null,this.clientName=c,this.name=b,_classPrivateFieldSet(this,_expiryTimer,null)}async start(){this.userToken=await(0,_auth.getUserToken)(),this.userClaims=new _types.UserClaims(this.userToken);let a=this.userClaims.getSecondsUntilExpiry();return 0>=a?void this.onErrorMessage(ErrorCode.ERR_TIMEOUT,"token expired"):void(_classPrivateFieldSet(this,_expiryTimer,setTimeout(()=>{this.stop(),this.onErrorMessage(ErrorCode.ERR_TIMEOUT,"token expired")},a)),super.start())}async stop(){clearTimeout(_classPrivateFieldGet(this,_expiryTimer)),super.stop()}disconnect(){null!=this.socket&&(this.socket.close(),this.socket=null,_index.logger.info("eventbus disconnect ",this.clientName)),super.disconnect()}async write(a){await super.waitForConnection(),_index.logger.debug("".concat(this.getName(),".write: "),BusMessage.toObject(a));let b=BusMessage.encode(a).finish();this.socket.send(b)}writeObject(a){let b=BusMessage.verify(a);if(b)throw new Error(b);let c=BusMessage.fromObject(a);return this.write(c)}async connect(){if(this.getConnectionStatus()!=_connection_base.ConnectionStatus.DISCONNECTED)return;super.connect();let a=this;try{let b=new _types.UserClaims(this.userToken);if(b.isExpired())return void a.onErrorMessage(ErrorCode.ERR_TIMEOUT,"token expired")}catch(b){return _index.logger.error(e),void a.onErrorMessage(ErrorCode.ERR_UNAUTHORIZED,"unauthorized")}let b=new URL(_config.Config.apiBaseURL),c="wss://".concat(b.hostname,"/ws/eventbus/").concat(this.clientName,"?user_token=").concat(this.userToken,"&name=").concat(this.name);this.socket=new WebSocket(c),this.socket.binaryType="arraybuffer",this.socket.addEventListener("open",()=>{a.onConnected()}),this.socket.addEventListener("close",()=>{a.onDisconnected()}),this.socket.addEventListener("message",b=>{_classPrivateMethodGet(a,_handleMessage,_handleMessage2).call(a,b.data)}),this.socket.addEventListener("error",b=>{a.onWarningMessage(ErrorCode.ERR_IO,b)})}onMessage(a){_index.logger.debug(a)}}async function _handleMessage2(a){try{if(a instanceof ArrayBuffer){let b=new Uint8Array(a),c=BusMessage.decode(b);return b=null,_index.logger.debug("".concat(this.getName(),".read: "),c),void this.onMessage(c)}}catch(a){_index.logger.error(a)}try{let b=JSON.parse(a);switch(b.code){case ErrorCode.ERR_TOO_MANY_CONNECTIONS:case ErrorCode.ERR_UNAUTHORIZED:case ErrorCode.ERR_BAD_REQUEST:case ErrorCode.ERR_TIMEOUT:this.onErrorMessage(b.code,b.reason);break;default:this.onInfoMessage(b.code,b.reason);}}catch(a){this.onWarningMessage(ErrorCode.ERR_IO,a)}}var _sendPreview=/*#__PURE__*/new WeakSet,_onCameraListRequest=/*#__PURE__*/new WeakSet,_onCameraListResponse=/*#__PURE__*/new WeakSet,_onClientConnected=/*#__PURE__*/new WeakSet,_onClientDisconnected=/*#__PURE__*/new WeakSet,_onRuntimeConfigRequest=/*#__PURE__*/new WeakSet,_onStopRequest=/*#__PURE__*/new WeakSet,_onPreviewRequest=/*#__PURE__*/new WeakSet,_onPreviewResponse=/*#__PURE__*/new WeakSet,_onStartRequest=/*#__PURE__*/new WeakSet,_onCornersReceived=/*#__PURE__*/new WeakSet,_onIPSAResponse=/*#__PURE__*/new WeakSet,_onTooManyPublishers=/*#__PURE__*/new WeakSet,_onRecordingStarted=/*#__PURE__*/new WeakSet,_onRecordingStopped=/*#__PURE__*/new WeakSet;class EventBusConnection extends WSConnection{static getInstance(){let a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:ClientType.WEBAPP,b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",d=EventBusConnection.instances.get(a);return d||(d=new EventBusConnection(a,b),EventBusConnection.instances.set(a,d)),d}constructor(){let a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:ClientType.WEBAPP,b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"";super(a,b),_classPrivateMethodInitSpec(this,_onRecordingStopped),_classPrivateMethodInitSpec(this,_onRecordingStarted),_classPrivateMethodInitSpec(this,_onTooManyPublishers),_classPrivateMethodInitSpec(this,_onIPSAResponse),_classPrivateMethodInitSpec(this,_onCornersReceived),_classPrivateMethodInitSpec(this,_onStartRequest),_classPrivateMethodInitSpec(this,_onPreviewResponse),_classPrivateMethodInitSpec(this,_onPreviewRequest),_classPrivateMethodInitSpec(this,_onStopRequest),_classPrivateMethodInitSpec(this,_onRuntimeConfigRequest),_classPrivateMethodInitSpec(this,_onClientDisconnected),_classPrivateMethodInitSpec(this,_onClientConnected),_classPrivateMethodInitSpec(this,_onCameraListResponse),_classPrivateMethodInitSpec(this,_onCameraListRequest),_classPrivateMethodInitSpec(this,_sendPreview)}async onMessage(a){if(a&&"object"==typeof a)try{a.clientConnected&&_classPrivateMethodGet(this,_onClientConnected,_onClientConnected2).call(this,a),a.clientDisconnected&&_classPrivateMethodGet(this,_onClientDisconnected,_onClientDisconnected2).call(this,a),a.cameraListRequest&&_classPrivateMethodGet(this,_onCameraListRequest,_onCameraListRequest2).call(this,a),a.cameraListResponse&&_classPrivateMethodGet(this,_onCameraListResponse,_onCameraListResponse2).call(this,a),a.runtimeConfigRequest&&_classPrivateMethodGet(this,_onRuntimeConfigRequest,_onRuntimeConfigRequest2).call(this,a),a.startRequest&&_classPrivateMethodGet(this,_onStartRequest,_onStartRequest2).call(this,a),a.stopRequest&&_classPrivateMethodGet(this,_onStopRequest,_onStopRequest2).call(this,a),a.previewRequest&&_classPrivateMethodGet(this,_onPreviewRequest,_onPreviewRequest2).call(this,a),a.previewResponse&&_classPrivateMethodGet(this,_onPreviewResponse,_onPreviewResponse2).call(this,a),a.ipsaResponse&&_classPrivateMethodGet(this,_onIPSAResponse,_onIPSAResponse2).call(this,a),a.tooManyPublishers&&_classPrivateMethodGet(this,_onTooManyPublishers,_onTooManyPublishers2).call(this,a),a.recordingStarted&&_classPrivateMethodGet(this,_onRecordingStarted,_onRecordingStarted2).call(this,a),a.recordingStopped&&_classPrivateMethodGet(this,_onRecordingStopped,_onRecordingStopped2).call(this,a)}catch(a){_index.logger.error(a)}}stopStream(a){return this.writeObject({stopRequest:{},dst:{id:a}})}stopAllStreams(){return this.writeObject({stopRequest:{}})}startStream(a){let{config:b,runtimeConfig:c,camera:d,clientId:f,meetingToken:g}=a;return this.writeObject({startRequest:{config:b,runtimeConfig:c,camera:d,meetingToken:g},dst:{id:f}})}requestCameraPreview(a,b){return this.writeObject({previewRequest:{source:{id:b}},dst:{id:a}})}setRuntimeConfig(a,b){return this.writeObject({runtimeConfigRequest:b,dst:{id:a}})}getCameraList(a){return this.write({cameraListRequest:{},dst:{id:a}})}sendCameraList(a,b,c){return this.writeObject({cameraListResponse:{items:a},src:b,dst:c})}getClientStatusList(){return this.writeObject({clientStatusRequest:{}})}}exports.EventBusConnection=EventBusConnection;function _sendPreview2(a,b){return this.write({previewResponse:{image:a},dst:b})}async function _onCameraListRequest2(a){let b=await this.callSubscribers("onCameraListRequest",a.cameraListRequest);this.sendCameraList(b,a.dst,a.src)}function _onCameraListResponse2(a){this.notify("onCameraListResponse",a.cameraListResponse)}function _onClientConnected2(a){_index.logger.info("".concat(this.getName(),": client connected: "),a.src),this.notify("onClientConnected",a.src)}function _onClientDisconnected2(a){_index.logger.warn("".concat(this.getName(),": client disconnected: "),a.src),this.notify("onClientDisconnected",a.src)}function _onRuntimeConfigRequest2(a){this.notify("onRuntimeConfigRequest",a.runtimeConfigRequest)}function _onStopRequest2(a){this.notify("onStopRequest",a.stopRequest)}async function _onPreviewRequest2(a){let b=await this.callSubscribers("onPreviewRequest",a.previewRequest);_classPrivateMethodGet(this,_sendPreview,_sendPreview2).call(this,b,a.src)}function _onPreviewResponse2(a){this.notify("onPreviewResponse",a.previewResponse)}function _onStartRequest2(a){var b,c;let d=a.startRequest;!(null!==d&&void 0!==d&&null!==(b=d.camera)&&void 0!==b&&b.id)&&null!==d&&void 0!==d&&null!==(c=d.inputSource)&&void 0!==c&&c.id&&(d.camera={id:d.inputSource.id}),this.notify("onStartRequest",d)}function _onCornersReceived2(a){this.notify("onCornersReceived",a.corners.corners)}function _onIPSAResponse2(a){a&&this.notify("onIPSAResponse",a.ipsaResponse)}function _onTooManyPublishers2(a){this.notify("onTooManyPublishers",a.tooManyPublishers)}function _onRecordingStarted2(a){this.notify("onRecordingStarted",a.recordingStarted)}function _onRecordingStopped2(a){this.notify("onRecordingStopped",a.recordingStopped)}_defineProperty(EventBusConnection,"instances",new Map);
|
package/ws/meeting.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MeetingConnection=void 0,require("core-js/modules/es.global-this.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/web.url.js"),require("core-js/modules/web.url-search-params.js"),require("core-js/modules/es.array-buffer.constructor.js"),require("core-js/modules/es.array-buffer.slice.js"),require("core-js/modules/es.typed-array.uint8-array.js"),require("core-js/modules/es.typed-array.fill.js"),require("core-js/modules/es.typed-array.set.js"),require("core-js/modules/es.typed-array.sort.js"),require("core-js/modules/es.typed-array.to-locale-string.js");var _auth=require("../api/auth.js"),_config=require("../config.js"),_index=require("../utils/logger/index.js"),_retry_connection=require("./retry_connection.js"),_connection_base=require("./connection_base.js"),_types=require("../types/types.js"),_proto=require("../types/proto.js");function _classPrivateMethodInitSpec(a,b){_checkPrivateRedeclaration(a,b),b.add(a)}function _classPrivateFieldInitSpec(a,b,c){_checkPrivateRedeclaration(a,b),b.set(a,c)}function _checkPrivateRedeclaration(a,b){if(b.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateMethodGet(a,b,c){if(!b.has(a))throw new TypeError("attempted to get private field on non-instance");return c}function _classPrivateFieldGet(a,b){var c=_classExtractFieldDescriptor(a,b,"get");return _classApplyDescriptorGet(a,c)}function _classApplyDescriptorGet(a,b){return b.get?b.get.call(a):b.value}function _classPrivateFieldSet(a,b,c){var d=_classExtractFieldDescriptor(a,b,"set");return _classApplyDescriptorSet(a,d,c),c}function _classExtractFieldDescriptor(a,b,c){if(!b.has(a))throw new TypeError("attempted to "+c+" private field on non-instance");return b.get(a)}function _classApplyDescriptorSet(a,b,c){if(b.set)b.set.call(a,c);else{if(!b.writable)throw new TypeError("attempted to set read only private field");b.value=c}}function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d.default=a,c&&c.set(a,d),d}let Message=_proto.meeting.Message,ErrorCode=_proto.types.Code;(null===globalThis||void 0===globalThis?void 0:globalThis.WebSocket)==null&&Promise.resolve().then(()=>_interopRequireWildcard(require("isomorphic-ws"))).then(a=>{globalThis.WebSocket=a.default});var _expiryTimer=/*#__PURE__*/new WeakMap,_handleMessage=/*#__PURE__*/new WeakSet;class MeetingConnectionImp extends _retry_connection.RetryConnection{constructor(){super("meeting"),_classPrivateMethodInitSpec(this,_handleMessage),_classPrivateFieldInitSpec(this,_expiryTimer,{writable:!0,value:void 0}),this.meetingId=null,this.meetingToken=null,_classPrivateFieldSet(this,_expiryTimer,null)}getName(){return"".concat(super.getName(),"-").concat(this.meetingId)}async start(a){this.meetingToken=a,this.meetingClaims=new _types.MeetingClaims(a),this.meetingId=this.meetingClaims.meetindId;let b=this.meetingClaims.getSecondsUntilExpiry();return 0>=b?void this.onErrorMessage(ErrorCode.ERR_TIMEOUT,"meeting token expired"):void(_classPrivateFieldSet(this,_expiryTimer,setTimeout(()=>{this.stop(),this.onErrorMessage(ErrorCode.ERR_TIMEOUT,"meeting token expired")},b)),super.start())}async stop(){clearTimeout(_classPrivateFieldGet(this,_expiryTimer)),super.stop()}disconnect(){null!=this.socket&&(this.socket.close(),this.socket=null,_index.logger.info("meeting disconnect ",this.meetingId)),super.disconnect()}async connect(){if(this.getConnectionStatus()!=_connection_base.ConnectionStatus.DISCONNECTED)return;super.connect();let a=this;try{if(this.meetingClaims.isExpired())return void a.onErrorMessage(ErrorCode.ERR_TIMEOUT,"meeting token expired")}catch(b){return void a.onErrorMessage(ErrorCode.ERR_BAD_REQUEST,"invalid meeting token")}let b=new URL(_config.Config.apiBaseURL),c="wss://"+b.hostname+"/ws/meetings/"+this.meetingId+"?meeting_token="+this.meetingToken;this.socket=new WebSocket(c),this.socket.binaryType="arraybuffer",this.socket.addEventListener("open",function(){a.onConnected()}),this.socket.addEventListener("close",function(){a.onDisconnected()}),this.socket.addEventListener("message",function(b){_classPrivateMethodGet(a,_handleMessage,_handleMessage2).call(a,b.data)}),this.socket.addEventListener("error",function(b){a.onWarningMessage(ErrorCode.ERR_IO,b)})}async sendPointer(a,b){await super.waitForConnection();let c=await
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MeetingConnection=void 0,require("core-js/modules/es.global-this.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/web.url.js"),require("core-js/modules/web.url-search-params.js"),require("core-js/modules/es.array-buffer.constructor.js"),require("core-js/modules/es.array-buffer.slice.js"),require("core-js/modules/es.typed-array.uint8-array.js"),require("core-js/modules/es.typed-array.fill.js"),require("core-js/modules/es.typed-array.set.js"),require("core-js/modules/es.typed-array.sort.js"),require("core-js/modules/es.typed-array.to-locale-string.js");var _auth=require("../api/auth.js"),_config=require("../config.js"),_index=require("../utils/logger/index.js"),_retry_connection=require("./retry_connection.js"),_connection_base=require("./connection_base.js"),_types=require("../types/types.js"),_proto=require("../types/proto.js");function _classPrivateMethodInitSpec(a,b){_checkPrivateRedeclaration(a,b),b.add(a)}function _classPrivateFieldInitSpec(a,b,c){_checkPrivateRedeclaration(a,b),b.set(a,c)}function _checkPrivateRedeclaration(a,b){if(b.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateMethodGet(a,b,c){if(!b.has(a))throw new TypeError("attempted to get private field on non-instance");return c}function _classPrivateFieldGet(a,b){var c=_classExtractFieldDescriptor(a,b,"get");return _classApplyDescriptorGet(a,c)}function _classApplyDescriptorGet(a,b){return b.get?b.get.call(a):b.value}function _classPrivateFieldSet(a,b,c){var d=_classExtractFieldDescriptor(a,b,"set");return _classApplyDescriptorSet(a,d,c),c}function _classExtractFieldDescriptor(a,b,c){if(!b.has(a))throw new TypeError("attempted to "+c+" private field on non-instance");return b.get(a)}function _classApplyDescriptorSet(a,b,c){if(b.set)b.set.call(a,c);else{if(!b.writable)throw new TypeError("attempted to set read only private field");b.value=c}}function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d.default=a,c&&c.set(a,d),d}let Message=_proto.meeting.Message,ErrorCode=_proto.types.Code;(null===globalThis||void 0===globalThis?void 0:globalThis.WebSocket)==null&&Promise.resolve().then(()=>_interopRequireWildcard(require("isomorphic-ws"))).then(a=>{globalThis.WebSocket=a.default});var _expiryTimer=/*#__PURE__*/new WeakMap,_handleMessage=/*#__PURE__*/new WeakSet;class MeetingConnectionImp extends _retry_connection.RetryConnection{constructor(){super("meeting"),_classPrivateMethodInitSpec(this,_handleMessage),_classPrivateFieldInitSpec(this,_expiryTimer,{writable:!0,value:void 0}),this.meetingId=null,this.meetingToken=null,_classPrivateFieldSet(this,_expiryTimer,null)}getName(){return"".concat(super.getName(),"-").concat(this.meetingId)}async start(a){this.meetingToken=a,this.meetingClaims=new _types.MeetingClaims(a),this.meetingId=this.meetingClaims.meetindId;let b=this.meetingClaims.getSecondsUntilExpiry();return 0>=b?void this.onErrorMessage(ErrorCode.ERR_TIMEOUT,"meeting token expired"):void(_classPrivateFieldSet(this,_expiryTimer,setTimeout(()=>{this.stop(),this.onErrorMessage(ErrorCode.ERR_TIMEOUT,"meeting token expired")},b)),super.start())}async stop(){clearTimeout(_classPrivateFieldGet(this,_expiryTimer)),super.stop()}disconnect(){null!=this.socket&&(this.socket.close(),this.socket=null,_index.logger.info("meeting disconnect ",this.meetingId)),super.disconnect()}async connect(){if(this.getConnectionStatus()!=_connection_base.ConnectionStatus.DISCONNECTED)return;super.connect();let a=this;try{if(this.meetingClaims.isExpired())return void a.onErrorMessage(ErrorCode.ERR_TIMEOUT,"meeting token expired")}catch(b){return void a.onErrorMessage(ErrorCode.ERR_BAD_REQUEST,"invalid meeting token")}let b=new URL(_config.Config.apiBaseURL),c="wss://"+b.hostname+"/ws/meetings/"+this.meetingId+"?meeting_token="+this.meetingToken;this.socket=new WebSocket(c),this.socket.binaryType="arraybuffer",this.socket.addEventListener("open",function(){a.onConnected()}),this.socket.addEventListener("close",function(){a.onDisconnected()}),this.socket.addEventListener("message",function(b){_classPrivateMethodGet(a,_handleMessage,_handleMessage2).call(a,b.data)}),this.socket.addEventListener("error",function(b){a.onWarningMessage(ErrorCode.ERR_IO,b)})}async sendPointer(a,b){await super.waitForConnection();let c=await(0,_auth.getUserClaims)(),d=Message.fromObject({pointer:{email:c.email,x:a,y:b}}),e=Message.encode(d).finish();this.socket.send(e)}async sendDrawing(a){let{email:b,data:c}=a;await super.waitForConnection();let d=Message.fromObject({drawing:{email:b,data:c}});_index.logger.debug("".concat(this.getName(),".Drawing: "),Message.toObject(d));let e=Message.encode(d).finish();this.socket.send(e)}}async function _handleMessage2(a){try{if(a instanceof ArrayBuffer){let b=new Uint8Array(a),c=Message.decode(b);return null!==c&&void 0!==c&&c.update&&this.notify("onMeetingUpdate",c.update),null!==c&&void 0!==c&&c.drawing&&this.notify("onDrawing",c.drawing),void(null!==c&&void 0!==c&&c.pointer?this.notify("onPointer",c):null!==c&&void 0!==c&&c.join?this.notify("onMeetingJoin",c.join):null!==c&&void 0!==c&&c.leave&&this.notify("onMeetingLeave",c.leave))}}catch(a){_index.logger.error(a)}try{let b=JSON.parse(a);switch(b.code){case ErrorCode.ERR_TOO_MANY_CONNECTIONS:case ErrorCode.ERR_UNAUTHORIZED:case ErrorCode.ERR_BAD_REQUEST:case ErrorCode.ERR_TIMEOUT:this.onErrorMessage(b.code,b.reason);break;default:this.onInfoMessage(b.code,b.reason);}}catch(b){_index.logger.error(b),this.onWarningMessage(ErrorCode.ERR_IO,a)}}let MeetingConnection=new MeetingConnectionImp;exports.MeetingConnection=MeetingConnection;
|