Current File : /home/getxxhzo/app.genicards.com/app/Http/Controllers/API/SuperAdmin/ProfileAPIController.php |
<?php
namespace App\Http\Controllers\API\SuperAdmin;
use App\Http\Controllers\AppBaseController;
use App\Http\Controllers\Controller;
use App\Models\Language;
use App\Models\Setting;
use App\Models\User;
use App\Repositories\UserRepository;
use Illuminate\Contracts\Session\Session;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
class ProfileAPIController extends AppBaseController
{
public UserRepository $userRepository;
/**
* UserController constructor.
*/
public function __construct(UserRepository $userRepository)
{
$this->userRepository = $userRepository;
}
public function editProfile()
{
$user = Auth::user();
$settings = Setting::all();
$manualPaymentGuide = $settings->where('key', 'manual_payment_guide')->first();
$language = Language::where('iso_code', getCurrentLanguageName())->value('name');
$data = [
'profile_image' => $user->profile_image,
'first_name' => $user->first_name,
'last_name' => $user->last_name,
'email' => $user->email,
'region_code' => $user->region_code,
'contact' => $user->contact,
'language' => $language,
'manual_payment_guide' => $manualPaymentGuide ? $manualPaymentGuide->value : null,
];
return $this->sendResponse([$data], 'Profile Data Retrieved Successfully.');
}
public function updateProfile(Request $request)
{
$this->userRepository->updateProfileAPI($request->all());
$input = $request->all();
$input = Arr::except($input, ['_token']);
$input['manual_payment_guide'] = $input['manual_payment_guide'] ?? null;
foreach ($input as $key => $value) {
$manualPaymentGuide = Setting::where('key', $key)->first();
if ($manualPaymentGuide) {
$manualPaymentGuide->update(['value' => $value]);
}
}
return $this->sendSuccess('Profile updated Successfully.');
}
public function updateLanguage(Request $request)
{
$input = $request->all();
$user = Auth::user();
if ($user !== null) {
$user->update($input);
}
return $this->sendSuccess('Language update successfully.');
}
}