From 5fe712c31aa5ab3e6584af7b74b6c22eec8188a3 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 27 Nov 2022 14:12:52 -0800 Subject: [PATCH] Add route to get skills for given job --- app/controllers/api/v1/jobs_controller.rb | 9 ++++++++- app/views/api/v1/jobs/skills.json.rabl | 11 +++++++++++ config/routes.rb | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 app/views/api/v1/jobs/skills.json.rabl diff --git a/app/controllers/api/v1/jobs_controller.rb b/app/controllers/api/v1/jobs_controller.rb index f79a40d..7084bce 100644 --- a/app/controllers/api/v1/jobs_controller.rb +++ b/app/controllers/api/v1/jobs_controller.rb @@ -3,4 +3,11 @@ class Api::V1::JobsController < Api::V1::ApiController @jobs = Job.all() render :all, status: :ok end -end \ No newline at end of file + + def skills + job = Job.find(params[:id]) + + @skills = JobSkill.where(job: job).or(JobSkill.where(sub: true)) + render :skills, status: :ok + end +end diff --git a/app/views/api/v1/jobs/skills.json.rabl b/app/views/api/v1/jobs/skills.json.rabl new file mode 100644 index 0000000..bd7ab3d --- /dev/null +++ b/app/views/api/v1/jobs/skills.json.rabl @@ -0,0 +1,11 @@ +collection @skills + +attributes :id, :job, :slug, :color, :main, :base, :sub, :emp, :order + +node :name do |w| + { + :en => w.name_en, + :ja => w.name_jp + } +end + diff --git a/config/routes.rb b/config/routes.rb index cf1c984..526992c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -27,6 +27,7 @@ Rails.application.routes.draw do post 'search/summons', to: 'search#summons' get 'jobs', to: 'jobs#all' + get 'jobs/:id/skills', to: 'jobs#skills' get 'raids', to: 'raids#all' get 'weapon_keys', to: 'weapon_keys#all'