2018-09-25 19:30:50 +08:00
|
|
|
<?php namespace BookStack\Entities;
|
|
|
|
|
2018-09-25 23:58:03 +08:00
|
|
|
/**
|
|
|
|
* Class EntityProvider
|
|
|
|
*
|
|
|
|
* Provides access to the core entity models.
|
|
|
|
* Wrapped up in this provider since they are often used together
|
|
|
|
* so this is a neater alternative to injecting all in individually.
|
|
|
|
*
|
|
|
|
* @package BookStack\Entities
|
|
|
|
*/
|
2018-09-25 19:30:50 +08:00
|
|
|
class EntityProvider
|
|
|
|
{
|
2018-09-25 23:58:03 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @var Bookshelf
|
|
|
|
*/
|
|
|
|
protected $bookshelf;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @var Book
|
|
|
|
*/
|
|
|
|
protected $book;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @var Chapter
|
|
|
|
*/
|
|
|
|
protected $chapter;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @var Page
|
|
|
|
*/
|
|
|
|
protected $page;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @var PageRevision
|
|
|
|
*/
|
|
|
|
protected $pageRevision;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* EntityProvider constructor.
|
|
|
|
* @param Bookshelf $bookshelf
|
|
|
|
* @param Book $book
|
|
|
|
* @param Chapter $chapter
|
|
|
|
* @param Page $page
|
|
|
|
* @param PageRevision $pageRevision
|
|
|
|
*/
|
|
|
|
public function __construct(
|
|
|
|
Bookshelf $bookshelf,
|
|
|
|
Book $book,
|
|
|
|
Chapter $chapter,
|
|
|
|
Page $page,
|
|
|
|
PageRevision $pageRevision
|
|
|
|
) {
|
|
|
|
$this->bookshelf = $bookshelf;
|
|
|
|
$this->book = $book;
|
|
|
|
$this->chapter = $chapter;
|
|
|
|
$this->page = $page;
|
|
|
|
$this->pageRevision = $pageRevision;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Fetch all core entity types as an associated array
|
|
|
|
* with their basic names as the keys.
|
|
|
|
* @return Entity[]
|
|
|
|
*/
|
|
|
|
public function all()
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
'bookshelf' => $this->bookshelf,
|
|
|
|
'book' => $this->book,
|
|
|
|
'chapter' => $this->chapter,
|
|
|
|
'page' => $this->page,
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2018-09-25 19:30:50 +08:00
|
|
|
}
|