Sha256: c937fc282a3a3622d751a7e99e252e156587163c3b560e9faa48bfe635a1d3d9

Contents?: true

Size: 713 Bytes

Versions: 10

Compression:

Stored size: 713 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, lock_author: current_user)
        render_resource stack
      end
    end

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

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

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
shipit-engine-0.5.2 app/controllers/api/locks_controller.rb
shipit-engine-0.5.1 app/controllers/api/locks_controller.rb
shipit-engine-0.5.0 app/controllers/api/locks_controller.rb
shipit-engine-0.4.10 app/controllers/api/locks_controller.rb
shipit-engine-0.4.9 app/controllers/api/locks_controller.rb
shipit-engine-0.4.8 app/controllers/api/locks_controller.rb
shipit-engine-0.4.7 app/controllers/api/locks_controller.rb
shipit-engine-0.4.6 app/controllers/api/locks_controller.rb
shipit-engine-0.4.5 app/controllers/api/locks_controller.rb
shipit-engine-0.4.4 app/controllers/api/locks_controller.rb