Passed
Push — master ( 2cdaae...14b6d5 )
by Jhao
02:25
created

AddressValidity   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 18
c 1
b 0
f 0
dl 0
loc 43
ccs 2
cts 2
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A ACCEPTABLE_OPTIONS() 0 3 1
1
<?php
2
3
/**
4
 * This file is part of RussianPost SDK package.
5
 *
6
 * © Appwilio (http://appwilio.com), greabock (https://github.com/greabock), JhaoDa (https://github.com/jhaoda)
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
/** @noinspection PhpUnusedPrivateFieldInspection */
13
14
declare(strict_types=1);
15
16
namespace Appwilio\RussianPostSDK\Dispatching\Enum;
17
18
use Appwilio\RussianPostSDK\Core\Enum;
19
20
/**
21
 * Код проверки нормализации адреса.
22
 *
23
 * @see https://otpravka.pochta.ru/specification#/enums-clean-address-validation
24
 *
25
 * @method static AddressValidity VALIDATED() Уверенное распознавание
26
 * @method static AddressValidity OVERRIDDEN() Распознан: адрес был перезаписан в справочнике
27
 * @method static AddressValidity CONFIRMED_MANUALLY() Подтверждено контролером
28
 * @method static AddressValidity NOT_VALIDATED_FOREIGN() Иностранный адрес
29
 * @method static AddressValidity NOT_VALIDATED_HAS_AMBI() На проверку, неоднозначность
30
 * @method static AddressValidity NOT_VALIDATED_DICTIONARY() На проверку, не по справочнику
31
 * @method static AddressValidity NOT_VALIDATED_HAS_ASSUMPTION() На проверку, предположение
32
 * @method static AddressValidity NOT_VALIDATED_INCORRECT_HOUSE() На проверку, некорректный дом
33
 * @method static AddressValidity NOT_VALIDATED_HAS_UNPARSED_PARTS() На проверку, неразобранные части
34
 * @method static AddressValidity NOT_VALIDATED_HAS_NO_MAIN_POINTS() На проверку, нет основных частей
35
 * @method static AddressValidity NOT_VALIDATED_HAS_NO_KLADR_RECORD() На проверку, нет в КЛАДР
36
 * @method static AddressValidity NOT_VALIDATED_EXCEDED_HOUSE_NUMBER() На проверку, большой номер дома
37
 * @method static AddressValidity NOT_VALIDATED_INCORRECT_HOUSE_EXTENSION() На проверку, некорректное расширение дома
38
 * @method static AddressValidity NOT_VALIDATED_HOUSE_WITHOUT_STREET_OR_NP() На проверку, нет улицы или населенного пункта
39
 * @method static AddressValidity NOT_VALIDATED_HAS_NUMBER_STREET_ASSUMPTION() На проверку, предположение по улице
40
 * @method static AddressValidity NOT_VALIDATED_HOUSE_EXTENSION_WITHOUT_HOUSE() На проверку, нет дома
41
 */
42
final class AddressValidity extends Enum
43
{
44
    /** Уверенное распознавание */
45
    private const VALIDATED = 'VALIDATED';
46
    /** Распознан: адрес был перезаписан в справочнике */
47
    private const OVERRIDDEN = 'OVERRIDDEN';
48
    /** Подтверждено контролером */
49
    private const CONFIRMED_MANUALLY = 'CONFIRMED_MANUALLY';
50
    /** Иностранный адрес */
51
    private const NOT_VALIDATED_FOREIGN = 'NOT_VALIDATED_FOREIGN';
52
    /** На проверку, неоднозначность */
53
    private const NOT_VALIDATED_HAS_AMBI = 'NOT_VALIDATED_HAS_AMBI';
54
    /** На проверку, не по справочнику */
55
    private const NOT_VALIDATED_DICTIONARY = 'NOT_VALIDATED_DICTIONARY';
56
    /** На проверку, предположение */
57
    private const NOT_VALIDATED_HAS_ASSUMPTION = 'NOT_VALIDATED_HAS_ASSUMPTION';
58
    /** На проверку, некорректный дом */
59
    private const NOT_VALIDATED_INCORRECT_HOUSE = 'NOT_VALIDATED_INCORRECT_HOUSE';
60
    /** На проверку, неразобранные части */
61
    private const NOT_VALIDATED_HAS_UNPARSED_PARTS = 'NOT_VALIDATED_HAS_UNPARSED_PARTS';
62
    /** На проверку, нет основных частей */
63
    private const NOT_VALIDATED_HAS_NO_MAIN_POINTS = 'NOT_VALIDATED_HAS_NO_MAIN_POINTS';
64
    /** На проверку, нет в КЛАДР */
65
    private const NOT_VALIDATED_HAS_NO_KLADR_RECORD = 'NOT_VALIDATED_HAS_NO_KLADR_RECORD';
66
    /** На проверку, большой номер дома */
67
    private const NOT_VALIDATED_EXCEDED_HOUSE_NUMBER = 'NOT_VALIDATED_EXCEDED_HOUSE_NUMBER';
68
    /** На проверку, некорректное расширение дома */
69
    private const NOT_VALIDATED_INCORRECT_HOUSE_EXTENSION = 'NOT_VALIDATED_INCORRECT_HOUSE_EXTENSION';
70
    /** На проверку, нет улицы или населенного пункта */
71
    private const NOT_VALIDATED_HOUSE_WITHOUT_STREET_OR_NP = 'NOT_VALIDATED_HOUSE_WITHOUT_STREET_OR_NP';
72
    /** На проверку, предположение по улице */
73
    private const NOT_VALIDATED_HAS_NUMBER_STREET_ASSUMPTION = 'NOT_VALIDATED_HAS_NUMBER_STREET_ASSUMPTION';
74
    /** На проверку, нет дома */
75
    private const NOT_VALIDATED_HOUSE_EXTENSION_WITHOUT_HOUSE = 'NOT_VALIDATED_HOUSE_EXTENSION_WITHOUT_HOUSE';
76
77
    /**
78
     * Коды проверки нормализации, при которых адрес считается приемлемым для доставки.
79
     *
80
     * @return array
81
     */
82 12
    public static function ACCEPTABLE_OPTIONS(): array
83
    {
84 12
        return [self::VALIDATED(), self::OVERRIDDEN(), self::CONFIRMED_MANUALLY()];
85
    }
86
}
87