Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Studio Laravel Package

flexpik/filament-studio

View on GitHub
Deep Wiki
Context7

Multi-Tenancy

Filament Studio has built-in multi-tenancy support. All major models are scoped by tenant_id, ensuring complete data isolation between tenants.

How It Works

Every model in Filament Studio includes a tenant_id column. Queries automatically filter records to the current tenant using Filament's tenant context.

Tenant-Scoped Models

Model Scope
StudioCollection Collections belong to a tenant
StudioField Fields inherit tenant scope from their collection
StudioRecord Records are scoped to tenant
StudioDashboard Dashboards are per-tenant
StudioPanel Panels inherit tenant scope
StudioApiKey API keys are per-tenant
StudioSavedFilter Saved filters are per-tenant
StudioRecordVersion Version history is per-tenant
StudioMigrationLog Audit logs are per-tenant

Query Scoping

All models provide a forTenant(?int $tenantId) scope:

StudioCollection::forTenant($tenantId)->get();
StudioRecord::forTenant($tenantId)->where(...)->get();

When tenant_id is null, records are treated as global (accessible to all tenants).

Tenant Lifecycle Hook

The plugin provides a hook for seeding data when a new tenant is created:

FilamentStudioPlugin::make()
    ->afterTenantCreated(function (Model $tenant) {
        // Seed default collections for the new tenant
        CollectionSeeder::seedForTenant($tenant->id, [
            [
                'name' => 'contacts',
                'label' => 'Contacts',
                'fields' => [
                    ['column_name' => 'name', 'label' => 'Name', 'field_type' => 'text'],
                    ['column_name' => 'email', 'label' => 'Email', 'field_type' => 'text'],
                ],
            ],
        ]);
    });

API Tenancy

API keys can be scoped to a tenant. When a tenant-scoped API key is used, all API operations are automatically filtered to that tenant's data. See REST API for details.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky