🆙 More fixes 🆙

This commit is contained in:
Remco
2026-01-19 20:45:45 +01:00
parent 7b9849c159
commit aca923992a
+80
View File
@@ -40,6 +40,8 @@ use Laravel\Fortify\TwoFactorAuthenticationProvider;
use Laravel\Sanctum\HasApiTokens; use Laravel\Sanctum\HasApiTokens;
use Spatie\Activitylog\LogOptions; use Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity; use Spatie\Activitylog\Traits\LogsActivity;
use App\Models\ChatlogRoom;
use App\Models\ChatlogPrivate;
/** /**
* @property int $id * @property int $id
@@ -88,11 +90,17 @@ class User extends Authenticatable implements FilamentUser, HasName
]; ];
} }
/**
* @return HasMany<UserCurrency, $this>
*/
public function currencies(): HasMany public function currencies(): HasMany
{ {
return $this->hasMany(UserCurrency::class, 'user_id'); return $this->hasMany(UserCurrency::class, 'user_id');
} }
/**
* @return HasMany<Session, $this>
*/
public function sessions(): HasMany public function sessions(): HasMany
{ {
return $this->hasMany(Session::class); return $this->hasMany(Session::class);
@@ -114,41 +122,65 @@ class User extends Authenticatable implements FilamentUser, HasName
return $this->currencies->where('type', $type)->first()?->amount ?? 0; return $this->currencies->where('type', $type)->first()?->amount ?? 0;
} }
/**
* @return HasOne<Permission, $this>
*/
public function permission(): HasOne public function permission(): HasOne
{ {
return $this->hasOne(Permission::class, 'id', 'rank'); return $this->hasOne(Permission::class, 'id', 'rank');
} }
/**
* @return HasMany<WebsiteArticle, $this>
*/
public function articles(): HasMany public function articles(): HasMany
{ {
return $this->hasMany(WebsiteArticle::class); return $this->hasMany(WebsiteArticle::class);
} }
/**
* @return HasOne<UserReferral, $this>
*/
public function referrals(): HasOne public function referrals(): HasOne
{ {
return $this->hasOne(UserReferral::class); return $this->hasOne(UserReferral::class);
} }
/**
* @return HasMany<Referral, $this>
*/
public function userReferrals(): HasMany public function userReferrals(): HasMany
{ {
return $this->hasMany(Referral::class); return $this->hasMany(Referral::class);
} }
/**
* @return HasMany<ClaimedReferralLog, $this>
*/
public function claimedReferralLog(): HasMany public function claimedReferralLog(): HasMany
{ {
return $this->hasMany(ClaimedReferralLog::class); return $this->hasMany(ClaimedReferralLog::class);
} }
/**
* @return HasMany<UserBadge, $this>
*/
public function badges(): HasMany public function badges(): HasMany
{ {
return $this->hasMany(UserBadge::class); return $this->hasMany(UserBadge::class);
} }
/**
* @return HasMany<Room, $this>
*/
public function rooms(): HasMany public function rooms(): HasMany
{ {
return $this->hasMany(Room::class, 'owner_id'); return $this->hasMany(Room::class, 'owner_id');
} }
/**
* @return HasMany<MessengerFriendship, $this>
*/
public function friends(): HasMany public function friends(): HasMany
{ {
return $this->hasMany(MessengerFriendship::class, 'user_one_id'); return $this->hasMany(MessengerFriendship::class, 'user_one_id');
@@ -165,11 +197,17 @@ class User extends Authenticatable implements FilamentUser, HasName
return (int) setting('referrals_needed') - $referrals; return (int) setting('referrals_needed') - $referrals;
} }
/**
* @return HasOne<Ban, $this>
*/
public function ban(): HasOne public function ban(): HasOne
{ {
return $this->hasOne(Ban::class, 'user_id')->where('ban_expire', '>', time())->whereIn('type', ['account', 'super']); return $this->hasOne(Ban::class, 'user_id')->where('ban_expire', '>', time())->whereIn('type', ['account', 'super']);
} }
/**
* @return HasOne<UserSetting, $this>
*/
public function settings(): HasOne public function settings(): HasOne
{ {
return $this->hasOne(UserSetting::class); return $this->hasOne(UserSetting::class);
@@ -190,71 +228,113 @@ class User extends Authenticatable implements FilamentUser, HasName
return $sso; return $sso;
} }
/**
* @return HasOne<WebsiteBetaCode, $this>
*/
public function betaCode(): HasOne public function betaCode(): HasOne
{ {
return $this->hasOne(WebsiteBetaCode::class); return $this->hasOne(WebsiteBetaCode::class);
} }
/**
* @return BelongsTo<WebsiteTeam, $this>
*/
public function team(): BelongsTo public function team(): BelongsTo
{ {
return $this->belongsTo(WebsiteTeam::class, 'team_id'); return $this->belongsTo(WebsiteTeam::class, 'team_id');
} }
/**
* @return HasMany<WebsiteStaffApplications, $this>
*/
public function applications(): HasMany public function applications(): HasMany
{ {
return $this->hasMany(WebsiteStaffApplications::class, 'user_id'); return $this->hasMany(WebsiteStaffApplications::class, 'user_id');
} }
/**
* @return HasOne<UserSubscription, $this>
*/
public function hcSubscription(): HasOne public function hcSubscription(): HasOne
{ {
return $this->hasOne(UserSubscription::class); return $this->hasOne(UserSubscription::class);
} }
/**
* @return HasMany<WebsiteArticleComment, $this>
*/
public function articleComments(): HasMany public function articleComments(): HasMany
{ {
return $this->hasMany(WebsiteArticleComment::class); return $this->hasMany(WebsiteArticleComment::class);
} }
/**
* @return HasMany<WebsitePaypalTransaction, $this>
*/
public function transactions(): HasMany public function transactions(): HasMany
{ {
return $this->hasMany(WebsitePaypalTransaction::class); return $this->hasMany(WebsitePaypalTransaction::class);
} }
/**
* @return HasMany<WebsiteUsedShopVoucher, $this>
*/
public function usedShopVouchers(): HasMany public function usedShopVouchers(): HasMany
{ {
return $this->hasMany(WebsiteUsedShopVoucher::class); return $this->hasMany(WebsiteUsedShopVoucher::class);
} }
/**
* @return HasMany<Item, $this>
*/
public function items(): HasMany public function items(): HasMany
{ {
return $this->hasMany(Item::class, 'user_id'); return $this->hasMany(Item::class, 'user_id');
} }
/**
* @return HasMany<WebsiteHelpCenterTicket, $this>
*/
public function tickets(): HasMany public function tickets(): HasMany
{ {
return $this->hasMany(WebsiteHelpCenterTicket::class); return $this->hasMany(WebsiteHelpCenterTicket::class);
} }
/**
* @return HasMany<CameraWeb, $this>
*/
public function photos(): HasMany public function photos(): HasMany
{ {
return $this->hasMany(CameraWeb::class); return $this->hasMany(CameraWeb::class);
} }
/**
* @return HasMany<WebsiteUserGuestbook, $this>
*/
public function profileGuestbook(): HasMany public function profileGuestbook(): HasMany
{ {
return $this->hasMany(WebsiteUserGuestbook::class, 'profile_id'); return $this->hasMany(WebsiteUserGuestbook::class, 'profile_id');
} }
/**
* @return HasMany<WebsiteUserGuestbook, $this>
*/
public function guestbook(): HasMany public function guestbook(): HasMany
{ {
return $this->hasMany(WebsiteUserGuestbook::class, 'user_id'); return $this->hasMany(WebsiteUserGuestbook::class, 'user_id');
} }
/**
* @return HasMany<ChatlogRoom, $this>
*/
public function chatLogs(): HasMany public function chatLogs(): HasMany
{ {
return $this->hasMany(ChatlogRoom::class, 'user_from_id'); return $this->hasMany(ChatlogRoom::class, 'user_from_id');
} }
/**
* @return HasMany<ChatlogPrivate, $this>
*/
public function chatLogsPrivate(): HasMany public function chatLogsPrivate(): HasMany
{ {
return $this->hasMany(ChatlogPrivate::class, 'user_from_id'); return $this->hasMany(ChatlogPrivate::class, 'user_from_id');