Built motion from commit 67e5df37.|2.0.66
[motion2.git] / server / api / voiceDisposition / voiceDisposition.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x1e7c=['keys','VoiceDisposition','rawAttributes','dateStart','dateEnd','query','filters','intersection','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','add','merge','map','options','findAll','catch','show','params','fields','includeAll','find','create','body','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','../../config/logger','api','../../config/utils','../../config/environment','end','status','json','count','offset','set','Content-Range','apply','update','then','destroy','error','name','model'];(function(_0x32d330,_0xe907c8){var _0xe81a43=function(_0x322e56){while(--_0x322e56){_0x32d330['push'](_0x32d330['shift']());}};_0xe81a43(++_0xe907c8);}(_0x1e7c,0x186));var _0xc1e7=function(_0x2c8865,_0xa40297){_0x2c8865=_0x2c8865-0x0;var _0x43a16d=_0x1e7c[_0x2c8865];return _0x43a16d;};'use strict';var jsonpatch=require('fast-json-patch');var rp=require(_0xc1e7('0x0'));var moment=require('moment');var BPromise=require(_0xc1e7('0x1'));var Mustache=require(_0xc1e7('0x2'));var util=require(_0xc1e7('0x3'));var path=require('path');var sox=require(_0xc1e7('0x4'));var csv=require(_0xc1e7('0x5'));var ejs=require(_0xc1e7('0x6'));var fs=require('fs');var _=require(_0xc1e7('0x7'));var squel=require(_0xc1e7('0x8'));var crypto=require(_0xc1e7('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xc1e7('0xa'));var toCsv=require(_0xc1e7('0x5'));var querystring=require('querystring');var Papa=require(_0xc1e7('0xb'));var qs=require('../../components/parsers/qs');var logger=require(_0xc1e7('0xc'))(_0xc1e7('0xd'));var utils=require(_0xc1e7('0xe'));var config=require(_0xc1e7('0xf'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x484e08,_0x5086fa){_0x5086fa=_0x5086fa||0xcc;return function(_0x5442a8){if(_0x5442a8){return _0x484e08['sendStatus'](_0x5086fa);}return _0x484e08['status'](_0x5086fa)[_0xc1e7('0x10')]();};}function respondWithResult(_0x382893,_0x2109be){_0x2109be=_0x2109be||0xc8;return function(_0x3a06e9){if(_0x3a06e9){return _0x382893[_0xc1e7('0x11')](_0x2109be)[_0xc1e7('0x12')](_0x3a06e9);}};}function respondWithFilteredResult(_0x5babc9,_0x3d0d69){return function(_0x74986e){if(_0x74986e){var _0x2294f5=_0x74986e[_0xc1e7('0x13')],_0x13b196=_0x3d0d69[_0xc1e7('0x14')],_0x2d1b00=_0x3d0d69[_0xc1e7('0x14')]+_0x3d0d69['limit'],_0x4495e1;if(_0x2d1b00>=_0x2294f5){_0x2d1b00=_0x2294f5;_0x4495e1=0xc8;}else{_0x4495e1=0xce;}_0x5babc9['status'](_0x4495e1);return _0x5babc9[_0xc1e7('0x15')](_0xc1e7('0x16'),_0x13b196+'-'+_0x2d1b00+'/'+_0x2294f5)[_0xc1e7('0x12')](_0x74986e);}return null;};}function patchUpdates(_0x2e3bac){return function(_0x2fd241){try{jsonpatch[_0xc1e7('0x17')](_0x2fd241,_0x2e3bac,!![]);}catch(_0x5ddd0a){return BPromise['reject'](_0x5ddd0a);}return _0x2fd241['save']();};}function saveUpdates(_0x1345a5,_0x38fe09){return function(_0xb4e8aa){if(_0xb4e8aa){return _0xb4e8aa[_0xc1e7('0x18')](_0x1345a5)[_0xc1e7('0x19')](function(_0x24f6b1){return _0x24f6b1;});}return null;};}function removeEntity(_0x27cd7d,_0x19af20){return function(_0x1ca587){if(_0x1ca587){return _0x1ca587[_0xc1e7('0x1a')]()[_0xc1e7('0x19')](function(){_0x27cd7d['status'](0xcc)[_0xc1e7('0x10')]();});}};}function handleEntityNotFound(_0x4c952a,_0x40d28c){return function(_0x4fba30){if(!_0x4fba30){_0x4c952a['sendStatus'](0x194);}return _0x4fba30;};}function handleError(_0x3006f2,_0xd72568){_0xd72568=_0xd72568||0x1f4;return function(_0x312158){logger[_0xc1e7('0x1b')](_0x312158['stack']);if(_0x312158[_0xc1e7('0x1c')]){delete _0x312158[_0xc1e7('0x1c')];}_0x3006f2['status'](_0xd72568)['send'](_0x312158);};}exports['index']=function(_0x360403,_0xbef4eb){var _0x362702={},_0x3e1368={},_0x26ff8e={'count':0x0,'rows':[]};_0x3e1368[_0xc1e7('0x1d')]=_[_0xc1e7('0x1e')](db[_0xc1e7('0x1f')][_0xc1e7('0x20')]);var _0x5dfe6e={'dateStart':_0x360403['query'][_0xc1e7('0x21')],'dateEnd':_0x360403['query'][_0xc1e7('0x22')]};delete _0x360403[_0xc1e7('0x23')]['dateStart'];delete _0x360403[_0xc1e7('0x23')][_0xc1e7('0x22')];_0x3e1368['query']=_['keys'](_0x360403[_0xc1e7('0x23')]);_0x3e1368[_0xc1e7('0x24')]=_[_0xc1e7('0x25')](_0x3e1368[_0xc1e7('0x1d')],_0x3e1368[_0xc1e7('0x23')]);_0x362702[_0xc1e7('0x26')]=_[_0xc1e7('0x25')](_0x3e1368[_0xc1e7('0x1d')],qs['fields'](_0x360403[_0xc1e7('0x23')]['fields']));_0x362702['attributes']=_0x362702[_0xc1e7('0x26')][_0xc1e7('0x27')]?_0x362702[_0xc1e7('0x26')]:_0x3e1368[_0xc1e7('0x1d')];if(!_0x360403['query'][_0xc1e7('0x28')](_0xc1e7('0x29'))){_0x362702[_0xc1e7('0x2a')]=qs[_0xc1e7('0x2a')](_0x360403[_0xc1e7('0x23')][_0xc1e7('0x2a')]);_0x362702['offset']=qs[_0xc1e7('0x14')](_0x360403[_0xc1e7('0x23')][_0xc1e7('0x14')]);}_0x362702[_0xc1e7('0x2b')]=qs[_0xc1e7('0x2c')](_0x360403[_0xc1e7('0x23')][_0xc1e7('0x2c')]);_0x362702[_0xc1e7('0x2d')]=qs[_0xc1e7('0x24')](_[_0xc1e7('0x2e')](_0x360403[_0xc1e7('0x23')],_0x3e1368[_0xc1e7('0x24')]));if(_0x5dfe6e['dateStart']){if(_0x5dfe6e[_0xc1e7('0x22')]){_0x5dfe6e[_0xc1e7('0x22')]=moment(_0x5dfe6e[_0xc1e7('0x22')])['add'](0x1,'day');}else{_0x5dfe6e['dateEnd']=moment(_0x5dfe6e[_0xc1e7('0x21')])[_0xc1e7('0x2f')](0x1,'day');}_[_0xc1e7('0x30')](_0x362702['where'],{'createdAt':{'$gte':_0x5dfe6e['dateStart'],'$lte':_0x5dfe6e[_0xc1e7('0x22')]}});}if(_0x360403[_0xc1e7('0x23')]['filter']){_0x362702[_0xc1e7('0x2d')]=_[_0xc1e7('0x30')](_0x362702['where'],{'$or':_[_0xc1e7('0x31')](_0x362702['attributes'],function(_0x2a7381){var _0x34ca6c={};_0x34ca6c[_0x2a7381]={'$like':'%'+_0x360403[_0xc1e7('0x23')]['filter']+'%'};return _0x34ca6c;})});}_0x362702=_[_0xc1e7('0x30')]({},_0x362702,_0x360403[_0xc1e7('0x32')]);var _0x3452c1={'where':_0x362702['where']};return db['VoiceDisposition'][_0xc1e7('0x13')](_0x3452c1)[_0xc1e7('0x19')](function(_0x47e85d){_0x26ff8e['count']=_0x47e85d;if(_0x360403[_0xc1e7('0x23')]['includeAll']){_0x362702['include']=[{'all':!![]}];}return db['VoiceDisposition'][_0xc1e7('0x33')](_0x362702);})['then'](function(_0x535fba){_0x26ff8e['rows']=_0x535fba;return _0x26ff8e;})[_0xc1e7('0x19')](respondWithFilteredResult(_0xbef4eb,_0x362702))[_0xc1e7('0x34')](handleError(_0xbef4eb,null));};exports[_0xc1e7('0x35')]=function(_0x129bd8,_0x128750){var _0xe40911={'raw':!![],'where':{'id':_0x129bd8[_0xc1e7('0x36')]['id']}},_0x4cf3df={};_0x4cf3df[_0xc1e7('0x1d')]=_[_0xc1e7('0x1e')](db[_0xc1e7('0x1f')]['rawAttributes']);_0x4cf3df[_0xc1e7('0x23')]=_[_0xc1e7('0x1e')](_0x129bd8['query']);_0x4cf3df['filters']=_[_0xc1e7('0x25')](_0x4cf3df[_0xc1e7('0x1d')],_0x4cf3df[_0xc1e7('0x23')]);_0xe40911[_0xc1e7('0x26')]=_['intersection'](_0x4cf3df[_0xc1e7('0x1d')],qs[_0xc1e7('0x37')](_0x129bd8[_0xc1e7('0x23')][_0xc1e7('0x37')]));_0xe40911['attributes']=_0xe40911[_0xc1e7('0x26')][_0xc1e7('0x27')]?_0xe40911[_0xc1e7('0x26')]:_0x4cf3df[_0xc1e7('0x1d')];if(_0x129bd8[_0xc1e7('0x23')][_0xc1e7('0x38')]){_0xe40911['include']=[{'all':!![]}];}_0xe40911=_[_0xc1e7('0x30')]({},_0xe40911,_0x129bd8[_0xc1e7('0x32')]);return db[_0xc1e7('0x1f')][_0xc1e7('0x39')](_0xe40911)[_0xc1e7('0x19')](handleEntityNotFound(_0x128750,null))[_0xc1e7('0x19')](respondWithResult(_0x128750,null))[_0xc1e7('0x34')](handleError(_0x128750,null));};exports[_0xc1e7('0x3a')]=function(_0x1ed91c,_0x221f89){return db[_0xc1e7('0x1f')][_0xc1e7('0x3a')](_0x1ed91c[_0xc1e7('0x3b')],{})['then'](respondWithResult(_0x221f89,0xc9))['catch'](handleError(_0x221f89,null));};exports['update']=function(_0x2048b2,_0x28b30e){if(_0x2048b2[_0xc1e7('0x3b')]['id']){delete _0x2048b2[_0xc1e7('0x3b')]['id'];}return db[_0xc1e7('0x1f')]['find']({'where':{'id':_0x2048b2[_0xc1e7('0x36')]['id']}})[_0xc1e7('0x19')](handleEntityNotFound(_0x28b30e,null))['then'](saveUpdates(_0x2048b2[_0xc1e7('0x3b')],null))[_0xc1e7('0x19')](respondWithResult(_0x28b30e,null))[_0xc1e7('0x34')](handleError(_0x28b30e,null));};exports[_0xc1e7('0x1a')]=function(_0x1ca212,_0x571115){return db['VoiceDisposition'][_0xc1e7('0x39')]({'where':{'id':_0x1ca212[_0xc1e7('0x36')]['id']}})[_0xc1e7('0x19')](handleEntityNotFound(_0x571115,null))['then'](removeEntity(_0x571115,null))['catch'](handleError(_0x571115,null));};