Skip to content

Commit

Permalink
Move config to backstage directory
Browse files Browse the repository at this point in the history
  • Loading branch information
Baspa committed Feb 7, 2025
1 parent 067823a commit 4c3d69b
Show file tree
Hide file tree
Showing 12 changed files with 53 additions and 53 deletions.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ return new class extends Migration
{
public function up(): void
{
if (config('media.is_tenant_aware')) {
Schema::table(app(config('media.model'))->getTable(), function (Blueprint $table) {
$table->ulid(config('media.tenant_relationship') . '_ulid')->nullable()->after('ulid');
if (config('backstage.media.is_tenant_aware')) {
Schema::table(app(config('backstage.media.model'))->getTable(), function (Blueprint $table) {
$table->ulid(config('backstage.media.tenant_relationship') . '_ulid')->nullable()->after('ulid');
});
}
}

public function down(): void
{
if (Schema::hasColumn(app(config('media.model'))->getTable(), config('media.tenant_relationship') . '_ulid')) {
Schema::table(app(config('media.model'))->getTable(), function (Blueprint $table) {
$table->dropColumn(config('media.tenant_relationship') . '_ulid');
if (Schema::hasColumn(app(config('backstage.media.model'))->getTable(), config('backstage.media.tenant_relationship') . '_ulid')) {
Schema::table(app(config('backstage.media.model'))->getTable(), function (Blueprint $table) {
$table->dropColumn(config('backstage.media.tenant_relationship') . '_ulid');
});
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ return new class extends Migration
// Media ULID reference
$table->foreignUlid('media_ulid')
->references('ulid')
->on(app(config('media.model'))->getTable())
->on(app(config('backstage.media.model'))->getTable())
->cascadeOnDelete();

// Polymorphic model relationship
Expand Down
4 changes: 2 additions & 2 deletions database/migrations/create_media_table.php.stub
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ return new class extends Migration
{
public function up(): void
{
Schema::create(app(config('media.model'))->getTable(), function (Blueprint $table) {
Schema::create(app(config('backstage.media.model'))->getTable(), function (Blueprint $table) {
$table->ulid('ulid')->primary();

$table->string('disk')->index();
Expand Down Expand Up @@ -38,6 +38,6 @@ return new class extends Migration

public function down(): void
{
Schema::dropIfExists(app(config('media.model'))->getTable());
Schema::dropIfExists(app(config('backstage.media.model'))->getTable());
}
};
10 changes: 5 additions & 5 deletions src/Components/Media.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ public static function make(string $name = 'media'): static
{
return parent::make($name)
->label(__('File(s)'))
->disk(config('media.disk'))
->directory(config('media.directory'))
->preserveFilenames(config('media.should_preserve_filenames'))
->visibility(config('media.visibility'))
->acceptedFileTypes(config('media.accepted_file_types'))
->disk(config('backstage.media.disk'))
->directory(config('backstage.media.directory'))
->preserveFilenames(config('backstage.media.should_preserve_filenames'))
->visibility(config('backstage.media.visibility'))
->acceptedFileTypes(config('backstage.media.accepted_file_types'))
->multiple()
->columnSpanFull();
}
Expand Down
2 changes: 1 addition & 1 deletion src/Concerns/HasMedia.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ trait HasMedia
public function media(): MorphToMany
{
return $this->morphToMany(
config('media.model'),
config('backstage.media.model'),
'model',
'media_relationships',
'model_id',
Expand Down
10 changes: 5 additions & 5 deletions src/Media.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ public static function create(array | string $data): array

foreach ($data as $file) {
// Get the full path on the configured disk
$fullPath = Storage::disk(config('media.disk'))->path($file);
$fullPath = Storage::disk(config('backstage.media.disk'))->path($file);

$filename = basename($file);

$mimeType = Storage::disk(config('media.disk'))->mimeType($file);
$mimeType = Storage::disk(config('backstage.media.disk'))->mimeType($file);

$fileSize = Storage::disk(config('media.disk'))->size($file);
$fileSize = Storage::disk(config('backstage.media.disk'))->size($file);

$extension = pathinfo($filename, PATHINFO_EXTENSION);

Expand Down Expand Up @@ -52,7 +52,7 @@ public static function create(array | string $data): array

$media[] = Model::updateOrCreate([
'site_ulid' => Filament::getTenant()->ulid,
'disk' => config('media.disk'),
'disk' => config('backstage.media.disk'),
'original_filename' => pathinfo($filename, PATHINFO_FILENAME),
'checksum' => md5_file($fullPath),
], [
Expand All @@ -63,7 +63,7 @@ public static function create(array | string $data): array
'size' => $fileSize,
'width' => $fileInfo['width'] ?? null,
'height' => $fileInfo['height'] ?? null,
'public' => config('media.visibility') === 'public',
'public' => config('backstage.media.visibility') === 'public',
]);
}

Expand Down
22 changes: 11 additions & 11 deletions src/MediaPlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,47 +70,47 @@ public static function get(): static

public function getResource(): string
{
return $this->resource ?? config('media.resources.resource') ?? MediaResource::class;
return $this->resource ?? config('backstage.media.resources.resource') ?? MediaResource::class;
}

public function getLabel(): string
{
return $this->evaluate($this->label) ?? config('media.resources.label');
return $this->evaluate($this->label) ?? config('backstage.media.resources.label');
}

public function getPluralLabel(): string
{
return $this->evaluate($this->pluralLabel) ?? config('media.resources.plural_label');
return $this->evaluate($this->pluralLabel) ?? config('backstage.media.resources.plural_label');
}

public function getNavigationGroup(): ?string
{
return $this->evaluate($this->navigationGroup) ?? config('media.resources.navigation_group');
return $this->evaluate($this->navigationGroup) ?? config('backstage.media.resources.navigation_group');
}

public function getNavigationLabel(): ?string
{
return $this->evaluate($this->navigationLabel) ?? config('media.resources.navigation_label');
return $this->evaluate($this->navigationLabel) ?? config('backstage.media.resources.navigation_label');
}

public function getNavigationIcon(): ?string
{
return $this->evaluate($this->navigationIcon) ?? config('media.resources.navigation_icon');
return $this->evaluate($this->navigationIcon) ?? config('backstage.media.resources.navigation_icon');
}

public function getNavigationSort(): ?int
{
return $this->evaluate($this->navigationSort) ?? config('media.resources.navigation_sort');
return $this->evaluate($this->navigationSort) ?? config('backstage.media.resources.navigation_sort');
}

public function getNavigationCountBadge(): ?bool
{
return $this->navigationCountBadge ?? config('media.resources.navigation_count_badge');
return $this->navigationCountBadge ?? config('backstage.media.resources.navigation_count_badge');
}

public function shouldRegisterNavigation(): ?bool
{
return $this->evaluate($this->shouldRegisterNavigation) ?? config('media.should_register_navigation');
return $this->evaluate($this->shouldRegisterNavigation) ?? config('backstage.media.should_register_navigation');
}

public function navigationGroup(string | Closure | null $group = null): static
Expand Down Expand Up @@ -190,13 +190,13 @@ public function configureTenant(string $relationship, string $model): static
public function getTenantRelationship(): ?string
{
return $this->evaluate($this->tenantRelationship)
?? config('media.tenant_relationship');
?? config('backstage.media.tenant_relationship');
}

public function getTenantModel(): ?string
{
return $this->evaluate($this->tenantModel)
?? config('media.tenant_model');
?? config('backstage.media.tenant_model');
}

/**
Expand Down
4 changes: 2 additions & 2 deletions src/MediaServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ public function configurePackage(Package $package): void

$configFileName = $package->shortName();

if (file_exists($package->basePath("/../config/{$configFileName}.php"))) {
$package->hasConfigFile();
if (file_exists($package->basePath("/../config/backstage/media.php"))) {
$package->hasConfigFile('backstage/media');
}

if (file_exists($package->basePath('/../database/migrations'))) {
Expand Down
20 changes: 10 additions & 10 deletions src/Models/Media.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public function getRouteKeyName(): string
public function models(): MorphToMany
{
return $this->morphedByMany(
config('media.model_namespace', 'App\Models'),
config('backstage.media.model_namespace', 'App\Models'),
'model',
'media_relationships',
'media_ulid',
Expand All @@ -61,8 +61,8 @@ public function models(): MorphToMany
protected static function booted(): void
{
static::creating(function ($model) {
$tenantRelationship = Config::get('media.tenant_relationship');
$tenantModel = Config::get('media.tenant_model');
$tenantRelationship = Config::get('backstage.media.tenant_relationship');
$tenantModel = Config::get('backstage.media.tenant_model');

if ($tenantRelationship && class_exists($tenantModel)) {
$currentTenant = Filament::getTenant();
Expand All @@ -76,13 +76,13 @@ protected static function booted(): void

public function user(): ?BelongsTo
{
return $this->belongsTo(Config::get('media.user_model'), 'uploaded_by');
return $this->belongsTo(Config::get('backstage.media.user_model'), 'uploaded_by');
}

public function tenant(): ?BelongsTo
{
$tenantRelationship = Config::get('media.tenant_relationship');
$tenantModel = Config::get('media.tenant_model');
$tenantRelationship = Config::get('backstage.media.tenant_relationship');
$tenantModel = Config::get('backstage.media.tenant_model');

if ($tenantRelationship && class_exists($tenantModel)) {
return $this->belongsTo(
Expand All @@ -109,16 +109,16 @@ public function getHumanReadableSizeAttribute(): string

public function getSrcAttribute(): string
{
$disk = Config::get('media.disk', 'public');
$directory = Config::get('media.directory', 'media');
$disk = Config::get('backstage.media.disk', 'public');
$directory = Config::get('backstage.media.directory', 'media');

return Storage::disk($disk)->url($directory . '/' . $this->filename);
}

public function download(): \Symfony\Component\HttpFoundation\StreamedResponse
{
$disk = Config::get('media.disk', 'public');
$directory = Config::get('media.directory', 'media');
$disk = Config::get('backstage.media.disk', 'public');
$directory = Config::get('backstage.media.directory', 'media');

return Storage::disk($disk)->download($directory . '/' . $this->filename);
}
Expand Down
10 changes: 5 additions & 5 deletions src/Resources/MediaResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ class MediaResource extends Resource
{
public static function getModel(): string
{
return config('media.model');
return config('backstage.media.model');
}

public static function isScopedToTenant(): bool
{
return config('media.is_tenant_aware') ?? static::$isScopedToTenant;
return config('backstage.media.is_tenant_aware') ?? static::$isScopedToTenant;
}

public static function getTenantOwnershipRelationshipName(): string
{
return config('media.tenant_ownership_relationship_name') ?? Filament::getTenantOwnershipRelationshipName();
return config('backstage.media.tenant_ownership_relationship_name') ?? Filament::getTenantOwnershipRelationshipName();
}

public static function getModelLabel(): string
Expand Down Expand Up @@ -66,9 +66,9 @@ public static function getNavigationBadge(): ?string
return null;
}

if (Filament::hasTenancy() && config('media.is_tenant_aware')) {
if (Filament::hasTenancy() && config('backstage.media.is_tenant_aware')) {
return static::getEloquentQuery()
->where(config('media.tenant_relationship') . '_ulid', Filament::getTenant()->id)
->where(config('backstage.media.tenant_relationship') . '_ulid', Filament::getTenant()->id)
->count();
}

Expand Down
10 changes: 5 additions & 5 deletions src/Resources/MediaResource/CreateMedia.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ public function handleRecordCreation(array $data): Model
{
foreach ($data['media'] as $file) {
// Get the full path on the configured disk
$fullPath = Storage::disk(config('media.disk'))->path($file);
$fullPath = Storage::disk(config('backstage.media.disk'))->path($file);

$filename = basename($file);

$mimeType = Storage::disk(config('media.disk'))->mimeType($file);
$mimeType = Storage::disk(config('backstage.media.disk'))->mimeType($file);

$fileSize = Storage::disk(config('media.disk'))->size($file);
$fileSize = Storage::disk(config('backstage.media.disk'))->size($file);

$extension = pathinfo($filename, PATHINFO_EXTENSION);

Expand Down Expand Up @@ -54,7 +54,7 @@ public function handleRecordCreation(array $data): Model

$first = Media::create([
'site_ulid' => Filament::getTenant()->ulid,
'disk' => config('media.disk'),
'disk' => config('backstage.media.disk'),
'uploaded_by' => auth()->id(),
'filename' => $filename,
'extension' => $extension,
Expand All @@ -63,7 +63,7 @@ public function handleRecordCreation(array $data): Model
'width' => $fileInfo['width'] ?? null,
'height' => $fileInfo['height'] ?? null,
'checksum' => md5_file($fullPath),
'public' => config('media.visibility') === 'public', // TODO: Should be configurable in the form itself
'public' => config('backstage.media.visibility') === 'public', // TODO: Should be configurable in the form itself
]);
}

Expand Down

0 comments on commit 4c3d69b

Please sign in to comment.