Fix: Decrypt profile fields, wallet fingerprint alias, and enable profile POST update

This commit is contained in:
Hamza-Ayed
2026-04-24 00:42:56 +03:00
parent 69993ff775
commit 93b57d2ece
4 changed files with 16 additions and 10 deletions

View File

@@ -424,6 +424,10 @@ class AuthController extends Controller
if (!$request->has('phone') && $request->has('id')) { if (!$request->has('phone') && $request->has('id')) {
$request->merge(['phone' => $request->input('id')]); $request->merge(['phone' => $request->input('id')]);
} }
// Allow 'fingerPrint' as an alias for 'fingerprint'
if (!$request->has('fingerprint') && $request->has('fingerPrint')) {
$request->merge(['fingerprint' => $request->input('fingerPrint')]);
}
$request->validate([ $request->validate([
'phone' => 'required|string', 'phone' => 'required|string',
@@ -481,6 +485,10 @@ class AuthController extends Controller
if (!$request->has('phone') && $request->has('id')) { if (!$request->has('phone') && $request->has('id')) {
$request->merge(['phone' => $request->input('id')]); $request->merge(['phone' => $request->input('id')]);
} }
// Allow 'fingerPrint' as an alias for 'fingerprint'
if (!$request->has('fingerprint') && $request->has('fingerPrint')) {
$request->merge(['fingerprint' => $request->input('fingerPrint')]);
}
$request->validate([ $request->validate([
'phone' => 'required|string', 'phone' => 'required|string',

View File

@@ -109,7 +109,10 @@ class ProfileController extends Controller
} }
$updates = []; $updates = [];
$encryptableFields = ['first_name', 'last_name', 'gender', 'birthdate', 'sosPhone']; $encryptableFields = [
'first_name', 'last_name', 'gender', 'birthdate', 'sosPhone',
'site', 'education', 'employmentType', 'maritalStatus'
];
foreach ($encryptableFields as $field) { foreach ($encryptableFields as $field) {
if ($request->has($field)) { if ($request->has($field)) {
@@ -117,12 +120,6 @@ class ProfileController extends Controller
} }
} }
$plainFields = ['education', 'employmentType', 'maritalStatus', 'site'];
foreach ($plainFields as $field) {
if ($request->has($field)) {
$updates[$field] = $request->input($field);
}
}
if (!empty($updates)) { if (!empty($updates)) {
$passenger->update($updates); $passenger->update($updates);

View File

@@ -39,6 +39,7 @@ class Passenger extends Model
public const ENCRYPTED_FIELDS = [ public const ENCRYPTED_FIELDS = [
'first_name', 'last_name', 'phone', 'gender', 'email', 'birthdate', 'first_name', 'last_name', 'phone', 'gender', 'email', 'birthdate',
'site', 'sosPhone', 'education', 'employmentType', 'maritalStatus',
]; ];
public function token() public function token()

View File

@@ -105,10 +105,10 @@ Route::prefix('v2')->middleware(['hmac.auth', 'jwt.auth'])->group(function () {
Route::get('/tracking/captain-stats', [TrackingController::class, 'captainStats']); Route::get('/tracking/captain-stats', [TrackingController::class, 'captainStats']);
// ── Profile ── // ── Profile ──
Route::match(['get', 'post'], '/profile/passenger', [ProfileController::class, 'passenger']); Route::get('/profile/passenger', [ProfileController::class, 'passenger']);
Route::get('/profile/driver', [ProfileController::class, 'driver']); Route::get('/profile/driver', [ProfileController::class, 'driver']);
Route::put('/profile/passenger', [ProfileController::class, 'updatePassenger']); Route::match(['post', 'put'], '/profile/passenger', [ProfileController::class, 'updatePassenger']);
Route::put('/profile/driver/email', [ProfileController::class, 'updateDriverEmail']); Route::match(['post', 'put'], '/profile/driver/email', [ProfileController::class, 'updateDriverEmail']);
// ── Wallet ── // ── Wallet ──
Route::get('/wallet/passenger', [WalletController::class, 'index']); Route::get('/wallet/passenger', [WalletController::class, 'index']);