Built motion from commit (unavailable).|2.5.17
[motion2.git] / server / api / cdr / cdr.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 _0x7b46=['destroy','end','stack','name','send','index','map','Cdr','rawAttributes','fieldName','type','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','filter','where','merge','options','include','findAll','rows','show','params','intersection','includeAll','find','catch','body','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','count','offset','set','Content-Range','json','apply','reject','save','update','then'];(function(_0x187e02,_0x17151f){var _0x12d661=function(_0x59cc42){while(--_0x59cc42){_0x187e02['push'](_0x187e02['shift']());}};_0x12d661(++_0x17151f);}(_0x7b46,0x109));var _0x67b4=function(_0x1abb09,_0x18ee91){_0x1abb09=_0x1abb09-0x0;var _0xea1c07=_0x7b46[_0x1abb09];return _0xea1c07;};'use strict';var pdf=require(_0x67b4('0x0'));var emlformat=require(_0x67b4('0x1'));var rimraf=require(_0x67b4('0x2'));var zipdir=require(_0x67b4('0x3'));var jsonpatch=require(_0x67b4('0x4'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x67b4('0x5'));var Mustache=require(_0x67b4('0x6'));var util=require(_0x67b4('0x7'));var path=require(_0x67b4('0x8'));var sox=require(_0x67b4('0x9'));var csv=require(_0x67b4('0xa'));var ejs=require(_0x67b4('0xb'));var fs=require('fs');var _=require(_0x67b4('0xc'));var squel=require(_0x67b4('0xd'));var crypto=require('crypto');var jsforce=require(_0x67b4('0xe'));var deskjs=require(_0x67b4('0xf'));var toCsv=require(_0x67b4('0xa'));var querystring=require(_0x67b4('0x10'));var Papa=require(_0x67b4('0x11'));var Redis=require(_0x67b4('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x67b4('0x13'));var as=require(_0x67b4('0x14'));var hardwareService=require(_0x67b4('0x15'));var logger=require(_0x67b4('0x16'))(_0x67b4('0x17'));var utils=require(_0x67b4('0x18'));var config=require(_0x67b4('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x67b4('0x1a'))['db'];function respondWithStatusCode(_0x547683,_0x3b4e31){_0x3b4e31=_0x3b4e31||0xcc;return function(_0x118c04){if(_0x118c04){return _0x547683[_0x67b4('0x1b')](_0x3b4e31);}return _0x547683[_0x67b4('0x1c')](_0x3b4e31)['end']();};}function respondWithResult(_0x3bbac6,_0x4e7b15){_0x4e7b15=_0x4e7b15||0xc8;return function(_0x9d19ac){if(_0x9d19ac){return _0x3bbac6[_0x67b4('0x1c')](_0x4e7b15)['json'](_0x9d19ac);}};}function respondWithFilteredResult(_0x435e03,_0x2562ab){return function(_0x2fd442){if(_0x2fd442){var _0x19b971=_0x2fd442[_0x67b4('0x1d')],_0x350ee7=_0x2562ab[_0x67b4('0x1e')],_0x55a48d=_0x2562ab[_0x67b4('0x1e')]+_0x2562ab['limit'],_0x2e7d45;if(_0x55a48d>=_0x19b971){_0x55a48d=_0x19b971;_0x2e7d45=0xc8;}else{_0x2e7d45=0xce;}_0x435e03[_0x67b4('0x1c')](_0x2e7d45);return _0x435e03[_0x67b4('0x1f')](_0x67b4('0x20'),_0x350ee7+'-'+_0x55a48d+'/'+_0x19b971)[_0x67b4('0x21')](_0x2fd442);}return null;};}function patchUpdates(_0x2b2c4a){return function(_0x3d20b1){try{jsonpatch[_0x67b4('0x22')](_0x3d20b1,_0x2b2c4a,!![]);}catch(_0x2494bb){return BPromise[_0x67b4('0x23')](_0x2494bb);}return _0x3d20b1[_0x67b4('0x24')]();};}function saveUpdates(_0x18c13c,_0x21bcc9){return function(_0x2c3535){if(_0x2c3535){return _0x2c3535[_0x67b4('0x25')](_0x18c13c)[_0x67b4('0x26')](function(_0x1822fb){return _0x1822fb;});}return null;};}function removeEntity(_0x5316dc,_0x29147e){return function(_0x38efee){if(_0x38efee){return _0x38efee[_0x67b4('0x27')]()[_0x67b4('0x26')](function(){_0x5316dc[_0x67b4('0x1c')](0xcc)[_0x67b4('0x28')]();});}};}function handleEntityNotFound(_0x7a034e,_0x217c32){return function(_0xeee419){if(!_0xeee419){_0x7a034e['sendStatus'](0x194);}return _0xeee419;};}function handleError(_0xd66aed,_0x1f8563){_0x1f8563=_0x1f8563||0x1f4;return function(_0x378a07){logger['error'](_0x378a07[_0x67b4('0x29')]);if(_0x378a07[_0x67b4('0x2a')]){delete _0x378a07[_0x67b4('0x2a')];}_0xd66aed[_0x67b4('0x1c')](_0x1f8563)[_0x67b4('0x2b')](_0x378a07);};}exports[_0x67b4('0x2c')]=function(_0x4a5b6b,_0x22547c){var _0x47908f={},_0x48b8fa={},_0x2a1dd5={'count':0x0,'rows':[]};var _0x2a56a8=_[_0x67b4('0x2d')](db[_0x67b4('0x2e')][_0x67b4('0x2f')],function(_0x1abeed){return{'name':_0x1abeed[_0x67b4('0x30')],'type':_0x1abeed[_0x67b4('0x31')]['key']};});_0x48b8fa[_0x67b4('0x32')]=_[_0x67b4('0x2d')](_0x2a56a8,_0x67b4('0x2a'));_0x48b8fa[_0x67b4('0x33')]=_[_0x67b4('0x34')](_0x4a5b6b[_0x67b4('0x33')]);_0x48b8fa[_0x67b4('0x35')]=_['intersection'](_0x48b8fa[_0x67b4('0x32')],_0x48b8fa[_0x67b4('0x33')]);_0x47908f[_0x67b4('0x36')]=_['intersection'](_0x48b8fa[_0x67b4('0x32')],qs[_0x67b4('0x37')](_0x4a5b6b[_0x67b4('0x33')][_0x67b4('0x37')]));_0x47908f['attributes']=_0x47908f[_0x67b4('0x36')][_0x67b4('0x38')]?_0x47908f[_0x67b4('0x36')]:_0x48b8fa[_0x67b4('0x32')];if(!_0x4a5b6b[_0x67b4('0x33')][_0x67b4('0x39')](_0x67b4('0x3a'))){_0x47908f['limit']=qs[_0x67b4('0x3b')](_0x4a5b6b[_0x67b4('0x33')]['limit']);_0x47908f[_0x67b4('0x1e')]=qs[_0x67b4('0x1e')](_0x4a5b6b[_0x67b4('0x33')][_0x67b4('0x1e')]);}_0x47908f['order']=qs[_0x67b4('0x3c')](_0x4a5b6b[_0x67b4('0x33')][_0x67b4('0x3c')]);_0x47908f['where']=qs['filters'](_['pick'](_0x4a5b6b[_0x67b4('0x33')],_0x48b8fa[_0x67b4('0x35')]),_0x2a56a8);if(_0x4a5b6b[_0x67b4('0x33')][_0x67b4('0x3d')]){_0x47908f[_0x67b4('0x3e')]=_['merge'](_0x47908f[_0x67b4('0x3e')],{'$or':_['map'](_0x2a56a8,function(_0x34d17d){if(_0x34d17d[_0x67b4('0x31')]!=='VIRTUAL'){var _0xed509b={};_0xed509b[_0x34d17d['name']]={'$like':'%'+_0x4a5b6b['query']['filter']+'%'};return _0xed509b;}})});}_0x47908f=_[_0x67b4('0x3f')]({},_0x47908f,_0x4a5b6b[_0x67b4('0x40')]);var _0x2a3d5b={'where':_0x47908f[_0x67b4('0x3e')]};return db[_0x67b4('0x2e')]['count'](_0x2a3d5b)['then'](function(_0x13bb14){_0x2a1dd5['count']=_0x13bb14;if(_0x4a5b6b[_0x67b4('0x33')]['includeAll']){_0x47908f[_0x67b4('0x41')]=[{'all':!![]}];}return db[_0x67b4('0x2e')][_0x67b4('0x42')](_0x47908f);})['then'](function(_0xe25380){_0x2a1dd5[_0x67b4('0x43')]=_0xe25380;return _0x2a1dd5;})[_0x67b4('0x26')](respondWithFilteredResult(_0x22547c,_0x47908f))['catch'](handleError(_0x22547c,null));};exports[_0x67b4('0x44')]=function(_0x5317c0,_0x3b3aec){var _0x4bae05={'raw':!![],'where':{'id':_0x5317c0[_0x67b4('0x45')]['id']}},_0x19d011={};_0x19d011['model']=_['keys'](db[_0x67b4('0x2e')][_0x67b4('0x2f')]);_0x19d011[_0x67b4('0x33')]=_[_0x67b4('0x34')](_0x5317c0[_0x67b4('0x33')]);_0x19d011[_0x67b4('0x35')]=_[_0x67b4('0x46')](_0x19d011[_0x67b4('0x32')],_0x19d011['query']);_0x4bae05[_0x67b4('0x36')]=_[_0x67b4('0x46')](_0x19d011[_0x67b4('0x32')],qs[_0x67b4('0x37')](_0x5317c0['query']['fields']));_0x4bae05[_0x67b4('0x36')]=_0x4bae05[_0x67b4('0x36')]['length']?_0x4bae05['attributes']:_0x19d011['model'];if(_0x5317c0[_0x67b4('0x33')][_0x67b4('0x47')]){_0x4bae05[_0x67b4('0x41')]=[{'all':!![]}];}_0x4bae05=_[_0x67b4('0x3f')]({},_0x4bae05,_0x5317c0[_0x67b4('0x40')]);return db[_0x67b4('0x2e')][_0x67b4('0x48')](_0x4bae05)[_0x67b4('0x26')](handleEntityNotFound(_0x3b3aec,null))[_0x67b4('0x26')](respondWithResult(_0x3b3aec,null))[_0x67b4('0x49')](handleError(_0x3b3aec,null));};exports['create']=function(_0x16a186,_0x375a49){return db[_0x67b4('0x2e')]['create'](_0x16a186[_0x67b4('0x4a')],{})['then'](respondWithResult(_0x375a49,0xc9))[_0x67b4('0x49')](handleError(_0x375a49,null));};exports[_0x67b4('0x25')]=function(_0x5c0246,_0x5d251e){if(_0x5c0246[_0x67b4('0x4a')]['id']){delete _0x5c0246['body']['id'];}return db[_0x67b4('0x2e')]['find']({'where':{'id':_0x5c0246['params']['id']}})[_0x67b4('0x26')](handleEntityNotFound(_0x5d251e,null))[_0x67b4('0x26')](saveUpdates(_0x5c0246[_0x67b4('0x4a')],null))[_0x67b4('0x26')](respondWithResult(_0x5d251e,null))[_0x67b4('0x49')](handleError(_0x5d251e,null));};exports[_0x67b4('0x27')]=function(_0x4fcccf,_0x49008d){return db[_0x67b4('0x2e')][_0x67b4('0x48')]({'where':{'id':_0x4fcccf[_0x67b4('0x45')]['id']}})[_0x67b4('0x26')](handleEntityNotFound(_0x49008d,null))[_0x67b4('0x26')](removeEntity(_0x49008d,null))[_0x67b4('0x49')](handleError(_0x49008d,null));};exports[_0x67b4('0x4b')]=function(_0x508514,_0x525c84){return db[_0x67b4('0x2e')]['describe']()[_0x67b4('0x26')](respondWithResult(_0x525c84,null))['catch'](handleError(_0x525c84,null));};