Puts it in-line with how Laravel recommend.
/**
* Update an uploaded attachment.
- * @param int $attachmentId
* @param Request $request
+ * @param int $attachmentId
* @return mixed
+ * @throws \Illuminate\Validation\ValidationException
*/
- public function uploadUpdate($attachmentId, Request $request)
+ public function uploadUpdate(Request $request, $attachmentId)
{
$this->validate($request, [
'uploaded_to' => 'required|integer|exists:pages,id',
/**
* Update the details of an existing file.
- * @param $attachmentId
* @param Request $request
+ * @param $attachmentId
* @return Attachment|mixed
+ * @throws \Illuminate\Validation\ValidationException
*/
- public function update($attachmentId, Request $request)
+ public function update(Request $request, $attachmentId)
{
$this->validate($request, [
'uploaded_to' => 'required|integer|exists:pages,id',
/**
* Update the attachment sorting.
- * @param $pageId
* @param Request $request
+ * @param $pageId
* @return mixed
+ * @throws \Illuminate\Validation\ValidationException
*/
- public function sortForPage($pageId, Request $request)
+ public function sortForPage(Request $request, $pageId)
{
$this->validate($request, [
'files' => 'required|array',
/**
* The callback for social login services.
- * @param $socialDriver
* @param Request $request
+ * @param string $socialDriver
* @return RedirectResponse|Redirector
* @throws SocialSignInException
* @throws UserRegistrationException
* @throws SocialDriverNotConfigured
*/
- public function socialCallback($socialDriver, Request $request)
+ public function socialCallback(Request $request, string $socialDriver)
{
if (!session()->has('social-callback')) {
throw new SocialSignInException(trans('errors.social_no_action_defined'), '/login');
/**
* Sets the password for an invited user and then grants them access.
- * @param string $token
* @param Request $request
+ * @param string $token
* @return RedirectResponse|Redirector
* @throws Exception
*/
- public function setPassword(string $token, Request $request)
+ public function setPassword(Request $request, string $token)
{
$this->validate($request, [
'password' => 'required|min:8'
/**
* Display the specified book.
- * @param $slug
* @param Request $request
+ * @param string $slug
* @return Response
* @throws \BookStack\Exceptions\NotFoundException
*/
- public function show($slug, Request $request)
+ public function show(Request $request, string $slug)
{
$book = $this->entityRepo->getBySlug('book', $slug);
$this->checkOwnablePermission('book-view', $book);
/**
* Saves an array of sort mapping to pages and chapters.
- * @param string $bookSlug
* @param Request $request
+ * @param string $bookSlug
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
+ * @throws \BookStack\Exceptions\NotFoundException
*/
- public function saveSort($bookSlug, Request $request)
+ public function saveSort(Request $request, string $bookSlug)
{
$book = $this->entityRepo->getBySlug('book', $bookSlug);
$this->checkOwnablePermission('book-update', $book);
/**
* Set the restrictions for this book.
- * @param $bookSlug
* @param Request $request
+ * @param string $bookSlug
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
* @throws \BookStack\Exceptions\NotFoundException
* @throws \Throwable
*/
- public function permissions($bookSlug, Request $request)
+ public function permissions(Request $request, string $bookSlug)
{
$book = $this->entityRepo->getBySlug('book', $bookSlug);
$this->checkOwnablePermission('restrictions-manage', $book);
/**
* Set the permissions for this bookshelf.
- * @param string $slug
* @param Request $request
+ * @param string $slug
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
* @throws \BookStack\Exceptions\NotFoundException
* @throws \Throwable
*/
- public function permissions(string $slug, Request $request)
+ public function permissions(Request $request, string $slug)
{
$shelf = $this->entityRepo->getBySlug('bookshelf', $slug);
$this->checkOwnablePermission('restrictions-manage', $shelf);
/**
* Store a newly created chapter in storage.
- * @param $bookSlug
- * @param Request $request
+ * @param Request $request
+ * @param string $bookSlug
* @return Response
+ * @throws \BookStack\Exceptions\NotFoundException
+ * @throws \Illuminate\Validation\ValidationException
*/
- public function store($bookSlug, Request $request)
+ public function store(Request $request, string $bookSlug)
{
$this->validate($request, [
'name' => 'required|string|max:255'
/**
* Update the specified chapter in storage.
- * @param Request $request
- * @param $bookSlug
- * @param $chapterSlug
+ * @param Request $request
+ * @param string $bookSlug
+ * @param string $chapterSlug
* @return Response
* @throws \BookStack\Exceptions\NotFoundException
*/
- public function update(Request $request, $bookSlug, $chapterSlug)
+ public function update(Request $request, string $bookSlug, string $chapterSlug)
{
$chapter = $this->entityRepo->getBySlug('chapter', $chapterSlug, $bookSlug);
$this->checkOwnablePermission('chapter-update', $chapter);
/**
* Perform the move action for a chapter.
- * @param $bookSlug
- * @param $chapterSlug
* @param Request $request
+ * @param string $bookSlug
+ * @param string $chapterSlug
* @return mixed
* @throws \BookStack\Exceptions\NotFoundException
*/
- public function move($bookSlug, $chapterSlug, Request $request)
+ public function move(Request $request, string $bookSlug, string $chapterSlug)
{
$chapter = $this->entityRepo->getBySlug('chapter', $chapterSlug, $bookSlug);
$this->checkOwnablePermission('chapter-update', $chapter);
/**
* Set the restrictions for this chapter.
- * @param $bookSlug
- * @param $chapterSlug
* @param Request $request
+ * @param string $bookSlug
+ * @param string $chapterSlug
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
* @throws \BookStack\Exceptions\NotFoundException
* @throws \Throwable
*/
- public function permissions($bookSlug, $chapterSlug, Request $request)
+ public function permissions(Request $request, string $bookSlug, string $chapterSlug)
{
$chapter = $this->entityRepo->getBySlug('chapter', $chapterSlug, $bookSlug);
$this->checkOwnablePermission('restrictions-manage', $chapter);
/**
* Update image details
- * @param integer $id
* @param Request $request
+ * @param integer $id
* @return \Illuminate\Http\JsonResponse
* @throws ImageUploadException
* @throws \Exception
*/
- public function update($id, Request $request)
+ public function update(Request $request, $id)
{
$this->validate($request, [
'name' => 'required|min:2|string'
/**
* Does the action of moving the location of a page
+ * @param Request $request
* @param string $bookSlug
* @param string $pageSlug
- * @param Request $request
* @return mixed
* @throws NotFoundException
+ * @throws \Throwable
*/
- public function move($bookSlug, $pageSlug, Request $request)
+ public function move(Request $request, string $bookSlug, string $pageSlug)
{
$page = $this->pageRepo->getPageBySlug($pageSlug, $bookSlug);
$this->checkOwnablePermission('page-update', $page);
/**
* Create a copy of a page within the requested target destination.
+ * @param Request $request
* @param string $bookSlug
* @param string $pageSlug
- * @param Request $request
* @return mixed
* @throws NotFoundException
+ * @throws \Throwable
*/
- public function copy($bookSlug, $pageSlug, Request $request)
+ public function copy(Request $request, string $bookSlug, string $pageSlug)
{
$page = $this->pageRepo->getPageBySlug($pageSlug, $bookSlug);
$this->checkOwnablePermission('page-view', $page);
* @throws NotFoundException
* @throws \Throwable
*/
- public function permissions($bookSlug, $pageSlug, Request $request)
+ public function permissions(Request $request, string $bookSlug, string $pageSlug)
{
$page = $this->pageRepo->getPageBySlug($pageSlug, $bookSlug);
$this->checkOwnablePermission('restrictions-manage', $page);
/**
* Updates a user role.
- * @param $id
* @param Request $request
+ * @param $id
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
* @throws PermissionsException
+ * @throws \Illuminate\Validation\ValidationException
*/
- public function updateRole($id, Request $request)
+ public function updateRole(Request $request, $id)
{
$this->checkPermission('user-roles-manage');
$this->validate($request, [
/**
* Delete a role from the system,
* Migrate from a previous role if set.
- * @param $id
* @param Request $request
+ * @param $id
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
- public function deleteRole($id, Request $request)
+ public function deleteRole(Request $request, $id)
{
$this->checkPermission('user-roles-manage');
/**
* Update the user's preferred book-list display setting.
- * @param $id
* @param Request $request
+ * @param $id
* @return \Illuminate\Http\RedirectResponse
*/
- public function switchBookView($id, Request $request)
+ public function switchBookView(Request $request, $id)
{
return $this->switchViewType($id, $request, 'books');
}
/**
* Update the user's preferred shelf-list display setting.
- * @param $id
* @param Request $request
+ * @param $id
* @return \Illuminate\Http\RedirectResponse
*/
- public function switchShelfView($id, Request $request)
+ public function switchShelfView(Request $request, $id)
{
return $this->switchViewType($id, $request, 'bookshelves');
}
/**
* Change the stored sort type for a particular view.
+ * @param Request $request
* @param string $id
* @param string $type
- * @param Request $request
* @return \Illuminate\Http\RedirectResponse
*/
- public function changeSort(string $id, string $type, Request $request)
+ public function changeSort(Request $request, string $id, string $type)
{
$validSortTypes = ['books', 'bookshelves'];
if (!in_array($type, $validSortTypes)) {
/**
* Update the stored section expansion preference for the given user.
+ * @param Request $request
* @param string $id
* @param string $key
- * @param Request $request
* @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
*/
- public function updateExpansionPreference(string $id, string $key, Request $request)
+ public function updateExpansionPreference(Request $request, string $id, string $key)
{
$this->checkPermissionOrCurrentUser('users-manage', $id);
$keyWhitelist = ['home-details'];