User alarms api

This commit is contained in:
Nikhil Kadam
2025-05-14 17:30:40 +05:30
parent fefab7d5e7
commit 32bf38b512
2 changed files with 63 additions and 0 deletions

View File

@@ -1583,4 +1583,62 @@ class TelemetryController extends Controller
}
}
public function getUserAssets(){
$token = readHeaderToken();
$userId = $token['sub'];
$userAssets = UserAssetLink::with('asset:id,name')
->where(['user_id' => $userId, 'active' => 1])
->get()
->map(function($link) {
return [
'id' => $link->asset->id,
'name' => $link->asset->name
];
});
return response()->json($userAssets);
}
public function getUserDeviceByAsset($assetId){
$token = readHeaderToken();
$userDevices = UserAssetLink::with('asset.devices')
->where('user_id', $token['sub'])
->where('asset_id', $assetId)
->get()
->pluck('asset.devices')
->flatten()
->select('id','name');
return response()->json($userDevices);
}
public function getUserAlarms(Request $request){
try {
$token = readHeaderToken();
$userId = $token['sub'];
if($request->assetIds){
$getDeviceByAsset = Device::whereIn('asset_id', $request->assetIds)->pluck('id')->toArray();
}else{
$getDeviceByAsset = $request->deviceIds;
}
$data = [
'statusList' => $request->statusList ?? ['ACTIVE'],
'severityList' => $request->severityList,
'startTs' => $request->startTs,
'endTs' => $request->endTs,
'deviceIds' => $getDeviceByAsset,
];
$allDevices = Device::pluck('id')->toArray();
$alarms = $this->customerInfoService->fetchDeviceAlarms($allDevices, $data);
return response()->json(['success' => true, 'data' => $alarms]);
} catch(Exception $e){
return response()->json(['success' => false, 'message' => $e->getMessage()], 500);
}
}
}

View File

@@ -58,4 +58,9 @@ Route::middleware(['customerApiBasicAuth'])->group(function () {
Route::get('/get-trends/{deviceId}', [TelemetryController::class, 'getTrends']);
Route::get('/get-cylinder-specific-indicators/{deviceId}', [TelemetryController::class, 'getCylinderSpecificIndicators']);
Route::get('/get-peak-pressure/{deviceId}', [TelemetryController::class, 'getPeakPressure']);
// Alarms
Route::post('/get-user-alarms', [TelemetryController::class, 'getUserAlarms']);
Route::get('/get-user-device-by-asset/{assetId}', [TelemetryController::class, 'getUserDeviceByAsset']);
Route::get('/get-user-assets', [TelemetryController::class, 'getUserAssets']);
});