add season and series to unified search for characters
This commit is contained in:
parent
5ea5388bed
commit
e87650a2b0
1 changed files with 21 additions and 0 deletions
|
|
@ -5,6 +5,27 @@ module Api
|
|||
class SearchBlueprint < Blueprinter::Base
|
||||
identifier :searchable_id
|
||||
fields :searchable_type, :granblue_id, :name_en, :name_jp, :element
|
||||
|
||||
# Character-specific fields (nil for non-characters)
|
||||
field :season do |document|
|
||||
document.searchable_type == 'Character' ? document.searchable&.season : nil
|
||||
end
|
||||
|
||||
field :series do |document|
|
||||
next nil unless document.searchable_type == 'Character'
|
||||
|
||||
character = document.searchable
|
||||
next nil unless character
|
||||
|
||||
# Return series as array of objects with id, slug, and name
|
||||
character.character_series_records.ordered.map do |series|
|
||||
{
|
||||
id: series.id,
|
||||
slug: series.slug,
|
||||
name: { en: series.name_en, ja: series.name_jp }
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue