DeletedProject.mjs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import mongoose from '../infrastructure/Mongoose.js'
  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. })
  22. const DeletedProjectSchema = new Schema(
  23. {
  24. deleterData: DeleterDataSchema,
  25. project: ProjectSchema,
  26. },
  27. { collection: 'deletedProjects', minimize: false }
  28. )
  29. export const DeletedProject = mongoose.model(
  30. 'DeletedProject',
  31. DeletedProjectSchema
  32. )