mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
Code cleanup.
This commit is contained in:
@@ -23,24 +23,16 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Support;
|
||||
|
||||
use Cache;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Preference;
|
||||
use FireflyIII\User;
|
||||
use Illuminate\Support\Collection;
|
||||
use PDOException;
|
||||
use Session;
|
||||
|
||||
/**
|
||||
* Class Preferences.
|
||||
*
|
||||
|
||||
*/
|
||||
class Preferences
|
||||
{
|
||||
/**
|
||||
* @return Collection
|
||||
*/
|
||||
public function all(): Collection
|
||||
{
|
||||
$user = auth()->user();
|
||||
@@ -52,10 +44,8 @@ class Preferences
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @param mixed $default
|
||||
* @param mixed $default
|
||||
*
|
||||
* @return Preference|null
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function get(string $name, $default = null): ?Preference
|
||||
@@ -63,7 +53,8 @@ class Preferences
|
||||
if ('currencyPreference' === $name) {
|
||||
throw new FireflyException('No longer supports "currencyPreference", please refactor me.');
|
||||
}
|
||||
/** @var User|null $user */
|
||||
|
||||
/** @var null|User $user */
|
||||
$user = auth()->user();
|
||||
if (null === $user) {
|
||||
$preference = new Preference();
|
||||
@@ -76,14 +67,9 @@ class Preferences
|
||||
}
|
||||
|
||||
/**
|
||||
* @param User $user
|
||||
* @param string $name
|
||||
* @param null|string|int|bool|array $default
|
||||
*
|
||||
* @return Preference|null
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function getForUser(User $user, string $name, string | int | bool | null | array $default = null): ?Preference
|
||||
public function getForUser(User $user, string $name, null|array|bool|int|string $default = null): ?Preference
|
||||
{
|
||||
if ('currencyPreference' === $name) {
|
||||
throw new FireflyException('No longer supports "currencyPreference", please refactor me.');
|
||||
@@ -107,9 +93,6 @@ class Preferences
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
*
|
||||
* @return bool
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function delete(string $name): bool
|
||||
@@ -118,34 +101,27 @@ class Preferences
|
||||
throw new FireflyException('No longer supports "currencyPreference", please refactor me.');
|
||||
}
|
||||
$fullName = sprintf('preference%s%s', auth()->user()->id, $name);
|
||||
if (Cache::has($fullName)) {
|
||||
Cache::forget($fullName);
|
||||
if (\Cache::has($fullName)) {
|
||||
\Cache::forget($fullName);
|
||||
}
|
||||
Preference::where('user_id', auth()->user()->id)->where('name', $name)->delete();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param User $user
|
||||
* @param string $name
|
||||
*/
|
||||
public function forget(User $user, string $name): void
|
||||
{
|
||||
if ('currencyPreference' === $name) {
|
||||
throw new FireflyException('No longer supports "currencyPreference", please refactor me.');
|
||||
}
|
||||
$key = sprintf('preference%s%s', $user->id, $name);
|
||||
Cache::forget($key);
|
||||
Cache::put($key, '', 5);
|
||||
\Cache::forget($key);
|
||||
\Cache::put($key, '', 5);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param User $user
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
* @param mixed $value
|
||||
*
|
||||
* @return Preference
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function setForUser(User $user, string $name, $value): Preference
|
||||
@@ -154,8 +130,9 @@ class Preferences
|
||||
throw new FireflyException('No longer supports "currencyPreference", please refactor me.');
|
||||
}
|
||||
$fullName = sprintf('preference%s%s', $user->id, $name);
|
||||
Cache::forget($fullName);
|
||||
/** @var Preference|null $pref */
|
||||
\Cache::forget($fullName);
|
||||
|
||||
/** @var null|Preference $pref */
|
||||
$pref = Preference::where('user_id', $user->id)->where('name', $name)->first(['id', 'name', 'data', 'updated_at', 'created_at']);
|
||||
|
||||
if (null !== $pref && null === $value) {
|
||||
@@ -172,50 +149,36 @@ class Preferences
|
||||
$pref->name = $name;
|
||||
}
|
||||
$pref->data = $value;
|
||||
|
||||
try {
|
||||
$pref->save();
|
||||
} catch (PDOException $e) {
|
||||
} catch (\PDOException $e) {
|
||||
throw new FireflyException(sprintf('Could not save preference: %s', $e->getMessage()), 0, $e);
|
||||
}
|
||||
Cache::forever($fullName, $pref);
|
||||
\Cache::forever($fullName, $pref);
|
||||
|
||||
return $pref;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param User $user
|
||||
* @param string $search
|
||||
*
|
||||
* @return Collection
|
||||
*/
|
||||
public function beginsWith(User $user, string $search): Collection
|
||||
{
|
||||
return Preference::where('user_id', $user->id)->where('name', 'LIKE', $search . '%')->get();
|
||||
return Preference::where('user_id', $user->id)->where('name', 'LIKE', $search.'%')->get();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
*
|
||||
* @return Collection
|
||||
*/
|
||||
public function findByName(string $name): Collection
|
||||
{
|
||||
if ('currencyPreference' === $name) {
|
||||
throw new FireflyException('No longer supports "currencyPreference", please refactor me.');
|
||||
}
|
||||
|
||||
return Preference::where('name', $name)->get();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param User $user
|
||||
* @param array $list
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getArrayForUser(User $user, array $list): array
|
||||
{
|
||||
$result = [];
|
||||
$preferences = Preference::where('user_id', $user->id)->whereIn('name', $list)->get(['id', 'name', 'data']);
|
||||
|
||||
/** @var Preference $preference */
|
||||
foreach ($preferences as $preference) {
|
||||
$result[$preference->name] = $preference->data;
|
||||
@@ -230,10 +193,8 @@ class Preferences
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @param mixed $default
|
||||
* @param mixed $default
|
||||
*
|
||||
* @return Preference|null
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function getFresh(string $name, $default = null): ?Preference
|
||||
@@ -241,7 +202,8 @@ class Preferences
|
||||
if ('currencyPreference' === $name) {
|
||||
throw new FireflyException('No longer supports "currencyPreference", please refactor me.');
|
||||
}
|
||||
/** @var User|null $user */
|
||||
|
||||
/** @var null|User $user */
|
||||
$user = auth()->user();
|
||||
if (null === $user) {
|
||||
$preference = new Preference();
|
||||
@@ -254,12 +216,11 @@ class Preferences
|
||||
}
|
||||
|
||||
/**
|
||||
* @param User $user
|
||||
* @param string $name
|
||||
* @param null $default
|
||||
* @param null $default
|
||||
*
|
||||
* @return null|preference
|
||||
* TODO remove me
|
||||
*
|
||||
* @return Preference|null
|
||||
* TODO remove me.
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function getFreshForUser(User $user, string $name, $default = null): ?Preference
|
||||
@@ -267,11 +228,11 @@ class Preferences
|
||||
if ('currencyPreference' === $name) {
|
||||
throw new FireflyException('No longer supports "currencyPreference", please refactor me.');
|
||||
}
|
||||
|
||||
return $this->getForUser($user, $name, $default);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function lastActivity(): string
|
||||
@@ -289,20 +250,15 @@ class Preferences
|
||||
return hash('sha256', (string)$lastActivity);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function mark(): void
|
||||
{
|
||||
$this->set('lastActivity', microtime());
|
||||
Session::forget('first');
|
||||
\Session::forget('first');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
* @param mixed $value
|
||||
*
|
||||
* @return Preference
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function set(string $name, $value): Preference
|
||||
|
Reference in New Issue
Block a user