ORIENT/plugins/ahmadfatoni/apigenerator/controllers/api/MediaController.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);
}
}