88 lines
2.3 KiB
PHP
88 lines
2.3 KiB
PHP
<?php
|
|
namespace OCA\MyWiki\Controller;
|
|
|
|
use OCP\IRequest;
|
|
use OCP\AppFramework\Http\DataResponse;
|
|
use OCP\AppFramework\Controller;
|
|
|
|
use OCA\MyWiki\Service\WikiPageService;
|
|
|
|
class WikiPageController extends Controller {
|
|
|
|
private $service;
|
|
private $userId;
|
|
|
|
use Errors;
|
|
|
|
public function __construct(string $AppName, IRequest $request, WikiPageService $service, $UserId){
|
|
parent::__construct($AppName, $request);
|
|
$this->service = $service;
|
|
$this->userId = $UserId;
|
|
}
|
|
|
|
/**
|
|
* @NoAdminRequired
|
|
*
|
|
* @param int $wikiId
|
|
*/
|
|
public function index(int $wikiId) {
|
|
return $this->handleNotFound(function () use ($wikiId) {
|
|
return $this->service->findAll($wikiId, $this->userId);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* @NoAdminRequired
|
|
*
|
|
* @param int $wikiId
|
|
* @param int $id
|
|
*/
|
|
public function show(int $wikiId, int $id) {
|
|
return $this->handleNotFound(function () use ($wikiId, $id) {
|
|
return $this->service->find($wikiId, $id, $this->userId);
|
|
});
|
|
}
|
|
|
|
|
|
/**
|
|
* @NoAdminRequired
|
|
*
|
|
* @param int $wikiId
|
|
* @param int $parentFolderId
|
|
* @param string $title
|
|
* @param ?string $content
|
|
*/
|
|
public function create(int $wikiId, int $pid, string $title, ?string $content) {
|
|
return $this->handleReadOnly(function () use ($wikiId, $pid, $title, $content) {
|
|
return $this->service->create($wikiId, $pid, $title, $content, $this->userId);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* @NoAdminRequired
|
|
*
|
|
* @param int $wikiId
|
|
* @param int $id
|
|
* @param string $title
|
|
* @param string $content
|
|
*/
|
|
public function update(int $wikiId, int $id, ?string $title, ?string $content) {
|
|
return $this->handleNotFound(function () use ($wikiId, $id, $title, $content) {
|
|
return $this->service->update($wikiId, $id, $title, $content, $this->userId);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* @NoAdminRequired
|
|
*
|
|
* @param int $wikiId
|
|
* @param int $id
|
|
* @param bool $removeFiles
|
|
*/
|
|
public function destroy(int $wikiId, int $id) {
|
|
return $this->handleNotFound(function () use ($wikiId, $id) {
|
|
return $this->service->delete($wikiId, $id, $this->userId);
|
|
});
|
|
}
|
|
|
|
} |