Sha256: 2dc72318409ce27afb2d960be153b60b258681f476d205e0afd5ed7279c18ac7

Contents?: true

Size: 691 Bytes

Versions: 10

Compression:

Stored size: 691 Bytes

Contents

# frozen_string_literal: true

module Alchemy
  class Api::NodesController < Api::BaseController
    before_action :load_node
    before_action :authorize_access, only: [:move, :toggle_folded]

    def move
      target_parent_node = Node.find(params[:target_parent_id])
      @node.move_to_child_with_index(target_parent_node, params[:new_position])
      render json: @node, serializer: NodeSerializer
    end

    def toggle_folded
      @node.update(folded: !@node.folded)
      render json: @node, serializer: NodeSerializer
    end

    private

    def load_node
      @node = Node.find(params[:id])
    end

    def authorize_access
      authorize! :update, @node
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
alchemy_cms-4.6.7 app/controllers/alchemy/api/nodes_controller.rb
alchemy_cms-4.6.6 app/controllers/alchemy/api/nodes_controller.rb
alchemy_cms-4.6.5 app/controllers/alchemy/api/nodes_controller.rb
alchemy_cms-4.5.1 app/controllers/alchemy/api/nodes_controller.rb
alchemy_cms-4.6.4 app/controllers/alchemy/api/nodes_controller.rb
alchemy_cms-4.6.3 app/controllers/alchemy/api/nodes_controller.rb
alchemy_cms-4.6.2 app/controllers/alchemy/api/nodes_controller.rb
alchemy_cms-4.6.1 app/controllers/alchemy/api/nodes_controller.rb
alchemy_cms-4.6.0 app/controllers/alchemy/api/nodes_controller.rb
alchemy_cms-4.5.0 app/controllers/alchemy/api/nodes_controller.rb