HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago-portal-updates/app/Services/AdminService.php
<?php

namespace App\Services;

use App\Helpers\Aws;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;

class AdminService
{
    private $model;

    public function __construct($model)
    {
        $this->model = new $model();
    }

    public function updateProfile($request)
    {
        DB::beginTransaction();
        try {
            $update = [];
            $update['full_name'] = $request->full_name;
            $update['email'] = $request->email;
            $update['address'] = $request->address;
            $update['updated_at'] = Carbon::now()->timestamp;
            $admin = $this->model->where('id', Auth::user()->id)->first();
            if (isset($request->picture__input) && is_file($request->picture__input)) {
                $update['profile_picture'] = Aws::uploadImageS3Bucket('images/admin', $request->picture__input, Auth::user()->profile_picture);
            } else {
                DB::rollback();
                if($admin->profile_picture == ''){
                    session()->flash('error_message', __('validation.validation.image.required'));
                    return redirect()->back();
                }
            }
            $admin->update($update);
            DB::commit();
            session()->flash('success_message', __('common.profileUpdatedSuccessfully'));
            return redirect()->route(Auth::getDefaultDriver().'.myProfile');
        } catch (\Throwable $th) {
            DB::rollback();
            session()->flash('error_message', __('common.somethingWentWrong'));
            return redirect()->back();
        }
    }
}