feat: implement YouTube API integration for syncing releases with music productions, including new command and UI components

This commit is contained in:
Ümit Tunç
2026-05-20 22:39:20 +03:00
parent 751b9339f0
commit e9f737ab1d
11 changed files with 595 additions and 1 deletions
@@ -0,0 +1,41 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('music_productions', function (Blueprint $table) {
$table->string('youtube_video_id')->nullable()->unique()->after('spotify_synced_at');
$table->string('youtube_url')->nullable()->after('youtube_video_id');
$table->string('youtube_cover_url')->nullable()->after('youtube_url');
$table->text('youtube_description')->nullable()->after('youtube_cover_url');
$table->timestamp('youtube_synced_at')->nullable()->after('youtube_description');
$table->index('youtube_video_id');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('music_productions', function (Blueprint $table) {
$table->dropIndex(['youtube_video_id']);
$table->dropColumn([
'youtube_video_id',
'youtube_url',
'youtube_cover_url',
'youtube_description',
'youtube_synced_at',
]);
});
}
};