From 204629539f5d0988e4fc44ed36fba6a838f5ab10 Mon Sep 17 00:00:00 2001 From: Tobiletsmc Date: Sun, 5 Jun 2022 12:22:26 +0200 Subject: [PATCH] Clean code and fetch servers with product in unSuspend method --- app/Models/User.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/app/Models/User.php b/app/Models/User.php index 53a5eaa7..38b9c103 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -179,7 +179,7 @@ class User extends Authenticatable implements MustVerifyEmail */ public function suspend() { - foreach ($this->servers as $server) { + foreach ($this->servers() as $server) { $server->suspend(); } @@ -195,7 +195,7 @@ class User extends Authenticatable implements MustVerifyEmail */ public function unSuspend() { - foreach ($this->servers as $server) { + foreach ($this->getServersWithProduct() as $server) { if ($this->credits >= $server->product->getHourlyPrice()) { $server->unSuspend(); } @@ -232,20 +232,21 @@ class User extends Authenticatable implements MustVerifyEmail * @return string */ public function creditUsage() - { - $servers = Server::query() - ->where('user_id', '=', $this->id) - ->with('product') - ->get(); - + { $usage = 0; - foreach ($servers as $server) { + foreach ($this->getServersWithProduct() as $server) { $usage += $server->product->price; } return number_format($usage, 2, '.', ''); } + private function getServersWithProduct() { + return $this->servers() + ->with('product') + ->get(); + } + /** * @return array|string|string[] */