diff options
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/call_serializer.rb | 6 | ||||
-rw-r--r-- | app/serializers/pager_group_destination_serializer.rb | 3 | ||||
-rw-r--r-- | app/serializers/pager_group_serializer.rb | 7 | ||||
-rw-r--r-- | app/serializers/phone_number_serializer.rb | 3 | ||||
-rw-r--r-- | app/serializers/sip_account_serializer.rb | 7 | ||||
-rw-r--r-- | app/serializers/switchboard_entry_serializer.rb | 14 | ||||
-rw-r--r-- | app/serializers/switchboard_serializer.rb | 9 |
7 files changed, 49 insertions, 0 deletions
diff --git a/app/serializers/call_serializer.rb b/app/serializers/call_serializer.rb new file mode 100644 index 0000000..cd41969 --- /dev/null +++ b/app/serializers/call_serializer.rb @@ -0,0 +1,6 @@ +class CallSerializer < ActiveModel::Serializer + embed :uuids, :include => true + + attributes :start_stamp, :destination, :callstate, :b_callstate, :b_caller_id_number, :sip_account_id + attribute :uuid, :key => :id +end
\ No newline at end of file diff --git a/app/serializers/pager_group_destination_serializer.rb b/app/serializers/pager_group_destination_serializer.rb new file mode 100644 index 0000000..6b14884 --- /dev/null +++ b/app/serializers/pager_group_destination_serializer.rb @@ -0,0 +1,3 @@ +class PagerGroupDestinationSerializer < ActiveModel::Serializer + embed :ids, :include => true +end diff --git a/app/serializers/pager_group_serializer.rb b/app/serializers/pager_group_serializer.rb new file mode 100644 index 0000000..ca748d9 --- /dev/null +++ b/app/serializers/pager_group_serializer.rb @@ -0,0 +1,7 @@ +class PagerGroupSerializer < ActiveModel::Serializer + embed :ids, :include => true + + attributes :id, :sip_account_id, :callback_url + + has_many :pager_group_destinations +end diff --git a/app/serializers/phone_number_serializer.rb b/app/serializers/phone_number_serializer.rb new file mode 100644 index 0000000..865534b --- /dev/null +++ b/app/serializers/phone_number_serializer.rb @@ -0,0 +1,3 @@ +class PhoneNumberSerializer < ActiveModel::Serializer + attributes :id, :name, :number +end diff --git a/app/serializers/sip_account_serializer.rb b/app/serializers/sip_account_serializer.rb new file mode 100644 index 0000000..aa749b0 --- /dev/null +++ b/app/serializers/sip_account_serializer.rb @@ -0,0 +1,7 @@ +class SipAccountSerializer < ActiveModel::Serializer + embed :ids, :include => true + + attributes :id, :auth_name, :caller_name, :sip_accountable_id + has_many :phone_numbers + has_many :calls +end diff --git a/app/serializers/switchboard_entry_serializer.rb b/app/serializers/switchboard_entry_serializer.rb new file mode 100644 index 0000000..1b6c761 --- /dev/null +++ b/app/serializers/switchboard_entry_serializer.rb @@ -0,0 +1,14 @@ +class SwitchboardEntrySerializer < ActiveModel::Serializer + attributes :id, :name, :path_to_user, :avatar_src, :callstate + + has_one :sip_account, embed: :ids + has_one :switchboard, embed: :ids + + def path_to_user + if object.sip_account && object.sip_account.sip_accountable_type == 'User' + "/tenants/#{object.sip_account.sip_accountable.current_tenant.id}/users/#{object.sip_account.sip_accountable.id}" + else + nil + end + end +end diff --git a/app/serializers/switchboard_serializer.rb b/app/serializers/switchboard_serializer.rb new file mode 100644 index 0000000..6d39667 --- /dev/null +++ b/app/serializers/switchboard_serializer.rb @@ -0,0 +1,9 @@ +class SwitchboardSerializer < ActiveModel::Serializer + embed :ids, :include => true + + attributes :id, :name + has_many :switchboard_entries + has_many :sip_accounts, :through => :switchboard_entries + has_many :phone_numbers + has_many :active_calls +end |