6486ef3e1e
* [web] Add deletedReason parameter to project deletion methods * revert sinon.match.any in ProjectDuplicator negative assertion Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> GitOrigin-RevId: d1595eefe0e36150231ee9646fe5eba0786fd1f5
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
import mongoose from '../infrastructure/Mongoose.mjs'
|
|
import { ProjectSchema } from './Project.mjs'
|
|
|
|
const { Schema } = mongoose
|
|
const { ObjectId } = Schema
|
|
|
|
export 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' }],
|
|
deletedProjectReviewerIds: [{ 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: Schema.Types.Mixed },
|
|
deletedReason: { type: String },
|
|
})
|
|
|
|
const DeletedProjectSchema = new Schema(
|
|
{
|
|
deleterData: DeleterDataSchema,
|
|
project: ProjectSchema,
|
|
},
|
|
{ collection: 'deletedProjects', minimize: false }
|
|
)
|
|
|
|
export const DeletedProject = mongoose.model(
|
|
'DeletedProject',
|
|
DeletedProjectSchema
|
|
)
|