[
  {
    "comment": "/**\n * @module\n * @name WebinarsService\n * @version 2.42.0-lts.4 - Documentation generated on 2026/04/24T11:38:22.926Z\n * @public\n * @description\n *      This service manages .<br>\n */",
    "meta": {
      "filename": "WebinarsService.js",
      "lineno": 20,
      "columnno": 0,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "kind": "module",
    "name": "WebinarsService",
    "version": "2.42.0-lts.4 - Documentation generated on 2026/04/24T11:38:22.926Z",
    "access": "public",
    "description": "This service manages .<br>",
    "longname": "module:WebinarsService",
    "$longname": "WebinarsService",
    "$kind": "module"
  },
  {
    "comment": "",
    "meta": {
      "range": [
        1651,
        3106
      ],
      "filename": "WebinarsService.js",
      "lineno": 33,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {
        "id": "astnode100000236",
        "name": "WebinarsService_1",
        "type": "MethodDefinition",
        "paramnames": [
          "_core",
          "_eventEmitter",
          "_http",
          "_logger",
          "_startConfig"
        ]
      },
      "vars": {
        "": null
      }
    },
    "undocumented": true,
    "name": "WebinarsService_1",
    "longname": "module:WebinarsService.WebinarsService_1",
    "kind": "class",
    "memberof": "module:WebinarsService",
    "scope": "static",
    "params": [],
    "$longname": "WebinarsService.WebinarsService_1",
    "$kind": "constructor"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method createWebinar\n     * @since 2.3.0\n     * @instance\n     * @category Webinars\n     * @description\n     *  Create a webinar (2 rooms are used for it).<br>\n     * @param {string} name The name of the bubble to create.\n     * @param {string} subject Webinar subject.\n     * @param {Date} waitingRoomStartDate Waiting room start date UTC format.\n     * @param {Date} webinarStartDate Webinar start date UTC format.\n     * @param {Date} webinarEndDate Webinar end date UTC format.\n     * @param {Array<Date>} reminderDates Up to 10 webinar reminder dates UTC format.\n     * @param {string} timeZone Webinar time zone. If none, user time zone will be used.\n     * @param {boolean} register=true Is participant registration required for webinar? Default value : true.\n     * @param {string} approvalRegistrationMethod=\"automatic\" Participants approval method. If 'manual` is selected, webinar creator can choose to manually approve or reject participants. default value : automatic. Possible values : manual, automatic.\n     * @param {boolean} passwordNeeded=true If true, a password is needed when joining the webinar. This password is included in the registration confirmation email. Default value : true.\n     * @param {boolean} isOrganizer=false If true, webinar creator is also an organizer. Default value : false.\n     * @param {Array<string>} waitingRoomMultimediaURL Up to 5 URL of media to broadcast in the waiting room.\n     * @param {string} stageBackground Free field used for customization (for example a file descriptor unique identifier).\n     * @param {string} chatOption=\"participant\" Define how participants can chat with organizers. Default value : participant. Possible values : participant, visitor, private.\n     * @async\n     * @return {Promise<any, ErrorManager>}\n    \n     */",
    "meta": {
      "filename": "WebinarsService.js",
      "lineno": 235,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Webinars",
        "value": "Webinars"
      }
    ],
    "kind": "function",
    "name": "createWebinar",
    "since": "2.3.0",
    "scope": "instance",
    "description": "Create a webinar (2 rooms are used for it).<br>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The name of the bubble to create.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Webinar subject.",
        "name": "subject"
      },
      {
        "type": {
          "names": [
            "Date"
          ]
        },
        "description": "Waiting room start date UTC format.",
        "name": "waitingRoomStartDate"
      },
      {
        "type": {
          "names": [
            "Date"
          ]
        },
        "description": "Webinar start date UTC format.",
        "name": "webinarStartDate"
      },
      {
        "type": {
          "names": [
            "Date"
          ]
        },
        "description": "Webinar end date UTC format.",
        "name": "webinarEndDate"
      },
      {
        "type": {
          "names": [
            "Array.<Date>"
          ]
        },
        "description": "Up to 10 webinar reminder dates UTC format.",
        "name": "reminderDates"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Webinar time zone. If none, user time zone will be used.",
        "name": "timeZone"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": true,
        "description": "Is participant registration required for webinar? Default value : true.",
        "name": "register"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"automatic\"",
        "description": "Participants approval method. If 'manual` is selected, webinar creator can choose to manually approve or reject participants. default value : automatic. Possible values : manual, automatic.",
        "name": "approvalRegistrationMethod"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": true,
        "description": "If true, a password is needed when joining the webinar. This password is included in the registration confirmation email. Default value : true.",
        "name": "passwordNeeded"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "defaultvalue": false,
        "description": "If true, webinar creator is also an organizer. Default value : false.",
        "name": "isOrganizer"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "Up to 5 URL of media to broadcast in the waiting room.",
        "name": "waitingRoomMultimediaURL"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Free field used for customization (for example a file descriptor unique identifier).",
        "name": "stageBackground"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "defaultvalue": "\"participant\"",
        "description": "Define how participants can chat with organizers. Default value : participant. Possible values : participant, visitor, private.",
        "name": "chatOption"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:WebinarsService#createWebinar",
    "memberof": "module:WebinarsService",
    "$longname": "WebinarsService#createWebinar",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method deleteWebinar\n     * @since 2.3.0\n     * @category Webinars\n     * @instance\n     * @description\n     *  Delete a webinar.<br>\n     * @param {string} webinarId Webinar unique identifier. <br>\n     * @async\n     * @return {Promise<any, ErrorManager>}\n     */",
    "meta": {
      "filename": "WebinarsService.js",
      "lineno": 540,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Webinars",
        "value": "Webinars"
      }
    ],
    "kind": "function",
    "name": "deleteWebinar",
    "since": "2.3.0",
    "scope": "instance",
    "description": "Delete a webinar.<br>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Webinar unique identifier. <br>",
        "name": "webinarId"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:WebinarsService#deleteWebinar",
    "memberof": "module:WebinarsService",
    "$longname": "WebinarsService#deleteWebinar",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method fetchMyWebinars\n     * @since 2.3.0\n     * @instance\n     * @async\n     * @category Webinars\n     * @param {boolean} forceServerSearch Boolean to force the get of webinars's informations from server.\n     * @description\n     *    Get the webinars you own.<br>\n     *    Return a promise. <br>\n     * @return {Promise<Webinar[]>} Return Promise\n     */",
    "meta": {
      "filename": "WebinarsService.js",
      "lineno": 408,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Webinars",
        "value": "Webinars"
      }
    ],
    "kind": "function",
    "name": "fetchMyWebinars",
    "since": "2.3.0",
    "scope": "instance",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Boolean to force the get of webinars's informations from server.",
        "name": "forceServerSearch"
      }
    ],
    "description": "Get the webinars you own.<br>\n   Return a promise. <br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Array.<Webinar>>"
          ]
        },
        "description": "Return Promise"
      }
    ],
    "longname": "module:WebinarsService#fetchMyWebinars",
    "memberof": "module:WebinarsService",
    "$longname": "WebinarsService#fetchMyWebinars",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getWebinarData\n     * @since 2.3.0\n     * @instance\n     * @category Webinars\n     * @description\n     *  Get data for a given webinar.<br>\n     * @param {string} webinarId Webinar identifier.\n     * @async\n     * @return {Promise<any, ErrorManager>}\n    \n     */",
    "meta": {
      "filename": "WebinarsService.js",
      "lineno": 340,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Webinars",
        "value": "Webinars"
      }
    ],
    "kind": "function",
    "name": "getWebinarData",
    "since": "2.3.0",
    "scope": "instance",
    "description": "Get data for a given webinar.<br>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Webinar identifier.",
        "name": "webinarId"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:WebinarsService#getWebinarData",
    "memberof": "module:WebinarsService",
    "$longname": "WebinarsService#getWebinarData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method getWebinarsData\n     * @instance\n     * @category Webinars\n     * @since 2.3.0\n     * @description\n     *  Get data for webinars where requester is creator, organizer, speaker and/or participant.<br>\n     * @param {string} role filter. Possible values : creator, organizer, speaker, participant\n     * @async\n     * @return {Promise<any, ErrorManager>}\n     */",
    "meta": {
      "filename": "WebinarsService.js",
      "lineno": 375,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Webinars",
        "value": "Webinars"
      }
    ],
    "kind": "function",
    "name": "getWebinarsData",
    "scope": "instance",
    "since": "2.3.0",
    "description": "Get data for webinars where requester is creator, organizer, speaker and/or participant.<br>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "filter. Possible values : creator, organizer, speaker, participant",
        "name": "role"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:WebinarsService#getWebinarsData",
    "memberof": "module:WebinarsService",
    "$longname": "WebinarsService#getWebinarsData",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method publishAWebinarEvent\n     * @since 2.3.0\n     * @instance\n     * @category Webinars\n     * @description\n     *  When main information about the webinar event are decided, it's up to open participant registration and allow automatic email sent when some webinar information change such as:<br>\n     *  cancellation<br>\n     *  date changes<br>\n     *  speakers added or removed<br>\n     *  As a result, emailNotification boolean is set to true. This boolean is checked when a participant try to submit a registration earlier. See API POST /api/rainbow/webinar/v1.0/webinars/self-register<br>\n     * @param {string} webinarId Webinar unique identifier. <br>\n     * @async\n     * @return {Promise<any, ErrorManager>}\n    \n     */",
    "meta": {
      "filename": "WebinarsService.js",
      "lineno": 501,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Webinars",
        "value": "Webinars"
      }
    ],
    "kind": "function",
    "name": "publishAWebinarEvent",
    "since": "2.3.0",
    "scope": "instance",
    "description": "When main information about the webinar event are decided, it's up to open participant registration and allow automatic email sent when some webinar information change such as:<br>\n cancellation<br>\n date changes<br>\n speakers added or removed<br>\n As a result, emailNotification boolean is set to true. This boolean is checked when a participant try to submit a registration earlier. See API POST /api/rainbow/webinar/v1.0/webinars/self-register<br>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Webinar unique identifier. <br>",
        "name": "webinarId"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:WebinarsService#publishAWebinarEvent",
    "memberof": "module:WebinarsService",
    "$longname": "WebinarsService#publishAWebinarEvent",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method updateWebinar\n     * @since 2.3.0\n     * @category Webinars\n     * @instance\n     * @description\n     *  Update a webinar.<br>\n     * @param {string} webinarId Webinar identifier.\n     * @param {string} name The name of the bubble to create.\n     * @param {string} subject Webinar subject.\n     * @param {Date} waitingRoomStartDate Waiting room start date UTC format.\n     * @param {Date} webinarStartDate Webinar start date UTC format.\n     * @param {Date} webinarEndDate Webinar end date UTC format.\n     * @param {Array<Date>} reminderDates Up to 10 webinar reminder dates UTC format.\n     * @param {string} timeZone Webinar time zone. If none, user time zone will be used.\n     * @param {boolean} register Is participant registration required for webinar?\n     * @param {string} approvalRegistrationMethod Participants approval method. If 'manual` is selected, webinar creator can choose to manually approve or reject participants. Possible values : manual, automatic.\n     * @param {boolean} passwordNeeded If true, a password is needed when joining the webinar. This password is included in the registration confirmation email.\n     * @param {boolean} lockRegistration Turn off registration for webinar before it starts.\n     * @param {Array<string>} waitingRoomMultimediaURL Up to 5 URL of media to broadcast in the waiting room.\n     * @param {string} stageBackground Free field used for customization (for example a file descriptor unique identifier).\n     * @param {string} chatOption Define how participants can chat with organizers. Default value : participant. Possible values : participant, visitor, private.\n     * @async\n     * @return {Promise<any, ErrorManager>}\n     */",
    "meta": {
      "filename": "WebinarsService.js",
      "lineno": 292,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Webinars",
        "value": "Webinars"
      }
    ],
    "kind": "function",
    "name": "updateWebinar",
    "since": "2.3.0",
    "scope": "instance",
    "description": "Update a webinar.<br>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Webinar identifier.",
        "name": "webinarId"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "The name of the bubble to create.",
        "name": "name"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Webinar subject.",
        "name": "subject"
      },
      {
        "type": {
          "names": [
            "Date"
          ]
        },
        "description": "Waiting room start date UTC format.",
        "name": "waitingRoomStartDate"
      },
      {
        "type": {
          "names": [
            "Date"
          ]
        },
        "description": "Webinar start date UTC format.",
        "name": "webinarStartDate"
      },
      {
        "type": {
          "names": [
            "Date"
          ]
        },
        "description": "Webinar end date UTC format.",
        "name": "webinarEndDate"
      },
      {
        "type": {
          "names": [
            "Array.<Date>"
          ]
        },
        "description": "Up to 10 webinar reminder dates UTC format.",
        "name": "reminderDates"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Webinar time zone. If none, user time zone will be used.",
        "name": "timeZone"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Is participant registration required for webinar?",
        "name": "register"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Participants approval method. If 'manual` is selected, webinar creator can choose to manually approve or reject participants. Possible values : manual, automatic.",
        "name": "approvalRegistrationMethod"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "If true, a password is needed when joining the webinar. This password is included in the registration confirmation email.",
        "name": "passwordNeeded"
      },
      {
        "type": {
          "names": [
            "boolean"
          ]
        },
        "description": "Turn off registration for webinar before it starts.",
        "name": "lockRegistration"
      },
      {
        "type": {
          "names": [
            "Array.<string>"
          ]
        },
        "description": "Up to 5 URL of media to broadcast in the waiting room.",
        "name": "waitingRoomMultimediaURL"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Free field used for customization (for example a file descriptor unique identifier).",
        "name": "stageBackground"
      },
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Define how participants can chat with organizers. Default value : participant. Possible values : participant, visitor, private.",
        "name": "chatOption"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:WebinarsService#updateWebinar",
    "memberof": "module:WebinarsService",
    "$longname": "WebinarsService#updateWebinar",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @nodered true\n     * @method warnWebinarModerators\n     * @since 2.3.0\n     * @instance\n     * @category Webinars\n     * @description\n     *  When main speakers and organizers are selected, it's time to warn each of them to join the practice room. when some webinar information change such as:<br>\n     *  As a result, moderatorsSelectedAnNotified boolean is set to true.<br>\n     * @param {string} webinarId Webinar unique identifier. <br>\n     * Notes:<br>\n     * API Call Mandatory before publishing the webinar event:<br>\n     *  The webinar can't be published if webinar moderators are not warned prior.<br>\n     *  see API publishAWebinarEvent<br>\n     * @async\n     * @return {Promise<any, ErrorManager>}\n    \n     */",
    "meta": {
      "filename": "WebinarsService.js",
      "lineno": 461,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Webinars",
        "value": "Webinars"
      }
    ],
    "kind": "function",
    "name": "warnWebinarModerators",
    "since": "2.3.0",
    "scope": "instance",
    "description": "When main speakers and organizers are selected, it's time to warn each of them to join the practice room. when some webinar information change such as:<br>\n As a result, moderatorsSelectedAnNotified boolean is set to true.<br>",
    "params": [
      {
        "type": {
          "names": [
            "string"
          ]
        },
        "description": "Webinar unique identifier. <br>\nNotes:<br>\nAPI Call Mandatory before publishing the webinar event:<br>\n The webinar can't be published if webinar moderators are not warned prior.<br>\n see API publishAWebinarEvent<br>",
        "name": "webinarId"
      }
    ],
    "async": true,
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<any, ErrorManager>"
          ]
        }
      }
    ],
    "longname": "module:WebinarsService#warnWebinarModerators",
    "memberof": "module:WebinarsService",
    "$longname": "WebinarsService#warnWebinarModerators",
    "$kind": "method"
  }
]