UserHandler.js 837 B

12345678910111213141516171819202122232425262728293031
  1. const { callbackify, promisify } = require('@overleaf/promise-utils')
  2. const TeamInvitesHandler = require('../Subscription/TeamInvitesHandler')
  3. const {
  4. db,
  5. READ_PREFERENCE_SECONDARY,
  6. } = require('../../infrastructure/mongodb')
  7. function populateTeamInvites(user, callback) {
  8. TeamInvitesHandler.createTeamInvitesForLegacyInvitedEmail(
  9. user.email,
  10. callback
  11. )
  12. }
  13. async function countActiveUsers() {
  14. const oneYearAgo = new Date()
  15. oneYearAgo.setFullYear(oneYearAgo.getFullYear() - 1)
  16. return await db.users.countDocuments(
  17. { lastActive: { $gte: oneYearAgo } },
  18. { readPreference: READ_PREFERENCE_SECONDARY }
  19. )
  20. }
  21. module.exports = {
  22. populateTeamInvites,
  23. countActiveUsers: callbackify(countActiveUsers),
  24. }
  25. module.exports.promises = {
  26. populateTeamInvites: promisify(populateTeamInvites),
  27. countActiveUsers,
  28. }