diff --git a/src/api/conversations.js b/src/api/conversations.js index f6538781..216706b5 100644 --- a/src/api/conversations.js +++ b/src/api/conversations.js @@ -5,10 +5,10 @@ import _ from 'lodash' import crypto from 'crypto-browserify' import { getJsonBody } from './utils' -export function getConversations(options) { - let params = { subscriber_id: options.id, page: options.page, rows: options.rows, - order_by: 'timestamp', order_by_direction: 'desc' }; +export function getConversations(id, page, rows) { return new Promise((resolve, reject) => { + let params = { subscriber_id: id, page: page, rows: rows, + order_by: 'timestamp', order_by_direction: 'desc' }; Vue.http.get('api/conversations/', { params: params }) .then(result => { let jsonBody = getJsonBody(result.body); @@ -30,7 +30,7 @@ export function getConversations(options) { else { reject(new Error('No items returned for this page.')) } - }).catch(err => { + }).catch((err) => { reject(err); }); }); @@ -39,10 +39,10 @@ export function getConversations(options) { export function downloadVoiceMail(id) { return new Promise((resolve, reject)=>{ Vue.http.get('api/voicemailrecordings/' + id, { responseType: 'blob' }) - .then(res => { + .then((res) => { return res.blob(); }).then(voicemail => { - saveAs(voicemail, "voicemail-" + id + '.wav'); + saveAs((voicemail), "voicemail-" + id + '.wav'); resolve(); }).catch((err)=>{ reject(err); @@ -53,13 +53,25 @@ export function downloadVoiceMail(id) { export function downloadFax(id) { return new Promise((resolve, reject)=>{ Vue.http.get('api/faxrecordings/' + id, { responseType: 'blob' }) - .then(res => { + .then((res) => { return res.blob(); }).then(fax => { - saveAs(fax, "fax-" + id + '.tif'); + saveAs((fax), "fax-" + id + '.tif'); resolve(); }).catch((err)=>{ reject(err); }); }); } + +export function playVoiceMail(options) { + return new Promise((resolve, reject)=>{ + let params = { format: options.format }; + Vue.http.get(`api/voicemailrecordings/${options.id}`, { params: params, responseType: 'blob' }) + .then((res) => { + resolve(URL.createObjectURL(res.body)); + }).catch((err)=>{ + reject(err); + }); + }); +} diff --git a/src/components/pages/Conversations/CscConversation.vue b/src/components/pages/Conversations/CscConversation.vue index 74436a0d..e7ea3b43 100644 --- a/src/components/pages/Conversations/CscConversation.vue +++ b/src/components/pages/Conversations/CscConversation.vue @@ -35,8 +35,8 @@
- + + diff --git a/src/components/pages/Conversations/CscVoicemailPlayer.vue b/src/components/pages/Conversations/CscVoicemailPlayer.vue index dcfe6965..474f565a 100644 --- a/src/components/pages/Conversations/CscVoicemailPlayer.vue +++ b/src/components/pages/Conversations/CscVoicemailPlayer.vue @@ -1,26 +1,38 @@