misaf / vendra-document
Private jurisdiction-aware user profile documents for Vendra
v1.10.0
2026-08-01 01:25 UTC
Requires
- php: ^8.3
- misaf/vendra-multimedia: v1.10.0
- misaf/vendra-support: v1.10.0
- misaf/vendra-user-profile: v1.10.0
- spatie/laravel-package-tools: ^1.93.1
Requires (Dev)
- fakerphp/faker: ^1.24.1
- larastan/larastan: ^3.10.0
- laravel/boost: ^2.4.12
- laravel/pint: ^1.29.3
- misaf/vendra-testing: v1.10.0
- orchestra/testbench: ^11.1
- pestphp/pest: ^5.0
- pestphp/pest-plugin-arch: ^5.0
- pestphp/pest-plugin-laravel: ^5.0
- pestphp/pest-plugin-profanity: ^5.0
- pestphp/pest-plugin-type-coverage: ^5.0
- phpstan/extension-installer: ^1.4.3
README
Private jurisdiction-aware user profile documents for Vendra applications.
Features
- Dynamic
documentsrelation on Vendra user profiles - Filament relation manager contributed through the User Profile extension registry
- Private single-file document storage through Vendra Multimedia — files are never publicly visible by default
- Open document type with ISO issuing country and structured JSON metadata for jurisdiction-specific fields
- Tenant-aware storage and permission-seeded authorization
Requirements
- PHP 8.3+
- Laravel 13
- Filament 5
misaf/vendra-user-profilemisaf/vendra-multimediamisaf/vendra-support
Installation
composer require misaf/vendra-document php artisan vendor:publish --tag=vendra-document-migrations php artisan migrate
Tenant columns are added automatically when a tenant provider is active. If
tenancy is enabled after this migration has run, use
php artisan vendra-tenant:enable {tenant} to retrofit the table and assign
existing unscoped records.
The service provider and the user-profile relation manager are auto-registered.
Seeding
Document permissions seed automatically when a tenant is provisioned. To seed them manually:
php artisan vendra-document:seed {tenant}
Testing
Run the package checks from the package directory:
composer test
composer analyse
License
MIT. See LICENSE.