pocketarc / laravel-integrations-adapters
Adapter implementations for pocketarc/laravel-integrations.
Package info
github.com/pocketarc/laravel-integrations-adapters
pkg:composer/pocketarc/laravel-integrations-adapters
1.0.0
2026-03-28 02:08 UTC
Requires
- php: ^8.3
- knplabs/github-api: ^3.16
- php-http/guzzle7-adapter: ^1.0
- pocketarc/laravel-integrations: ^1.0
- spatie/laravel-data: ^4.0
- zendesk/zendesk_api_client_php: ^4.1
Requires (Dev)
- captainhook/captainhook: ^5.28
- larastan/larastan: ^3
- laravel/pint: ^1.24
- orchestra/testbench: ^10.0|^11.0
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^12.0
This package is auto-updated.
Last update: 2026-03-28 16:28:49 UTC
README
Adapter implementations for pocketarc/laravel-integrations.
These aren't fully API-complete. They cover what's needed for the projects that use them. If you need a more complete implementation, you can extend these or build your own using the core package's contracts.
Available adapters
| Adapter | Capabilities |
|---|---|
| Zendesk | IntegrationProvider, HasHealthCheck |
| GitHub | IntegrationProvider, HasHealthCheck |
Installation
composer require pocketarc/laravel-integrations-adapters
Usage
Register adapters in your config/integrations.php:
'providers' => [ 'zendesk' => \Integrations\Adapters\Zendesk\ZendeskProvider::class, 'github' => \Integrations\Adapters\GitHub\GitHubProvider::class, ],
Or programmatically:
use Integrations\Facades\Integrations; Integrations::register('zendesk', \Integrations\Adapters\Zendesk\ZendeskProvider::class); Integrations::register('github', \Integrations\Adapters\GitHub\GitHubProvider::class);
Then create integrations with typed credentials and metadata:
use Integrations\Models\Integration; $integration = Integration::create([ 'provider' => 'zendesk', 'name' => 'Production Zendesk', 'credentials' => [ 'email' => 'admin@acme.com', 'token' => 'your-api-token', ], 'metadata' => [ 'subdomain' => 'acme', ], ]); // Credentials are encrypted at rest and cast to typed Data classes: $integration->credentials->email; // 'admin@acme.com' $integration->metadata->subdomain; // 'acme'
License
MIT. See LICENSE for details.