UserHandler.mjs 797 B

123456789101112131415161718192021222324252627
  1. import { callbackify } from 'node:util'
  2. import TeamInvitesHandler from '../Subscription/TeamInvitesHandler.mjs'
  3. import { db, READ_PREFERENCE_SECONDARY } from '../../infrastructure/mongodb.mjs'
  4. async function populateTeamInvites(user) {
  5. return await TeamInvitesHandler.promises.createTeamInvitesForLegacyInvitedEmail(
  6. user.email
  7. )
  8. }
  9. async function countActiveUsers() {
  10. const oneYearAgo = new Date()
  11. oneYearAgo.setFullYear(oneYearAgo.getFullYear() - 1)
  12. return await db.users.countDocuments(
  13. { lastActive: { $gte: oneYearAgo } },
  14. { readPreference: READ_PREFERENCE_SECONDARY }
  15. )
  16. }
  17. export default {
  18. populateTeamInvites: callbackify(populateTeamInvites),
  19. countActiveUsers: callbackify(countActiveUsers),
  20. promises: {
  21. populateTeamInvites,
  22. countActiveUsers,
  23. },
  24. }