SubscriptionLocator.coffee 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Subscription = require('../../models/Subscription').Subscription
  2. logger = require("logger-sharelatex")
  3. ObjectId = require('mongoose').Types.ObjectId
  4. module.exports = SubscriptionLocator =
  5. getUsersSubscription: (user_or_id, callback)->
  6. user_id = @_getUserId(user_or_id)
  7. logger.log user_id:user_id, "getting users subscription"
  8. Subscription.findOne admin_id:user_id, (err, subscription)->
  9. logger.log user_id:user_id, "got users subscription"
  10. callback(err, subscription)
  11. findManagedSubscription: (managerId, callback)->
  12. logger.log managerId: managerId, "finding managed subscription"
  13. Subscription.findOne manager_ids: managerId, callback
  14. getManagedGroupSubscriptions: (user_or_id, callback = (error, managedSubscriptions) ->) ->
  15. user_id = @_getUserId(user_or_id)
  16. Subscription.find({
  17. manager_ids: user_or_id,
  18. groupPlan: true
  19. }).populate("admin_id").exec callback
  20. getMemberSubscriptions: (user_or_id, callback) ->
  21. user_id = @_getUserId(user_or_id)
  22. logger.log user_id: user_id, "getting users group subscriptions"
  23. Subscription.find(member_ids: user_id).populate("admin_id").exec callback
  24. getSubscription: (subscription_id, callback)->
  25. Subscription.findOne _id:subscription_id, callback
  26. getSubscriptionByMemberIdAndId: (user_id, subscription_id, callback)->
  27. Subscription.findOne {member_ids: user_id, _id:subscription_id}, {_id:1}, callback
  28. getGroupSubscriptionsMemberOf: (user_id, callback)->
  29. Subscription.find {member_ids: user_id}, {_id:1, planCode:1}, callback
  30. getGroupsWithEmailInvite: (email, callback) ->
  31. Subscription.find { invited_emails: email }, callback
  32. getGroupWithV1Id: (v1TeamId, callback) ->
  33. Subscription.findOne { "overleaf.id": v1TeamId }, callback
  34. _getUserId: (user_or_id) ->
  35. if user_or_id? and user_or_id._id?
  36. return user_or_id._id
  37. else if user_or_id?
  38. return user_or_id