Current File : /home/getxxhzo/app.genicards.com/app/Http/Controllers/API/SuperAdmin/DashboardAPIController.php |
<?php
namespace App\Http\Controllers\API\SuperAdmin;
use App\Http\Controllers\AppBaseController;
use App\Models\Role;
use App\Models\User;
use App\Models\Vcard;
use App\Repositories\DashboardRepository;
use Carbon\Carbon;
class DashboardAPIController extends AppBaseController
{
/* @var DashboardRepository */
private DashboardRepository $dashboardRepository;
public function __construct(DashboardRepository $dashboardRepo)
{
$this->dashboardRepository = $dashboardRepo;
}
public function index()
{
$data['activeUsersCount'] = User::whereHas('roles', function ($q) {
$q->where('name', '!=', 'super_admin');
})->where('is_active', 1)->count();
$data['deActiveUsersCount'] = User::whereHas('roles', function ($q) {
$q->where('name', '!=', 'super_admin');
})->where('is_active', 0)->count();
if (Auth()->user()->hasRole(Role::ROLE_SUPER_ADMIN)) {
$data['activeVcard'] = Vcard::whereStatus(1)->count();
$data['deActiveVcard'] = Vcard::whereStatus(0)->count();
return $this->sendResponse($data, 'Super Admin Dashboard retrieve Successfully');
}
$data['activeVcard'] = Vcard::whereTenantId(auth()->user()->tenant_id)->get();
$data['deActiveVcard'] = Vcard::whereTenantId(auth()->user()->tenant_id)->whereStatus(0)->count();
return $this->sendResponse($data, 'Super Admin Dashboard retrieve Successfully');
}
public function incomeChartData()
{
$input = [
'start_date' => Carbon::now()->subDays(7)->format("Y-m-d H:m:s"),
'end_date' => Carbon::now()->format("Y-m-d H:m:s"),
];
$data = $this->dashboardRepository->incomeChartData($input);
return $this->sendResponse($data, 'Income chart data fetch successfully.');
}
}