laravel-enso / documentsmanager
Documents Manager for Laravel Enso
Package info
github.com/laravel-enso/documents
Type:plugin
pkg:composer/laravel-enso/documentsmanager
Requires
- laravel-enso/core: ^12.0
- laravel-enso/files: ^5.7
- laravel-enso/helpers: ^4.0
- laravel-enso/image-transformer: ^2.5
- laravel-enso/migrator: ^2.0
- laravel-enso/ocr: 1.0.*
- laravel-enso/track-who: ^3.0
- laravel-enso/users: ^2.8
- dev-master
- 5.4.6
- 5.4.5
- 5.4.4
- 5.4.3
- 5.4.2
- 5.4.1
- 5.4.0
- 5.3.0
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.0
- 5.0.11
- 5.0.10
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.2
- 4.0.1
- 4.0.0
- 3.4.7
- 3.4.6
- 3.4.5
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.11
- 3.2.10
- 3.2.9
- 3.2.8
- 3.2.7
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.4.20
- 2.4.19
- 2.4.18
- 2.4.17
- 2.4.16
- 2.4.15
- 2.4.14
- 2.4.13
- 2.4.12
- 2.4.11
- 2.4.10
- 2.4.9
- 2.4.8
- 2.4.7
- 2.4.6
- 2.4.5
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.13
- 2.3.12
- 2.3.11
- 2.3.10
- 2.3.9
- 2.3.8
- 2.3.7
- 2.3.6
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.29
- 2.2.28
- 2.2.27
- 2.2.26
- 2.2.25
- 2.2.24
- 2.2.23
- 2.2.22
- 2.2.21
- 2.2.20
- 2.2.19
- 2.2.18
- 2.2.17
- 2.2.16
- 2.2.15
- 2.2.14
- 2.2.13
- 2.2.12
- 2.2.11
- 2.2.10
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.28
- 2.1.27
- 2.1.26
- 2.1.25
- 2.1.24
- 2.1.23
- 2.1.22
- 2.1.21
- 2.1.20
- 2.1.18
- 2.1.17
- 2.1.16
- 2.1.15
- 2.1.14
- 2.1.13
- 2.1.12
- 2.1.11
- 2.1.10
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.22
- 1.1.21
- 1.1.20
- 1.1.19
- 1.1.18
- 1.1.17
- 1.1.16
- 1.1.15
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-upgrade/laravel13-core12
- dev-feature/ensoV8
- dev-upgrade/larave11MigrationChange
- dev-upgrade/enso6-dr
- dev-upgrade/enso6
- dev-feature/dropSuffix
- dev-feature/addsRelationship
- dev-hotfix/correctTests
- dev-feature/filesServiceRefactor
- dev-feature/laravel8
- dev-fixes/stylci
This package is auto-updated.
Last update: 2026-04-21 15:24:51 UTC
README
Description
Documents adds polymorphic document attachments to Enso models.
The package stores uploaded documents through the Enso files layer, exposes document listing, upload, and delete endpoints, supports configurable deletion rules for related models, and can queue OCR for PDF documents whose owners implement the Ocrable contract.
It is meant for backoffice models that need a lightweight document vault with optional OCR processing.
Installation
Install the package:
composer require laravel-enso/documents
Run the package migrations:
php artisan migrate
Optional publish:
php artisan vendor:publish --tag=documents-config
Default configuration:
return [ 'deletableTimeLimit' => 60 * 60, 'imageWidth' => 2048, 'imageHeight' => 2048, 'onDelete' => 'restrict', 'loggableMorph' => [ 'documentable' => [], ], 'queues' => [ 'ocr' => 'heavy', ], ];
Features
- Polymorphic one-to-one and one-to-many document relations via the
Documentabletrait. - File attachment handling through
laravel-enso/files. - Upload, list, and delete API under
core.documents. - Configurable delete policy with
restrictorcascade. - OCR dispatch for PDF documents whose owner implements
Ocrable.
Usage
Add the trait to any model that should own documents:
use Illuminate\Database\Eloquent\Model; use LaravelEnso\Documents\Traits\Documentable; class Order extends Model { use Documentable; }
Available relations:
document()documents()
If the owning model should trigger OCR for uploaded PDFs, implement LaravelEnso\Documents\Contracts\Ocrable.
API
HTTP routes
GET api/core/documentsPOST api/core/documentsDELETE api/core/documents/{document}
Route names:
core.documents.indexcore.documents.storecore.documents.destroy
Model surface
LaravelEnso\\Documents\\Models\\Document
Useful methods:
store(array $request, array $files)scopeFor(array $params): BuilderscopeFilter(?string $search): Builder
Depends On
Required Enso packages:
laravel-enso/core↗laravel-enso/files↗laravel-enso/helpers↗laravel-enso/image-transformer↗laravel-enso/migrator↗laravel-enso/ocr↗laravel-enso/track-who↗laravel-enso/users↗
Companion frontend package:
Contributions
are welcome. Pull requests are great, but issues are good too.
Thank you to all the people who already contributed to Enso!