luminix/backend

2,828 1
Install
composer require luminix/backend
Latest Version:1.3.0
PHP:^8.2
Laravel:11 · 12 · 13
License:MIT
Last Updated:Oct 15, 2026
Links: GitHub  ·  Packagist
Maintainer: obrunopolo

Luminix Backend

Pacote Laravel para geração automática de endpoints RESTful a partir de modelos Eloquent, com filtragem avançada, controle de acesso por Gates e gerenciamento de relacionamentos.

Requisitos

  • PHP 8.2+
  • Laravel 11, 12 ou 13

Instalação

composer require luminix/backend

Publique o arquivo de configuração:

php artisan vendor:publish --tag=luminix-config

Uso Básico

Adicione a trait LuminixModel a qualquer modelo para expô-lo via API:

use Illuminate\Database\Eloquent\Model;
use Luminix\Backend\Model\LuminixModel;

class Post extends Model
{
    use LuminixModel;

    protected $fillable = ['title', 'body'];
}

Isso gera automaticamente os seguintes endpoints sob o prefixo /luminix-api:

Método URL Ação
GET /luminix-api/posts Listagem paginada
POST /luminix-api/posts Criação
GET /luminix-api/posts/{id} Busca por ID
POST /luminix-api/posts/{id} Atualização
DELETE /luminix-api/posts/{id} Exclusão
DELETE /luminix-api/posts Exclusão em lote
POST /luminix-api/posts/restore Restauração em lote (SoftDeletes)

Funcionalidades

Filtragem e Busca

  • 15+ operadores de filtro (equals, contains, between, notBetween, greaterThan, null, relation, etc.) via parâmetro where
  • Busca textual via parâmetro q (busca em todos os campos fillable)
  • Ordenação via order_by, paginação via page/per_page
  • Filtragem por abas (tab) para conjuntos pré-definidos (ex: ?tab=trashed)
  • Operadores personalizados via macros em ModelFilter

Segurança

  • Middleware configurável globalmente ou por endpoint
  • Integração com Laravel Gates (filosofia deny first)
  • Segurança em nível de linha via scopeAllowed — chamado automaticamente em toda consulta

Relacionamentos

  • Sync, attach e detach para relações BelongsToMany e MorphToMany
  • Suporte a dados de pivot

Customização

  • Controlador por modelo via atributo #[WithController]
  • Hooks no ciclo de vida: beforeSave, afterCreate, beforeDelete, onTransactionError, etc.
  • Validação inline (getValidationRules) ou em classes dedicadas (#[WithValidator])
  • Respostas customizadas via Laravel Resources (#[WithResource])
  • 10 eventos Luminix-específicos (luminixCreating, luminixSaved, etc.) disparados apenas em operações de API

Exemplo com Segurança

// app/Providers/AppServiceProvider.php
Gate::define('read-post', fn (?User $user) => true);          // leitura pública
Gate::define('create-post', fn (?User $user) => !!$user);     // apenas autenticados
Gate::define('update-post', fn (User $user, Post $post) => $user->id === $post->user_id);
Gate::define('delete-post', fn (User $user, Post $post) => $user->id === $post->user_id);
// app/Models/Post.php
public function scopeAllowed(Builder $query, string $permission): void
{
    if (in_array($permission, ['update', 'delete'])) {
        $query->where('user_id', auth()->id());
    }
}

Documentação

Consulte o índice completo da documentação para referência detalhada de todos os recursos.

Licença

MIT

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

644,549,754 9,698
laravel/framework

The Laravel Framework.

598,760,099 34,966
laravel/tinker

Powerful REPL for the Laravel framework.

507,193,856 7,441
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

423,477,751 607
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

403,217,078 4,664

Version History

Version Released PHP Laravel License
1.3.0 ^8.2 ^11.0|^12.0|^13.0 MIT
1.2.0 ^8.2 ^11.0|^12.0|^13.0 MIT
1.1.3 ^8.2 ^11.0|^12.0|^13.0 MIT
1.1.2 ^8.2 ^11.0|^12.0|^13.0 MIT
1.1.1 ^8.2 ^11.0|^12.0|^13.0 MIT