Add CityInformativeValidatorByNameFactory.
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-09-04 20:34:26 +03:00
parent 4c1e0bec07
commit 32cc601868
3 changed files with 76 additions and 3 deletions
@@ -22,7 +22,7 @@ use App\DotsAPI\Fetcher\v2\AuthApiSender;
use App\Http\Resources\API\v2\CartItemCollection;
use App\Models\Validation\UserValidationByMatrixUsername;
use App\Models\Validation\CityValidationByName;
use App\Models\Validation\Validators\Informative\Factories\CityInformativeValidatorByNameFactory;
use App\Models\Validation\Validators\Informative\Factories\CompanyInformativeValidatorByNameFactory;
use App\Models\Validation\Validators\Informative\Factories\ItemInformativeValidatorByNameFactory;
@@ -123,9 +123,9 @@ class CartController extends Controller
if(!$validator->isValid())
return response()->json($validator->getMessageMap());
$validator = new CityValidationByName($cityName);
$validator = (new CityInformativeValidatorByNameFactory($cityName))->create();
if(!$validator->isValid())
return response()->json($validator->getMessageMap());
return response()->json($validator->getOkStatus());
// Get objects
$user = User::where('matrix_username', $matrixUsername)->first();
@@ -0,0 +1,26 @@
<?php
namespace App\Models\Validation\Validators\Informative\Factories;
use App\Models\Validation\Validators\Informative\Factories\InformativeValidatorByNameFactory;
use App\Models\Validation\Validators\Informative\InformativeValidator;
use App\Models\Validation\Messages\Factories\MessageByNameFactory;
use App\Models\Validation\Validators\Validator;
use App\Models\Validation\Validators\CityValidatorByName;
class CityInformativeValidatorByNameFactory extends InformativeValidatorByNameFactory
{
public function __construct(string $name)
{
$this->setMessages((new MessageByNameFactory('city'))->create());
$this->setName($name);
}
public function getValidatorByName(InformativeValidator $okValidator): Validator
{
return new CityValidatorByName($this->name, $okValidator);
}
}