Skip to content

ulngollm/laravel-cloudstorages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 

Repository files navigation

Пакет предоставляет готовый REST API для работы с пользовательскими облачными хранилищами.

Можно добавить новые типы хранилищ. Как это сделать - см.глава Использование

Установка пакета

На данный момент пакет доступен только на Github.

  1. Чтобы composer смог установить пакет из Github, добавить в composer.json секцию
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/ulngollm/laravel-cloudstorages"
        }
    ]
}
  1. Установить
composer require ully/cloudstorages
  1. Скопировать в проект миграции и конфиги
php artisan vendor:publish --provider="Ully\Cloudstorages\CloudStoragesProvider"

Использование

API доступен по эндпоинтам с префиксом /api/storages.

Спецификация API доступна на SwaggerHub

Конфигурация сервиса находится в config/storages.php. Там перечислены поддерживаемые типы хранилищ. На данный момент реализована только поддержка Яндекс Диска.

Для реализации нового типа хранилища требуется:

  • добавить миграцию для таблицы с доступами (credentials). Добавить модель для этого типа credentials. Модель должна наследовать Ully\Cloudstorages\Models\StorageCredentials.
  • добавить его в конфиге в секцию drivers и описать параметры (по существующему примеру);
  • реализовать обработчик, имплементирующий интерфейс Ully\Cloudstorages\Services\ExternalStorage
  • выполнить команду drivers:update

View

Также в пакете есть набор готовых blade-шаблонов. Среди них

  • страница списка хранилищ (cloudstorages::storages)
  • страница списка файлов (cloudstorages::files)
  • view-компоненты File и Storage (<x-cloud-storage/>, <x-cloud-file/>)

Чтобы кастомизировать их, выполните php artisan vendor:publish --provider="Ully\Cloudstorages\CloudStoragesProvider" . Шаблоны скопируются в папку resources/views/vendor/cloudstorages.

About

laravel package example for cloud storages service

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published