namespace BookStack\Entities\Models;
use BookStack\Entities\Tools\PageContent;
+use BookStack\Facades\Permissions;
use BookStack\Uploads\Attachment;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
+use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
-use Permissions;
/**
* Class Page.
*/
class Page extends BookChild
{
- public static $listAttributes = ['name', 'id', 'slug', 'book_id', 'text', 'created_at', 'updated_at'];
- public static $contentAttributes = ['name', 'id', 'slug', 'book_id', 'html', 'text', 'created_at', 'updated_at'];
+ use HasFactory;
- protected $fillable = ['name', 'priority', 'markdown'];
+ public static $listAttributes = ['name', 'id', 'slug', 'book_id', 'chapter_id', 'draft', 'template', 'text', 'created_at', 'updated_at', 'priority'];
+ public static $contentAttributes = ['name', 'id', 'slug', 'book_id', 'chapter_id', 'draft', 'template', 'html', 'text', 'created_at', 'updated_at', 'priority'];
+
+ protected $fillable = ['name', 'priority'];
public $textField = 'text';
/**
* Check if this page has a chapter.
- *
- * @return bool
*/
- public function hasChapter()
+ public function hasChapter(): bool
{
return $this->chapter()->count() > 0;
}
/**
* Get the url of this page.
*/
- public function getUrl($path = ''): string
+ public function getUrl(string $path = ''): string
{
$parts = [
'books',
/**
* Get this page for JSON display.
*/
- public function forJsonDisplay(): Page
+ public function forJsonDisplay(): self
{
$refreshed = $this->refresh()->unsetRelations()->load(['tags', 'createdBy', 'updatedBy', 'ownedBy']);
$refreshed->setHidden(array_diff($refreshed->getHidden(), ['html', 'markdown']));