[
  {
    "comment": "/**\n * @module\n * @public\n * @name Settings\n * @version 2.42.0-lts.4 - Documentation generated on 2026/04/24T11:38:22.926Z\n * @description\n *      This module manages the settings of the connected user. <br>\n *      <br><br>\n *      The main methods proposed in that module allow to: <br>\n *      - Get user settings <br>\n *      - Update user settings <br>\n */",
    "meta": {
      "filename": "SettingsService.js",
      "lineno": 16,
      "columnno": 0,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "kind": "module",
    "name": "Settings",
    "access": "public",
    "version": "2.42.0-lts.4 - Documentation generated on 2026/04/24T11:38:22.926Z",
    "description": "This module manages the settings of the connected user. <br>\n     <br><br>\n     The main methods proposed in that module allow to: <br>\n     - Get user settings <br>\n     - Update user settings <br>",
    "longname": "module:Settings",
    "$longname": "Settings",
    "$kind": "module"
  },
  {
    "comment": "",
    "meta": {
      "range": [
        1531,
        2203
      ],
      "filename": "SettingsService.js",
      "lineno": 33,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {
        "id": "astnode100000212",
        "name": "Settings_1",
        "type": "MethodDefinition",
        "paramnames": [
          "_core",
          "_eventEmitter",
          "_logger",
          "_startConfig"
        ]
      },
      "vars": {
        "": null
      }
    },
    "undocumented": true,
    "name": "Settings_1",
    "longname": "module:Settings.Settings_1",
    "kind": "class",
    "memberof": "module:Settings",
    "scope": "static",
    "params": [],
    "$longname": "Settings.Settings_1",
    "$kind": "constructor"
  },
  {
    "comment": "/**\n     * @public\n     * @since 2.20.0\n     * @nodered true\n     * @method getUserSettings\n     * @category Settings - Users\n     * @async\n     * @instance\n     * @description\n     *  Get current User Settings <br>\n     *  This API can only be used by user himself </br>\n     * @return {Promise<UserSettings>} A promise containing the result\n     *\n     *\n     * | Champ | Type | Description |\n     * | --- | --- | --- |\n     * | presence | String | Setting for manual user presence (used to go back to this presence when user logs in, instead of default (online))  <br>  <br>Possible values: `online`, `away`, `invisible`, `dnd` |\n     * | displayNameOrderFirstNameFirst | Boolean | Setting for user display name order<br><br>* true: firstname first<br>* false: lastname first |\n     * | activeAlarm | String | Setting for active user alarm sound |\n     * | activeNotif | String | Setting for active user notification sound |\n     * | ringingOnDnd | Boolean | Setting for allowing the user's devices to ring when receiving incoming call while being on DND. |\n     * | promptForCalendarPresence | Boolean | Setting to bypass calendar presence popup |\n     * | applyCalendarPresence optionnel | Boolean | Calendar presence should be applied as user preference settings (DND) |\n     * | promptForMsTeamsPresence | Boolean | Setting to bypass Microsoft Teams presence popup |\n     * | applyMsTeamsPresence optionnel | Boolean | Microsoft Teams presence should be applied as user preference settings (Busy/DND) |\n     * | protectionAgainstMailTypeOffline | boolean | Never receive unsolicited emails of type 'offLine' |\n     * | rainbowReadOnly | Object | Some rainbow public settings |\n     * | nbDaysBeforeWarningByMail | Integer | Notifying offline user by mail, allowed after n days after last login |\n     * | autoAnswer | Boolean | Setting to allow one rainbow client to answer incoming call initiated by external |\n     * | delayBetweenTwoWarningByMailInDays | Integer | Retry notifying offline user by mail, allowed after n days after last attempt |\n     * | autoAnswerByDeviceType | String | Setting to define the default rainbow client used for the autoAnswer feature: IOS or Androïd or Desktop (default = Desktop) |\n     *\n     */",
    "meta": {
      "filename": "SettingsService.js",
      "lineno": 88,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "since": "2.20.0",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Settings - Users",
        "value": "Settings - Users"
      }
    ],
    "kind": "function",
    "name": "getUserSettings",
    "async": true,
    "scope": "instance",
    "description": "Get current User Settings <br>\n This API can only be used by user himself </br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<UserSettings>"
          ]
        },
        "description": "A promise containing the result\n\n\n| Champ | Type | Description |\n| --- | --- | --- |\n| presence | String | Setting for manual user presence (used to go back to this presence when user logs in, instead of default (online))  <br>  <br>Possible values: `online`, `away`, `invisible`, `dnd` |\n| displayNameOrderFirstNameFirst | Boolean | Setting for user display name order<br><br>* true: firstname first<br>* false: lastname first |\n| activeAlarm | String | Setting for active user alarm sound |\n| activeNotif | String | Setting for active user notification sound |\n| ringingOnDnd | Boolean | Setting for allowing the user's devices to ring when receiving incoming call while being on DND. |\n| promptForCalendarPresence | Boolean | Setting to bypass calendar presence popup |\n| applyCalendarPresence optionnel | Boolean | Calendar presence should be applied as user preference settings (DND) |\n| promptForMsTeamsPresence | Boolean | Setting to bypass Microsoft Teams presence popup |\n| applyMsTeamsPresence optionnel | Boolean | Microsoft Teams presence should be applied as user preference settings (Busy/DND) |\n| protectionAgainstMailTypeOffline | boolean | Never receive unsolicited emails of type 'offLine' |\n| rainbowReadOnly | Object | Some rainbow public settings |\n| nbDaysBeforeWarningByMail | Integer | Notifying offline user by mail, allowed after n days after last login |\n| autoAnswer | Boolean | Setting to allow one rainbow client to answer incoming call initiated by external |\n| delayBetweenTwoWarningByMailInDays | Integer | Retry notifying offline user by mail, allowed after n days after last attempt |\n| autoAnswerByDeviceType | String | Setting to define the default rainbow client used for the autoAnswer feature: IOS or Androïd or Desktop (default = Desktop) |"
      }
    ],
    "longname": "module:Settings#getUserSettings",
    "memberof": "module:Settings",
    "$longname": "Settings#getUserSettings",
    "$kind": "method"
  },
  {
    "comment": "/**\n     * @public\n     * @since 2.20.0\n     * @nodered true\n     * @method updateUserSettings\n     * @category Settings - Users\n     * @async\n     * @param {Object} settings : user settings to update </br>\n     * { </br>\n     *   **presence** optionnel : string : Setting for manual user presence (used to go back to this presence when user logs in, instead of default (online)). Default value : `online`. Possible values : `\"online\"`, `\"away\"`, `\"invisible\"`, `\"dnd\"` </br>\n     *   **displayNameOrderFirstNameFirst** optionnel : boolean : Setting for user display name order. * true: firstname first. * false: lastname first. Default value : `true` </br>\n     *   **activeAlarm** optionnel : String : Setting for active user alarm sound. Default value : `relax1`. </br>\n     *   **activeNotif** optionnel : String : Setting for active user notification sound. Default value : `notif1`. </br>\n     *   **ringingOnDnd** optionnel : boolean : Setting for allowing devices to ring on incoming call while being on DND. Default value : `false` </br>\n     *   **protectionAgainstMailTypeOffline** optionnel : boolean : Allow never receiving unsolicited emails of type 'offLine'. Default value : `false` </br>\n     *  }   </br>\n     * @instance\n     * @description\n     *  Update current User Settings <br>\n     *  This API can only be used by user himself </br>\n     * @return {Promise<Settings, ErrorManager>} A promise containing the result\n     */",
    "meta": {
      "filename": "SettingsService.js",
      "lineno": 135,
      "columnno": 4,
      "path": "/home/jenkins/workspace/cts_Rainbow-Node-SDK_LTSDelivery/lib/services",
      "code": {}
    },
    "access": "public",
    "since": "2.20.0",
    "tags": [
      {
        "originalTitle": "nodered",
        "title": "nodered",
        "text": "true",
        "value": "true"
      },
      {
        "originalTitle": "category",
        "title": "category",
        "text": "Settings - Users",
        "value": "Settings - Users"
      }
    ],
    "kind": "function",
    "name": "updateUserSettings",
    "async": true,
    "params": [
      {
        "type": {
          "names": [
            "Object"
          ]
        },
        "description": ": user settings to update </br>\n{ </br>\n  **presence** optionnel : string : Setting for manual user presence (used to go back to this presence when user logs in, instead of default (online)). Default value : `online`. Possible values : `\"online\"`, `\"away\"`, `\"invisible\"`, `\"dnd\"` </br>\n  **displayNameOrderFirstNameFirst** optionnel : boolean : Setting for user display name order. * true: firstname first. * false: lastname first. Default value : `true` </br>\n  **activeAlarm** optionnel : String : Setting for active user alarm sound. Default value : `relax1`. </br>\n  **activeNotif** optionnel : String : Setting for active user notification sound. Default value : `notif1`. </br>\n  **ringingOnDnd** optionnel : boolean : Setting for allowing devices to ring on incoming call while being on DND. Default value : `false` </br>\n  **protectionAgainstMailTypeOffline** optionnel : boolean : Allow never receiving unsolicited emails of type 'offLine'. Default value : `false` </br>\n }   </br>",
        "name": "settings"
      }
    ],
    "scope": "instance",
    "description": "Update current User Settings <br>\n This API can only be used by user himself </br>",
    "returns": [
      {
        "type": {
          "names": [
            "Promise.<Settings, ErrorManager>"
          ]
        },
        "description": "A promise containing the result"
      }
    ],
    "longname": "module:Settings#updateUserSettings",
    "memberof": "module:Settings",
    "$longname": "Settings#updateUserSettings",
    "$kind": "method"
  }
]