public function up()
 {
     foreach (Track::with('user')->get() as $track) {
         $track->updateHash();
         $track->save();
     }
 }
Пример #2
0
 public function getTrackRadioDetails($hash)
 {
     $track = Track::with('user', 'album', 'user.avatar', 'cover', 'comments', 'genre')->published()->whereHash($hash)->first();
     if (!$track) {
         return Response::json(['message' => 'Track not found.'], 403);
     }
     $comments = [];
     foreach ($track->comments as $comment) {
         $comments[] = ['id' => $comment->id, 'created_at' => $comment->created_at, 'content' => $comment->content, 'user' => ['name' => $comment->user->display_name, 'id' => $comment->user->id, 'url' => $comment->user->url, 'avatars' => ['normal' => $comment->user->getAvatarUrl(Image::NORMAL), 'thumbnail' => $comment->user->getAvatarUrl(Image::THUMBNAIL), 'small' => $comment->user->getAvatarUrl(Image::SMALL)]]];
     }
     return Response::json(['id' => $track->id, 'title' => $track->title, 'description' => $track->description, 'lyrics' => $track->lyrics, 'user' => ['id' => $track->user->id, 'name' => $track->user->display_name, 'url' => $track->user->url, 'avatars' => ['thumbnail' => $track->user->getAvatarUrl(Image::THUMBNAIL), 'small' => $track->user->getAvatarUrl(Image::SMALL), 'normal' => $track->user->getAvatarUrl(Image::NORMAL)]], 'stats' => ['views' => $track->view_count, 'plays' => $track->play_count, 'downloads' => $track->download_count, 'comments' => $track->comment_count, 'favourites' => $track->favourite_count], 'url' => $track->url, 'is_vocal' => !!$track->is_vocal, 'is_explicit' => !!$track->is_explicit, 'is_downloadable' => !!$track->is_downloadable, 'published_at' => $track->published_at, 'duration' => $track->duration, 'genre' => $track->genre != null ? ['id' => $track->genre->id, 'name' => $track->genre->name] : null, 'type' => ['id' => $track->track_type->id, 'name' => $track->track_type->title], 'covers' => ['thumbnail' => $track->getCoverUrl(Image::THUMBNAIL), 'small' => $track->getCoverUrl(Image::SMALL), 'normal' => $track->getCoverUrl(Image::NORMAL)], 'comments' => $comments, 'source' => $track->source], 200);
 }
 public function up()
 {
     Schema::table('tracks', function ($table) {
         $table->string('hash', 32)->nullable()->indexed();
     });
     foreach (Track::with('user')->get() as $track) {
         $track->updateHash();
         $track->save();
     }
     Schema::table('tracks', function ($table) {
         $table->string('hash', 32)->notNullable()->change();
     });
 }
 /**
  * Run the migrations.
  *
  * @return void
  */
 public function up()
 {
     // 2015_05_25_011121_create_track_files_table.php only created
     // track_files records for non-deleted tracks. This migration
     // adds them for deleted tracks, too.
     $tracks = Track::with('trackFiles')->onlyTrashed()->get();
     foreach ($tracks as $track) {
         if ($track->trackFiles->count() === 0 && $track->source !== 'mlpma') {
             foreach (Track::$Formats as $name => $item) {
                 DB::table('track_files')->insert(['track_id' => $track->id, 'is_master' => $name === 'FLAC' ? true : false, 'format' => $name, 'created_at' => $track->created_at, 'updated_at' => Carbon\Carbon::now()]);
             }
         }
     }
 }
Пример #5
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     /** @var Track $track */
     $track = Track::with('trackFiles')->withTrashed()->find((int) $this->argument('trackId'));
     if ($this->option('upload')) {
         foreach ($track->trackFiles as $trackFile) {
             $this->info("Re-encoding this track's {$trackFile->format} file...");
             $this->dispatch(new EncodeTrackFile($trackFile, false, true, false));
         }
     } else {
         foreach ($track->trackFiles as $trackFile) {
             if (!$trackFile->is_master) {
                 $this->info("Re-encoding this track's {$trackFile->format} file...");
                 $this->dispatch(new EncodeTrackFile($trackFile, true));
             }
         }
     }
 }
Пример #6
0
 public function getEdit($id)
 {
     $track = Track::with('showSongs')->find($id);
     if (!$track) {
         return $this->notFound('Track ' . $id . ' not found!');
     }
     if ($track->user_id != Auth::user()->id) {
         return $this->notAuthorized();
     }
     return Response::json(Track::mapPrivateTrackShow($track), 200);
 }