78 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| class REST::Admin::AccountSerializer < ActiveModel::Serializer
 | |
|   attributes :id, :username, :domain, :created_at,
 | |
|              :email, :ip, :role, :confirmed, :suspended,
 | |
|              :silenced, :disabled, :approved, :locale,
 | |
|              :invite_request
 | |
| 
 | |
|   attribute :created_by_application_id, if: :created_by_application?
 | |
|   attribute :invited_by_account_id, if: :invited?
 | |
| 
 | |
|   has_one :account, serializer: REST::AccountSerializer
 | |
| 
 | |
|   def id
 | |
|     object.id.to_s
 | |
|   end
 | |
| 
 | |
|   def email
 | |
|     object.user_email
 | |
|   end
 | |
| 
 | |
|   def ip
 | |
|     object.user_current_sign_in_ip.to_s.presence
 | |
|   end
 | |
| 
 | |
|   def role
 | |
|     object.user_role
 | |
|   end
 | |
| 
 | |
|   def suspended
 | |
|     object.suspended?
 | |
|   end
 | |
| 
 | |
|   def silenced
 | |
|     object.silenced?
 | |
|   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
 | |
| end
 |