<?php

namespace App\Packages\User\Service;

use Intervention\Image\ImageManager;

/**
 * Class ImageResizeService
 * @package App\Packages\User\Services
 */
class UserImageResizeService
{
	const IMAGE_EXT = 'jpg';
	const IMAGE_MIME = 'image/jpeg';
	const AVATAR_WIDTH = 200;
	const AVATAR_HEIGHT = 200;

	/**
	 * @var ImageManager
	 */
	private $imageManager;

	/**
	 * @param ImageManager $imageManager
	 */
	public function __construct(ImageManager $imageManager)
	{
		$this->imageManager = $imageManager;
	}

    /**
     * @param $imageContent
     *
     * @return string
     */
	public function resizeToAvatar($imageContent)
    {
        $imageFile = $this->imageManager
            ->make($imageContent)
            ->fit(static::AVATAR_WIDTH, static::AVATAR_HEIGHT)
            ->encode(static::IMAGE_EXT);

        return $imageFile->getEncoded();
    }
}
