Files
overleaf-cep/services/web/app/src/models/ProjectInvite.js
ilkin-overleaf f9245b8c08 Merge pull request #19071 from overleaf/ii-invite-token-remove-token-field
[web] Remove the token field from `projectInvites` collection

GitOrigin-RevId: fe8395e1d1a0ba2daad600b7e3be657f40151a8e
2024-07-04 08:05:00 +00:00

37 lines
877 B
JavaScript

const mongoose = require('../infrastructure/Mongoose')
const { Schema } = mongoose
const { ObjectId } = Schema
const EXPIRY_IN_SECONDS = 60 * 60 * 24 * 30
const ExpiryDate = function () {
const timestamp = new Date()
timestamp.setSeconds(timestamp.getSeconds() + EXPIRY_IN_SECONDS)
return timestamp
}
const ProjectInviteSchema = new Schema(
{
email: String,
tokenHmac: String,
sendingUserId: ObjectId,
projectId: ObjectId,
privileges: String,
createdAt: { type: Date, default: Date.now },
expires: {
type: Date,
default: ExpiryDate,
index: { expireAfterSeconds: 10 },
},
},
{
collection: 'projectInvites',
minimize: false,
}
)
exports.ProjectInvite = mongoose.model('ProjectInvite', ProjectInviteSchema)
exports.ProjectInviteSchema = ProjectInviteSchema
exports.EXPIRY_IN_SECONDS = EXPIRY_IN_SECONDS