zoom_meeting_request_raw_live_stream_privilege_handler.js

const { ZoomSDKError } = require('./settings.js');

var ZoomMeetingRequestRawLiveStreamPrivilegeHandler = (function () {
  let instance;
  /**
   * Zoom Meeting Request Raw Live Stream Privilege Handler
   * @module zoom_meeting_request_raw_live_stream_privilege_handler
   * @return {ZoomMeetingRequestRawLiveStreamPrivilegeHandler}
   */
  function init(opts) {
    
    let clientOpts = opts || {};

    // Private methods and variables
    let _addon = clientOpts.addon.GetRequestRawLiveStreamPrivilegeHandler() || null;

    return {
      /** 
       * Get the request ID.
       * @method GetRequestId
       * @return {String} If the function succeeds, the return value is the request ID.
       */
      GetRequestId: function () {
        if (_addon) {
          return _addon.GetRequestId();
        }
        return ZoomSDKError.SDKERR_UNINITIALIZE
      },
      /** 
       * Get the user ID who requested privilege.
       * @method GetRequesterId
       * @return {Number} If the function succeeds, the return value is the user ID. Otherwise, this returns 0.
       */
      GetRequesterId: function () {
        if (_addon) {
          return _addon.GetRequesterId();
        }
        return ZoomSDKError.SDKERR_UNINITIALIZE
      },
      /** 
       * Get the user name who requested privileges.
       * @method GetRequesterName
       * @return {String} If the function succeeds, the return value is the user name.
       */
      GetRequesterName: function () {
        if (_addon) {
          return _addon.GetRequesterName();
        }
        return ZoomSDKError.SDKERR_UNINITIALIZE
      },
      /** 
       * Get the broadcast URL.
       * @method GetBroadcastUrl
       * @return {String} If the function succeeds, the return value is the broadcast URL.
       */
      GetBroadcastUrl: function () {
        if (_addon) {
          return _addon.GetBroadcastUrl();
        }
        return ZoomSDKError.SDKERR_UNINITIALIZE
      },
      /** 
       * Get the broadcast name.
       * @method GetBroadcastName
       * @return {String} If the function succeeds, the return value is the broadcast name.
       */
      GetBroadcastName: function () {
        if (_addon) {
          return _addon.GetBroadcastName();
        }
        return ZoomSDKError.SDKERR_UNINITIALIZE
      },
      /** 
       * Allows the user to start raw live stream and finally self-destroy.
       * @method GrantRawLiveStreamPrivilege
       * @return {Number} If the function succeeds, the return value is SDKERR_SUCCESS. Otherwise failed.
       */
      GrantRawLiveStreamPrivilege: function () {
        if (_addon) {
          return _addon.GrantRawLiveStreamPrivilege();
        }
        return ZoomSDKError.SDKERR_UNINITIALIZE
      },
      /** 
       * Denies the user permission to start raw live stream and finally self-destroy.
       * @method DenyRawLiveStreamPrivilege
       * @return {Number} If the function succeeds, the return value is SDKERR_SUCCESS. Otherwise failed.
       */
      DenyRawLiveStreamPrivilege: function () {
        if (_addon) {
          return _addon.DenyRawLiveStreamPrivilege();
        }
        return ZoomSDKError.SDKERR_UNINITIALIZE
      }
    };
  };
  return {
    getInstance: function (opts) {
      if (!instance) {
        instance = init(opts)
      }
      return instance
    }
  };
})();

module.exports = {
  ZoomMeetingRequestRawLiveStreamPrivilegeHandler: ZoomMeetingRequestRawLiveStreamPrivilegeHandler
}