|
@@ -3,7 +3,6 @@
|
|
namespace App\Models;
|
|
namespace App\Models;
|
|
|
|
|
|
use App\Classes\Pterodactyl;
|
|
use App\Classes\Pterodactyl;
|
|
-use App\Events\UserUpdateCreditsEvent;
|
|
|
|
use App\Notifications\Auth\QueuedVerifyEmail;
|
|
use App\Notifications\Auth\QueuedVerifyEmail;
|
|
use App\Notifications\WelcomeMessage;
|
|
use App\Notifications\WelcomeMessage;
|
|
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
|
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
|
@@ -110,8 +109,17 @@ class User extends Authenticatable implements MustVerifyEmail
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ $user->tickets()->chunk(10, function ($tickets) {
|
|
|
|
+ foreach ($tickets as $ticket) {
|
|
|
|
+ $ticket->delete();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ $user->ticketBlackList()->delete();
|
|
|
|
+
|
|
$user->vouchers()->detach();
|
|
$user->vouchers()->detach();
|
|
|
|
|
|
|
|
+
|
|
$user->discordUser()->delete();
|
|
$user->discordUser()->delete();
|
|
|
|
|
|
Pterodactyl::client()->delete("/application/users/{$user->pterodactyl_id}");
|
|
Pterodactyl::client()->delete("/application/users/{$user->pterodactyl_id}");
|
|
@@ -134,6 +142,22 @@ class User extends Authenticatable implements MustVerifyEmail
|
|
return $this->hasMany(Payment::class);
|
|
return $this->hasMany(Payment::class);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * @return HasMany
|
|
|
|
+ */
|
|
|
|
+ public function tickets()
|
|
|
|
+ {
|
|
|
|
+ return $this->hasMany(Ticket::class);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * @return HasMany
|
|
|
|
+ */
|
|
|
|
+ public function ticketBlackList()
|
|
|
|
+ {
|
|
|
|
+ return $this->hasMany(TicketBlacklist::class);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @return BelongsToMany
|
|
* @return BelongsToMany
|
|
*/
|
|
*/
|
|
@@ -209,6 +233,13 @@ class User extends Authenticatable implements MustVerifyEmail
|
|
return $this;
|
|
return $this;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private function getServersWithProduct()
|
|
|
|
+ {
|
|
|
|
+ return $this->servers()
|
|
|
|
+ ->with('product')
|
|
|
|
+ ->get();
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @return string
|
|
* @return string
|
|
*/
|
|
*/
|
|
@@ -233,19 +264,13 @@ class User extends Authenticatable implements MustVerifyEmail
|
|
* @return string
|
|
* @return string
|
|
*/
|
|
*/
|
|
public function creditUsage()
|
|
public function creditUsage()
|
|
- {
|
|
|
|
|
|
+ {
|
|
$usage = 0;
|
|
$usage = 0;
|
|
foreach ($this->getServersWithProduct() as $server) {
|
|
foreach ($this->getServersWithProduct() as $server) {
|
|
$usage += $server->product->price;
|
|
$usage += $server->product->price;
|
|
}
|
|
}
|
|
|
|
|
|
return number_format($usage, 2, '.', '');
|
|
return number_format($usage, 2, '.', '');
|
|
- }
|
|
|
|
-
|
|
|
|
- private function getServersWithProduct() {
|
|
|
|
- return $this->servers()
|
|
|
|
- ->with('product')
|
|
|
|
- ->get();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -266,7 +291,7 @@ class User extends Authenticatable implements MustVerifyEmail
|
|
'email_verified_at' => now(),
|
|
'email_verified_at' => now(),
|
|
])->save();
|
|
])->save();
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
public function reVerifyEmail()
|
|
public function reVerifyEmail()
|
|
{
|
|
{
|
|
$this->forceFill([
|
|
$this->forceFill([
|