mirror of
https://github.com/overleaf/overleaf.git
synced 2024-09-23 02:55:13 -04:00
bf740f1e25
Integration: Merge soft-deletion features into master GitOrigin-RevId: 83baf730be2f256ad0d02271600392fda144b761
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
const mongoose = require('mongoose')
|
|
const Settings = require('settings-sharelatex')
|
|
const { UserSchema } = require('./User')
|
|
|
|
const { Schema } = mongoose
|
|
const { ObjectId } = Schema
|
|
|
|
const DeleterDataSchema = new Schema({
|
|
deleterId: { type: ObjectId, ref: 'User' },
|
|
deleterIpAddress: { type: String },
|
|
deletedAt: { type: Date },
|
|
deletedUserId: { type: ObjectId },
|
|
deletedUserLastLoggedIn: { type: Date },
|
|
deletedUserSignUpDate: { type: Date },
|
|
deletedUserLoginCount: { type: Number },
|
|
deletedUserReferralId: { type: String },
|
|
deletedUserReferredUsers: [{ type: ObjectId, ref: 'User' }],
|
|
deletedUserReferredUserCount: { type: Number },
|
|
deletedUserOverleafId: { type: Number }
|
|
})
|
|
|
|
const DeletedUserSchema = new Schema(
|
|
{
|
|
deleterData: DeleterDataSchema,
|
|
user: UserSchema
|
|
},
|
|
{ collection: 'deletedUsers' }
|
|
)
|
|
|
|
const conn = mongoose.createConnection(Settings.mongo.url, {
|
|
server: { poolSize: Settings.mongo.poolSize || 10 },
|
|
config: { autoIndex: false }
|
|
})
|
|
|
|
const DeletedUser = conn.model('DeletedUser', DeletedUserSchema)
|
|
|
|
mongoose.model('DeletedUser', DeletedUserSchema)
|
|
exports.DeletedUser = DeletedUser
|
|
exports.DeletedUserSchema = DeletedUserSchema
|