$this->workspaces()->count(), 'socialAccountCount' => $this->workspaces() ->withCount('socialAccounts') ->get() ->sum('social_accounts_count'), 'memberCount' => $this->users()->count(), 'pendingInviteCount' => Invite::where('account_id', $this->id) ->whereNull('accepted_at') ->count(), 'creditsUsed' => AiUsageLog::monthlyCredits($this->id), ]; } /** * @return array{workspaceLimit: int, socialAccountLimit: int, memberLimit: int, monthlyCreditsLimit: int} */ public function featureLimits(): array { return [ 'workspaceLimit' => Feature::for($this)->value(WorkspaceLimit::class), 'socialAccountLimit' => Feature::for($this)->value(SocialAccountLimit::class), 'memberLimit' => Feature::for($this)->value(MemberLimit::class), 'monthlyCreditsLimit' => Feature::for($this)->value(MonthlyCreditsLimit::class), ]; } }