rostenkowski/imagestore

View on GitHub
src/Storage.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace Rostenkowski\Resize;


use Nette\Http\FileUpload;

/**
 * Image Storage Interface
 */
interface Storage
{


    /**
     * Returns TRUE if the storage contains the given image.
     *
     * @param Meta $meta
     * @return boolean
     */
    public function contains(Meta $meta);


    /**
     * Returns the requested image encapsulated in a HTTP response object.
     *
     * @param  Request $request
     * @return IResponse
     */
    public function download(Request $request);


    /**
     * Returns the requested image object.
     *
     * @param Request $request
     * @return mixed
     */
    public function fetch(Request $request);


    /**
     * Creates the URL of the requested image thumbnail.
     *
     * @param  Request $request
     * @return string
     */
    public function link(Request $request);


    /**
     * Fetches the original stored image.
     *
     * @param Meta $meta
     * @return Image
     */
    public function original(Meta $meta);


    /**
     * Removes the requested image from the storage.
     *
     * @param Meta $meta
     * @return void
     */
    public function remove(Meta $meta);


    public function rotate(Meta $meta, $deg = 90);


    /**
     * Renders the requested image to the standard output.
     *
     * @param  Request $request
     * @return void
     */
    public function send(Request $request);


    /**
     * Uploads an image to the storage and store it's meta information in the given image entity.
     *
     * @param FileUpload $file
     * @param Meta       $meta
     * @return void
     */
    public function upload(FileUpload $file, Meta $meta);


}