progress
This commit is contained in:
+35
-17
@@ -7,6 +7,8 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use Laravel\Sanctum\HasApiTokens;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class User extends Authenticatable
|
||||
{
|
||||
@@ -20,6 +22,7 @@ class User extends Authenticatable
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'slug',
|
||||
'email',
|
||||
'password',
|
||||
];
|
||||
@@ -44,6 +47,38 @@ class User extends Authenticatable
|
||||
'password' => 'hashed',
|
||||
];
|
||||
|
||||
protected static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
|
||||
static::creating(function ($user) {
|
||||
$user->slug = Str::slug($user->name);
|
||||
});
|
||||
|
||||
static::updating(function ($user) {
|
||||
if ($user->isDirty('name')) {
|
||||
$user->slug = Str::slug($user->name);
|
||||
}
|
||||
});
|
||||
|
||||
static::created(function ($user) {
|
||||
// Create default lists
|
||||
$defaultLists = [
|
||||
['name' => 'Played Games', 'is_default' => true],
|
||||
['name' => 'Want to Play', 'is_default' => true]
|
||||
];
|
||||
|
||||
foreach ($defaultLists as $list) {
|
||||
$user->lists()->create($list);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public function getRouteKeyName()
|
||||
{
|
||||
return 'slug';
|
||||
}
|
||||
|
||||
public function reviews(): HasMany
|
||||
{
|
||||
return $this->hasMany(Review::class);
|
||||
@@ -58,21 +93,4 @@ class User extends Authenticatable
|
||||
{
|
||||
return $this->hasMany(GameList::class);
|
||||
}
|
||||
|
||||
protected static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
|
||||
static::created(function ($user) {
|
||||
// Create default lists
|
||||
$defaultLists = [
|
||||
['name' => 'Played Games', 'is_default' => true],
|
||||
['name' => 'Want to Play', 'is_default' => true]
|
||||
];
|
||||
|
||||
foreach ($defaultLists as $list) {
|
||||
$user->lists()->create($list);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user