- users active is recorded when users logges in - add active broker and active customer multi axis line chart - add filter option of 30 days and 7 days
26 lines
818 B
PHP
26 lines
818 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Enums\UserTypes;
|
|
use App\Http\Resources\ActiveUsersStatsCollection;
|
|
use App\Queries\PageVisitStatsQuery;
|
|
use Illuminate\Http\Request;
|
|
|
|
class StatsController extends Controller
|
|
{
|
|
public function getActiveUsers(Request $request, PageVisitStatsQuery $baseQuery)
|
|
{
|
|
$startDay = $request->from ?? now()->subDays(30);
|
|
$endDay = $request->to ?? now();
|
|
|
|
$activeCustomers = $baseQuery->builder(UserTypes::User, $startDay, $endDay)->get();
|
|
$activeBrokers = $baseQuery->builder(UserTypes::Broker, $startDay, $endDay)->get();
|
|
|
|
return response()->json([
|
|
'activeCustomers' => new ActiveUsersStatsCollection($activeCustomers),
|
|
'activeBrokers' => new ActiveUsersStatsCollection($activeBrokers),
|
|
]);
|
|
}
|
|
}
|