Edit File: ProfileController.php
<?php namespace App\Http\Controllers\Api\User; use App\Enums\AuthUpdatesAttributesEnum; use App\Http\Controllers\Controller; use App\Http\Requests\Api\User\Profile\NewPhoneRequest; use App\Http\Requests\Api\User\Profile\UpdateProfileRequest; use App\Http\Requests\Api\User\Profile\VerifyCodeRequest; use App\Http\Resources\Api\User\UserResource; use App\Models\User; use App\Services\ProfileService; use App\Traits\ResponseTrait; use Illuminate\Http\JsonResponse; class ProfileController extends Controller { use ResponseTrait; private $profileService; public function __construct() { $this->profileService = new ProfileService(User::class); } public function profile(): JsonResponse { return $this->successData(new UserResource(auth()->user())); } public function update(UpdateProfileRequest $request): JsonResponse { $this->profileService->editProfile($request->validated()); return $this->successMsg(__('apis.updated')); } // change user phone public function changePhoneSendCode(): JsonResponse { $result = $this->profileService ->storeAtUpdates(type: AuthUpdatesAttributesEnum::Phone->value, user: auth()->user()); return $this->successData($result); } public function newPhoneSendCode(NewPhoneRequest $request): JsonResponse { $result = $this->profileService ->storeAtUpdates(type: AuthUpdatesAttributesEnum::NewPhone->value, user: auth()->user(), request: $request); return $this->successData($result); } protected function verifyCode(VerifyCodeRequest $request): JsonResponse { $result = $this->profileService->verifyCode(user:auth()->user(), request: $request); return $this->successMsg($result['msg']); } }
Back to File Manager