jeffgreco13/filament-wave

This is my package filament-wave

v0.5.4 2024-02-17 03:33 UTC

This package is auto-updated.

Last update: 2024-05-17 04:15:24 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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.