fix: actualizar dispositivo
This commit is contained in:
parent
22f7e0226e
commit
974efc1c9c
@ -42,6 +42,7 @@ public function index()
|
|||||||
'name',
|
'name',
|
||||||
'paternal',
|
'paternal',
|
||||||
'maternal',
|
'maternal',
|
||||||
|
'username',
|
||||||
'email',
|
'email',
|
||||||
'module_id',
|
'module_id',
|
||||||
'deleted_at'
|
'deleted_at'
|
||||||
|
|||||||
@ -122,6 +122,23 @@ public function update(DeviceUpdateRequest $request, $id)
|
|||||||
|
|
||||||
$device = Device::findOrFail($id);
|
$device = Device::findOrFail($id);
|
||||||
|
|
||||||
|
// Validar unicidad solo si los valores cambiaron
|
||||||
|
if ($request->filled('serie') && $request->serie !== $device->serie) {
|
||||||
|
if (Device::where('serie', $request->serie)->exists()) {
|
||||||
|
return ApiResponse::INTERNAL_ERROR->response([
|
||||||
|
'message' => 'El número de serie ya está en uso.',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($request->filled('mac_address') && $request->mac_address !== $device->mac_address) {
|
||||||
|
if (Device::where('mac_address', $request->mac_address)->exists()) {
|
||||||
|
return ApiResponse::INTERNAL_ERROR->response([
|
||||||
|
'message' => 'La dirección MAC ya está registrada.',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$device->update($request->only(['brand', 'serie', 'mac_address', 'status']));
|
$device->update($request->only(['brand', 'serie', 'mac_address', 'status']));
|
||||||
|
|
||||||
DeviceModule::where('device_id', $device->id)->delete();
|
DeviceModule::where('device_id', $device->id)->delete();
|
||||||
|
|||||||
@ -13,12 +13,10 @@ public function authorize(): bool
|
|||||||
|
|
||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
$deviceId = $this->route('device');
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'brand' => ['nullable', 'string', 'max:255'],
|
'brand' => ['nullable', 'string', 'max:255'],
|
||||||
'serie' => ['nullable', 'string', 'unique:devices,serie,' . $deviceId, 'max:255'],
|
'serie' => ['nullable', 'string', 'max:255'],
|
||||||
'mac_address' => ['nullable', 'string', 'unique:devices,mac_address,' . $deviceId, 'regex:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/'],
|
'mac_address' => ['nullable', 'string', 'regex:/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/'],
|
||||||
'module_id' => ['nullable', 'exists:modules,id'],
|
'module_id' => ['nullable', 'exists:modules,id'],
|
||||||
'user_id' => ['nullable', 'array'],
|
'user_id' => ['nullable', 'array'],
|
||||||
'user_id.*' => ['exists:users,id'],
|
'user_id.*' => ['exists:users,id'],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user