Initial commit

This commit is contained in:
Developer
2025-04-21 16:03:20 +02:00
commit 2832896157
22874 changed files with 3092801 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
<?php
namespace App\Domain\Users\Service;
use Illuminate\Database\Eloquent\Builder;
class ProfileDataService
{
public static function get($user)
{
$gues = auth()->user();
if($gues){
$gues = auth()->user()->id;
}else{
$gues = null;
}
$user->loadCount(['subscriber_reverse as is_sub' => function (Builder $query) use($gues) {
$query->where('user_id', $gues);
},'subscribers as is_reader' => function (Builder $query) use($gues) {
$query->where('subscriber_id', $gues);
}])->withCasts(['is_sub' => 'boolean', 'is_reader' => 'boolean']);
$is_leader = false;
if($user->is_sub && auth()->user()){
$leader = auth()->user()->subscribers()->where('subscriber_id', $user->id)->first();
if($leader){
$is_leader = (boolean)$leader->pivot->leader;
}
}
$count_feeds = $user->feeds()->count();
$count_readable = $user->subscribers()->count();
$count_subscribers = $user->subscriber_reverse()->count();
$is_auth_user = $user->id === $gues;
if($is_auth_user){
$close_account = false;
}else{
$close_account = $user->private == true && ($user->is_sub == 0 || $user->is_reader == 0);
}
$object = new \stdClass();
$object->user = $user;
$object->count_feeds = $count_feeds;
$object->count_readable = $count_readable;
$object->count_subscribers = $count_subscribers;
$object->close_account = $close_account;
$object->is_leader = $is_leader;
return $object;
}
}