diff --git a/Updated_Cms/app/Models/User.php b/Updated_Cms/app/Models/User.php index 98509513a6..1c3d19d9f9 100644 --- a/Updated_Cms/app/Models/User.php +++ b/Updated_Cms/app/Models/User.php @@ -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 + */ public function currencies(): HasMany { return $this->hasMany(UserCurrency::class, 'user_id'); } + /** + * @return HasMany + */ 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 + */ public function permission(): HasOne { return $this->hasOne(Permission::class, 'id', 'rank'); } + /** + * @return HasMany + */ public function articles(): HasMany { return $this->hasMany(WebsiteArticle::class); } + /** + * @return HasOne + */ public function referrals(): HasOne { return $this->hasOne(UserReferral::class); } + /** + * @return HasMany + */ public function userReferrals(): HasMany { return $this->hasMany(Referral::class); } + /** + * @return HasMany + */ public function claimedReferralLog(): HasMany { return $this->hasMany(ClaimedReferralLog::class); } + /** + * @return HasMany + */ public function badges(): HasMany { return $this->hasMany(UserBadge::class); } + /** + * @return HasMany + */ public function rooms(): HasMany { return $this->hasMany(Room::class, 'owner_id'); } + /** + * @return HasMany + */ 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 + */ public function ban(): HasOne { return $this->hasOne(Ban::class, 'user_id')->where('ban_expire', '>', time())->whereIn('type', ['account', 'super']); } + /** + * @return HasOne + */ public function settings(): HasOne { return $this->hasOne(UserSetting::class); @@ -190,71 +228,113 @@ class User extends Authenticatable implements FilamentUser, HasName return $sso; } + /** + * @return HasOne + */ public function betaCode(): HasOne { return $this->hasOne(WebsiteBetaCode::class); } + /** + * @return BelongsTo + */ public function team(): BelongsTo { return $this->belongsTo(WebsiteTeam::class, 'team_id'); } + /** + * @return HasMany + */ public function applications(): HasMany { return $this->hasMany(WebsiteStaffApplications::class, 'user_id'); } + /** + * @return HasOne + */ public function hcSubscription(): HasOne { return $this->hasOne(UserSubscription::class); } + /** + * @return HasMany + */ public function articleComments(): HasMany { return $this->hasMany(WebsiteArticleComment::class); } + /** + * @return HasMany + */ public function transactions(): HasMany { return $this->hasMany(WebsitePaypalTransaction::class); } + /** + * @return HasMany + */ public function usedShopVouchers(): HasMany { return $this->hasMany(WebsiteUsedShopVoucher::class); } + /** + * @return HasMany + */ public function items(): HasMany { return $this->hasMany(Item::class, 'user_id'); } + /** + * @return HasMany + */ public function tickets(): HasMany { return $this->hasMany(WebsiteHelpCenterTicket::class); } + /** + * @return HasMany + */ public function photos(): HasMany { return $this->hasMany(CameraWeb::class); } + /** + * @return HasMany + */ public function profileGuestbook(): HasMany { return $this->hasMany(WebsiteUserGuestbook::class, 'profile_id'); } + /** + * @return HasMany + */ public function guestbook(): HasMany { return $this->hasMany(WebsiteUserGuestbook::class, 'user_id'); } + /** + * @return HasMany + */ public function chatLogs(): HasMany { return $this->hasMany(ChatlogRoom::class, 'user_from_id'); } + /** + * @return HasMany + */ public function chatLogsPrivate(): HasMany { return $this->hasMany(ChatlogPrivate::class, 'user_from_id');