File: /home/u665686179/domains/dealkr.com/public_html/app/Services/CustomerService.php
<?php
namespace App\Services;
use App\Traits\FileManagerTrait;
use App\Utils\ImageManager;
class CustomerService
{
use FileManagerTrait;
/**
* @return array[f_name: mixed, l_name: mixed, email: mixed, phone: mixed, country: mixed, city: mixed, zip: mixed, street_address: mixed, password: string]
*/
public function getCustomerData(object $request): array
{
return [
'f_name' => $request['f_name'],
'l_name' => $request['l_name'],
'email' => $request['email'],
'phone' => $request['phone'],
'country' => $request['country'] ?? null,
'city' => $request['city'] ?? null,
'zip' => $request['zip_code'] ?? null,
'street_address' => $request['address'] ?? null,
'password' => bcrypt($request['password'] ?? 'password')
];
}
public function getCustomerProfileUpdateData(object $request, object|array $customer): array
{
$data = [
'f_name' => $request['f_name'],
'l_name' => $request['l_name'],
'email' => $request['email'],
];
if ($request->file('image')) {
$data['image'] = ImageManager::update('profile/', $customer?->image, 'webp', $request->file('image'));
}
return $data;
}
public function deleteImage(object|null $data): bool
{
if ($data && $data['image']) {
$this->delete('profile/' . $data['image']);
};
return true;
}
}