🆙 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 Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity;
use App\Models\ChatlogRoom;
use App\Models\ChatlogPrivate;
/**
* @property int $id
@@ -88,11 +90,17 @@ class User extends Authenticatable implements FilamentUser, HasName
];
}
/**
* @return HasMany<UserCurrency, $this>
*/
public function currencies(): HasMany
{
return $this->hasMany(UserCurrency::class, 'user_id');
}
/**
* @return HasMany<Session, $this>
*/
public function sessions(): HasMany
{
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 HasOne<Permission, $this>
*/
public function permission(): HasOne
{
return $this->hasOne(Permission::class, 'id', 'rank');
}
/**
* @return HasMany<WebsiteArticle, $this>
*/
public function articles(): HasMany
{
return $this->hasMany(WebsiteArticle::class);
}
/**
* @return HasOne<UserReferral, $this>
*/
public function referrals(): HasOne
{
return $this->hasOne(UserReferral::class);
}
/**
* @return HasMany<Referral, $this>
*/
public function userReferrals(): HasMany
{
return $this->hasMany(Referral::class);
}
/**
* @return HasMany<ClaimedReferralLog, $this>
*/
public function claimedReferralLog(): HasMany
{
return $this->hasMany(ClaimedReferralLog::class);
}
/**
* @return HasMany<UserBadge, $this>
*/
public function badges(): HasMany
{
return $this->hasMany(UserBadge::class);
}
/**
* @return HasMany<Room, $this>
*/
public function rooms(): HasMany
{
return $this->hasMany(Room::class, 'owner_id');
}
/**
* @return HasMany<MessengerFriendship, $this>
*/
public function friends(): HasMany
{
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 HasOne<Ban, $this>
*/
public function ban(): HasOne
{
return $this->hasOne(Ban::class, 'user_id')->where('ban_expire', '>', time())->whereIn('type', ['account', 'super']);
}
/**
* @return HasOne<UserSetting, $this>
*/
public function settings(): HasOne
{
return $this->hasOne(UserSetting::class);
@@ -190,71 +228,113 @@ class User extends Authenticatable implements FilamentUser, HasName
return $sso;
}
/**
* @return HasOne<WebsiteBetaCode, $this>
*/
public function betaCode(): HasOne
{
return $this->hasOne(WebsiteBetaCode::class);
}
/**
* @return BelongsTo<WebsiteTeam, $this>
*/
public function team(): BelongsTo
{
return $this->belongsTo(WebsiteTeam::class, 'team_id');
}
/**
* @return HasMany<WebsiteStaffApplications, $this>
*/
public function applications(): HasMany
{
return $this->hasMany(WebsiteStaffApplications::class, 'user_id');
}
/**
* @return HasOne<UserSubscription, $this>
*/
public function hcSubscription(): HasOne
{
return $this->hasOne(UserSubscription::class);
}
/**
* @return HasMany<WebsiteArticleComment, $this>
*/
public function articleComments(): HasMany
{
return $this->hasMany(WebsiteArticleComment::class);
}
/**
* @return HasMany<WebsitePaypalTransaction, $this>
*/
public function transactions(): HasMany
{
return $this->hasMany(WebsitePaypalTransaction::class);
}
/**
* @return HasMany<WebsiteUsedShopVoucher, $this>
*/
public function usedShopVouchers(): HasMany
{
return $this->hasMany(WebsiteUsedShopVoucher::class);
}
/**
* @return HasMany<Item, $this>
*/
public function items(): HasMany
{
return $this->hasMany(Item::class, 'user_id');
}
/**
* @return HasMany<WebsiteHelpCenterTicket, $this>
*/
public function tickets(): HasMany
{
return $this->hasMany(WebsiteHelpCenterTicket::class);
}
/**
* @return HasMany<CameraWeb, $this>
*/
public function photos(): HasMany
{
return $this->hasMany(CameraWeb::class);
}
/**
* @return HasMany<WebsiteUserGuestbook, $this>
*/
public function profileGuestbook(): HasMany
{
return $this->hasMany(WebsiteUserGuestbook::class, 'profile_id');
}
/**
* @return HasMany<WebsiteUserGuestbook, $this>
*/
public function guestbook(): HasMany
{
return $this->hasMany(WebsiteUserGuestbook::class, 'user_id');
}
/**
* @return HasMany<ChatlogRoom, $this>
*/
public function chatLogs(): HasMany
{
return $this->hasMany(ChatlogRoom::class, 'user_from_id');
}
/**
* @return HasMany<ChatlogPrivate, $this>
*/
public function chatLogsPrivate(): HasMany
{
return $this->hasMany(ChatlogPrivate::class, 'user_from_id');