chipk4 / selectel-cloud-storage by chipk4

Laravel Package for Selectel API cloud storage (selectel.com)
185
3
3
Package Data
Maintainer Username: chipk4
Maintainer Contact: chipk4@gmail.com (Andrew Chirskiy)
Package Create Date: 2017-03-15
Package Last Update: 2017-03-26
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-11-23 03:25:36
Package Statistics
Total Downloads: 185
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 3
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

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.