getSettings (userId) {
    return new Promise((resolve, reject) => {
      const options = {
        url: 'api/user/settings',
        method: 'GET',
        params: { userId }
      };

      Vue.axios(options)
        .then((response) => {
          let settings = response.data;
          // if the settings are empty, set smart default
          if (Object.keys(settings).length === 0) {
            settings = store.state.userSettingDefaults;
          }
          resolve(settings);
        }, (error) => {
          reject(error);
        });
    });
  }
Gets a user's settings
@param {string} userId     The unique identifier for a user
                           (only required if not the current user)
@returns {Promise} Promise A promise object that signals the completion
                           or rejection of the request.