| Server IP : 14.225.204.176 / Your IP : 216.73.216.6 Web Server : nginx/1.24.0 System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 User : root ( 0) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/php/home-services/app/Repositories/ |
Upload File : |
<?php
/*
* File name: UploadRepository.php
* Last modified: 2021.05.31 at 16:24:41
* Author: SmarterVision - https://codecanyon.net/user/smartervision
* Copyright (c) 2021
*/
namespace App\Repositories;
use App\Models\Media;
use App\Models\Upload;
use Exception;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Str;
use InfyOm\Generator\Common\BaseRepository;
/**
* Class UploadRepository
* @package App\Repositories
* @version June 12, 2018, 11:30 am UTC
*
* @method Upload findWithoutFail($id, $columns = ['*'])
* @method Upload find($id, $columns = ['*'])
* @method Upload first($columns = ['*'])
*/
class UploadRepository extends BaseRepository
{
/**
* @var array
*/
protected $fieldSearchable = [
];
/**
* Configure the Model
**/
public function model()
{
return Upload::class;
}
/**
* @param $uuid
* @throws Exception
*/
public function clear($uuid): ?bool
{
$uploadModel = $this->getByUuid($uuid);
return $uploadModel->delete();
}
/**
* @param $uuids
* @throws Exception
*/
public function clearWhereIn($uuids): ?bool
{
return Upload::query()->whereIn('uuid', $uuids)->delete();
}
public function getByUuid($uuid = '')
{
$uploadModel = Upload::query()->where('uuid', $uuid)->first();
return $uploadModel;
}
/**
* clear all uploaded cache
*/
public function clearAll()
{
Upload::query()->where('id', '>', 0)->delete();
Media::query()->where('model_type', '=', 'App\Models\Upload')->delete();
}
/**
* @return Builder[]|Collection
*/
public function allMedia($collection = null)
{
$medias = Media::query()->where('model_type', '=', 'App\Models\Upload');
if ($collection) {
$medias = $medias->where('collection_name', $collection);
}
$medias = $medias->orderBy('id', 'desc')->get();
return $medias;
}
public function collectionsNames()
{
$medias = Media::all('collection_name')->pluck('collection_name', 'collection_name')->map(function ($c) {
return ['value' => $c,
'title' => Str::title(preg_replace('/_/', ' ', $c))
];
})->unique();
unset($medias['default']);
$medias->prepend(['value' => 'default', 'title' => 'Default'], 'default');
return $medias;
}
}