Moved JobArgs to Jobs
Reason: trying to make unique string for every possible argument in global fashion is difficult. For example it would make sense for EditPostRelationsJob to accept argument named "post-ids", but it wouldn't make much sense for AddPostJob to accept "post-ids" since it doesn't tell much. Thus, common arguments are going to be defined in top-level AbstractJob for ease of control, while more job-specific arguments are going to be specified in respective job implementations.
This commit is contained in:
parent
162b131435
commit
f383a5ed21
14 changed files with 39 additions and 42 deletions
|
@ -6,7 +6,7 @@ class CommentController
|
|||
$ret = Api::run(
|
||||
new ListCommentsJob(),
|
||||
[
|
||||
JobArgs::PAGE_NUMBER => $page,
|
||||
ListCommentsJob::PAGE_NUMBER => $page,
|
||||
]);
|
||||
|
||||
$context = getContext();
|
||||
|
@ -23,7 +23,7 @@ class CommentController
|
|||
$comment = Api::run(
|
||||
new PreviewCommentJob(),
|
||||
[
|
||||
JobArgs::TEXT => InputHelper::get('text')
|
||||
PreviewCommentJob::TEXT => InputHelper::get('text')
|
||||
]);
|
||||
|
||||
getContext()->transport->textPreview = $comment->getText();
|
||||
|
@ -37,8 +37,8 @@ class CommentController
|
|||
Api::run(
|
||||
new AddCommentJob(),
|
||||
[
|
||||
JobArgs::POST_ID => InputHelper::get('post-id'),
|
||||
JobArgs::TEXT => InputHelper::get('text')
|
||||
AddCommentJob::POST_ID => InputHelper::get('post-id'),
|
||||
AddCommentJob::TEXT => InputHelper::get('text')
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -55,8 +55,8 @@ class CommentController
|
|||
Api::run(
|
||||
new EditCommentJob(),
|
||||
[
|
||||
JobArgs::COMMENT_ID => $id,
|
||||
JobArgs::TEXT => InputHelper::get('text')
|
||||
EditCommentJob::COMMENT_ID => $id,
|
||||
EditCommentJob::TEXT => InputHelper::get('text')
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ class CommentController
|
|||
$comment = Api::run(
|
||||
new DeleteCommentJob(),
|
||||
[
|
||||
JobArgs::COMMENT_ID => $id,
|
||||
DeleteCommentJob::COMMENT_ID => $id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,9 +30,9 @@ class LogController
|
|||
$ret = Api::run(
|
||||
new GetLogJob(),
|
||||
[
|
||||
JobArgs::PAGE_NUMBER => $page,
|
||||
JobArgs::LOG_ID => $name,
|
||||
JobArgs::QUERY => $filter,
|
||||
GetLogJob::PAGE_NUMBER => $page,
|
||||
GetLogJob::LOG_ID => $name,
|
||||
GetLogJob::QUERY => $filter,
|
||||
]);
|
||||
|
||||
//stylize important lines
|
||||
|
|
|
@ -42,8 +42,8 @@ class PostController
|
|||
$ret = Api::run(
|
||||
new ListPostsJob(),
|
||||
[
|
||||
JobArgs::PAGE_NUMBER => $page,
|
||||
JobArgs::QUERY => $query
|
||||
ListPostsJob::PAGE_NUMBER => $page,
|
||||
ListPostsJob::QUERY => $query
|
||||
]);
|
||||
|
||||
$context->transport->posts = $ret->posts;
|
||||
|
@ -78,9 +78,9 @@ class PostController
|
|||
Api::run(
|
||||
new TogglePostTagJob(),
|
||||
[
|
||||
JobArgs::POST_ID => $id,
|
||||
JobArgs::TAG_NAME => $tag,
|
||||
JobArgs::STATE => $enable,
|
||||
TogglePostTagJob::POST_ID => $id,
|
||||
TogglePostTagJob::TAG_NAME => $tag,
|
||||
TogglePostTagJob::STATE => $enable,
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,15 @@
|
|||
<?php
|
||||
abstract class AbstractJob
|
||||
{
|
||||
const COMMENT_ID = 'comment-id';
|
||||
const POST_ID = 'post-id';
|
||||
const TAG_NAME = 'tag-name';
|
||||
const TEXT = 'text';
|
||||
const PAGE_NUMBER = 'page-number';
|
||||
const QUERY = 'query';
|
||||
const LOG_ID = 'log-id';
|
||||
const STATE = 'state';
|
||||
|
||||
protected $arguments;
|
||||
|
||||
public function prepare()
|
||||
|
|
|
@ -5,7 +5,7 @@ abstract class AbstractPostEditJob extends AbstractJob
|
|||
|
||||
public function prepare()
|
||||
{
|
||||
$postId = $this->getArgument(JobArgs::POST_ID);
|
||||
$postId = $this->getArgument(self::POST_ID);
|
||||
$this->post = PostModel::findByIdOrName($postId);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
<?php
|
||||
class JobArgs
|
||||
{
|
||||
const COMMENT_ID = 'comment-id';
|
||||
const POST_ID = 'post-id';
|
||||
const TAG_NAME = 'tag-name';
|
||||
const TEXT = 'text';
|
||||
const PAGE_NUMBER = 'page-number';
|
||||
const QUERY = 'query';
|
||||
const LOG_ID = 'log-id';
|
||||
const STATE = 'state';
|
||||
}
|
|
@ -4,8 +4,8 @@ class AddCommentJob extends AbstractJob
|
|||
public function execute()
|
||||
{
|
||||
$user = Auth::getCurrentUser();
|
||||
$post = PostModel::findById($this->getArgument(JobArgs::POST_ID));
|
||||
$text = CommentModel::validateText($this->getArgument(JobArgs::TEXT));
|
||||
$post = PostModel::findById($this->getArgument(self::POST_ID));
|
||||
$text = CommentModel::validateText($this->getArgument(self::TEXT));
|
||||
|
||||
$comment = CommentModel::spawn();
|
||||
$comment->setCommenter($user);
|
||||
|
|
|
@ -5,7 +5,7 @@ class DeleteCommentJob extends AbstractJob
|
|||
|
||||
public function prepare()
|
||||
{
|
||||
$this->comment = CommentModel::findById($this->getArgument(JobArgs::COMMENT_ID));
|
||||
$this->comment = CommentModel::findById($this->getArgument(self::COMMENT_ID));
|
||||
}
|
||||
|
||||
public function execute()
|
||||
|
|
|
@ -5,7 +5,7 @@ class EditCommentJob extends AbstractJob
|
|||
|
||||
public function prepare()
|
||||
{
|
||||
$this->comment = CommentModel::findById($this->getArgument(JobArgs::COMMENT_ID));
|
||||
$this->comment = CommentModel::findById($this->getArgument(self::COMMENT_ID));
|
||||
}
|
||||
|
||||
public function execute()
|
||||
|
@ -13,7 +13,7 @@ class EditCommentJob extends AbstractJob
|
|||
$comment = $this->comment;
|
||||
|
||||
$comment->commentDate = time();
|
||||
$comment->text = CommentModel::validateText($this->getArgument(JobArgs::TEXT));
|
||||
$comment->text = CommentModel::validateText($this->getArgument(self::TEXT));
|
||||
|
||||
CommentModel::save($comment);
|
||||
LogHelper::log('{user} edited comment in {post}', [
|
||||
|
|
|
@ -3,9 +3,9 @@ class GetLogJob extends AbstractJob
|
|||
{
|
||||
public function execute()
|
||||
{
|
||||
$page = $this->getArgument(JobArgs::PAGE_NUMBER);
|
||||
$name = $this->getArgument(JobArgs::LOG_ID);
|
||||
$query = $this->getArgument(JobArgs::QUERY);
|
||||
$page = $this->getArgument(self::PAGE_NUMBER);
|
||||
$name = $this->getArgument(self::LOG_ID);
|
||||
$query = $this->getArgument(self::QUERY);
|
||||
|
||||
//parse input
|
||||
$page = max(1, intval($page));
|
||||
|
|
|
@ -3,7 +3,7 @@ class ListCommentsJob extends AbstractJob
|
|||
{
|
||||
public function execute()
|
||||
{
|
||||
$page = $this->getArgument(JobArgs::PAGE_NUMBER);
|
||||
$page = $this->getArgument(self::PAGE_NUMBER);
|
||||
|
||||
$page = max(1, intval($page));
|
||||
$commentsPerPage = intval(getConfig()->comments->commentsPerPage);
|
||||
|
|
|
@ -3,8 +3,8 @@ class ListPostsJob extends AbstractJob
|
|||
{
|
||||
public function execute()
|
||||
{
|
||||
$page = $this->getArgument(JobArgs::PAGE_NUMBER);
|
||||
$query = $this->getArgument(JobArgs::QUERY);
|
||||
$page = $this->getArgument(self::PAGE_NUMBER);
|
||||
$query = $this->getArgument(self::QUERY);
|
||||
|
||||
$page = max(1, intval($page));
|
||||
$postsPerPage = intval(getConfig()->browsing->postsPerPage);
|
||||
|
|
|
@ -4,7 +4,7 @@ class PreviewCommentJob extends AbstractJob
|
|||
public function execute()
|
||||
{
|
||||
$user = Auth::getCurrentUser();
|
||||
$text = CommentModel::validateText($this->getArgument(JobArgs::TEXT));
|
||||
$text = CommentModel::validateText($this->getArgument(self::TEXT));
|
||||
|
||||
$comment = CommentModel::spawn();
|
||||
$comment->setCommenter($user);
|
||||
|
|
|
@ -3,8 +3,8 @@ class TogglePostTagJob extends AbstractPostEditJob
|
|||
{
|
||||
public function execute()
|
||||
{
|
||||
$tagName = $this->getArgument(JobArgs::TAG_NAME);
|
||||
$enable = boolval($this->getArgument(JobArgs::STATE));
|
||||
$tagName = $this->getArgument(self::TAG_NAME);
|
||||
$enable = boolval($this->getArgument(self::STATE));
|
||||
$post = $this->post;
|
||||
|
||||
$tags = $post->getTags();
|
||||
|
|
Loading…
Reference in a new issue