SurveyHandler.js 732 B

12345678910111213141516171819202122232425
  1. const SurveyCache = require('./SurveyCache')
  2. const SubscriptionLocator = require('../Subscription/SubscriptionLocator')
  3. const { callbackify } = require('../../util/promises')
  4. async function getSurvey(userId) {
  5. const survey = await SurveyCache.get(true)
  6. if (survey) {
  7. if (survey.options?.hasRecurlyGroupSubscription) {
  8. const hasRecurlyGroupSubscription =
  9. await SubscriptionLocator.promises.hasRecurlyGroupSubscription(userId)
  10. if (!hasRecurlyGroupSubscription) {
  11. return
  12. }
  13. }
  14. const { name, preText, linkText, url } = survey?.toObject() || {}
  15. return { name, preText, linkText, url }
  16. }
  17. }
  18. module.exports = {
  19. getSurvey: callbackify(getSurvey),
  20. promises: {
  21. getSurvey,
  22. },
  23. }