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
|
||||
$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) {
|
||||
DeviceModule::create([
|
||||
'device_id' => $device->id,
|
||||
@ -63,10 +65,19 @@ public function store(DeviceStoreRequest $request)
|
||||
'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();
|
||||
|
||||
$device->load('modules');
|
||||
$device->load('deviceModules.module');
|
||||
|
||||
return ApiResponse::CREATED->response([
|
||||
'message' => 'Dispositivo creado exitosamente.',
|
||||
@ -75,6 +86,7 @@ public function store(DeviceStoreRequest $request)
|
||||
'brand' => $device->brand,
|
||||
'serie' => $device->serie,
|
||||
'status' => $device->status,
|
||||
'module' => $device->deviceModules->first()?->module,
|
||||
],
|
||||
]);
|
||||
} catch (\Exception $e) {
|
||||
@ -114,7 +126,9 @@ public function update(DeviceUpdateRequest $request, $id)
|
||||
|
||||
DeviceModule::where('device_id', $device->id)->delete();
|
||||
|
||||
$userIds = $request->input('user_id');
|
||||
$userIds = $request->input('user_id', []);
|
||||
|
||||
if (!empty($userIds)) {
|
||||
foreach ($userIds as $userId) {
|
||||
DeviceModule::create([
|
||||
'device_id' => $device->id,
|
||||
@ -123,6 +137,14 @@ public function update(DeviceUpdateRequest $request, $id)
|
||||
'status' => true,
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
DeviceModule::create([
|
||||
'device_id' => $device->id,
|
||||
'module_id' => $request->module_id,
|
||||
'user_id' => null,
|
||||
'status' => true,
|
||||
]);
|
||||
}
|
||||
|
||||
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