Skip to content

Commit 40b59e8

Browse files
committed
feat: refactor article ID request handling and consolidate validation rules
1 parent e8c73fb commit 40b59e8

File tree

5 files changed

+10
-41
lines changed

5 files changed

+10
-41
lines changed

app/Http/Requests/BaseFormRequest.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,11 @@ protected function prepareForValidation()
1313
parent::prepareForValidation();
1414
$this->route('id') && $this->merge(['id' => $this->route('id')]);
1515
}
16+
17+
protected function idRule(string $table): array
18+
{
19+
return [
20+
'id' => ['required', 'integer', 'gt:0', "exists:{$table},id"],
21+
];
22+
}
1623
}

contexts/ArticlePublishing/Presentation/Controllers/ArticlePublishingController.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
use Contexts\ArticlePublishing\Application\Coordinators\ArticlePublishingCoordinator;
1010
use Contexts\ArticlePublishing\Presentation\Resources\ArticleResource;
1111
use Contexts\ArticlePublishing\Application\DTOs\CreateArticleDTO;
12-
use Contexts\ArticlePublishing\Presentation\Requests\PublishDraftRequest;
13-
use Contexts\ArticlePublishing\Presentation\Requests\GetArticleRequest;
1412
use Contexts\ArticlePublishing\Presentation\Requests\GetArticleListRequest;
1513
use Contexts\ArticlePublishing\Application\DTOs\GetArticleListDTO;
1614
use Contexts\ArticlePublishing\Presentation\Requests\UpdateArticleRequest;
@@ -30,15 +28,15 @@ public function createArticle(CreateArticleRequest $request)
3028
->send(201);
3129
}
3230

33-
public function publishDraft(PublishDraftRequest $request)
31+
public function publishDraft(ArticleIdRequest $request)
3432
{
3533
$id = (int)($request->validated()['id']);
3634
app(ArticlePublishingCoordinator::class)->publishDraft($id);
3735

3836
return $this->success('Article published successfully')->send();
3937
}
4038

41-
public function getArticle(GetArticleRequest $request)
39+
public function getArticle(ArticleIdRequest $request)
4240
{
4341
$id = (int)($request->validated()['id']);
4442
$result = app(ArticlePublishingCoordinator::class)->getArticle($id);

contexts/ArticlePublishing/Presentation/Requests/ArticleIdRequest.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ class ArticleIdRequest extends BaseFormRequest
1010
{
1111
public function rules(): array
1212
{
13-
return [
14-
'id' => ['required', 'integer', 'gt:0', 'exists:articles,id'],
15-
];
13+
return $this->idRule('articles');
1614
}
1715
}

contexts/ArticlePublishing/Presentation/Requests/GetArticleRequest.php

Lines changed: 0 additions & 17 deletions
This file was deleted.

contexts/ArticlePublishing/Presentation/Requests/PublishDraftRequest.php

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)