SubscriptionRouter.coffee 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. AuthenticationController = require('../Authentication/AuthenticationController')
  2. SubscriptionController = require('./SubscriptionController')
  3. SubscriptionGroupController = require './SubscriptionGroupController'
  4. Settings = require "settings-sharelatex"
  5. module.exports =
  6. apply: (app) ->
  7. return unless Settings.enableSubscriptions
  8. app.get '/user/subscription/plans', SubscriptionController.plansPage
  9. app.get '/user/subscription', AuthenticationController.requireLogin(), SubscriptionController.userSubscriptionPage
  10. app.get '/user/subscription/custom_account', AuthenticationController.requireLogin(), SubscriptionController.userCustomSubscriptionPage
  11. app.get '/user/subscription/new', AuthenticationController.requireLogin(), SubscriptionController.paymentPage
  12. app.get '/user/subscription/billing-details/edit', AuthenticationController.requireLogin(), SubscriptionController.editBillingDetailsPage
  13. app.get '/user/subscription/thank-you', AuthenticationController.requireLogin(), SubscriptionController.successful_subscription
  14. app.get '/subscription/group', AuthenticationController.requireLogin(), SubscriptionGroupController.renderSubscriptionGroupAdminPage
  15. app.post '/subscription/group/user', AuthenticationController.requireLogin(), SubscriptionGroupController.addUserToGroup
  16. app.del '/subscription/group/user/:user_id', AuthenticationController.requireLogin(), SubscriptionGroupController.removeUserFromGroup
  17. #recurly callback
  18. app.post '/user/subscription/callback', SubscriptionController.recurlyNotificationParser, SubscriptionController.recurlyCallback
  19. app.ignoreCsrf("post", '/user/subscription/callback')
  20. #user changes their account state
  21. app.post '/user/subscription/create', AuthenticationController.requireLogin(), SubscriptionController.createSubscription
  22. app.post '/user/subscription/update', AuthenticationController.requireLogin(), SubscriptionController.updateSubscription
  23. app.post '/user/subscription/cancel', AuthenticationController.requireLogin(), SubscriptionController.cancelSubscription
  24. app.post '/user/subscription/reactivate', AuthenticationController.requireLogin(), SubscriptionController.reactivateSubscription
  25. app.get "/user/subscription/upgrade-annual", AuthenticationController.requireLogin(), SubscriptionController.renderUpgradeToAnnualPlanPage
  26. app.post "/user/subscription/upgrade-annual", AuthenticationController.requireLogin(), SubscriptionController.processUpgradeToAnnualPlan