laravel-enso/searchable

Global searchable registry for Laravel Enso

Maintainers

Package info

github.com/laravel-enso/searchable

pkg:composer/laravel-enso/searchable

Statistics

Installs: 50 180

Dependents: 5

Suggesters: 0

Stars: 3

Open Issues: 0


README

License Stable Downloads PHP Issues Merge Requests

Description

Searchable provides the global command-palette style search registry used by Laravel Enso.

The package exposes a single search endpoint, a facade-backed registry for searchable models, and a finder service that resolves results according to configured attributes, scopes, permissions, and optional Scout providers.

It is intended for Enso applications that need cross-module quick search with permission-aware routes and grouped results.

Installation

Install the package:

composer require laravel-enso/searchable

Run the package migrations:

php artisan migrate

Optional publishes:

php artisan vendor:publish --tag=searchable-config
php artisan vendor:publish --tag=searchable-factories

Features

  • Global api/core/searchable/index endpoint.
  • Facade-backed searchable model registry.
  • Finder service that supports local query matching or Scout search providers.
  • Permission-filtered route actions based on the authenticated user's role.
  • Support for route params, custom labels, scopes, permission groups, and nested relation attributes.

Usage

Register searchable models from any package by extending the package search service provider:

public $register = [
    Product::class => [
        'group' => 'Product',
        'attributes' => ['name', 'internal_code', 'part_number'],
        'label' => 'internal_code',
        'permissionGroup' => 'products',
    ],
];

The finder returns grouped results with resolved route params and only the route actions the current user is allowed to execute.

API

HTTP routes

  • GET api/core/searchable/index

Core services

  • LaravelEnso\\Searchable\\Services\\Search
  • LaravelEnso\\Searchable\\Services\\Finder

Behavior:

  • stores registered searchable model definitions
  • executes Scout search when searchProvider is configured
  • otherwise executes filter-based database search
  • filters available actions by role permissions

Depends On

Required Enso packages:

Contributions

are welcome. Pull requests are great, but issues are good too.

Thank you to all the people who already contributed to Enso!