Sha256: 0ea122898b98b5f6ddc6445ad9b8d519bfa621b82541432096009643fe3002ef

Contents?: true

Size: 641 Bytes

Versions: 12

Compression:

Stored size: 641 Bytes

Contents

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.update(lock_reason: params.reason)
        render_resource stack
      end
    end

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

    def destroy
      stack.update(lock_reason: nil)
      render_resource stack
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
shipit-engine-0.4.3 app/controllers/api/locks_controller.rb
shipit-engine-0.4.2 app/controllers/api/locks_controller.rb
shipit-engine-0.4.1 app/controllers/api/locks_controller.rb
shipit-engine-0.4.0 app/controllers/api/locks_controller.rb
shipit-engine-0.3.1 app/controllers/api/locks_controller.rb
shipit-engine-0.3.0 app/controllers/api/locks_controller.rb
shipit-engine-0.2.3 app/controllers/api/locks_controller.rb
shipit-engine-0.2.2 app/controllers/api/locks_controller.rb
shipit-engine-0.2.1 app/controllers/api/locks_controller.rb
shipit-engine-0.2.0 app/controllers/api/locks_controller.rb
shipit-engine-0.1.0 app/controllers/api/locks_controller.rb
shipit-engine-0.0.1.pre app/controllers/api/locks_controller.rb