This repository has been archived on 2025-02-26. You can view files and clone it, but cannot push or open issues or pull requests.
szurubooru/src/Routes/Posts/DeletePost.php
2014-11-21 12:45:47 +01:00

37 lines
783 B
PHP

<?php
namespace Szurubooru\Routes\Posts;
use Szurubooru\Privilege;
use Szurubooru\Services\PostService;
use Szurubooru\Services\PrivilegeService;
class DeletePost extends AbstractPostRoute
{
private $privilegeService;
private $postService;
public function __construct(
PrivilegeService $privilegeService,
PostService $postService)
{
$this->privilegeService = $privilegeService;
$this->postService = $postService;
}
public function getMethods()
{
return ['DELETE'];
}
public function getUrl()
{
return '/api/posts/:postNameOrId';
}
public function work()
{
$this->privilegeService->assertPrivilege(Privilege::DELETE_POSTS);
$post = $this->postService->getByNameOrId($this->getArgument('postNameOrId'));
$this->postService->deletePost($post);
}
}