chipk4/selectel

Laravel Package for Selectel API cloud storage (selectel.com)

Downloads

184

Stars

3

Version

v0.4

Selectel cloud storage API (selectel.com) for Laravel 5

GitHub release Software License

This package provides an easy way to integrate Selectel Cloud Storage API with Laravel 5. Here are some examples of what you can do with the package:


SelectelApi::storageInfo();

//You may use virtual folders like 'newFolder/newFileName.jpg'
SelectelApi::storeFile('container', 'filePath/1243.jpg', 'newFileName.jpg')

SelectelApi::containerInfo('your_container')

SelectelApi::storageContainerList()

/*
* You can use private or public container type
* Public container present by default
* For private container use 
*/
SelectelApi::getFile('container', 'fileName', true);
//For public container
SelectelApi::getFile('container', 'fileName');

SelectelApi::containerFileList('container_name');

//If you want to do something else, you can get an instance of the underlying API:
SelectelApi::getApi();

Installation

You can install this package via Composer using:

composer require chipk4/selectel

You must also install this service provider.

// config/app.php
'providers' => [
    ...
    Chipk4\Selectel\SelectelApiServiceProvider::class,
    ...
];

If you want to make use of the facade you must install it as well.

// config/app.php
'aliases' => [
    ..
    'SelectelApi' => Chipk4\Selectel\SelectelApiFacade::class,
];

To publish the config file to app/config/selectel-api.php run:

php artisan vendor:publish --provider="Chipk4\Selectel\SelectelApiServiceProvider"

This will publish a file selectel-api.php in your config directory with the following contents:

return [
    /*
     * This is agreement number from system
     */
    'authUser' => env('SELECTEL_LOGIN'),

    /*
     * Password for cloud storage service.
     * Note: it's different with account password
     */
    'authKey' => env('SELECTEL_PASSWORD'),

    /*
     * API url
     */
    'apiUrl' => 'https://auth.selcdn.ru/',

    /*
     * Default value for request timeout
     */
    'timeout' => 10,

    /*
     * Default storage url
     */
    'storageUrl' => env('SELECTEL_STORAGE_URL', ''),

    /*
     * Response view
     * Can be in json or xml
     */
    'returnView' => env('SELECTEL_RETURN_VIEW', 'json'),
    
];

Usage

With Facade

  use SelectelApi;
  
  SelectelApi::getFile('container', 'fileName');

With Service Container

    use Chipk4\Selectel\CloudStorage;
    
    public function test(CloudStorage $storage) 
    {
        $storage->getFile('container', 'fileName');
    }

License

The MIT License (MIT). Please see License File for more information.

chipk4

Author

chipk4