2019-05-02 17:17:27 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-09-10 20:21:16 -05:00
|
|
|
class UserHistorySerializer < ApplicationSerializer
|
2013-08-07 15:04:12 -05:00
|
|
|
attributes :action_name,
|
|
|
|
:details,
|
|
|
|
:context,
|
|
|
|
:ip_address,
|
|
|
|
:email,
|
2013-08-19 15:58:38 -05:00
|
|
|
:created_at,
|
|
|
|
:subject,
|
|
|
|
:previous_value,
|
2014-10-01 10:40:13 -05:00
|
|
|
:new_value,
|
|
|
|
:topic_id,
|
2015-02-05 13:34:57 -06:00
|
|
|
:post_id,
|
2015-09-17 02:51:32 -05:00
|
|
|
:category_id,
|
2015-02-05 13:34:57 -06:00
|
|
|
:action,
|
2017-04-12 09:52:52 -05:00
|
|
|
:custom_type,
|
|
|
|
:id
|
2013-08-07 15:04:12 -05:00
|
|
|
|
2013-09-10 20:21:16 -05:00
|
|
|
has_one :acting_user, serializer: BasicUserSerializer, embed: :objects
|
2013-08-07 15:04:12 -05:00
|
|
|
has_one :target_user, serializer: BasicUserSerializer, embed: :objects
|
|
|
|
|
|
|
|
def action_name
|
2015-02-05 13:34:57 -06:00
|
|
|
key = UserHistory.actions.key(object.action)
|
|
|
|
%i[custom custom_staff].include?(key) ? object.custom_type : key.to_s
|
2013-08-07 15:04:12 -05:00
|
|
|
end
|
2013-08-21 09:49:35 -05:00
|
|
|
|
|
|
|
def new_value
|
|
|
|
if object.new_value
|
|
|
|
object.new_value_is_json? ? ::JSON.parse(object.new_value) : object.new_value
|
|
|
|
else
|
|
|
|
nil
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def previous_value
|
|
|
|
if object.previous_value
|
|
|
|
object.previous_value_is_json? ? ::JSON.parse(object.previous_value) : object.previous_value
|
|
|
|
else
|
|
|
|
nil
|
|
|
|
end
|
|
|
|
end
|
2014-10-01 10:40:13 -05:00
|
|
|
end
|