refactor: cache some more queries

This commit is contained in:
b1ek 2024-08-30 18:24:26 +10:00
parent 9a2ca7e184
commit 6621dd4772
Signed by: blek
GPG Key ID: 14546221E3595D0C
2 changed files with 12 additions and 6 deletions

View File

@ -9,7 +9,7 @@ class AuthorizedRequest extends RestRequest
*/
public function authorize(): bool
{
return cache()->remember('isSessionAuthorized'.session()->id(), 5, function(){
return cache()->remember('isSessionAuthorized'.session()->id(), 5, function () {
return auth()->check();
});
}

View File

@ -50,7 +50,9 @@ class UserService
public function setPassword($data)
{
$user = User::where(['email' => $data['email']])->first();
$user = cache()->remember('userExists'.$data['email'], 5, function () use ($data) {
return User::where(['email' => $data['email']])->first();
});
if ($user === null) {
return;
}
@ -62,21 +64,23 @@ class UserService
public function listAll(?Filters $filters = null): array
{
if (is_null($filters)) {
return cache()->remember('usersListAll', 15, function() {
return cache()->remember('usersListAll', 15, function () {
return User::all()->toArray();
});
}
$builder = User::query();
$filters->apply($builder);
return cache()->remember('usersListFilter'.$filters->hash(), 15, function() use ($builder) {
return cache()->remember('usersListFilter'.$filters->hash(), 15, function () use ($builder) {
return $builder->get()->toArray();
});
}
public function getOneById(string $id): ?User
{
return cache()->remember('userId'.$id, 5, function () use ($id) {
return User::where(['id' => $id])->first();
});
}
/**
@ -102,7 +106,9 @@ class UserService
public function getUnexistingIds(array $ids): ?array
{
$users = User::whereIn('id', $ids)->get();
$users = cache()->remember('userWhereIn'.implode(',', $ids), 5, function () use ($ids) {
User::whereIn('id', $ids)->get();
});
if ($users->count() != count($ids)) {
$existingIds = $users->map(
function ($model) {