Sha256: ed1ce76a5e6e4ee53f0a2e465e1afaf243153b5e5ff9c7668151c315e124e9d7

Contents?: true

Size: 729 Bytes

Versions: 10

Compression:

Stored size: 729 Bytes

Contents

# frozen_string_literal: true
module Shipit
  module Api
    class LocksController < BaseController
      require_permission :lock, :stack

      params do
        requires :reason, String, presence: true
      end
      def create
        if stack.locked?
          render(json: { message: 'Already locked' }, status: :conflict)
        else
          stack.lock(params.reason, current_user)
          render_resource(stack)
        end
      end

      params do
        requires :reason, String, presence: true
      end
      def update
        stack.lock(params.reason, current_user)
        render_resource(stack)
      end

      def destroy
        stack.unlock
        render_resource(stack)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
shipit-engine-0.39.0 app/controllers/shipit/api/locks_controller.rb
shipit-engine-0.38.0 app/controllers/shipit/api/locks_controller.rb
shipit-engine-0.37.0 app/controllers/shipit/api/locks_controller.rb
shipit-engine-0.36.1 app/controllers/shipit/api/locks_controller.rb
shipit-engine-0.36.0 app/controllers/shipit/api/locks_controller.rb
shipit-engine-0.35.1 app/controllers/shipit/api/locks_controller.rb
shipit-engine-0.35.0 app/controllers/shipit/api/locks_controller.rb
shipit-engine-0.34.0 app/controllers/shipit/api/locks_controller.rb
shipit-engine-0.33.0 app/controllers/shipit/api/locks_controller.rb
shipit-engine-0.32.0 app/controllers/shipit/api/locks_controller.rb