*/ class PlaylistController extends BaseController { final public const ROUTE_SLUG = 'id'; /** * Store a newly created resource. * * @param null $_ * @param array $args */ public function store($_, array $args): Playlist { $validated = $this->validated($args, CreatePlaylistMutation::class); $parameters = [ ...$validated, Playlist::ATTRIBUTE_USER => Auth::id(), ]; $stored = $this->storeAction->store(Playlist::query(), $parameters); return $stored; } /** * Update the specified resource. * * @param null $_ * @param array $args */ public function update($_, array $args): Playlist { /** @var Playlist $playlist */ $playlist = Arr::pull($args, self::ROUTE_SLUG); $validated = $this->validated($args, UpdatePlaylistMutation::class); $updated = $this->updateAction->update($playlist, $validated); return $updated; } /** * Remove the specified resource. * * @param null $_ * @param array $args */ public function destroy($_, array $args): JsonResponse { /** @var Playlist $playlist */ $playlist = Arr::get($args, self::ROUTE_SLUG); $message = $this->destroyAction->forceDelete($playlist); return new JsonResponse([ 'message' => $message, ]); } }