Edit File: AuthController.php
<?php namespace App\Http\Controllers\Api\Provider; use App\Http\Controllers\Controller; use App\Http\Requests\Api\Provider\Auth\{ActivateRequest, LoginRequest, RegisterRequest, ResendCodeRequest}; use App\Http\Resources\Api\Provider\ProviderResource; use App\Models\Provider; use App\Services\Auth\AuthService; use App\Traits\{ResponseTrait, SettingsTrait, UploadTrait}; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\DB; class AuthController extends Controller { use ResponseTrait, UploadTrait, SettingsTrait; protected $authService; public function __construct() { $this->authService = new AuthService(Provider::class); } public function login(LoginRequest $request): JsonResponse { $result = $this->authService->login($request->validated()); return $this->response($result['key'], $result['msg']); } public function register(RegisterRequest $request): JsonResponse { try { DB::beginTransaction(); $result = $this->authService ->register(request: $request->validated(), model: Provider::class); $this->authService ->CreateManyToManyRelation(relationName: 'subCategories', user: $result['user'], request: $request['sub_categories']); $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 activate(ActivateRequest $request): JsonResponse { $result = $this->authService->activate($request->validated()); return $this->response($result['key'], $result['msg'], ProviderResource::make($result['user']) ->setToken($result['token'])); } public function resendCode(ResendCodeRequest $request): JsonResponse { $result = $this->authService->resendCode($request->validated()); return $this->response($result['key'], $result['msg']); } public function logout(): JsonResponse { auth('provider')->user()->logout(); return $this->successMsg(__('apis.loggedOut')); } }
Back to File Manager