Added achievement data

This commit is contained in:
2026-04-28 22:16:21 +10:00
parent 14aed7bf6e
commit b94b1d8ec2
43 changed files with 1559 additions and 130 deletions
+15 -5
View File
@@ -2,18 +2,16 @@
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use App\Http\Controllers\UserFlightController;
use Database\Factories\UserFactory;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Attributes\Hidden;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use App\Traits\HasAchievements;
use App\Models\Notification;
use Laravel\Sanctum\HasApiTokens;
#[Fillable(['name', 'email', 'password'])]
#[Hidden(['password', 'remember_token'])]
@@ -21,7 +19,9 @@ class User extends Authenticatable
{
/** @use HasFactory<UserFactory> */
use HasFactory, Notifiable, HasAchievements;
use HasFactory, HasAchievements, HasApiTokens;
/**
* Get the attributes that should be cast.
@@ -36,6 +36,11 @@ class User extends Authenticatable
];
}
public function achievements(): HasMany
{
return $this->hasMany(UserAchievement::class);
}
public function resolveRouteBinding($value, $field = null): ?User
{
return $this->where('name', 'ilike', $value)->firstOrFail();
@@ -69,4 +74,9 @@ class User extends Authenticatable
{
return $this->following()->where('followee_id', $user->id)->exists();
}
public function notifications(): HasMany
{
return $this->hasMany(Notification::class);
}
}