SubscriptionBackgroundTasks.coffee 997 B

123456789101112131415161718192021
  1. async = require 'async'
  2. logger = require 'logger-sharelatex'
  3. SubscriptionUpdater = require("./SubscriptionUpdater")
  4. SubscriptionLocator = require("./SubscriptionLocator")
  5. AnalyticsManager = require("../Analytics/AnalyticsManager")
  6. module.exports = SubscriptionBackgroundJobs =
  7. # TODO: Remove this one month after the ability to start free trials was removed
  8. downgradeExpiredFreeTrials: (callback = (error, subscriptions)->) ->
  9. SubscriptionLocator.expiredFreeTrials (error, subscriptions) =>
  10. return callback(error) if error?
  11. logger.log total_subscriptions:subscriptions.length, "downgraging subscriptions"
  12. downgrades = []
  13. for subscription in subscriptions
  14. do (subscription) =>
  15. downgrades.push (cb) =>
  16. logger.log subscription: subscription, "downgrading free trial"
  17. AnalyticsManager.trackFreeTrialExpired subscription.admin_id
  18. SubscriptionUpdater.downgradeFreeTrial(subscription, cb)
  19. async.series downgrades, (error) -> callback(error, subscriptions)