Sha256: b2482910cf08193e76bba07049cb2f29250b536c32bfd7b81d990012726b0d98

Contents?: true

Size: 904 Bytes

Versions: 8

Compression:

Stored size: 904 Bytes

Contents

# frozen_string_literal: true

module Maglev
  module Api
    class AssetsController < ::Maglev::ApiController
      include ::ActiveStorage::SetCurrent

      def index
        @assets = resources.search(
          params[:query], params[:asset_type], params[:page], params[:per_page]
        )
      end

      def show
        @asset = resources.find(resource_id)
      end

      def create
        asset = resources.create!(asset_params)
        head :created, location: api_asset_path(asset), maglev_asset_id: asset.id
      end

      def update
        resources.find(resource_id).update!(asset_params)
        head :ok
      end

      def destroy
        resources.find(resource_id).destroy!
        head :no_content
      end

      private

      def asset_params
        params.require(:asset).permit(:file)
      end

      def resources
        ::Maglev::Asset
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
maglevcms-1.8.0 app/controllers/maglev/api/assets_controller.rb
maglevcms-1.7.3 app/controllers/maglev/api/assets_controller.rb
maglevcms-1.7.2 app/controllers/maglev/api/assets_controller.rb
maglevcms-1.7.1 app/controllers/maglev/api/assets_controller.rb
maglevcms-1.7.0 app/controllers/maglev/api/assets_controller.rb
maglevcms-1.6.1 app/controllers/maglev/api/assets_controller.rb
maglevcms-1.6.0 app/controllers/maglev/api/assets_controller.rb
maglevcms-1.5.1 app/controllers/maglev/api/assets_controller.rb