function upsertEndpoints()

in source/rest-api-handler/index.js [181:207]


function upsertEndpoints(projectID, endpoints, metadata) {
  log.trace("upsertEndpoints...");
  return new Promise((resolve, reject) => {

      var userID = '';
      endpoints.forEach(endpoint => {
        if(endpoint.User.UserId) userID = endpoint.User.UserId;
      });

      if(!userID) userID = uuidv4(); //New user so generate a UUID

      //Run these synchronously so we don't hammer the API  
      endpoints.reduce( (previousPromise, nextEndpoint) => {
        return previousPromise.then(() => {
          return upsertEndpoint(projectID, userID, nextEndpoint, metadata);
        });
      }, Promise.resolve())
      .then(()=>{
        log.debug(userID);
        resolve(userID);
      }).catch((err)=>{
        log.error(err);
        reject(err);
      });

  });
}