Remove unused rule.

This commit is contained in:
James Cole 2020-10-31 06:47:29 +01:00
parent 09247cc30b
commit b9963ce0bf
No known key found for this signature in database
GPG Key ID: B5669F9493CDE38D
5 changed files with 38 additions and 63 deletions

View File

@ -23,7 +23,8 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Controllers;
use FireflyIII\Api\V1\Requests\CategoryRequest;
use FireflyIII\Api\V1\Requests\CategoryStoreRequest;
use FireflyIII\Api\V1\Requests\CategoryUpdateRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Category;
@ -175,12 +176,12 @@ class CategoryController extends Controller
/**
* Store new category.
*
* @param CategoryRequest $request
* @param CategoryStoreRequest $request
*
* @return JsonResponse
* @throws FireflyException
*/
public function store(CategoryRequest $request): JsonResponse
public function store(CategoryStoreRequest $request): JsonResponse
{
$category = $this->repository->store($request->getAll());
$manager = $this->getManager();
@ -253,12 +254,12 @@ class CategoryController extends Controller
/**
* Update the category.
*
* @param CategoryRequest $request
* @param CategoryUpdateRequest $request
* @param Category $category
*
* @return JsonResponse
*/
public function update(CategoryRequest $request, Category $category): JsonResponse
public function update(CategoryUpdateRequest $request, Category $category): JsonResponse
{
$data = $request->getAll();
$category = $this->repository->update($category, $data);

View File

@ -1,6 +1,6 @@
<?php
/**
* CategoryRequest.php
* CategoryStoreRequest.php
* Copyright (c) 2019 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
@ -23,7 +23,8 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Requests;
use FireflyIII\Models\Category;
use FireflyIII\Rules\ZeroOrMore;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
@ -31,22 +32,10 @@ use Illuminate\Foundation\Http\FormRequest;
* Class CategoryRequest
*
* @codeCoverageIgnore
* TODO AFTER 4.8,0: split this into two request classes.
*/
class CategoryRequest extends FormRequest
class CategoryStoreRequest extends FormRequest
{
use ConvertsDataTypes;
/**
* Authorize logged in users.
*
* @return bool
*/
public function authorize(): bool
{
// Only allow authenticated users
return auth()->check();
}
use ConvertsDataTypes, ChecksLogin;
/**
* Get all data from the request.
@ -67,20 +56,8 @@ class CategoryRequest extends FormRequest
*/
public function rules(): array
{
$rules = [
'name' => 'required|between:1,100|uniqueObjectForUser:categories,name',
return [
'name' => 'required|between:1,100|uniqueObjectForUser:categories,name'
];
switch ($this->method()) {
default:
break;
case 'PUT':
case 'PATCH':
/** @var Category $category */
$category = $this->route()->parameter('category');
$rules['name'] = sprintf('required|between:1,100|uniqueObjectForUser:categories,name,%d', $category->id);
break;
}
return $rules;
}
}

View File

@ -1,7 +1,6 @@
<?php
/**
* ZeroOrMore.php
* CategoryUpdateRequest.php
* Copyright (c) 2019 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
@ -22,44 +21,44 @@
declare(strict_types=1);
namespace FireflyIII\Rules;
namespace FireflyIII\Api\V1\Requests;
use Illuminate\Contracts\Validation\Rule;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
/**
* Class CategoryUpdateRequest
*
* Class ZeroOrMore
* @codeCoverageIgnore
*/
class ZeroOrMore implements Rule
class CategoryUpdateRequest extends FormRequest
{
use ConvertsDataTypes, ChecksLogin;
/**
* Get the validation error message.
* Get all data from the request.
*
* @return string
* @return array
*/
public function message(): string
public function getAll(): array
{
return trans('validation.zero_or_more');
return [
'name' => $this->string('name'),
];
}
/**
* Determine if the validation rule passes.
* The rules that the incoming request must be matched against.
*
* @param string $attribute
* @param mixed $value
*
* @return bool
* @return array
*/
public function passes($attribute, $value): bool
public function rules(): array
{
$value = (string)$value;
if ('' === $value) {
return true;
}
$res = bccomp('0', $value);
$category = $this->route()->parameter('category');
return $res <= 0;
return [
'name' => sprintf('required|between:1,100|uniqueObjectForUser:categories,name,%d', $category->id),
];
}
}

View File

@ -26,7 +26,6 @@ namespace FireflyIII\Api\V1\Requests;
use FireflyIII\Models\PiggyBank;
use FireflyIII\Rules\IsAssetAccountId;
use FireflyIII\Rules\LessThanPiggyTarget;
use FireflyIII\Rules\ZeroOrMore;
use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
@ -79,7 +78,7 @@ class PiggyBankRequest extends FormRequest
{
$rules = [
'name' => 'required|between:1,255|uniquePiggyBankForUser',
'current_amount' => ['numeric', new ZeroOrMore, 'lte:target_amount'],
'current_amount' => ['numeric', 'gte:0', 'lte:target_amount'],
'start_date' => 'date|nullable',
'target_date' => 'date|nullable|after:start_date',
'notes' => 'max:65000',
@ -95,7 +94,7 @@ class PiggyBankRequest extends FormRequest
$rules['name'] = 'between:1,255|uniquePiggyBankForUser:' . $piggyBank->id;
$rules['account_id'] = ['belongsToUser:accounts', new IsAssetAccountId];
$rules['target_amount'] = 'numeric|gt:0';
$rules['current_amount'] = ['numeric', new ZeroOrMore, new LessThanPiggyTarget];
$rules['current_amount'] = ['numeric', 'gte:0', new LessThanPiggyTarget];
break;
}

View File

@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V1\Requests;
use FireflyIII\Rules\ZeroOrMore;
use FireflyIII\Support\Request\ConvertsDataTypes;
use Illuminate\Foundation\Http\FormRequest;
@ -76,10 +75,10 @@ class PiggyBankStoreRequest extends FormRequest
{
return [
'name' => 'required|between:1,255|uniquePiggyBankForUser',
'current_amount' => ['numeric', new ZeroOrMore, 'lte:target_amount'],
'current_amount' => ['numeric', 'gte:0', 'lte:target_amount'],
'account_id' => 'required|numeric|belongsToUser:accounts,id',
'object_group_id' => 'numeric|belongsToUser:object_groups,id',
'target_amount' => ['numeric', new ZeroOrMore, 'lte:target_amount', 'required'],
'target_amount' => ['numeric', 'gte:0', 'lte:target_amount', 'required'],
'start_date' => 'date|nullable',
'target_date' => 'date|nullable|after:start_date',
'notes' => 'max:65000',