X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/1c43602f4bed60a84f47735ca8bc4a399018e013..refs/pull/3391/head:/app/Entities/Models/PageRevision.php diff --git a/app/Entities/Models/PageRevision.php b/app/Entities/Models/PageRevision.php index c1a74f66b..800e5e7f2 100644 --- a/app/Entities/Models/PageRevision.php +++ b/app/Entities/Models/PageRevision.php @@ -5,68 +5,59 @@ namespace BookStack\Entities\Models; use BookStack\Auth\User; use BookStack\Model; use Carbon\Carbon; +use Illuminate\Database\Eloquent\Relations\BelongsTo; /** * Class PageRevision. * + * @property mixed $id * @property int $page_id * @property string $slug * @property string $book_slug * @property int $created_by * @property Carbon $created_at + * @property Carbon $updated_at * @property string $type * @property string $summary * @property string $markdown * @property string $html * @property int $revision_number + * @property Page $page + * @property-read ?User $createdBy */ class PageRevision extends Model { protected $fillable = ['name', 'html', 'text', 'markdown', 'summary']; + protected $hidden = ['html', 'markdown', 'restricted', 'text']; /** * Get the user that created the page revision. - * - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ - public function createdBy() + public function createdBy(): BelongsTo { return $this->belongsTo(User::class, 'created_by'); } /** * Get the page this revision originates from. - * - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ - public function page() + public function page(): BelongsTo { return $this->belongsTo(Page::class); } /** * Get the url for this revision. - * - * @param null|string $path - * - * @return string */ - public function getUrl($path = null) + public function getUrl(string $path = ''): string { - $url = $this->page->getUrl() . '/revisions/' . $this->id; - if ($path) { - return $url . '/' . trim($path, '/'); - } - - return $url; + return $this->page->getUrl('/revisions/' . $this->id . '/' . ltrim($path, '/')); } /** * Get the previous revision for the same page if existing. - * - * @return \BookStack\Entities\PageRevision|null */ - public function getPrevious() + public function getPrevious(): ?PageRevision { $id = static::newQuery()->where('page_id', '=', $this->page_id) ->where('id', '<', $this->id) @@ -84,11 +75,9 @@ class PageRevision extends Model * Included here to align with entities in similar use cases. * (Yup, Bit of an awkward hack). * - * @param $type - * - * @return bool + * @deprecated Use instanceof instead. */ - public static function isA($type) + public static function isA(string $type): bool { return $type === 'revision'; }