bedoke/model-repositories

There is no license information available for the latest version (dev-master) of this package.

Connect file repositories to your eloquent models

dev-master 2019-08-06 09:26 UTC

This package is auto-updated.

Last update: 2024-10-06 21:13:40 UTC


README

This package ensures that your models get their own storage directories.

Install

Get the package

composer require bedoke/model-repositories

Extend the subjected model classes

use bedoke\ModelRepositories\Traits\PublicRepository; // for public repositories
use bedoke\ModelRepositories\Traits\PrivateRepository; // for private repositories

All models can have both repository types!

Inside the model classes you have to use the traits.

use PublicRepository, PrivateRepository;

Migration

php artisan migrate

Usage

Functions

The private and public repository has almost all the storage functions that the Laravel Framework provides.

Example for the Laravel standard:

Storage::put($file, $content);

Example for this Model repositories package:

Auth::user()->privateRepository->put($file, $content);

Some functions must have different names due to the inheritance hierarchies. The following storage function calls have the following names via this repository package:

Storage::append()   -->     $repository->appendContent()
Storage::prepend()  -->     $repository->prependContent()
Storage::delete()   -->     $repository->remove()

Some functions (for example move() or rename()) are not implemented yet. Feel free to implement them and make a pull request.