Итерация с Node - Как прочитать базу данных с соответствующим событием. Чтобы отправить несколько SMS через Twilio - PullRequest
0 голосов
/ 02 марта 2020

В настоящее время я использую систему Okta-Twilify для каждой документации, созданной для Okta, и моя цель - создать систему sms «blast», где у каждого пользователя в базе данных Okta IdP для моей компании будет одинаковый атрибут «primaryPhone». Согласно документации:

    const okta = require("@okta/okta-sdk-nodejs");
    const MemoryStore = require("@okta/okta-sdk-nodejs/src/memory-store");

    exports.handler = function(context, event, callback) {
      const twilioClient = context.getTwilioClient();
      const oktaClient = new okta.Client({
        orgUrl: process.env.OKTA_ORG_URL,
        token: process.env.OKTA_TOKEN,
        requestExecutor: new okta.DefaultRequestExecutor(),
        cacheStore: new MemoryStore({ keyLimit: 100000, expirationPoll: null })
      });
      let user;

      oktaClient.listUsers({
        search: 'profile.primaryPhone eq "' + event.To + '"'
      }).each(u => {
        user = u;
      }).then(() => {
        twilioClient.messages.create({
          to: user.profile.mobilePhone,
          from: event.To,
          body: "SMARTBIZ ALERTS \n\n" + event.Body
        }, (err, message) => {
          callback();
        });
      });
    };

Я понимаю, что logi c для oktaClient.listUsers ищет совпадение с текстом номера I - как я могу отформатировать это так, чтобы оно отправляло сообщение каждому человеку с таким же атрибутом primaryPhone?

...