diff --git a/app/blueprints/api/v1/job_accessory_blueprint.rb b/app/blueprints/api/v1/job_accessory_blueprint.rb new file mode 100644 index 0000000..24648bc --- /dev/null +++ b/app/blueprints/api/v1/job_accessory_blueprint.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Api + module V1 + class JobAccessoryBlueprint < ApiBlueprint + field :name do |skill| + { + en: skill.name_en, + ja: skill.name_jp + } + end + + association :job, + name: :job, + blueprint: JobBlueprint + + fields :granblue_id, :rarity, :release_date + end + end +end diff --git a/app/controllers/api/v1/job_accessories_controller.rb b/app/controllers/api/v1/job_accessories_controller.rb new file mode 100644 index 0000000..f38a6c6 --- /dev/null +++ b/app/controllers/api/v1/job_accessories_controller.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Api + module V1 + class JobAccessoriesController < Api::V1::ApiController + def job + accessories = JobAccessory.where('job_id = ?', params[:id]) + render json: JobAccessoryBlueprint.render(accessories) + end + end + end +end diff --git a/config/routes.rb b/config/routes.rb index 788351a..a9709d1 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -34,6 +34,7 @@ Rails.application.routes.draw do get 'jobs/skills', to: 'job_skills#all' get 'jobs/:id/skills', to: 'job_skills#job' + get 'jobs/:id/accessories', to: 'job_accessories#job' get 'raids', to: 'raids#all' get 'weapon_keys', to: 'weapon_keys#all'