1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- # frozen_string_literal: true
- class REST::Admin::AccountSerializer < ActiveModel::Serializer
- attributes :id, :username, :domain, :created_at,
- :email, :ip, :role, :confirmed, :suspended,
- :silenced, :sensitized, :disabled, :approved, :locale,
- :invite_request
- attribute :created_by_application_id, if: :created_by_application?
- attribute :invited_by_account_id, if: :invited?
- has_many :ips, serializer: REST::Admin::IpSerializer
- has_one :account, serializer: REST::AccountSerializer
- def id
- object.id.to_s
- end
- def email
- object.user_email
- end
- def role
- object.user_role
- end
- def suspended
- object.suspended?
- end
- def silenced
- object.silenced?
- end
- def sensitized
- object.sensitized?
- end
- def confirmed
- object.user_confirmed?
- end
- def disabled
- object.user_disabled?
- end
- def approved
- object.user_approved?
- end
- def account
- object
- end
- def locale
- object.user_locale
- end
- def created_by_application_id
- object.user&.created_by_application_id&.to_s&.presence
- end
- def invite_request
- object.user&.invite_request&.text
- end
- def invited_by_account_id
- object.user&.invite&.user&.account_id&.to_s&.presence
- end
- def invited?
- object.user&.invited?
- end
- def created_by_application?
- object.user&.created_by_application_id&.present?
- end
- def ips
- object.user&.ips
- end
- def ip
- ips&.first&.ip
- end
- end
|