change edit method
This commit is contained in:
@@ -24,7 +24,6 @@ class EditRequest extends FormRequest
|
|||||||
*/
|
*/
|
||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
$user = $this->user();
|
|
||||||
return [
|
return [
|
||||||
'username' => 'string|max:255',
|
'username' => 'string|max:255',
|
||||||
'first_name' => 'required|string',
|
'first_name' => 'required|string',
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ use App\User\Requests\Gateway\UpdateRequest;
|
|||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Throwable;
|
||||||
|
|
||||||
class GatewayManagementController extends Controller
|
class GatewayManagementController extends Controller
|
||||||
{
|
{
|
||||||
@@ -29,12 +31,16 @@ class GatewayManagementController extends Controller
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws Throwable
|
||||||
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$user = Auth::guard('web')->user();
|
$user = Auth::guard('web')->user();
|
||||||
|
|
||||||
$logo = $request->has('logo') ? FileFacade::save($request->file('logo'), "{$user->id}") : null;
|
$logo = $request->has('logo') ? FileFacade::save($request->file('logo'), "{$user->id}") : null;
|
||||||
|
|
||||||
|
DB::transaction(function () use ($user, $logo, $request) {
|
||||||
UserGateway::query()->create([
|
UserGateway::query()->create([
|
||||||
'user_id' => $user->id,
|
'user_id' => $user->id,
|
||||||
'username' => $user->username,
|
'username' => $user->username,
|
||||||
@@ -49,6 +55,10 @@ class GatewayManagementController extends Controller
|
|||||||
'logo' => $logo,
|
'logo' => $logo,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$user->update(['authority_level' => 1]);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
return $this->successResponse();
|
return $this->successResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
namespace App\User\Controllers;
|
namespace App\User\Controllers;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\City;
|
||||||
|
use App\Models\Province;
|
||||||
use App\Traits\ApiResponse;
|
use App\Traits\ApiResponse;
|
||||||
use App\User\Requests\Profile\ChangePasswordRequest;
|
use App\User\Requests\Profile\ChangePasswordRequest;
|
||||||
use App\User\Requests\Profile\EditRequest;
|
use App\User\Requests\Profile\EditRequest;
|
||||||
@@ -23,8 +25,24 @@ class ProfileController extends Controller
|
|||||||
public function edit(EditRequest $request): JsonResponse
|
public function edit(EditRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
|
$province = Province::query()->find($request->province_id);
|
||||||
|
$city = City::query()->find($request->city_id);
|
||||||
|
|
||||||
$user->update($request->validated());
|
$user->update([
|
||||||
|
'first_name' => $request->first_name,
|
||||||
|
'last_name' => $request->last_name,
|
||||||
|
'national_id' => $request->national_id,
|
||||||
|
'address' => $request->address,
|
||||||
|
'postal_code' => $request->postal_code,
|
||||||
|
'phone_number' => $request->phone_number,
|
||||||
|
'province_id' => $province->id,
|
||||||
|
'province_name' => $province->name,
|
||||||
|
'city_id' => $city->id,
|
||||||
|
'city_name' => $city->name,
|
||||||
|
'birth_date' => $request->birth_date,
|
||||||
|
'email' => $request->email,
|
||||||
|
'kyc_status' => 1,
|
||||||
|
]);
|
||||||
|
|
||||||
return $this->successResponse();
|
return $this->successResponse();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ namespace App\User\Requests\Gateway;
|
|||||||
|
|
||||||
use Illuminate\Contracts\Validation\ValidationRule;
|
use Illuminate\Contracts\Validation\ValidationRule;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
class StoreRequest extends FormRequest
|
class StoreRequest extends FormRequest
|
||||||
{
|
{
|
||||||
@@ -12,7 +13,7 @@ class StoreRequest extends FormRequest
|
|||||||
*/
|
*/
|
||||||
public function authorize(): bool
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
return true;
|
return Auth::guard('web')->user()->kyc_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ namespace App\User\Requests\Gateway;
|
|||||||
|
|
||||||
use Illuminate\Contracts\Validation\ValidationRule;
|
use Illuminate\Contracts\Validation\ValidationRule;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
class UpdateRequest extends FormRequest
|
class UpdateRequest extends FormRequest
|
||||||
{
|
{
|
||||||
@@ -12,7 +13,7 @@ class UpdateRequest extends FormRequest
|
|||||||
*/
|
*/
|
||||||
public function authorize(): bool
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
return true;
|
return Auth::guard('web')->user()->kyc_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ namespace App\User\Requests\Profile;
|
|||||||
|
|
||||||
use Illuminate\Contracts\Validation\ValidationRule;
|
use Illuminate\Contracts\Validation\ValidationRule;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
use Illuminate\Validation\Validator;
|
use Illuminate\Validation\Validator;
|
||||||
|
|
||||||
@@ -24,47 +25,21 @@ class EditRequest extends FormRequest
|
|||||||
*/
|
*/
|
||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
$user = $this->user();
|
$user = Auth::guard('web')->user();
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'first_name' => [
|
'first_name' => 'required|string|max:255',
|
||||||
Rule::prohibitedIf($user->kyc_status == 1), 'string',
|
'last_name' => 'required|string|max:255',
|
||||||
],
|
|
||||||
'last_name' => [
|
|
||||||
Rule::prohibitedIf($user->kyc_status == 1), 'string',
|
|
||||||
],
|
|
||||||
'national_id' => [
|
'national_id' => [
|
||||||
Rule::prohibitedIf($user->kyc_status == 1), 'string',
|
Rule::prohibitedIf($user->kyc_status == 1), 'string',
|
||||||
],
|
],
|
||||||
'address' => 'required',
|
'email' => 'required|email|max:255',
|
||||||
'postal_code' => 'required',
|
'address' => 'required|string',
|
||||||
'phone_number' => 'required',
|
'postal_code' => 'required|string',
|
||||||
'province_id' => 'required',
|
'phone_number' => 'required|string',
|
||||||
'city_id' => 'required',
|
'province_id' => 'required|exists:provinces,id',
|
||||||
];
|
'city_id' => 'required|exists:cities,id',
|
||||||
}
|
'birth_date' => 'required|date',
|
||||||
public function after(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
function (Validator $validator) {
|
|
||||||
$user = $this->user();
|
|
||||||
if ($user->kyc_status == 1) {
|
|
||||||
$lockedFields = [
|
|
||||||
'first_name',
|
|
||||||
'last_name',
|
|
||||||
'national_id',
|
|
||||||
];
|
|
||||||
|
|
||||||
foreach ($lockedFields as $field) {
|
|
||||||
if ($this->filled($field)) {
|
|
||||||
$validator->errors()->add(
|
|
||||||
$field,
|
|
||||||
'you cannot change this field.'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ return new class extends Migration
|
|||||||
$table->string('national_id')->nullable();
|
$table->string('national_id')->nullable();
|
||||||
$table->string('address')->nullable();
|
$table->string('address')->nullable();
|
||||||
$table->string('postal_code')->nullable();
|
$table->string('postal_code')->nullable();
|
||||||
$table->string('tax_id')->nullable();
|
|
||||||
$table->string('phone_number')->nullable();
|
$table->string('phone_number')->nullable();
|
||||||
$table->date('birth_date')->nullable();
|
$table->date('birth_date')->nullable();
|
||||||
$table->foreignId('province_id')->nullable()->constrained('provinces');
|
$table->foreignId('province_id')->nullable()->constrained('provinces');
|
||||||
|
|||||||
Reference in New Issue
Block a user