+ * Only provides actual saved page revision instances, Not drafts.
+ */
+ public function revisions(): HasMany
+ {
+ return $this->allRevisions()
+ ->where('type', '=', 'version')
+ ->orderBy('created_at', 'desc')
+ ->orderBy('id', 'desc');
+ }
+
+ /**
+ * Get the current revision for the page if existing.
+ */
+ public function currentRevision(): HasOne
+ {
+ return $this->hasOne(PageRevision::class)
+ ->where('type', '=', 'version')
+ ->orderBy('created_at', 'desc')
+ ->orderBy('id', 'desc');
+ }
+
+ /**
+ * Get all revision instances assigned to this page.
+ * Includes all types of revisions.