add basic import api
This commit is contained in:
@ -16,10 +16,11 @@ class DeviceFactory extends Factory
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
$device_type = $this->faker->randomElement(['projektor','computer','laptop','mikrofon','whiteboard','unbekannt']);
|
||||
return [
|
||||
'device_id' => $this->faker->uuid(),
|
||||
'title' => $this->faker->word(),
|
||||
'device_type' => $this->faker->domainWord(),
|
||||
'device_type' => $device_type,
|
||||
'description' => $this->faker->sentence(),
|
||||
'accessories' => $this->faker->word(),
|
||||
'rz_username_buyer' => $this->faker->name(),
|
||||
|
@ -5,6 +5,7 @@ use App\Models\LocationTransaction;
|
||||
use App\Models\OwnerTransaction;
|
||||
use App\Models\PurchasingInformation;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
@ -29,16 +30,69 @@ Route::get('/export', function () {
|
||||
});
|
||||
|
||||
Route::post('/import', function (Request $request) {
|
||||
$data = $request->json()->all();
|
||||
$devices = $data['Devices'];
|
||||
$data = $request->json()->all();
|
||||
$devices = $data['devices'];
|
||||
$purchasingInformations = $data['purchasing_information'];
|
||||
$ownerTransactions = $data['owner_transactions'];
|
||||
$locationTransactions = $data['location_transactions'];
|
||||
//$response = {};
|
||||
foreach ($devices as $device) {
|
||||
Device::create([
|
||||
'device_id' => $device->device_id,
|
||||
$deviceInsert = DB::table('devices')->insertOrIgnore([
|
||||
'device_id' => $device['device_id'],
|
||||
'title' => $device['title'],
|
||||
'device_type' => $device['device_type'],
|
||||
'description' => $device['description'] ?? '',
|
||||
'accessories' => $device['accessories'] ?? '',
|
||||
'rz_username_buyer' => $device['rz_username_buyer'],
|
||||
'serial_number' => $device['serial_number'],
|
||||
'image_url' => $device['image_url']
|
||||
]);
|
||||
// insertOrIgnore returns 0 if statement was ignored
|
||||
if ($deviceInsert != 0) {
|
||||
// save insert for later
|
||||
}
|
||||
}
|
||||
$purchasingInformations = $data['PurchasingInformations'];
|
||||
$ownerTransactions = $data['OwnerTransactions'];
|
||||
$locationTransactions = $data['LocationTransactions'];
|
||||
foreach ($purchasingInformations as $purchasing) {
|
||||
$purchasingInsert = DB::table('purchasing_information')->insertOrIgnore([
|
||||
'purchasing_information_id' => $purchasing['purchasing_information_id'],
|
||||
'price' => $purchasing['price'],
|
||||
'timestamp_warranty_end' => $purchasing['timestamp_warranty_end'],
|
||||
'timestamp_purchase' => $purchasing['timestamp_purchase'],
|
||||
'cost_centre' => $purchasing['cost_centre'],
|
||||
'seller' => $purchasing['seller'] ?? '',
|
||||
'device_id' => $purchasing['device_id']
|
||||
]);
|
||||
// insertOrIgnore returns 0 if statement was ignored
|
||||
if ($purchasingInsert != 0) {
|
||||
// save insert for later
|
||||
}
|
||||
}
|
||||
foreach ($ownerTransactions as $owner) {
|
||||
$ownerInsert = DB::table('owner_transactions')->insertOrIgnore([
|
||||
'owner_transaction_id' => $owner['owner_transaction_id'],
|
||||
'rz_username' => $owner['rz_username'],
|
||||
'timestamp_owner_since' => $owner['timestamp_owner_since'],
|
||||
'device_id' => $owner['device_id']
|
||||
]);
|
||||
// insertOrIgnore returns 0 if statement was ignored
|
||||
if ($ownerInsert != 0) {
|
||||
// save insert for later
|
||||
}
|
||||
}
|
||||
foreach ($locationTransactions as $location) {
|
||||
$locationInsert = DB::table('location_transactions')->insertOrIgnore([
|
||||
'location_transaction_id' => $location['location_transaction_id'],
|
||||
'room_code' => $location['room_code'],
|
||||
'timestamp_located_since' => $location['timestamp_located_since'],
|
||||
'device_id' => $location['device_id']
|
||||
]);
|
||||
// insertOrIgnore returns 0 if statement was ignored
|
||||
if ($locationInsert != 0) {
|
||||
// save insert for later
|
||||
}
|
||||
}
|
||||
// ToDo: return only inserted
|
||||
return $request->json()->all();
|
||||
});
|
||||
|
||||
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
|
||||
|
Reference in New Issue
Block a user