ProjectInvite.coffee 856 B

1234567891011121314151617181920212223242526272829
  1. mongoose = require 'mongoose'
  2. Settings = require 'settings-sharelatex'
  3. Schema = mongoose.Schema
  4. ObjectId = Schema.ObjectId
  5. THIRTY_DAYS_IN_SECONDS = 60 * 60 * 24 * 30
  6. makeExpirationDate = () ->
  7. nowInMillis = Date.now()
  8. new Date(nowInMillis + (1000 * THIRTY_DAYS_IN_SECONDS))
  9. ProjectInviteSchema = new Schema
  10. email: String
  11. token: String
  12. sendingUserId: ObjectId
  13. projectId: ObjectId
  14. privileges: String
  15. createdAt: {type: Date, default: Date.now}
  16. expiresAt: {type: Date, default: makeExpirationDate}
  17. conn = mongoose.createConnection(Settings.mongo.url, server: poolSize: Settings.mongo.poolSize || 10)
  18. ProjectInvite = conn.model('ProjectInvite', ProjectInviteSchema)
  19. mongoose.model 'ProjectInvite', ProjectInviteSchema
  20. exports.ProjectInvite = ProjectInvite
  21. exports.ProjectInviteSchema = ProjectInviteSchema