- How do I install baks-dev/support in a Laravel 10+ project?
- Run `composer require baks-dev/support baks-dev/support-answer` to install the package and its required dependency. The package supports PHP 8.4+ and Laravel 10+, so ensure your environment meets these requirements before proceeding. No additional configuration is explicitly required in the README, but verify database and queue settings align with Laravel’s defaults.
- What Laravel features does this package rely on (e.g., queues, events, notifications)?
- The package likely leverages Laravel’s queue system for async operations, notifications for alerts, and Eloquent models for persistence. While it may emit events (e.g., `SupportMessageSent`), no documentation confirms this—assume basic event support and prepare for potential gaps in customization. Test queue jobs with Laravel’s `ShouldQueue` interface and Bus dispatching.
- Does baks-dev/support include predefined message statuses or workflows?
- The package may include default statuses (e.g., *created*, *resolved*) via the `support-answer` dependency, but customization details are undocumented. Audit the source code for hardcoded statuses or workflow logic, and abstract them into interfaces if you need flexibility. Consider extending Eloquent models or using Laravel’s policy system for granular control.
- How are database migrations handled? Will this conflict with existing tables?
- The package does not provide explicit migration files, raising risks of table name collisions (e.g., `support_messages`). Manually inspect the codebase for table names or prefix them (e.g., `baks_support_messages`) in your migrations. Use Laravel’s schema builder to validate assumptions and avoid overwriting existing data.
- Can I use this package with Laravel Scout or Algolia for message search?
- There’s no documented support for Laravel Scout or Algolia in the package. If you need search functionality, implement it manually by adding searchable attributes to Eloquent models or integrating a third-party search service via Laravel’s service container. Test performance with large datasets, as undocumented ORM dependencies may impact indexing.
- What’s the retry mechanism for failed queue jobs in this package?
- The package’s retry logic for failed queue jobs is undocumented. Implement dead-letter queues (DLQ) and exponential backoff manually using Laravel’s queue system. Configure `max_attempts` and `backoff` in your queue worker settings to handle transient failures gracefully.
- Is there a built-in API for programmatic access to support messages?
- The package does not explicitly document an API layer, but you can expose functionality via Laravel’s HTTP controllers or API resources. Create custom routes or use Laravel’s API scaffolding to interact with Eloquent models directly. For GraphQL, integrate with tools like Laravel GraphQL or Neptune.
- How does this package handle attachments or media (e.g., files, images) for messages?
- Attachment handling is undocumented, but the package may rely on Laravel’s filesystem or storage APIs. For robust media management, integrate Spatie Media Library or AWS S3 directly into your Eloquent models. Ensure file paths or URLs are stored in the database and validate storage configurations for production.
- Are there plans to support Laravel 11+ in the future?
- The package currently targets Laravel 10+ and PHP 8.4+, with no public roadmap for Laravel 11+. Check the GitHub repository for open issues or create a feature request to confirm compatibility plans. Test early with Laravel’s beta releases if you’re upgrading soon.
- Can baks-dev/support be used in a multitenant Laravel application?
- Multitenancy support is undocumented, but you can adapt the package for shared databases by implementing Laravel’s tenant-aware models or using packages like Stancl/Tenancy. For separate schemas, override the package’s database connections or abstract tenant logic into middleware. Test thoroughly with your tenancy provider.