Implement creator studio and upload updates

This commit is contained in:
2026-04-04 10:12:02 +02:00
parent 1da7d3bf88
commit 0b216b7ecd
15107 changed files with 31206 additions and 626514 deletions

View File

@@ -28,6 +28,7 @@ class NovaCard extends Model
public const VISIBILITY_PRIVATE = 'private';
public const STATUS_DRAFT = 'draft';
public const STATUS_SCHEDULED = 'scheduled';
public const STATUS_PROCESSING = 'processing';
public const STATUS_PUBLISHED = 'published';
public const STATUS_HIDDEN = 'hidden';
@@ -85,6 +86,8 @@ class NovaCard extends Model
'allow_export',
'original_creator_id',
'published_at',
'scheduled_for',
'scheduling_timezone',
'last_engaged_at',
'last_ranked_at',
'last_rendered_at',
@@ -114,6 +117,7 @@ class NovaCard extends Model
'allow_background_reuse' => 'boolean',
'allow_export' => 'boolean',
'published_at' => 'datetime',
'scheduled_for' => 'datetime',
'last_engaged_at' => 'datetime',
'last_ranked_at' => 'datetime',
'last_rendered_at' => 'datetime',
@@ -245,6 +249,12 @@ class NovaCard extends Model
return null;
}
// Prefer an explicit CDN URL so images are served through the CDN edge layer.
$cdnBase = (string) env('FILES_CDN_URL', '');
if ($cdnBase !== '') {
return rtrim($cdnBase, '/') . '/' . ltrim($this->preview_path, '/');
}
return Storage::disk((string) config('nova_cards.storage.public_disk', 'public'))->url($this->preview_path);
}
@@ -259,6 +269,11 @@ class NovaCard extends Model
return $this->previewUrl();
}
$cdnBase = (string) env('FILES_CDN_URL', '');
if ($cdnBase !== '') {
return rtrim($cdnBase, '/') . '/' . ltrim($ogPath, '/');
}
return Storage::disk((string) config('nova_cards.storage.public_disk', 'public'))->url($ogPath);
}