|
6 | 6 |
|
7 | 7 | class Parameter |
8 | 8 | { |
9 | | - const TYPE_STRING = 'string'; |
10 | 9 | const TYPE_NUMBER = 'number'; |
11 | | - const TYPE_INTEGER = 'integer'; |
12 | | - const TYPE_DATE = 'date'; |
13 | 10 | const TYPE_BOOLEAN = 'boolean'; |
| 11 | + const TYPE_STRING = 'string'; |
| 12 | + const TYPE_DATE_ONLY = 'date-only'; |
| 13 | + const TYPE_TIME_ONLY = 'time-only'; |
| 14 | + const TYPE_DATETIME_ONLY = 'datetime-only'; |
| 15 | + const TYPE_DATETIME = 'datetime'; |
14 | 16 | const TYPE_FILE = 'file'; |
| 17 | + const TYPE_INTEGER = 'integer'; |
15 | 18 |
|
16 | 19 | /** |
17 | 20 | * @var string[] |
18 | 21 | */ |
19 | 22 | protected $validTypes = [ |
20 | | - self::TYPE_STRING, |
21 | 23 | self::TYPE_NUMBER, |
22 | | - self::TYPE_INTEGER, |
23 | | - self::TYPE_DATE, |
| 24 | + self::TYPE_STRING, |
24 | 25 | self::TYPE_BOOLEAN, |
| 26 | + self::TYPE_DATE_ONLY, |
| 27 | + self::TYPE_TIME_ONLY, |
| 28 | + self::TYPE_DATETIME_ONLY, |
| 29 | + self::TYPE_DATETIME, |
25 | 30 | self::TYPE_FILE, |
| 31 | + self::TYPE_INTEGER, |
26 | 32 | ]; |
27 | 33 |
|
28 | 34 | /** |
@@ -266,11 +272,18 @@ public function assertValue($value) |
266 | 272 | $this->throwInvalidParameter($this->getName().' is not a boolean'); |
267 | 273 | } |
268 | 274 | break; |
269 | | - case static::TYPE_DATE: |
| 275 | + case static::TYPE_DATETIME: |
270 | 276 | if ($value instanceof \DateTime === false) { |
271 | 277 | $this->throwInvalidParameter($this->getName().' is not a valid date'); |
272 | 278 | } |
273 | 279 | break; |
| 280 | + case static::TYPE_DATE_ONLY: |
| 281 | + case static::TYPE_TIME_ONLY: |
| 282 | + case static::TYPE_DATETIME_ONLY: |
| 283 | + $this->throwInvalidParameter( |
| 284 | + $this->getType().' is not supported yet in RREST. Use datetime or feel free to contribute it' |
| 285 | + ); |
| 286 | + break; |
274 | 287 | case static::TYPE_STRING: |
275 | 288 | if (!is_string($value)) { |
276 | 289 | $this->throwInvalidParameter($this->getName().' is not a string'); |
|
0 commit comments