|
|
@@ -4,15 +4,21 @@ Settings = require 'settings-sharelatex'
|
|
|
Schema = mongoose.Schema
|
|
|
ObjectId = Schema.ObjectId
|
|
|
|
|
|
+THIRTY_DAYS_IN_SECONDS = 60 * 60 * 24 * 30
|
|
|
+
|
|
|
+makeExpirationDate = () ->
|
|
|
+ nowInMillis = Date.now()
|
|
|
+ new Date(nowInMillis + (1000 * THIRTY_DAYS_IN_SECONDS))
|
|
|
+
|
|
|
+
|
|
|
ProjectInviteSchema = new Schema
|
|
|
- project_id: ObjectId
|
|
|
- from_user_id: ObjectId
|
|
|
- privilegeLevel: String
|
|
|
- # For existing users
|
|
|
- to_user_id: ObjectId
|
|
|
- # For non-existant users
|
|
|
- hashed_token: String
|
|
|
email: String
|
|
|
+ token: String
|
|
|
+ sendingUserId: ObjectId
|
|
|
+ projectId: ObjectId
|
|
|
+ privileges: String
|
|
|
+ createdAt: {type: Date, default: Date.now}
|
|
|
+ expiresAt: {type: Date, default: makeExpirationDate}
|
|
|
|
|
|
conn = mongoose.createConnection(Settings.mongo.url, server: poolSize: Settings.mongo.poolSize || 10)
|
|
|
|
|
|
@@ -20,4 +26,4 @@ ProjectInvite = conn.model('ProjectInvite', ProjectInviteSchema)
|
|
|
|
|
|
mongoose.model 'ProjectInvite', ProjectInviteSchema
|
|
|
exports.ProjectInvite = ProjectInvite
|
|
|
-exports.ProjectInviteSchema = ProjectInviteSchema
|
|
|
+exports.ProjectInviteSchema = ProjectInviteSchema
|