Skip to content

🐏 A blazing-fast Laravel adapter for the official Meema API. An API each Laravel developer will feel welcome to.

License

Notifications You must be signed in to change notification settings

meemalabs/laravel-meema

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

49 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Meema for Laravel

The most simple way to integrate Meema and your Laravel project

Scrutinizer Total Downloads Latest Version License

Documentation β€’ PHP Client β€’ Report a bug β€’ FAQ β€’ Discord

πŸ™ Features

  • Most simple way to implement a fully-functional media management system & more
  • Thin, minimal & fast package to interact with Meema's API
  • Supports PHP ^7.*

πŸ’‘ Usage

First, install Meema Laravel Client via the composer package manager:

composer require meema/laravel-meema

Next, you may want to publish the config file with:

php artisan vendor:publish --provider="Meema\LaravelMeema\Providers\MeemaServiceProvider" --tag="config"

Now, you can easily interact with your "media items" using the Media facade:

use Meema\LaravelMeema\Facades\Media;

Media::create('New media name');
Media::get();

// specific uuids
Media::get('11a283ed-a64e-424a-aefc-6aa98971d529', '1556fcb8-693e-4431-8b16-3b2b7bb8fcc7');
Media::search('media-name');

// this will return a Response instance
$media = Media::find('11a283ed-a64e-424a-aefc-6aa98971d529');

// you may chain other methods that require an id
$media->update('updated-media-name')
$media->delete();
$media->archive();
$media->unarchive();
$media->makePrivate();
$media->makePublic();
$media->duplicate();

// Relationships with other models.
// Continuing with the chaining methods we used earlier.
$media->folders()->get();
$media->folders()->create('New folder name');
$media->folders()->delete('11a283ed-a64e-424a-aefc-6aa98971d529');
$media->tags()->get();
$media->tags()->associate(['name' => 'Tag Name']);
$media->tags()->disassociate(['name' => 'Tag Name']);

Using the Folder facade:

use Meema\LaravelMeema\Facades\Folder;

Folder::create('New folder name');
Folder::get();

// specific uuids
Folder::get('11a283ed-a64e-424a-aefc-6aa98971d529', '1556fcb8-693e-4431-8b16-3b2b7bb8fcc7');
Folder::search('folder-name');

// this will return a Response instance
$folder = Folder::find('11a283ed-a64e-424a-aefc-6aa98971d529');

// you may chain other methods that require an id
$folder->update('updated-folder-name')
$folder->delete();
$folder->archive();
$folder->unarchive();
$folder->duplicate();

// Relationships with other models.
// Continuing with the chaining methods we used earlier.
$folder->media()->get();
$folder->tags()->get();
$folder->tags()->associate(['tag_id' => 7]);
$folder->tags()->disassociate(['tag_id' => 7]);

Using the Tag facade:

Tag::get();

// specific uuids
Tag::get(1, 2, 3);

// this will return a Response instance
$tag = Tag::find(1);

// you may chain other methods that require an id
$tag->update('red-500'); // You will have to use tailwind CSS color palettes.
$tag->delete();
$tag->media()->get();

Using the Favorite facade:

Favorite::create(['name' => 'New Favorite Name', 'icon' => 'favorite-icon']);
Favorite::get();

// specific uuids
Favorite::get('11a283ed-a64e-424a-aefc-6aa98971d529', '1556fcb8-693e-4431-8b16-3b2b7bb8fcc7');

// this will return a Response instance
$favorite = $client->favorites()->find(1);

// you may chain other methods that require an id
$favorite->update(['name' => 'Updated Favorite Name', 'icon' => 'updated-favorite-icon']);
$favorite->delete();

πŸ§ͺ Testing

./vendor/bin/pest

πŸ“ˆ Changelog

Please see our releases page for more information on what has changed recently.

πŸ’ͺ🏼 Contributing

Please see CONTRIBUTING for details.

🏝 Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

Laravel Meema on GitHub

For casual chit-chat with others using this package:

Join the Meema Discord Server

🚨 Security

Please review our security policy on how to report security vulnerabilities.

πŸ™πŸΌ Credits

πŸ“„ License

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

About

🐏 A blazing-fast Laravel adapter for the official Meema API. An API each Laravel developer will feel welcome to.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages