jeffgreco13 / filament-wave
This is my package filament-wave
Requires
- php: ^8.1
- filament/filament: ^3.0
- illuminate/contracts: ^10.0
- jeffgreco13/laravel-wave: *
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
README
A Filament V3 plugin to create robust integrations for Wave Apps/Accounting.
Expert Support
Looking for a custom integration or solution? Contact me jeff@jeffpgreco.com
Installation
You can install the package via composer:
composer require jeffgreco13/filament-wave
Update your .env file to include:
WAVE_ACCESS_TOKEN= *your full access token*
WAVE_BUSINESS_ID= *ID for the business you wish to interact with*
WAVE_GRAPHQL_URI= *defaults to https://gql.waveapps.com/graphql/public*
This package uses jeffgreco13/laravel-wave under the hood. Review the docs for more information.
Add the WavePlugin
to your panel service provider:
use Jeffgreco13\FilamentWave\WavePlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel ... ->plugin( WavePlugin::make() ); } }
Usage
I've build this package to be as modular and extensible as possible. Meaning you can publish migrations and utilize Filament resources only as needed. See below on how to use each model:
Customers
Publish the customers migration table using.
php artisan vendor:publish --tag="filament-wave-customers-migration"
php artisan migrate
Next, add the customers
method to the WavePlugin in your panel service provider:
WavePlugin::make()->customers()
You can customize the Resource, Model:
WavePlugin::make() ->customers( model:YourCustomerClass::class, resource:YourCustomerResource::class )
Or you can disable the Resource:
WavePlugin::make() ->customers( resource:null )
Products
Publish the products migration table using.
php artisan vendor:publish --tag="filament-wave-products-migration"
php artisan migrate
Next, add the products
method to the WavePlugin in your panel service provider:
WavePlugin::make()->products()
See Customers for more customization options.
Currencies
See jeffgreco13/laravel-wave for interacting with Wave currencies.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.