hensei-api/app/controllers/api/v1/weapon_keys_controller.rb

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