2019-05-29 05:21:06 -04:00
|
|
|
// TODO: This file was created by bulk-decaffeinate.
|
|
|
|
// Sanity-check the conversion and remove this comment.
|
|
|
|
const mongoose = require('mongoose')
|
|
|
|
const Settings = require('settings-sharelatex')
|
2019-07-18 10:18:56 -04:00
|
|
|
const { ProjectSchema } = require('./Project')
|
2019-05-29 05:21:06 -04:00
|
|
|
|
|
|
|
const { Schema } = mongoose
|
|
|
|
const { ObjectId } = Schema
|
|
|
|
|
|
|
|
const DeleterDataSchema = new Schema({
|
|
|
|
deleterId: { type: ObjectId, ref: 'User' },
|
|
|
|
deleterIpAddress: { type: String },
|
2019-07-18 10:18:56 -04:00
|
|
|
deletedAt: { type: Date },
|
|
|
|
deletedProjectId: { type: ObjectId },
|
|
|
|
deletedProjectOwnerId: { type: ObjectId, ref: 'User' },
|
|
|
|
deletedProjectCollaboratorIds: [{ type: ObjectId, ref: 'User' }],
|
|
|
|
deletedProjectReadOnlyIds: [{ type: ObjectId, ref: 'User' }],
|
|
|
|
deletedProjectReadWriteTokenAccessIds: [{ type: ObjectId, ref: 'User' }],
|
|
|
|
deletedProjectReadOnlyTokenAccessIds: [{ type: ObjectId, ref: 'User' }],
|
|
|
|
deletedProjectReadWriteToken: { type: String },
|
|
|
|
deletedProjectReadOnlyToken: { type: String },
|
|
|
|
deletedProjectLastUpdatedAt: { type: Date }
|
2019-05-29 05:21:06 -04:00
|
|
|
})
|
|
|
|
|
|
|
|
const DeletedProjectSchema = new Schema(
|
|
|
|
{
|
2019-07-18 10:18:56 -04:00
|
|
|
deleterData: DeleterDataSchema,
|
|
|
|
project: ProjectSchema
|
2019-05-29 05:21:06 -04:00
|
|
|
},
|
|
|
|
{ collection: 'deletedProjects' }
|
|
|
|
)
|
|
|
|
|
|
|
|
const conn = mongoose.createConnection(Settings.mongo.url, {
|
|
|
|
server: { poolSize: Settings.mongo.poolSize || 10 },
|
|
|
|
config: { autoIndex: false }
|
|
|
|
})
|
|
|
|
|
|
|
|
const DeletedProject = conn.model('DeletedProject', DeletedProjectSchema)
|
|
|
|
|
|
|
|
mongoose.model('DeletedProject', DeletedProjectSchema)
|
|
|
|
exports.DeletedProject = DeletedProject
|
|
|
|
exports.DeletedProjectSchema = DeletedProjectSchema
|