add nicknames, links to entity blueprints; recruits returns character info
This commit is contained in:
parent
f5760b1833
commit
6254bfde6f
3 changed files with 116 additions and 0 deletions
|
|
@ -38,6 +38,39 @@ module Api
|
|||
AwakeningBlueprint.render_as_hash(OpenStruct.new(awakening))
|
||||
end
|
||||
end
|
||||
|
||||
field :nicknames do |c|
|
||||
{
|
||||
en: c.nicknames_en,
|
||||
ja: c.nicknames_jp
|
||||
}
|
||||
end
|
||||
|
||||
field :links do |c|
|
||||
{
|
||||
wiki_en: c.wiki_en,
|
||||
wiki_ja: c.wiki_ja,
|
||||
gamewith: c.gamewith,
|
||||
kamigame: c.kamigame
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
# Separate view for raw data - only used by dedicated endpoint
|
||||
view :raw do
|
||||
excludes :name, :granblue_id, :character_id, :rarity, :element, :gender, :special, :uncap, :race, :proficiency
|
||||
|
||||
field :wiki_raw do |c|
|
||||
c.wiki_raw
|
||||
end
|
||||
|
||||
field :game_raw_en do |c|
|
||||
c.game_raw_en
|
||||
end
|
||||
|
||||
field :game_raw_jp do |c|
|
||||
c.game_raw_jp
|
||||
end
|
||||
end
|
||||
|
||||
view :stats do
|
||||
|
|
|
|||
|
|
@ -52,6 +52,39 @@ module Api
|
|||
view :full do
|
||||
include_view :stats
|
||||
include_view :dates
|
||||
|
||||
field :nicknames do |s|
|
||||
{
|
||||
en: s.nicknames_en,
|
||||
ja: s.nicknames_jp
|
||||
}
|
||||
end
|
||||
|
||||
field :links do |s|
|
||||
{
|
||||
wiki_en: s.wiki_en,
|
||||
wiki_ja: s.wiki_ja,
|
||||
gamewith: s.gamewith,
|
||||
kamigame: s.kamigame
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
# Separate view for raw data - only used by dedicated endpoint
|
||||
view :raw do
|
||||
excludes :name, :granblue_id, :element, :rarity, :max_level, :uncap
|
||||
|
||||
field :wiki_raw do |s|
|
||||
s.wiki_raw
|
||||
end
|
||||
|
||||
field :game_raw_en do |s|
|
||||
s.game_raw_en
|
||||
end
|
||||
|
||||
field :game_raw_jp do |s|
|
||||
s.game_raw_jp
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -57,6 +57,56 @@ module Api
|
|||
association :awakenings,
|
||||
blueprint: AwakeningBlueprint,
|
||||
if: ->(_field_name, weapon, _options) { weapon.awakenings.any? }
|
||||
|
||||
field :nicknames do |w|
|
||||
{
|
||||
en: w.nicknames_en,
|
||||
ja: w.nicknames_jp
|
||||
}
|
||||
end
|
||||
|
||||
field :links do |w|
|
||||
{
|
||||
wiki_en: w.wiki_en,
|
||||
wiki_ja: w.wiki_ja,
|
||||
gamewith: w.gamewith,
|
||||
kamigame: w.kamigame
|
||||
}
|
||||
end
|
||||
|
||||
field :recruits do |w|
|
||||
next nil unless w.recruits.present?
|
||||
|
||||
character = Character.find_by(granblue_id: w.recruits)
|
||||
next nil unless character
|
||||
|
||||
{
|
||||
id: character.id,
|
||||
granblue_id: character.granblue_id,
|
||||
name: {
|
||||
en: character.name_en,
|
||||
ja: character.name_jp
|
||||
}
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
# Separate view for raw data - only used by dedicated endpoint
|
||||
view :raw do
|
||||
excludes :name, :granblue_id, :element, :proficiency, :max_level, :max_skill_level,
|
||||
:max_awakening_level, :limit, :rarity, :series, :ax, :ax_type, :uncap
|
||||
|
||||
field :wiki_raw do |w|
|
||||
w.wiki_raw
|
||||
end
|
||||
|
||||
field :game_raw_en do |w|
|
||||
w.game_raw_en
|
||||
end
|
||||
|
||||
field :game_raw_jp do |w|
|
||||
w.game_raw_jp
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue