Personal data and password change

This commit is contained in:
2026-04-26 01:15:58 +02:00
parent f4ea07d82c
commit 5bcdc2fb5d
20 changed files with 620 additions and 26 deletions

View File

@@ -0,0 +1,14 @@
<?php
namespace App\Domains\Dashboard\Controllers;
use App\Providers\InertiaProvider;
use App\Scopes\CommonController;
class MessagesController extends CommonController {
public function __invoke() {
$inertiaProvider = new InertiaProvider('Dashboard/Messages', []);
return $inertiaProvider->render();
}
}

View File

@@ -0,0 +1,45 @@
<?php
namespace App\Domains\Dashboard\Controllers;
use App\Providers\InertiaProvider;
use App\Scopes\CommonController;
class PersonalDataController extends CommonController
{
public function __invoke()
{
if (!$this->checkAuth()) {
return redirect()->intended('/login');
}
$user = auth()->user();
$data = $this->users->getPersonalData($user);
$inertiaProvider = new InertiaProvider('Dashboard/PersonalData', [
'personalData' => [
'firstname' => $data['firstname'],
'lastname' => $data['lastname'],
'birthday' => $data['birthday'],
'nickname' => $data['nickname'],
'email' => $data['email'],
'phone' => $data['phone'],
'address1' => $data['address_1'],
'address2' => $data['address_2'],
'postcode' => $data['postcode'],
'city' => $data['city'],
'medications' => $data['medications'],
'allergies' => $data['allergies'],
'intolerances' => $data['intolerances'],
'eatingHabits' => $data['eating_habits'],
'swimmingPermission' => $data['swimming_permission'],
'firstAidPermission' => $data['first_aid_permission'],
'bankAccountOwner' => $data['bank_account_owner'],
'bankAccountIban' => $data['bank_account_iban'],
'tetanusVaccination' => $data['tetanus_vaccination'],
],
]);
return $inertiaProvider->render();
}
}

View File

@@ -0,0 +1,43 @@
<?php
namespace App\Domains\Dashboard\Controllers;
use App\Domains\Dashboard\Actions\UpdatePersonalData\UpdatePersonalDataCommand;
use App\Domains\Dashboard\Actions\UpdatePersonalData\UpdatePersonalDataRequest;
use App\Scopes\CommonController;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class StorePersonalDataController extends CommonController
{
public function __invoke(Request $request): JsonResponse
{
$user = auth()->user();
$actionRequest = new UpdatePersonalDataRequest(
user: $user,
nickname: $request->input('nickname'),
email: $request->input('email'),
phone: $request->input('phone'),
address1: $request->input('address1'),
address2: $request->input('address2'),
postcode: $request->input('postcode'),
city: $request->input('city'),
medications: $request->input('medications'),
allergies: $request->input('allergies'),
intolerances: $request->input('intolerances'),
eatingHabits: $request->input('eatingHabits'),
swimmingPermission: $request->input('swimmingPermission'),
firstAidPermission: $request->input('firstAidPermission'),
bankAccountOwner: $request->input('bankAccountOwner'),
bankAccountIban: $request->input('bankAccountIban'),
birthday: $request->input('birthday'),
tetanusVaccination: $request->input('tetanusVaccination'),
);
$command = new UpdatePersonalDataCommand($actionRequest, $this->users);
$command->execute();
return response()->json(['success' => true, 'message' => 'Deine Daten wurden erfolgreich gespeichert.']);
}
}