*/ class LikeController extends BaseController { final public const string ATTRIBUTE_ENTRY = 'entry'; final public const string ATTRIBUTE_PLAYLIST = 'playlist'; /** * @param array $args */ public function store($root, array $args): Model { $validated = $this->validated($args, LikeMutation::class); /** @var Model&Likeable $likeable */ $likeable = Arr::first($validated); return $likeable->like(Auth::user()); } /** * @param array $args */ public function destroy($root, array $args): Model { $validated = $this->validated($args, UnlikeMutation::class); /** @var Model&Likeable $likeable */ $likeable = Arr::first($validated); return $likeable->unlike(Auth::user()); } }