From 8f9bd0077e727b02682354e7b22d925add0b7d92 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sat, 7 Jan 2023 07:51:54 -0800 Subject: [PATCH] Add new fields to output of GridCharacter --- .../api/v1/grid_character_blueprint.rb | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/app/blueprints/api/v1/grid_character_blueprint.rb b/app/blueprints/api/v1/grid_character_blueprint.rb index c753940..4ef5e97 100644 --- a/app/blueprints/api/v1/grid_character_blueprint.rb +++ b/app/blueprints/api/v1/grid_character_blueprint.rb @@ -11,13 +11,40 @@ module Api view :nested do fields :position, :uncap_level, :perpetuity - field :awakening do |c| + field :transcendence_step, if: ->(_fn, obj, _opt) { + obj.character.ulb + } do |c| + c.transcendence_step + end + + field :awakening, if: ->(_fn, obj, _opt) { + !obj[:awakening].nil? + } do |c| { - type: c.awakening_type, - level: c.awakening_level + type: c.awakening[:type], + level: c.awakening[:level] } end + field :over_mastery, if: ->(_fn, obj, _opt) { + !obj.ring1['modifier'].nil? && !obj.ring2['modifier'].nil? + } do |c| + rings = [] + + rings.push(c.ring1) if !c.ring1['modifier'].nil? + rings.push(c.ring2) if !c.ring2['modifier'].nil? + rings.push(c.ring3) if !c.ring3['modifier'].nil? + rings.push(c.ring4) if !c.ring4['modifier'].nil? + + rings + end + + field :aetherial_mastery, if: ->(_fn, obj, _opt) { + !obj.earring['modifier'].nil? + } do |c| + c.earring + end + association :character, name: :object, blueprint: CharacterBlueprint end