SubscriptionLocator.coffee 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. if user_or_id? and user_or_id._id?
  7. user_id = user_or_id._id
  8. else if user_or_id?
  9. user_id = user_or_id
  10. logger.log user_id:user_id, "getting users subscription"
  11. Subscription.findOne admin_id:user_id, (err, subscription)->
  12. logger.log user_id:user_id, "got users subscription"
  13. callback(err, subscription)
  14. findManagedSubscription: (managerId, callback)->
  15. logger.log managerId: managerId, "finding managed subscription"
  16. Subscription.findOne manager_ids: managerId, callback
  17. getMemberSubscriptions: (user_or_id, callback) ->
  18. if user_or_id? and user_or_id._id?
  19. user_id = user_or_id._id
  20. else if user_or_id?
  21. user_id = 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