feat: Trash (#1082)

* wip: trash

* Enable restoration of deleted documents

* update Trash icon

* Add endpoint to trigger garbage collection

* fix: account for drafts

* fix: Archived documents should be deletable

* fix: Missing delete cascade

* bump: upgrade rich-markdown-editor
This commit is contained in:
Tom Moor
2019-11-18 18:51:32 -08:00
committed by GitHub
parent 14f6e6abad
commit e404955394
20 changed files with 346 additions and 30 deletions

View File

@ -147,9 +147,11 @@ Document.associate = models => {
});
Document.hasMany(models.Backlink, {
as: 'backlinks',
onDelete: 'cascade',
});
Document.hasMany(models.Star, {
as: 'starred',
onDelete: 'cascade',
});
Document.hasMany(models.View, {
as: 'views',
@ -514,6 +516,10 @@ Document.prototype.unarchive = async function(userId) {
await collection.addDocumentToStructure(this);
this.collection = collection;
if (this.deletedAt) {
await this.restore();
}
this.archivedAt = null;
this.lastModifiedById = userId;
await this.save();