filter alarm

This commit is contained in:
sayliraut
2025-03-26 19:53:56 +05:30
parent 2103fc6368
commit a55e24e28a
3 changed files with 69 additions and 0 deletions

View File

@@ -62,4 +62,36 @@ class AlarmController extends Controller
return jsonResponseWithErrorMessage($e->getMessage(), 500);
}
}
public function filterAlarm(Request $request)
{
try {
$alarmData = $request->only([
// 'statusList',
'severity',
// 'type',
// 'assigneeId',
'pageSize',
'page',
// 'textSearch',
// 'sortProperty',
// 'sortOrder',
'startTs',
'endTs'
]);
$apiResponse = $this->alarmService->filterAlarm($alarmData);
return jsonResponseWithSuccessMessage('Alarm data retrieved successfully', ['api_response' => $apiResponse]);
} catch (Exception $e) {
Log::error("Error: " . $e->getMessage());
$errorResponse = json_decode($e->getMessage(), true);
if (json_last_error() === JSON_ERROR_NONE) {
return jsonResponseWithErrorMessage($errorResponse['message'] ?? 'Something went wrong', 400, $errorResponse);
}
return jsonResponseWithErrorMessage($e->getMessage(), 500);
}
}
}

View File

@@ -106,6 +106,41 @@ class AlarmService
}
public function filterAlarm(array $data)
{
$token = $this->getToken();
$queryParams = array_filter([
// 'statusList' => $data['statusList'] ?? null,
'severityList' => $data['severity'] ?? null,
// 'typeList' => $data['type'] ?? null,
// 'assigneeId' => $data['assigneeId'] ?? null,
'pageSize' => $data['pageSize'] ?? 10,
'page' => $data['page'] ?? 0,
// 'textSearch' => $data['textSearch'] ?? null,
// 'sortProperty' => $data['sortProperty'] ?? null,
// 'sortOrder' => $data['sortOrder'] ?? null,
'startTime' => $data['startTs'] ?? null,
'endTime' => $data['endTs'] ?? null,
], function ($value) {
return $value !== null;
});
$url = "{$this->baseUrl}/api/v2/alarms" . (count($queryParams) ? '?' . http_build_query($queryParams) : '');
$response = Http::withHeaders([
'Authorization' => "Bearer $token",
'Accept' => 'application/json',
])->get($url);
if (!$response->successful()) {
Log::error("API Error Response:", ['body' => $response->body()]);
throw new Exception('API Error: ' . $response->body());
}
return $response->json();
}
public function deleteDevice(array $data)
{

View File

@@ -63,3 +63,5 @@ Route::post('/update-device-profile-master/{deviceId}', [DeviceProfileMasterCont
//******************************************************* Alarm API ********************************************************
Route::post('/alarm/create-or-update', [AlarmController::class, 'createOrUpdateAlarm'])->name('alarm.create-or-update');
Route::post('/alarm/filter', [AlarmController::class, 'filterAlarm'])->name('alarm.filter');