%PDF- %PDF-
Direktori : /var/www/html/news/app/Http/Controllers/Api/ |
Current File : /var/www/html/news/app/Http/Controllers/Api/ConfigurationsController.php |
<?php namespace App\Http\Controllers\Api; use App\Http\Controllers\ApiController; use App\Http\Requests\Configuration\ConfigurationUpdateRequest; use App\Http\Requests\Media\UploadImageRequest; use App\Models\Media; use App\Repositories\Configuration\ConfigurationRepository; use App\Repositories\Media\MediaRepository; use App\Transformers\ConfigurationTransformer; use App\Transformers\MediaTransformer; use EllipseSynergie\ApiResponse\Contracts\Response; use Exception; use Intervention\Image\Facades\Image; class ConfigurationsController extends ApiController { /** * @var ConfigurationRepository */ private $configurationRepository; /** * @var MediaRepository */ private $mediaRepository; /** * UsersController constructor. * @param Response $response * @param ConfigurationRepository $configurationRepository * @param MediaRepository $mediaRepository */ public function __construct(Response $response, ConfigurationRepository $configurationRepository, MediaRepository $mediaRepository) { parent::__construct($response); $this->transformer = new ConfigurationTransformer; $this->configurationRepository = $configurationRepository; $this->mediaRepository = $mediaRepository; } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { return $this->response->withItem($this->configurationRepository->query()->first(), $this->transformer); } /** * @param ConfigurationUpdateRequest $request * @param $configuration * @return mixed */ public function update(ConfigurationUpdateRequest $request, $configuration) { $configuration = $this->configurationRepository->findOrFail($configuration); $configuration->update($request->all()); return $this->response->withItem($configuration, $this->transformer); } /** * @param UploadImageRequest $request * @return mixed */ public function uploadLogo(UploadImageRequest $request) { if ($request->get('type') !== Media::MEDIA_TYPE_IMAGE_LOGO) { return $this->response->errorWrongArgs('Image type must be set to \'image_logo\''); } try { $encodedImage = $request->get('source'); $img = Image::cache(function ($image) use ($encodedImage) { return $image->make($encodedImage); }, 10, true); $img->save(public_path() . '/images/logo.png'); return response()->json(['data' => 'ok'], 200); } catch (Exception $e) { return $this->response->errorInternalError($e->getMessage()); } } }