23 lines
919 B
Ruby
23 lines
919 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Api
|
|
module V1
|
|
class WeaponKeysController < Api::V1::ApiController
|
|
def all
|
|
conditions = {}.tap do |hash|
|
|
hash[:series] = request.params['series'].to_i unless request.params['series'].blank?
|
|
hash[:slot] = request.params['slot'].to_i unless request.params['slot'].blank?
|
|
hash[:group] = request.params['group'].to_i unless request.params['group'].blank?
|
|
end
|
|
|
|
# Build the query based on the conditions
|
|
weapon_keys = WeaponKey.all
|
|
weapon_keys = weapon_keys.where('? = ANY(series)', conditions[:series]) if conditions.key?(:series)
|
|
weapon_keys = weapon_keys.where(slot: conditions[:slot]) if conditions.key?(:slot)
|
|
weapon_keys = weapon_keys.where(group: conditions[:group]) if conditions.key?(:group)
|
|
|
|
render json: WeaponKeyBlueprint.render(weapon_keys)
|
|
end
|
|
end
|
|
end
|
|
end
|