add season and series to unified search for characters

This commit is contained in:
Justin Edmund 2025-12-20 04:13:16 -08:00
parent 5ea5388bed
commit e87650a2b0

View file

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