Как я могу проверить, существует ли пользователь, прежде чем вызывать smooch.appUsers.get?

Я разрабатываю сервис с помощью Smooch, используя пакет smooch-core NPM.

Прежде чем создать пользователя, я хочу проверить, существует ли этот конкретный идентификатор пользователя в моем приложении, и если нет, я хочу создать нового пользователя.

Вот мой код:

try {
      await this.smooch.appUsers.get(appId, userId);
    } catch (err) {
      await this.smooch.appUsers.create(appId, userId);
      await this.smooch.appUsers.get(appId, userId);
    }

Я всегда получаю ошибку 404, когда пытаюсь получить информацию о пользователе с несуществующим идентификатором (smooch.appUsers.get), что я не считаю хорошим способом.

Есть ли другой способ проверить, существует ли пользователь?


person Woojin Jeong    schedule 30.07.2018    source источник


Ответы (1)


404 user_not_found — это официально поддерживаемый способ узнать, когда пользователь не существует. В качестве альтернативы вы можете позвонить appUsers.create, не выполняя сначала appUsers.get, и вы получите 409 conflict в случае, если пользователь уже существует.

Также обратите внимание, что вызов .create возвращает созданного пользователя, поэтому вам не нужно делать второй .get после этого (ссылаясь на опубликованный вами фрагмент)

person michaels    schedule 31.07.2018