Edit File: AuthController.php
<?php namespace App\Http\Controllers\Api\General; use App\Http\Controllers\Controller; use App\Models\Delegate; use App\Traits\{OrderTrait, ResponseTrait, UploadTrait}; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; class AuthController extends Controller { use ResponseTrait, UploadTrait, OrderTrait; public function logout(): JsonResponse { auth()->user()->logout(); return $this->successMsg(__('apis.loggedOut')); } public function deleteAccount(Request $request) { // if there any delete conditions write it here $user = auth()->user(); if (get_class($user) == Delegate::class && $user->orders() ->where(function ($q) { $q->where('is_settlement', 0) ->orWhere(function ($q) { $q->whereNotIn('status', $this->orderStatusesForDelegate('finished')); }); })->exists()) { return $this->failMsg(__('auth.cant_delete_delegate_account')); } auth()->user()->currentAccessToken()->delete(); if (request()->device_id) { auth()->user()->devices()->where(['device_id' => request()->device_id])->delete(); } auth()->user()->delete(); return $this->successMsg(__('auth.account_deleted')); } }
Back to File Manager