52 lines
1.5 KiB
PHP
52 lines
1.5 KiB
PHP
<?php namespace AhmadFatoni\ApiGenerator\Controllers\API;
|
|
|
|
use Cms\Classes\Controller;
|
|
use BackendMenu;
|
|
use DB;
|
|
use Config;
|
|
use Illuminate\Http\Request;
|
|
use AhmadFatoni\ApiGenerator\Helpers\Helpers;
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
use Tps\Tps\Models\Media;
|
|
class MediaController extends Controller
|
|
{
|
|
protected $Media;
|
|
|
|
protected $helpers;
|
|
|
|
public function __construct(Media $Media, Helpers $helpers)
|
|
{
|
|
parent::__construct();
|
|
$this->Media = $Media;
|
|
$this->helpers = $helpers;
|
|
}
|
|
|
|
public function index(){
|
|
$path = Config::get('app.cdn').Config::get('cms.storage.media.path');
|
|
|
|
$type = input('type');
|
|
$data = $this->Media::where('type', $type)
|
|
->with(['translations:model_id,locale,attribute_data'])
|
|
->orderBy('created_at', 'DESC')
|
|
->paginate(15);
|
|
|
|
$data->getCollection()->transform(function ($value) use ($path) {
|
|
$value->poster_file = $path.$value->poster_file;
|
|
$mediaArray = [];
|
|
for($i=0; $i < count($value->media_file); $i++){
|
|
$mediaArray[$i] = $value->media_file[$i];
|
|
$mediaArray[$i]['media']=$path.$value->media_file[$i]['media'];
|
|
}
|
|
$value->media_file = $mediaArray;
|
|
return $value;
|
|
});
|
|
//dd($data->getItems());
|
|
|
|
|
|
return $this->helpers->apiArrayResponseBuilder(200, 'success', $data);
|
|
}
|
|
|
|
|
|
}
|