DeletedProject.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. const mongoose = require('../infrastructure/Mongoose')
  2. const { ProjectSchema } = require('./Project')
  3. const { Schema } = mongoose
  4. const { ObjectId } = Schema
  5. const DeleterDataSchema = new Schema({
  6. deleterId: { type: ObjectId, ref: 'User' },
  7. deleterIpAddress: { type: String },
  8. deletedAt: { type: Date },
  9. deletedProjectId: { type: ObjectId },
  10. deletedProjectOwnerId: { type: ObjectId, ref: 'User' },
  11. deletedProjectCollaboratorIds: [{ type: ObjectId, ref: 'User' }],
  12. deletedProjectReadOnlyIds: [{ type: ObjectId, ref: 'User' }],
  13. deletedProjectReviewerIds: [{ type: ObjectId, ref: 'User' }],
  14. deletedProjectReadWriteTokenAccessIds: [{ type: ObjectId, ref: 'User' }],
  15. deletedProjectReadOnlyTokenAccessIds: [{ type: ObjectId, ref: 'User' }],
  16. deletedProjectReadWriteToken: { type: String },
  17. deletedProjectReadOnlyToken: { type: String },
  18. deletedProjectLastUpdatedAt: { type: Date },
  19. deletedProjectOverleafId: { type: Number },
  20. deletedProjectOverleafHistoryId: { type: Schema.Types.Mixed },
  21. })
  22. const DeletedProjectSchema = new Schema(
  23. {
  24. deleterData: DeleterDataSchema,
  25. project: ProjectSchema,
  26. },
  27. { collection: 'deletedProjects', minimize: false }
  28. )
  29. exports.DeletedProject = mongoose.model('DeletedProject', DeletedProjectSchema)
  30. exports.DeletedProjectSchema = DeletedProjectSchema