From 8787aa34a3f6b185333f32069ff127bfee3fdc9f Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Wed, 3 Dec 2025 13:27:35 -0800 Subject: [PATCH] include reroll_slot and grades in artifact responses --- app/blueprints/api/v1/collection_artifact_blueprint.rb | 10 +++++++++- app/blueprints/api/v1/grid_artifact_blueprint.rb | 6 +++++- .../api/v1/collection_artifacts_controller.rb | 4 ++-- app/controllers/api/v1/grid_artifacts_controller.rb | 2 +- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/blueprints/api/v1/collection_artifact_blueprint.rb b/app/blueprints/api/v1/collection_artifact_blueprint.rb index b32d94b..8727964 100644 --- a/app/blueprints/api/v1/collection_artifact_blueprint.rb +++ b/app/blueprints/api/v1/collection_artifact_blueprint.rb @@ -5,7 +5,7 @@ module Api class CollectionArtifactBlueprint < ApiBlueprint identifier :id - fields :element, :level, :nickname, :created_at, :updated_at + fields :element, :level, :nickname, :reroll_slot, :created_at, :updated_at # Proficiency is only present on quirk artifacts field :proficiency, if: ->(_field, obj, _options) { obj.proficiency.present? } @@ -27,6 +27,14 @@ module Api view :full do association :artifact, blueprint: ArtifactBlueprint end + + view :graded do + include_view :full + + field :grade do |obj| + ArtifactGrader.new(obj).grade + end + end end end end diff --git a/app/blueprints/api/v1/grid_artifact_blueprint.rb b/app/blueprints/api/v1/grid_artifact_blueprint.rb index 0f9e0b8..a2ee14e 100644 --- a/app/blueprints/api/v1/grid_artifact_blueprint.rb +++ b/app/blueprints/api/v1/grid_artifact_blueprint.rb @@ -3,7 +3,7 @@ module Api module V1 class GridArtifactBlueprint < ApiBlueprint - fields :element, :level + fields :element, :level, :reroll_slot # Proficiency is only present on quirk artifacts field :proficiency, if: ->(_field, obj, _options) { obj.proficiency.present? } @@ -22,6 +22,10 @@ module Api view :nested do association :artifact, blueprint: ArtifactBlueprint + + field :grade do |obj| + ArtifactGrader.new(obj).grade + end end view :full do diff --git a/app/controllers/api/v1/collection_artifacts_controller.rb b/app/controllers/api/v1/collection_artifacts_controller.rb index 258f706..3415976 100644 --- a/app/controllers/api/v1/collection_artifacts_controller.rb +++ b/app/controllers/api/v1/collection_artifacts_controller.rb @@ -125,7 +125,7 @@ module Api def collection_artifact_params params.require(:collection_artifact).permit( - :artifact_id, :element, :proficiency, :level, :nickname, + :artifact_id, :element, :proficiency, :level, :nickname, :reroll_slot, skill1: %i[modifier strength level], skill2: %i[modifier strength level], skill3: %i[modifier strength level], @@ -135,7 +135,7 @@ module Api def batch_artifact_params params.permit(collection_artifacts: [ - :artifact_id, :element, :proficiency, :level, :nickname, + :artifact_id, :element, :proficiency, :level, :nickname, :reroll_slot, { skill1: %i[modifier strength level] }, { skill2: %i[modifier strength level] }, { skill3: %i[modifier strength level] }, diff --git a/app/controllers/api/v1/grid_artifacts_controller.rb b/app/controllers/api/v1/grid_artifacts_controller.rb index 6fb558c..b960589 100644 --- a/app/controllers/api/v1/grid_artifacts_controller.rb +++ b/app/controllers/api/v1/grid_artifacts_controller.rb @@ -107,7 +107,7 @@ module Api def grid_artifact_params params.require(:grid_artifact).permit( - :grid_character_id, :artifact_id, :element, :proficiency, :level, + :grid_character_id, :artifact_id, :element, :proficiency, :level, :reroll_slot, skill1: %i[modifier strength level], skill2: %i[modifier strength level], skill3: %i[modifier strength level],