This commit is contained in:
James Cole 2020-06-06 12:14:55 +02:00
parent 1cba62aa42
commit a35bccb940
2 changed files with 39 additions and 16 deletions

View File

@ -25,6 +25,7 @@ namespace FireflyIII\Support;
use Cache;
use Exception;
use FireflyIII\Models\Configuration;
use Illuminate\Database\QueryException;
use Log;
/**
@ -80,7 +81,11 @@ class FireflyConfig
return Cache::get($fullName);
}
try {
$config = Configuration::where('name', $name)->first(['id', 'name', 'data']);
} catch (QueryException|Exception $e) {
return null;
}
if ($config) {
Cache::forever($fullName, $config);
@ -148,7 +153,15 @@ class FireflyConfig
}
Log::debug('Set new value for ', ['name' => $name]);
/** @var Configuration $config */
try {
$config = Configuration::whereName($name)->first();
} catch (QueryException|Exception $e) {
$item = new Configuration;
$item->name = $name;
$item->data = $value;
return $item;
}
if (null === $config) {
Log::debug('Does not exist yet ', ['name' => $name]);
/** @var Configuration $item */

View File

@ -23,8 +23,10 @@ declare(strict_types=1);
namespace FireflyIII\Support;
use Carbon\Carbon;
use Exception;
use FireflyIII\Models\Telemetry as TelemetryModel;
use FireflyIII\Support\System\GeneratesInstallationId;
use Illuminate\Database\QueryException;
use JsonException;
use Log;
@ -126,12 +128,17 @@ class Telemetry
Log::error(sprintf('JSON Exception encoding the following value: %s: %s', $value, $e->getMessage()));
$jsonEncoded = [];
}
return TelemetryModel
try {
$count = TelemetryModel
::where('type', $type)
->where('key', $key)
->where('value', $jsonEncoded)
->count() > 0;
->count();
} catch (QueryException|Exception $e) {
$count = 0;
}
return $count > 0;
}
/**
@ -171,6 +178,7 @@ class Telemetry
$this->generateInstallationId();
$config = app('fireflyconfig')->get('installation_id', null);
$installationId = null !== $config ? $config->data : 'empty';
try {
TelemetryModel::create(
[
'installation_id' => $installationId,
@ -179,6 +187,8 @@ class Telemetry
'value' => $value,
]
);
} catch (QueryException|Exception $e) {
// ignore.
}
}
}