Edit File: AuthController.php
<?php namespace App\Http\Controllers\Api\Delegate\Auth; use App\Models\Delegate; use App\Traits\ResponseTrait; use App\Services\Auth\AuthService; use App\Http\Controllers\Controller; use App\Http\Resources\Api\Delegate\DelegateResource; use App\Http\Requests\Api\Delegate\Auth\LoginRequest; use App\Http\Requests\Api\Delegate\Auth\ActivateRequest; use App\Http\Requests\Api\Delegate\Auth\RegisterRequest; use App\Http\Requests\Api\Delegate\Auth\ResendCodeRequest; use Illuminate\Support\Facades\DB; class AuthController extends Controller { use ResponseTrait; public function __construct(private AuthService $authService) {} public function register(RegisterRequest $request) { try { DB::beginTransaction(); //Upload Images // $carImages = $this->authService->uploadMultiImages($request->car_images, Delegate::IMAGEPATH); // $identityImages = $this->authService->uploadMultiImages($request->identity_images, Delegate::IMAGEPATH); // $licencsesCertificate = $this->authService->uploadMultiImages($request->licencses_certificate, Delegate::IMAGEPATH); // End Upload Images $result = $this->authService ->register(request: $request->validated(), model: Delegate::class); $this->authService ->CreateManyToManyRelation(relationName: 'neighborhoods', user: $result['user'], request: $request->neighborhoods); $this->authService ->createHasOneRelation(relationName: 'bankAccount', user: $result['user'], request: $request->validated()); DB::commit(); return $this->response($result['key'], $result['msg']); } catch (\Exception $e) { DB::rollBack(); return $this->response('fail', $e->getMessage()); } } public function resendCode(ResendCodeRequest $request) { $this->authService->resendCode($request->validated()); return $this->response('success', __('auth.code_re_send')); } public function activate(ActivateRequest $request) { $data = $this->authService->activate($request->validated()); return $this->response($data['key'], $data['msg'], DelegateResource::make($data['user'])->setToken($data['token'])); } public function login(LoginRequest $request) { $data = $this->authService->login($request->validated()); return $this->response($data['key'], $data['msg'], []); } }
Back to File Manager