mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
User can submit new journal through API.
This commit is contained in:
@@ -24,6 +24,7 @@ namespace FireflyIII\Http\Requests;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Carbon\Exceptions\InvalidDateException;
|
||||
use Exception;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Log;
|
||||
|
||||
@@ -36,6 +37,26 @@ use Log;
|
||||
*/
|
||||
class Request extends FormRequest
|
||||
{
|
||||
/**
|
||||
* @param $array
|
||||
*
|
||||
* @return array|null
|
||||
*/
|
||||
public function arrayFromValue($array): ?array
|
||||
{
|
||||
if (is_array($array)) {
|
||||
return $array;
|
||||
}
|
||||
if (null === $array) {
|
||||
return null;
|
||||
}
|
||||
if (is_string($array)) {
|
||||
return explode(',', $array);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a boolean value.
|
||||
*
|
||||
@@ -60,11 +81,17 @@ class Request extends FormRequest
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function convertBoolean(string $value): bool
|
||||
public function convertBoolean(?string $value): bool
|
||||
{
|
||||
if (null === $value) {
|
||||
return false;
|
||||
}
|
||||
if ('true' === $value) {
|
||||
return true;
|
||||
}
|
||||
if ('yes' === $value) {
|
||||
return true;
|
||||
}
|
||||
if (1 === $value) {
|
||||
return true;
|
||||
}
|
||||
@@ -78,6 +105,30 @@ class Request extends FormRequest
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string|null $string
|
||||
*
|
||||
* @return Carbon|null
|
||||
*/
|
||||
public function dateFromValue(?string $string): ?Carbon
|
||||
{
|
||||
if (null === $string) {
|
||||
return null;
|
||||
}
|
||||
if ('' === $string) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
$carbon = new Carbon($string);
|
||||
} catch (Exception $e) {
|
||||
Log::debug(sprintf('Invalid date: %s: %s', $string, $e->getMessage()));
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
return $carbon;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return floating value.
|
||||
*
|
||||
@@ -107,6 +158,22 @@ class Request extends FormRequest
|
||||
return (int)$this->get($field);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse to integer
|
||||
*
|
||||
* @param string|null $string
|
||||
*
|
||||
* @return int|null
|
||||
*/
|
||||
public function integerFromValue(?string $string): ?int
|
||||
{
|
||||
if (null === $string) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (int)$string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return string value.
|
||||
*
|
||||
@@ -121,12 +188,31 @@ class Request extends FormRequest
|
||||
return app('steam')->cleanString((string)($this->get($field) ?? ''));
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse and clean a string.
|
||||
*
|
||||
* @param string|null $string
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function stringFromValue(?string $string): ?string
|
||||
{
|
||||
if (null === $string) {
|
||||
return null;
|
||||
}
|
||||
$result = app('steam')->cleanString($string);
|
||||
|
||||
return '' === $result ? null : $result;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Return date or NULL.
|
||||
*
|
||||
* @param string $field
|
||||
*
|
||||
* @return Carbon|null
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function date(string $field): ?Carbon
|
||||
{
|
||||
|
Reference in New Issue
Block a user