diff --git a/app/Http/Controllers/MusicController.php b/app/Http/Controllers/MusicController.php index 1c7ff2d..245876f 100644 --- a/app/Http/Controllers/MusicController.php +++ b/app/Http/Controllers/MusicController.php @@ -127,7 +127,7 @@ public function store(Request $request) 'type' => 'nullable|in:public,private', 'image_id' => 'nullable|exists:images,id', 'playlist_id' => 'nullable|exists:music_playlists,id', - 'duration' => 'nullable|string|regex:/^(?:\d+:)?[0-5]?\d:[0-5]\d$/', // validates mm:ss or hh:mm:ss + 'duration' => 'nullable|integer|min:1', // validates mm:ss or hh:mm:ss ]); // Handle file upload @@ -210,7 +210,7 @@ public function update(Request $request, $id) 'file' => 'nullable|mimes:mp3,wav,ogg,flac|max:20971520', 'image_id' => 'nullable|exists:images,id', 'playlist_id' => 'nullable|exists:music_playlists,id', - 'duration' => 'nullable|string|regex:/^(?:\d+:)?[0-5]?\d:[0-5]\d$/', + 'duration' => 'nullable|integer|min:1', 'order' => 'nullable|integer', 'is_active' => 'nullable|boolean', ]); diff --git a/app/Models/Music.php b/app/Models/Music.php index 0dbb00c..123798f 100644 --- a/app/Models/Music.php +++ b/app/Models/Music.php @@ -22,7 +22,7 @@ class Music extends Model 'playlist_id', 'image_id', 'duration', 'order', 'is_active' ]; protected $casts = [ - 'duration' => 'string', + 'duration' => 'integer', 'order' => 'integer', 'is_active' => 'boolean', ]; @@ -43,10 +43,10 @@ public function tags(): BelongsToMany return $this->belongsToMany(Tag::class, 'music_tags'); } - protected $appends = ['url', 'image_url' , 'average_rating', 'user_rating', 'comments_count' , 'has_user_commented', // Add this - 'user_comment', // Add this - 'user_comment_id', // Add this - 'has_user_rated' // Add this]; + protected $appends = ['url', 'image_url' , 'average_rating', 'user_rating', 'comments_count' , 'has_user_commented', + 'user_comment', + 'user_comment_id', + 'has_user_rated' ]; public function getUrlAttribute() diff --git a/database/migrations/2026_05_22_175608_change_duration_to_integer_in_music_table.php b/database/migrations/2026_05_22_175608_change_duration_to_integer_in_music_table.php new file mode 100644 index 0000000..89c1f06 --- /dev/null +++ b/database/migrations/2026_05_22_175608_change_duration_to_integer_in_music_table.php @@ -0,0 +1,28 @@ +integer('duration')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('music', function (Blueprint $table) { + $table->string('duration')->nullable()->change(); + }); + } +};