• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tochka-developers / jsonrpc / 4135501466

pending completion
4135501466

push

github

darkdarin
Merge remote-tracking branch 'origin/v5.0'

209 of 813 new or added lines in 51 files covered. (25.71%)

233 of 1307 relevant lines covered (17.83%)

1.84 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Exceptions/ValidationException.php
1
<?php
2

3
namespace Tochka\JsonRpc\Exceptions;
4

5
use Illuminate\Validation\Validator;
6
use Tochka\JsonRpc\Standard\Exceptions\Additional\InvalidParametersException;
7
use Tochka\JsonRpc\Standard\Exceptions\Errors\InvalidParameterError;
8
use Tochka\JsonRpc\Standard\Exceptions\Errors\InvalidParametersError;
9

10
class ValidationException extends InvalidParametersException
11
{
12
    public function __construct(Validator $validator, ?\Throwable $previous = null)
13
    {
NEW
14
        $errors = new InvalidParametersError(
×
NEW
15
            $this->getJsonRpcErrors($validator)
×
NEW
16
        );
×
17

NEW
18
        parent::__construct($errors, $previous);
×
19
    }
20

21
    /**
22
     * @param Validator $validator
23
     * @return array<InvalidParameterError>
24
     */
25
    public function getJsonRpcErrors(Validator $validator): array
26
    {
NEW
27
        $errors = [];
×
28

29
        /** @var array<string, array<string, array>> $failedRules */
NEW
30
        $failedRules = $validator->failed();
×
31

NEW
32
        foreach ($failedRules as $attributeName => $rule) {
×
NEW
33
            foreach ($rule as $ruleName => $parameters) {
×
34
                /** @psalm-suppress MixedAssignment */
NEW
35
                $message = $validator->getMessage($attributeName, $ruleName);
×
36

37
                /** @psalm-suppress MixedArgument */
NEW
38
                $errors[] = new InvalidParameterError(
×
NEW
39
                    $attributeName,
×
NEW
40
                    $ruleName,
×
NEW
41
                    $validator->makeReplacements(
×
NEW
42
                        $message,
×
NEW
43
                        $attributeName,
×
NEW
44
                        $ruleName,
×
NEW
45
                        $parameters
×
NEW
46
                    )
×
NEW
47
                );
×
48
            }
49
        }
50

NEW
51
        return $errors;
×
52
    }
53
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc