1 | <?php namespace CMPayments\SchemaValidator\Exceptions; |
||
11 | class ValidateSchemaException extends BaseException |
||
12 | { |
||
13 | const ERROR_SCHEMA_IS_NOT_VALID_JSON = 1; |
||
14 | const ERROR_INPUT_IS_NOT_A_OBJECT = 2; |
||
15 | const ERROR_SCHEMA_CANNOT_BE_EMPTY_IN_PATH = 3; |
||
16 | const ERROR_EMPTY_KEY_NOT_ALLOWED_IN_OBJECT = 4; |
||
17 | const ERROR_SCHEMA_PROPERTY_NOT_DEFINED = 5; |
||
18 | const ERROR_SCHEMA_PROPERTY_VALUE_IS_NOT_VALID = 6; |
||
19 | const ERROR_SCHEMA_PROPERTY_TYPE_NOT_VALID = 7; |
||
20 | const ERROR_SCHEMA_MAX_PROPERTY_CANNOT_NOT_BE_ZERO = 8; |
||
21 | const ERROR_SCHEMA_PROPERTY_MIN_NOT_BIGGER_THAN_MAX = 9; |
||
22 | const ERROR_SCHEMA_PROPERTY_REQUIRED_MUST_BE_AN_ARRAY = 10; |
||
23 | const ERROR_SCHEMA_REQUIRED_AND_PROPERTIES_MUST_MATCH = 11; |
||
24 | const ERROR_INVALID_REFERENCE = 12; |
||
25 | const ERROR_NO_LOCAL_DEFINITIONS_HAVE_BEEN_DEFINED = 13; |
||
26 | const ERROR_CHECK_IF_LOCAL_DEFINITIONS_EXISTS = 14; |
||
27 | const ERROR_CURL_NOT_INSTALLED = 15; |
||
28 | const ERROR_REMOTE_REFERENCE_DOES_NOT_EXIST = 16; |
||
29 | const ERROR_NO_DATA_WAS_FOUND_IN_REMOTE_SCHEMA = 17; |
||
30 | const ERROR_NO_VALID_JSON_WAS_FOUND_IN_REMOTE_SCHEMA = 18; |
||
31 | const ERROR_INPUT_IS_NOT_A_VALID_PREPOSITION = 19; |
||
32 | const ERROR_SCHEMA_PROPERTY_TYPE_IS_ARRAY_BUT_VALUES_ARE_NOT_UNIQUE = 20; |
||
33 | const ERROR_SCHEMA_PROPERTY_TYPE_IS_ARRAY_BUT_VALUES_AR_NOT_ALL_STRINGS = 21; |
||
34 | |||
35 | protected $messages = [ |
||
36 | self::ERROR_SCHEMA_IS_NOT_VALID_JSON => 'Schema is not valid JSON', |
||
37 | self::ERROR_INPUT_IS_NOT_A_OBJECT => '\'%s\' is not an object but %s \'%s\'%s', |
||
38 | self::ERROR_SCHEMA_CANNOT_BE_EMPTY_IN_PATH => 'The Schema input cannot be empty in %s', |
||
39 | self::ERROR_EMPTY_KEY_NOT_ALLOWED_IN_OBJECT => 'It\'s not allowed for object \'%s\' to have an empty key', |
||
40 | self::ERROR_SCHEMA_PROPERTY_NOT_DEFINED => 'The mandatory Schema Property \'%s\' is not defined for \'%s\'', |
||
41 | self::ERROR_SCHEMA_PROPERTY_VALUE_IS_NOT_VALID => 'The given value \'%s\' for property \'%s.%s\' is not valid. Please use %sthe following %s: \'%s\'', |
||
42 | self::ERROR_SCHEMA_PROPERTY_TYPE_NOT_VALID => 'The Schema Property \'%s.%s\' is not %s %s but %s %s', |
||
43 | self::ERROR_SCHEMA_MAX_PROPERTY_CANNOT_NOT_BE_ZERO => 'The Schema Property \'%s.%s\' cannot be zero', |
||
44 | self::ERROR_SCHEMA_PROPERTY_MIN_NOT_BIGGER_THAN_MAX => 'The Schema Property \'%s.%s\' with value \'%d\' cannot be greater than Schema Property \'%s.%s\' with value \'%d\'', |
||
45 | self::ERROR_SCHEMA_PROPERTY_REQUIRED_MUST_BE_AN_ARRAY => 'The Schema Property \'%s\' is not an array but %s \'%s\'', |
||
46 | self::ERROR_SCHEMA_REQUIRED_AND_PROPERTIES_MUST_MATCH => 'The %s: \'%s\' %s defined in \'%s\' but %s not defined in \'%s.properties\'', |
||
47 | self::ERROR_INVALID_REFERENCE => 'Invalid reference; %s', |
||
48 | self::ERROR_NO_LOCAL_DEFINITIONS_HAVE_BEEN_DEFINED => 'No local definitions have been defined yet', |
||
49 | self::ERROR_CHECK_IF_LOCAL_DEFINITIONS_EXISTS => 'The reference \'%s\' could not be matched to; \'%s\'', |
||
50 | self::ERROR_CURL_NOT_INSTALLED => 'cURL not installed', |
||
51 | self::ERROR_REMOTE_REFERENCE_DOES_NOT_EXIST => 'The remote reference \'%s\' does not exist', |
||
52 | self::ERROR_NO_DATA_WAS_FOUND_IN_REMOTE_SCHEMA => 'No data found at \'%s\'', |
||
53 | self::ERROR_NO_VALID_JSON_WAS_FOUND_IN_REMOTE_SCHEMA => 'No valid JSON Schema found at \'%s\'', |
||
54 | self::ERROR_INPUT_IS_NOT_A_VALID_PREPOSITION => '\'%s\' is not a valid preposition', |
||
55 | self::ERROR_SCHEMA_PROPERTY_TYPE_IS_ARRAY_BUT_VALUES_ARE_NOT_UNIQUE => 'The Schema Property \'%s.%s\' does not contain unique values', |
||
56 | self::ERROR_SCHEMA_PROPERTY_TYPE_IS_ARRAY_BUT_VALUES_AR_NOT_ALL_STRINGS => 'The values of Schema Property \'%s.%s\' are not all of type \'%s\'' |
||
57 | ]; |
||
58 | |||
59 | /** |
||
60 | * prepend classname to clarify error origin |
||
61 | * |
||
62 | * @param int $code |
||
63 | * @param null $default |
||
64 | * @param string $msgArray |
||
65 | * |
||
66 | * @return string |
||
67 | */ |
||
68 | public function getItemFromVariableArray($code, $default = null, $msgArray = 'messages') |
||
72 | } |
||
73 |