Add new fields to output of GridCharacter

This commit is contained in:
Justin Edmund 2023-01-07 07:51:54 -08:00
parent 3617088418
commit 8f9bd0077e

View file

@ -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