refactor: update user relationship in PushSubscription model and clean up User model attributes
This commit is contained in:
parent
4ac83c8e78
commit
3b49f5ff3a
@ -6,14 +6,15 @@
|
|||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||||
|
|
||||||
#[Guarded(['id'])]
|
#[Guarded(['id'])]
|
||||||
class PushSubscription extends Model
|
class PushSubscription extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
|
||||||
public function user(): BelongsTo
|
public function user(): MorphTo
|
||||||
{
|
{
|
||||||
return $this->belongsTo(User::class);
|
return $this->morphTo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||||
use Illuminate\Notifications\Notifiable;
|
use Illuminate\Notifications\Notifiable;
|
||||||
@ -37,21 +38,21 @@ protected function casts(): array
|
|||||||
protected function email(): Attribute
|
protected function email(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
set: fn (string $value) => strtolower($value),
|
set: fn(string $value) => strtolower($value),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function name(): Attribute
|
protected function name(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
get: fn () => $this->userProfile?->full_name ?? '',
|
get: fn() => $this->userProfile?->full_name ?? '',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function fullName(): Attribute
|
protected function fullName(): Attribute
|
||||||
{
|
{
|
||||||
return Attribute::make(
|
return Attribute::make(
|
||||||
get: fn () => $this->userProfile?->full_name ?: $this->username,
|
get: fn() => $this->userProfile?->full_name ?: $this->username,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,11 +182,6 @@ public function purchaseItems(): HasMany
|
|||||||
return $this->hasMany(PurchaseItem::class);
|
return $this->hasMany(PurchaseItem::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function pushSubscriptions(): HasMany
|
|
||||||
{
|
|
||||||
return $this->hasMany(PushSubscription::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function rejections(): HasMany
|
public function rejections(): HasMany
|
||||||
{
|
{
|
||||||
return $this->hasMany(Rejection::class, 'rejected_by_id');
|
return $this->hasMany(Rejection::class, 'rejected_by_id');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user