overleaf/services/web/app/src/models/DeletedProject.js

34 lines
1.2 KiB
JavaScript
Raw Normal View History

const mongoose = require('../infrastructure/Mongoose')
const { ProjectSchema } = require('./Project')
const { Schema } = mongoose
const { ObjectId } = Schema
const DeleterDataSchema = new Schema({
deleterId: { type: ObjectId, ref: 'User' },
deleterIpAddress: { type: String },
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 },
deletedProjectOverleafId: { type: Number },
deletedProjectOverleafHistoryId: { type: Number },
})
const DeletedProjectSchema = new Schema(
{
deleterData: DeleterDataSchema,
project: ProjectSchema,
},
{ collection: 'deletedProjects' }
)
exports.DeletedProject = mongoose.model('DeletedProject', DeletedProjectSchema)
exports.DeletedProjectSchema = DeletedProjectSchema