validate( [ 'user' => 'required', 'password' => 'required' ] ); $user = User::where('rz_username', $fields['user'])->first(); if (!$user || !Hash::check($fields['password'], $user->hashed_password)) { return response([ 'message' => 'Bad login' ], 401); } $token = $user->createToken('token'); return ['token' => $token->plainTextToken]; }); Route::middleware('auth:sanctum')->get('/export', function () { return response()->json([ 'Devices' => Device::all(), 'PurchasingInformations' => PurchasingInformation::all(), 'OwnerTransactions' => OwnerTransaction::all(), 'LocationTransactions' => LocationTransaction::all() ]); }); Route::middleware('auth:sanctum')->post('/import', function (Request $request) { $data = $request->json()->all(); $devices = $data['devices']; $purchasingInformations = $data['purchasing_information']; $ownerTransactions = $data['owner_transactions']; $locationTransactions = $data['location_transactions']; //$response = {}; foreach ($devices as $device) { $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 } } 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) { return $request->user(); });