fix: creación de dispositivo
This commit is contained in:
parent
0a7b46c0bc
commit
22f7e0226e
@ -53,8 +53,10 @@ public function store(DeviceStoreRequest $request)
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
// Asignar módulo y usuarios usando el modelo DeviceModule
|
// Asignar módulo y usuarios usando el modelo DeviceModule
|
||||||
$userIds = $request->input('user_id');
|
$userIds = $request->input('user_id', []);
|
||||||
|
|
||||||
|
if (!empty($userIds)) {
|
||||||
|
// Si hay usuarios, crear un registro por cada usuario
|
||||||
foreach ($userIds as $userId) {
|
foreach ($userIds as $userId) {
|
||||||
DeviceModule::create([
|
DeviceModule::create([
|
||||||
'device_id' => $device->id,
|
'device_id' => $device->id,
|
||||||
@ -63,10 +65,19 @@ public function store(DeviceStoreRequest $request)
|
|||||||
'status' => true,
|
'status' => true,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// Si no hay usuarios, crear solo la relación device-module
|
||||||
|
DeviceModule::create([
|
||||||
|
'device_id' => $device->id,
|
||||||
|
'module_id' => $request->module_id,
|
||||||
|
'user_id' => null,
|
||||||
|
'status' => true,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
$device->load('modules');
|
$device->load('deviceModules.module');
|
||||||
|
|
||||||
return ApiResponse::CREATED->response([
|
return ApiResponse::CREATED->response([
|
||||||
'message' => 'Dispositivo creado exitosamente.',
|
'message' => 'Dispositivo creado exitosamente.',
|
||||||
@ -75,6 +86,7 @@ public function store(DeviceStoreRequest $request)
|
|||||||
'brand' => $device->brand,
|
'brand' => $device->brand,
|
||||||
'serie' => $device->serie,
|
'serie' => $device->serie,
|
||||||
'status' => $device->status,
|
'status' => $device->status,
|
||||||
|
'module' => $device->deviceModules->first()?->module,
|
||||||
],
|
],
|
||||||
]);
|
]);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
@ -114,7 +126,9 @@ public function update(DeviceUpdateRequest $request, $id)
|
|||||||
|
|
||||||
DeviceModule::where('device_id', $device->id)->delete();
|
DeviceModule::where('device_id', $device->id)->delete();
|
||||||
|
|
||||||
$userIds = $request->input('user_id');
|
$userIds = $request->input('user_id', []);
|
||||||
|
|
||||||
|
if (!empty($userIds)) {
|
||||||
foreach ($userIds as $userId) {
|
foreach ($userIds as $userId) {
|
||||||
DeviceModule::create([
|
DeviceModule::create([
|
||||||
'device_id' => $device->id,
|
'device_id' => $device->id,
|
||||||
@ -123,6 +137,14 @@ public function update(DeviceUpdateRequest $request, $id)
|
|||||||
'status' => true,
|
'status' => true,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
DeviceModule::create([
|
||||||
|
'device_id' => $device->id,
|
||||||
|
'module_id' => $request->module_id,
|
||||||
|
'user_id' => null,
|
||||||
|
'status' => true,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('device_module', function (Blueprint $table) {
|
||||||
|
$table->foreignId('user_id')->nullable()->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('device_module', function (Blueprint $table) {
|
||||||
|
$table->foreignId('user_id')->nullable(false)->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
Loading…
x
Reference in New Issue
Block a user