summaryrefslogtreecommitdiff
path: root/app/serializers
diff options
context:
space:
mode:
authorStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-06-20 19:06:19 +0200
committerStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-06-20 19:06:19 +0200
commiteb0e1cc5c26275ff3e5c341404e8bc558f8312b8 (patch)
tree71f449ccd6f15422717de3ac24f87d5e888ddd79 /app/serializers
parentdf6e17e48995f25e72509986f30700d778b179b6 (diff)
parent3b27a5d45b12f6bac65da2a8e17387bfda42a2f1 (diff)
Merge branch 'develop'
Diffstat (limited to 'app/serializers')
-rw-r--r--app/serializers/call_serializer.rb6
-rw-r--r--app/serializers/pager_group_destination_serializer.rb3
-rw-r--r--app/serializers/pager_group_serializer.rb7
-rw-r--r--app/serializers/phone_number_serializer.rb3
-rw-r--r--app/serializers/sip_account_serializer.rb7
-rw-r--r--app/serializers/switchboard_entry_serializer.rb14
-rw-r--r--app/serializers/switchboard_serializer.rb9
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