'datetime', 'last_seen' => 'datetime', ]; public static function boot() { parent::boot(); static::created(function (User $user) { $user->notify(new WelcomeMessage($user)); }); static::deleting(function (User $user) { $user->servers()->chunk(10 , function ($servers) { foreach ($servers as $server) { $server->delete(); } }); $user->payments()->chunk(10 , function ($payments) { foreach ($payments as $payment) { $payment->delete(); } }); Pterodactyl::client()->delete("/application/users/{$user->pterodactyl_id}"); }); } public function sendEmailVerificationNotification() { $this->notify(new QueuedVerifyEmail); } public function credits() { return number_format($this->credits, 2, '.', ''); } public function getAvatar(){ return "https://www.gravatar.com/avatar/" . md5(strtolower(trim($this->email))); } public function creditUsage() { $usage = 0; foreach ($this->Servers as $server){ $usage += $server->product->price; } return number_format($usage, 2, '.', ''); } public function getVerifiedStatus(){ $status = ''; if ($this->hasVerifiedEmail()) $status .= 'email '; if ($this->discordUser()->exists()) $status .= 'discord'; $status = str_replace(' ' , '/' , $status); return $status; } public function discordUser(){ return $this->hasOne(DiscordUser::class); } public function servers() { return $this->hasMany(Server::class); } public function payments() { return $this->hasMany(Payment::class); } }