Spaces:
Running
Running
File size: 1,720 Bytes
0c117c4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <?php
namespace App\Services;
use App\Models\Amenity;
use App\Models\BaseModel;
use App\Models\PacketImage;
use App\Models\Rating;
use Illuminate\Support\Facades\Storage;
class ImageServices extends BaseServices
{
public function __construct(BaseModel $model)
{
parent::__construct($model);
}
public function uploadGGDrive($request)
{
$file = [];
$file['link_img']['file'] = $request->file('link_img');
$driveService = Storage::disk('google');
$newPermission = app()->make('googlePermission');
$folderId = app()->make('googleFolderId');
$fileToUpload = $this->postGGDrive($driveService, $file['link_img']['file'], $folderId);
if ($fileToUpload) {
$driveService->permissions->create($fileToUpload->id, $newPermission);
$file['link_img']['url'] = 'https://lh3.googleusercontent.com/d/' . $fileToUpload->id . '=w1000-rw';
}
if (!empty($file['link_img']['url'])) {
return $file['link_img']['url'];
}
return null;
}
public function save(array $attributes)
{
if (!empty($attributes['id'])) {
$entity = $this->model->where('id', $attributes['id'])->first();
if ($entity) {
$entity->fill($attributes)->save();
return $entity;
} else {
return null;
}
} else {
$entity = $this->model->create($attributes);
return $entity;
}
}
public function delete($id)
{
$entity = $this->model
->where('id', $id)->first();
return !empty($entity) ? $entity->delete() : null;
}
}
|