29 lines
677 B
Ruby
29 lines
677 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Api
|
|
module V1
|
|
class UserBlueprint < ApiBlueprint
|
|
view :minimal do
|
|
fields :username, :language, :private, :gender
|
|
field :avatar do |user|
|
|
{
|
|
picture: user.picture,
|
|
element: user.element
|
|
}
|
|
end
|
|
end
|
|
|
|
view :profile do
|
|
association :parties,
|
|
name: :parties,
|
|
blueprint: PartyBlueprint, view: :preview,
|
|
if: ->(_field_name, user, _options) { user.parties.length.positive? },
|
|
&:parties
|
|
end
|
|
|
|
view :settings do
|
|
fields :email
|
|
end
|
|
end
|
|
end
|
|
end
|