feature/CreateDocumention #12

Merged
amirghasempoor merged 9 commits from feature/CreateDocumention into develop 2026-05-13 10:16:38 +00:00
8 changed files with 30 additions and 13 deletions
Showing only changes of commit ae8ca057fd - Show all commits

View File

@@ -7,6 +7,9 @@ use App\Admin\Requests\ExpertManagement\UpdateRequest;
use App\Admin\Resources\ExpertManagementResource; use App\Admin\Resources\ExpertManagementResource;
use App\Facades\DataTable\DataTableFacade; use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\City;
use App\Models\Expert;
use App\Models\Province;
use App\Traits\ApiResponse; use App\Traits\ApiResponse;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@@ -39,6 +42,9 @@ class ExpertManagementController extends Controller
*/ */
public function store(StoreRequest $request): JsonResponse public function store(StoreRequest $request): JsonResponse
{ {
$province = Province::query()->find($request->province_id);
$city = City::query()->find($request->city_id);
Expert::query()->create([ Expert::query()->create([
'username' => $request->username, 'username' => $request->username,
'first_name' => $request->first_name, 'first_name' => $request->first_name,
@@ -47,6 +53,11 @@ class ExpertManagementController extends Controller
'password' => Hash::make($request->password), 'password' => Hash::make($request->password),
'email' => $request->email, 'email' => $request->email,
'phone_number' => $request->phone_number, '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,
amirghasempoor marked this conversation as resolved Outdated

have no level field in expert

have no level field in expert
]); ]);
return $this->successResponse(); return $this->successResponse();
@@ -67,6 +78,9 @@ class ExpertManagementController extends Controller
*/ */
public function update(UpdateRequest $request, Expert $expert): JsonResponse public function update(UpdateRequest $request, Expert $expert): JsonResponse
{ {
$province = Province::query()->find($request->province_id);
$city = City::query()->find($request->city_id);
$expert->update([ $expert->update([
'username' => $request->username, 'username' => $request->username,
'first_name' => $request->first_name, 'first_name' => $request->first_name,
@@ -75,6 +89,11 @@ class ExpertManagementController extends Controller
'password' => Hash::make($request->password), 'password' => Hash::make($request->password),
'email' => $request->email, 'email' => $request->email,
'phone_number' => $request->phone_number, '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,
amirghasempoor marked this conversation as resolved Outdated

no level

no level
]); ]);
return $this->successResponse(); return $this->successResponse();

View File

@@ -58,9 +58,6 @@ class UserManagementController extends Controller
'province_name' => $province->name, 'province_name' => $province->name,
'city_id' => $request->city_id, 'city_id' => $request->city_id,
'city_name' => $city->name, 'city_name' => $city->name,
'key_status' => $request->key_status,
'level' => $request->level,
'tax_id' => $request->tax_id,
]); ]);
return $this->successResponse(); return $this->successResponse();
@@ -100,9 +97,6 @@ class UserManagementController extends Controller
'province_name' => $province->name, 'province_name' => $province->name,
'city_id' => $request->city_id, 'city_id' => $request->city_id,
'city_name' => $city->name, 'city_name' => $city->name,
'key_status' => $request->key_status,
'level' => $request->level,
'tax_id' => $request->tax_id,
]); ]);
return $this->successResponse(); return $this->successResponse();

View File

@@ -30,6 +30,8 @@ class StoreRequest extends FormRequest
'password' => 'required|string|min:8|confirmed', 'password' => 'required|string|min:8|confirmed',
'email' => 'required|email|max:255|unique:users,email', 'email' => 'required|email|max:255|unique:users,email',
'phone_number' => 'required|string|max:20|unique:users,phone_number', 'phone_number' => 'required|string|max:20|unique:users,phone_number',
]; 'province_id' => 'required|integer|exists:provinces,id',
'city_id' => 'required|integer|exists:cities,id',
];
} }
} }

View File

@@ -38,6 +38,8 @@ class UpdateRequest extends FormRequest
Rule::unique('users', 'email')->ignore($this->user->id),], Rule::unique('users', 'email')->ignore($this->user->id),],
'phone_number' => ['string', 'max:20', 'phone_number' => ['string', 'max:20',
Rule::unique('users', 'phone_number')->ignore($this->user->id),], Rule::unique('users', 'phone_number')->ignore($this->user->id),],
'province_id' => 'required|integer|exists:provinces,id',
'city_id' => 'required|integer|exists:cities,id',
]; ];
} }
} }

View File

@@ -35,9 +35,6 @@ class StoreRequest extends FormRequest
'address' => 'nullable|string|max:1000', 'address' => 'nullable|string|max:1000',
'province_id' => 'required|integer|exists:provinces,id', 'province_id' => 'required|integer|exists:provinces,id',
'city_id' => 'required|integer|exists:cities,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',
]; ];
} }
} }

View File

@@ -44,9 +44,6 @@ class UpdateRequest extends FormRequest
'address' => 'nullable|string|max:1000', 'address' => 'nullable|string|max:1000',
'province_id' => 'integer|exists:provinces,id', 'province_id' => 'integer|exists:provinces,id',
'city_id' => 'integer|exists:cities,id', 'city_id' => 'integer|exists:cities,id',
'key_status' => 'nullable|string|max:255',
'level' => 'nullable|string|max:255',
'tax_id' => 'nullable|string|max:50',
]; ];
} }
} }

View File

@@ -26,6 +26,8 @@ class ExpertManagementResource extends JsonResource
'national_id' => $this->national_id, 'national_id' => $this->national_id,
'email' => $this->email, 'email' => $this->email,
'phone_number' => $this->phone_number, 'phone_number' => $this->phone_number,
'province_name' => $this->province_name,
'city_name' => $this->city_name,
'roles' => $this->roles() 'roles' => $this->roles()
->pluck('name') ->pluck('name')
->values(), ->values(),

View File

@@ -6,6 +6,10 @@ use Database\Factories\ExpertFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
/**
* @method roles()
* @method permissions()
*/
class Expert extends Model class Expert extends Model
{ {
/** @use HasFactory<ExpertFactory> */ /** @use HasFactory<ExpertFactory> */