use BookStack\Entities\Models\Entity;
use BookStack\Entities\Models\HasCoverImage;
use BookStack\Entities\Models\Page;
+use BookStack\Entities\Queries\EntityQueries;
use BookStack\Exceptions\NotifyException;
use BookStack\Facades\Activity;
use BookStack\Uploads\AttachmentService;
class TrashCan
{
+ public function __construct(
+ protected EntityQueries $queries,
+ ) {
+ }
+
/**
* Send a shelf to the recycle bin.
*
$attachmentService->deleteFile($attachment);
}
+ // Remove book template usages
+ $this->queries->books->start()
+ ->where('default_template_id', '=', $page->id)
+ ->update(['default_template_id' => null]);
+
+ // Remove chapter template usages
+ $this->queries->chapters->start()
+ ->where('default_template_id', '=', $page->id)
+ ->update(['default_template_id' => null]);
+
$page->forceDelete();
return 1;