Skip to content

Commit 161dc00

Browse files
author
Jose Ganora
committed
#WN-114# changes to filter totals
1 parent 764f812 commit 161dc00

1 file changed

Lines changed: 29 additions & 4 deletions

File tree

app/Http/Controllers/UsageLogController.php

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Illuminate\Support\Facades\Cache;
99
use Illuminate\Support\Facades\Log;
1010
use League\Fractal\Manager;
11+
use App\Models\UsageLog;
1112

1213
class UsageLogController extends Controller
1314
{
@@ -203,13 +204,38 @@ public function getForApplication(int $applicationId)
203204
/**
204205
* @return \Symfony\Component\HttpFoundation\Response
205206
*/
206-
public function getTotals()
207+
public function getTotals(Request $request)
207208
{
209+
$this->validate($request, [
210+
'society' => 'sometimes|string',
211+
'region' => 'sometimes|int',
212+
'hazard' => 'sometimes|string',
213+
'date' => 'sometimes|date',
214+
'language' => 'sometimes|string',
215+
]);
208216
try {
209217
// Cache to be enabled in production
210-
//$totals = Cache::remember('usage.totals', 3600 * 24, function () {
218+
$usageLog = new UsageLog;
219+
$query = $usageLog->query();
220+
221+
if (isset($request->society)) {
222+
$query->where('endpoint', 'v1/org/'.$request->society.'/whatnow');
223+
}
224+
if (isset($request->region)) {
225+
$query->where('region', $request->region);
226+
}
227+
if (isset($request->hazard)) {
228+
$query->where('event_type', 'like', '%' . $request->hazard . '%');
229+
}
230+
if (isset($request->date)) {
231+
$query->whereDate('timestamp', $request->date);
232+
}
233+
if (isset($request->language)) {
234+
$query->where('language', $request->language);
235+
}
236+
$usageLogs = $query->get();
237+
211238
$applications = $this->applicationRepo->all();
212-
$usageLogs = $this->usageLogRepo->all();
213239

214240
// Calculate total estimated users
215241
$totalEstimatedUsers = $applications->map(function ($application) {
@@ -221,7 +247,6 @@ public function getTotals()
221247
'estimatedUsers' => $totalEstimatedUsers,
222248
'hits' => count($usageLogs),
223249
];
224-
//});
225250
} catch (\Exception $e) {
226251
Log::error('Could not get Usage Log totals', ['message' => $e->getMessage()]);
227252

0 commit comments

Comments
 (0)