diff --git a/backend/app/Admin/Controllers/ExpertManagementController.php b/backend/app/Admin/Controllers/ExpertManagementController.php index ef793960..6178646e 100644 --- a/backend/app/Admin/Controllers/ExpertManagementController.php +++ b/backend/app/Admin/Controllers/ExpertManagementController.php @@ -7,6 +7,9 @@ use App\Admin\Requests\ExpertManagement\UpdateRequest; use App\Admin\Resources\ExpertManagementResource; use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; +use App\Models\City; +use App\Models\Expert; +use App\Models\Province; use App\Traits\ApiResponse; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -39,6 +42,9 @@ class ExpertManagementController extends Controller */ public function store(StoreRequest $request): JsonResponse { + $province = Province::query()->find($request->province_id); + $city = City::query()->find($request->city_id); + Expert::query()->create([ 'username' => $request->username, 'first_name' => $request->first_name, @@ -47,6 +53,11 @@ class ExpertManagementController extends Controller 'password' => Hash::make($request->password), 'email' => $request->email, 'phone_number' => $request->phone_number, + 'province_id' => $request->province_id, + 'province_name' => $province->name, + 'city_id' => $request->city_id, + 'city_name' => $city->name, + 'level' => $request->level, ]); return $this->successResponse(); @@ -67,6 +78,9 @@ class ExpertManagementController extends Controller */ public function update(UpdateRequest $request, Expert $expert): JsonResponse { + $province = Province::query()->find($request->province_id); + $city = City::query()->find($request->city_id); + $expert->update([ 'username' => $request->username, 'first_name' => $request->first_name, @@ -75,6 +89,11 @@ class ExpertManagementController extends Controller 'password' => Hash::make($request->password), 'email' => $request->email, 'phone_number' => $request->phone_number, + 'province_id' => $request->province_id, + 'province_name' => $province->name, + 'city_id' => $request->city_id, + 'city_name' => $city->name, + 'level' => $request->level, ]); return $this->successResponse(); diff --git a/backend/app/Admin/Controllers/UserManagementController.php b/backend/app/Admin/Controllers/UserManagementController.php index 81ad99ad..fc89237a 100644 --- a/backend/app/Admin/Controllers/UserManagementController.php +++ b/backend/app/Admin/Controllers/UserManagementController.php @@ -58,9 +58,6 @@ class UserManagementController extends Controller 'province_name' => $province->name, 'city_id' => $request->city_id, 'city_name' => $city->name, - 'key_status' => $request->key_status, - 'level' => $request->level, - 'tax_id' => $request->tax_id, ]); return $this->successResponse(); @@ -100,9 +97,6 @@ class UserManagementController extends Controller 'province_name' => $province->name, 'city_id' => $request->city_id, 'city_name' => $city->name, - 'key_status' => $request->key_status, - 'level' => $request->level, - 'tax_id' => $request->tax_id, ]); return $this->successResponse(); diff --git a/backend/app/Admin/Requests/ExpertManagement/StoreRequest.php b/backend/app/Admin/Requests/ExpertManagement/StoreRequest.php index 4018cf9f..16a1612c 100644 --- a/backend/app/Admin/Requests/ExpertManagement/StoreRequest.php +++ b/backend/app/Admin/Requests/ExpertManagement/StoreRequest.php @@ -30,6 +30,8 @@ class StoreRequest extends FormRequest 'password' => 'required|string|min:8|confirmed', 'email' => 'required|email|max:255|unique:users,email', 'phone_number' => 'required|string|max:20|unique:users,phone_number', - ]; + 'province_id' => 'required|integer|exists:provinces,id', + 'city_id' => 'required|integer|exists:cities,id', + ]; } } diff --git a/backend/app/Admin/Requests/ExpertManagement/UpdateRequest.php b/backend/app/Admin/Requests/ExpertManagement/UpdateRequest.php index 732d7fe9..da3ed7ed 100644 --- a/backend/app/Admin/Requests/ExpertManagement/UpdateRequest.php +++ b/backend/app/Admin/Requests/ExpertManagement/UpdateRequest.php @@ -38,6 +38,8 @@ class UpdateRequest extends FormRequest Rule::unique('users', 'email')->ignore($this->user->id),], 'phone_number' => ['string', 'max:20', Rule::unique('users', 'phone_number')->ignore($this->user->id),], + 'province_id' => 'required|integer|exists:provinces,id', + 'city_id' => 'required|integer|exists:cities,id', ]; } } diff --git a/backend/app/Admin/Requests/UserManagement/StoreRequest.php b/backend/app/Admin/Requests/UserManagement/StoreRequest.php index a3c9cf92..38208575 100644 --- a/backend/app/Admin/Requests/UserManagement/StoreRequest.php +++ b/backend/app/Admin/Requests/UserManagement/StoreRequest.php @@ -35,9 +35,6 @@ class StoreRequest extends FormRequest 'address' => 'nullable|string|max:1000', 'province_id' => 'required|integer|exists:provinces,id', 'city_id' => 'required|integer|exists:cities,id', - 'key_status' => 'nullable|string|max:255', - 'level' => 'nullable|string|max:255', - 'tax_id' => 'nullable|string|max:50', ]; } } diff --git a/backend/app/Admin/Requests/UserManagement/UpdateRequest.php b/backend/app/Admin/Requests/UserManagement/UpdateRequest.php index 4d8c56b4..2c9f363a 100644 --- a/backend/app/Admin/Requests/UserManagement/UpdateRequest.php +++ b/backend/app/Admin/Requests/UserManagement/UpdateRequest.php @@ -44,9 +44,6 @@ class UpdateRequest extends FormRequest 'address' => 'nullable|string|max:1000', 'province_id' => 'integer|exists:provinces,id', 'city_id' => 'integer|exists:cities,id', - 'key_status' => 'nullable|string|max:255', - 'level' => 'nullable|string|max:255', - 'tax_id' => 'nullable|string|max:50', ]; } } diff --git a/backend/app/Admin/Resources/ExpertManagementResource.php b/backend/app/Admin/Resources/ExpertManagementResource.php index 7cdb154b..788c0c93 100644 --- a/backend/app/Admin/Resources/ExpertManagementResource.php +++ b/backend/app/Admin/Resources/ExpertManagementResource.php @@ -26,6 +26,8 @@ class ExpertManagementResource extends JsonResource 'national_id' => $this->national_id, 'email' => $this->email, 'phone_number' => $this->phone_number, + 'province_name' => $this->province_name, + 'city_name' => $this->city_name, 'roles' => $this->roles() ->pluck('name') ->values(), diff --git a/backend/app/Models/Expert.php b/backend/app/Models/Expert.php index 214bb797..b55f8f55 100644 --- a/backend/app/Models/Expert.php +++ b/backend/app/Models/Expert.php @@ -6,6 +6,10 @@ use Database\Factories\ExpertFactory; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +/** + * @method roles() + * @method permissions() + */ class Expert extends Model { /** @use HasFactory */