User alarms based on user devices

This commit is contained in:
Nikhil Kadam
2025-05-14 19:01:49 +05:30
parent 327dcdf714
commit 42ebc1d71c

View File

@@ -1570,7 +1570,7 @@ class TelemetryController extends Controller
'severityList' => $request->severityList,
'startTs' => $request->startTs,
'endTs' => $request->endTs,
'deviceIds' => $getDeviceByAsset,
'deviceIds' => $request->deviceIds ?? $getDeviceByAsset,
];
$allDevices = Device::pluck('id')->toArray();
@@ -1602,8 +1602,7 @@ class TelemetryController extends Controller
public function getUserDeviceByAsset($assetId){
$token = readHeaderToken();
$userDevices = UserAssetLink::with('asset.devices')
->where('user_id', $token['sub'])
->where('asset_id', $assetId)
->where(['user_id' => $token['sub'], 'active' => 1, 'asset_id' => $assetId])
->get()
->pluck('asset.devices')
->flatten()
@@ -1615,11 +1614,17 @@ class TelemetryController extends Controller
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{
if($request->assetIds) {
$userDevices = UserAssetLink::with('asset.devices')
->where(['user_id' => $token['sub'], 'active' => 1])
->whereIn('asset_id', $request->assetIds)
->get()
->pluck('asset.devices')
->flatten()
->unique('id');
$getDeviceByAsset = $userDevices->pluck('id')->toArray();
} else {
$getDeviceByAsset = $request->deviceIds;
}
@@ -1628,10 +1633,16 @@ class TelemetryController extends Controller
'severityList' => $request->severityList,
'startTs' => $request->startTs,
'endTs' => $request->endTs,
'deviceIds' => $getDeviceByAsset,
'deviceIds' => $request->deviceIds ?? $getDeviceByAsset,
];
$allDevices = Device::pluck('id')->toArray();
$userDevices = UserAssetLink::with('asset.devices')
->where(['user_id' => $token['sub'], 'active' => 1])
->get()
->pluck('asset.devices')
->flatten()
->unique('id');
$allDevices = $userDevices->pluck('id')->toArray();
$alarms = $this->customerInfoService->fetchDeviceAlarms($allDevices, $data);