raadaa-partners / raadaa-base
Raadaa partners base package for common functions and operations across its applications and services
Requires
- ext-json: *
- illuminate/contracts: 7.* || ^8.15 || 9.0 - 9.34 || ^9.36 || ^10.0 || ^11.0
- league/flysystem-aws-s3-v3: ^1.0 || ^2.0 || ^3.0
- matthewbdaly/laravel-azure-storage: ^1.0 || ^2.0
Requires (Dev)
- laravel/sanctum: ^3.2
- orchestra/testbench: ~3.6.7 || ~3.7.8 || ~3.8.6 || ^4.8 || ^5.2 || ^6.0 || ^7.0
- phpunit/phpunit: ^9.6
README
This is where your description should go. Try and limit it to a paragraph or two, and maybe throw in a mention of what PSRs you support to avoid any confusion with users and contributors.
Installation
You can install the package via composer:
composer require raadaa-partners/raadaa-base
Usage
File Upload
This package has a file uploader out of the box for these drivers: local, azure and amazon s3. Obtain an instance of the file upload helper to start using the methods. The file upload
helper has three methods uploadFile
, uploadOrReplaceFile
and deleteFile
.
$uploader = new UploadHelper();
Fresh File Upload
This will upload a new file without deleting existing one associated with a column storing the path to the file. This should be used when creating a new resource that has image upload.
$response = $uploader->uploadFile($request->file('file_key'), 'folder_to_store_image'); if ($response['success']) { Blog::create([ 'title' => 'Welcome here', 'image' => $response['upload_url'], ]); }
Editing or Replacing an Uploaded File
This will first delete an existing file if it exists and then upload a new file associated with a column storing the path to the file in a specified model table. This should be used when updating an existing resource. The args are the UploadedFile instance, the folder to store the new image, the model which created the initial image and the column storing the path to the image to be replaced
$user = User::find($id); $response = $uploader->uploadOrReplaceFile($request->file('file_key'), 'folder_to_store_image', $user, 'image'); if ($response['success']) { $user->image = $response['upload_url']; $user->save(); }
it is assumed here that the users table has a column called image
where the file path to an uploaded file is stored.
Deleting Uploaded File
This will delete an uploaded file using the file path stored in the associated table
$response = $uploader->deleteFile('path_to_uploaded_file_from_associated_table_column'); if ($response['success']) { // do something when image is deleted successfully }
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email lubem@raadaa.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
Laravel Package Boilerplate
This package was generated using the Laravel Package Boilerplate.