raadaa-partners/raadaa-base

Raadaa partners base package for common functions and operations across its applications and services

1.1 2023-11-15 10:40 UTC

This package is auto-updated.

Last update: 2024-04-18 10:24:30 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

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.