static getUser (userId, cb) {
    User.#implementation.getUser(userId, async (err, data) => {
      let user;
      if (err || !data) {
        if (Auth.regressionTests) {
          user = User.#makeRegressionUser(userId, cb);
          if (!user) {
            console.log(`Not making regression user ${userId}`);
            return cb(undefined, undefined);
          }
        } else {
          return cb(err, undefined);
        }
      } else {
        user = Object.assign(new User(), data);
      }

      // If passStore is using old form re-encrypt
      /* Remove for now
      if (data.passStore.split('.').length === 1) {
        data.passStore = Auth.ha12store(Auth.store2ha1(data.passStore));
        User.setUser(data.userId, data, (err, info) => {
          console.log('Upgraded passStore for', data.userId);
        });
      }
      */

      cleanUser(user);
      user.settings = user.settings ?? {};
      await user.expandFromRoles();
      if (readOnly) {
        user.roles = user.roles.filter(role => role === 'usersAdmin');
      }
      return cb(null, user);
    });
  }
Return a user from DB, callback only