DeletedProject.mjs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import mongoose from '../infrastructure/Mongoose.mjs'
  2. import { ProjectSchema } from './Project.mjs'
  3. const { Schema } = mongoose
  4. const { ObjectId } = Schema
  5. export 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. deletedReason: { type: String },
  22. })
  23. const DeletedProjectSchema = new Schema(
  24. {
  25. deleterData: DeleterDataSchema,
  26. project: ProjectSchema,
  27. },
  28. { collection: 'deletedProjects', minimize: false }
  29. )
  30. export const DeletedProject = mongoose.model(
  31. 'DeletedProject',
  32. DeletedProjectSchema
  33. )