b324b8cc23c2176b8534ba43bfe5535189d8e91d
[motion2.git] / server / api / voiceCallReport / voiceCallReport.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 _0xb133=['find','catch','create','body','describe','uniqueid','user','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','count','offset','set','Content-Range','json','apply','reject','save','then','destroy','error','stack','name','send','index','map','VoiceCallReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','limit','order','sort','where','VIRTUAL','merge','options','includeAll','include','fullname','alias','User','findAll','show','params'];(function(_0x5b356c,_0x29a3f1){var _0x5684d7=function(_0x32bee0){while(--_0x32bee0){_0x5b356c['push'](_0x5b356c['shift']());}};_0x5684d7(++_0x29a3f1);}(_0xb133,0x197));var _0x3b13=function(_0x4e676e,_0x2a7c6d){_0x4e676e=_0x4e676e-0x0;var _0x336a3c=_0xb133[_0x4e676e];return _0x336a3c;};'use strict';var emlformat=require(_0x3b13('0x0'));var rimraf=require(_0x3b13('0x1'));var zipdir=require(_0x3b13('0x2'));var jsonpatch=require(_0x3b13('0x3'));var rp=require(_0x3b13('0x4'));var moment=require('moment');var BPromise=require(_0x3b13('0x5'));var Mustache=require(_0x3b13('0x6'));var util=require(_0x3b13('0x7'));var path=require(_0x3b13('0x8'));var sox=require(_0x3b13('0x9'));var csv=require(_0x3b13('0xa'));var ejs=require(_0x3b13('0xb'));var fs=require('fs');var fs_extra=require(_0x3b13('0xc'));var _=require(_0x3b13('0xd'));var squel=require(_0x3b13('0xe'));var crypto=require(_0x3b13('0xf'));var jsforce=require(_0x3b13('0x10'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x3b13('0x11'));var authService=require(_0x3b13('0x12'));var qs=require(_0x3b13('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3b13('0x14'));var logger=require(_0x3b13('0x15'))(_0x3b13('0x16'));var utils=require(_0x3b13('0x17'));var config=require(_0x3b13('0x18'));var licenseUtil=require(_0x3b13('0x19'));var db=require(_0x3b13('0x1a'))['db'];function respondWithStatusCode(_0x1972d8,_0x534d8d){_0x534d8d=_0x534d8d||0xcc;return function(_0x40c94f){if(_0x40c94f){return _0x1972d8[_0x3b13('0x1b')](_0x534d8d);}return _0x1972d8[_0x3b13('0x1c')](_0x534d8d)['end']();};}function respondWithResult(_0x429311,_0x3edeaf){_0x3edeaf=_0x3edeaf||0xc8;return function(_0x1c3fc0){if(_0x1c3fc0){return _0x429311[_0x3b13('0x1c')](_0x3edeaf)['json'](_0x1c3fc0);}};}function respondWithFilteredResult(_0x355b05,_0x486946){return function(_0x5df52c){if(_0x5df52c){var _0x36bebb=_0x5df52c[_0x3b13('0x1d')],_0x266ec1=_0x486946[_0x3b13('0x1e')],_0x5aff56=_0x486946[_0x3b13('0x1e')]+_0x486946['limit'],_0xe2910a;if(_0x5aff56>=_0x36bebb){_0x5aff56=_0x36bebb;_0xe2910a=0xc8;}else{_0xe2910a=0xce;}_0x355b05['status'](_0xe2910a);return _0x355b05[_0x3b13('0x1f')](_0x3b13('0x20'),_0x266ec1+'-'+_0x5aff56+'/'+_0x36bebb)[_0x3b13('0x21')](_0x5df52c);}return null;};}function patchUpdates(_0x463829){return function(_0x2976da){try{jsonpatch[_0x3b13('0x22')](_0x2976da,_0x463829,!![]);}catch(_0x535028){return BPromise[_0x3b13('0x23')](_0x535028);}return _0x2976da[_0x3b13('0x24')]();};}function saveUpdates(_0x349be7,_0x2e1b45){return function(_0x547b1f){if(_0x547b1f){return _0x547b1f['update'](_0x349be7)[_0x3b13('0x25')](function(_0x38a768){return _0x38a768;});}return null;};}function removeEntity(_0x1ec213,_0x7d1fd5){return function(_0x4c9e74){if(_0x4c9e74){return _0x4c9e74[_0x3b13('0x26')]()[_0x3b13('0x25')](function(){_0x1ec213[_0x3b13('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0xe16e79,_0xe83b10){return function(_0x4143a6){if(!_0x4143a6){_0xe16e79[_0x3b13('0x1b')](0x194);}return _0x4143a6;};}function handleError(_0x5ef4f7,_0x1f3d4b){_0x1f3d4b=_0x1f3d4b||0x1f4;return function(_0xea77f5){logger[_0x3b13('0x27')](_0xea77f5[_0x3b13('0x28')]);if(_0xea77f5[_0x3b13('0x29')]){delete _0xea77f5[_0x3b13('0x29')];}_0x5ef4f7[_0x3b13('0x1c')](_0x1f3d4b)[_0x3b13('0x2a')](_0xea77f5);};}exports[_0x3b13('0x2b')]=function(_0x437b38,_0x2d9ecf){var _0x454b9b={},_0x159e61={},_0x148465={'count':0x0,'rows':[]};var _0x599039=_[_0x3b13('0x2c')](db[_0x3b13('0x2d')][_0x3b13('0x2e')],function(_0x1e0b61){return{'name':_0x1e0b61[_0x3b13('0x2f')],'type':_0x1e0b61[_0x3b13('0x30')][_0x3b13('0x31')]};});_0x159e61[_0x3b13('0x32')]=_['map'](_0x599039,_0x3b13('0x29'));_0x159e61[_0x3b13('0x33')]=_[_0x3b13('0x34')](_0x437b38[_0x3b13('0x33')]);_0x159e61[_0x3b13('0x35')]=_[_0x3b13('0x36')](_0x159e61['model'],_0x159e61[_0x3b13('0x33')]);_0x454b9b['attributes']=_['intersection'](_0x159e61['model'],qs[_0x3b13('0x37')](_0x437b38['query']['fields']));_0x454b9b[_0x3b13('0x38')]=_0x454b9b[_0x3b13('0x38')][_0x3b13('0x39')]?_0x454b9b[_0x3b13('0x38')]:_0x159e61[_0x3b13('0x32')];if(!_0x437b38[_0x3b13('0x33')]['hasOwnProperty']('nolimit')){_0x454b9b[_0x3b13('0x3a')]=qs['limit'](_0x437b38['query'][_0x3b13('0x3a')]);_0x454b9b[_0x3b13('0x1e')]=qs[_0x3b13('0x1e')](_0x437b38[_0x3b13('0x33')][_0x3b13('0x1e')]);}_0x454b9b[_0x3b13('0x3b')]=qs[_0x3b13('0x3c')](_0x437b38[_0x3b13('0x33')][_0x3b13('0x3c')]);_0x454b9b['where']=qs[_0x3b13('0x35')](_['pick'](_0x437b38[_0x3b13('0x33')],_0x159e61['filters']),_0x599039);if(_0x437b38[_0x3b13('0x33')]['filter']){_0x454b9b[_0x3b13('0x3d')]=_['merge'](_0x454b9b[_0x3b13('0x3d')],{'$or':_['map'](_0x599039,function(_0x2a9b4e){if(_0x2a9b4e['type']!==_0x3b13('0x3e')){var _0x5984b8={};_0x5984b8[_0x2a9b4e[_0x3b13('0x29')]]={'$like':'%'+_0x437b38['query']['filter']+'%'};return _0x5984b8;}})});}_0x454b9b=_[_0x3b13('0x3f')]({},_0x454b9b,_0x437b38[_0x3b13('0x40')]);var _0xb29ef2={'where':_0x454b9b[_0x3b13('0x3d')]};return db[_0x3b13('0x2d')][_0x3b13('0x1d')](_0xb29ef2)[_0x3b13('0x25')](function(_0x3d490b){_0x148465[_0x3b13('0x1d')]=_0x3d490b;if(_0x437b38[_0x3b13('0x33')][_0x3b13('0x41')]){_0x454b9b[_0x3b13('0x42')]=[{'attributes':['id',_0x3b13('0x29'),_0x3b13('0x43'),_0x3b13('0x44')],'model':db['User'],'as':_0x3b13('0x45')}];}return db[_0x3b13('0x2d')][_0x3b13('0x46')](_0x454b9b);})[_0x3b13('0x25')](function(_0x56ce20){_0x148465['rows']=_0x56ce20;return _0x148465;})[_0x3b13('0x25')](respondWithFilteredResult(_0x2d9ecf,_0x454b9b))['catch'](handleError(_0x2d9ecf,null));};exports[_0x3b13('0x47')]=function(_0x206b36,_0x55df7e){var _0x10117e={'raw':!![],'where':{'id':_0x206b36[_0x3b13('0x48')]['id']}},_0x324795={};_0x324795[_0x3b13('0x32')]=_[_0x3b13('0x34')](db['VoiceCallReport']['rawAttributes']);_0x324795[_0x3b13('0x33')]=_[_0x3b13('0x34')](_0x206b36['query']);_0x324795[_0x3b13('0x35')]=_[_0x3b13('0x36')](_0x324795['model'],_0x324795[_0x3b13('0x33')]);_0x10117e['attributes']=_['intersection'](_0x324795[_0x3b13('0x32')],qs[_0x3b13('0x37')](_0x206b36[_0x3b13('0x33')][_0x3b13('0x37')]));_0x10117e[_0x3b13('0x38')]=_0x10117e[_0x3b13('0x38')]['length']?_0x10117e[_0x3b13('0x38')]:_0x324795[_0x3b13('0x32')];if(_0x206b36['query'][_0x3b13('0x41')]){_0x10117e[_0x3b13('0x42')]=[{'all':!![]}];}_0x10117e=_['merge']({},_0x10117e,_0x206b36[_0x3b13('0x40')]);return db[_0x3b13('0x2d')][_0x3b13('0x49')](_0x10117e)[_0x3b13('0x25')](handleEntityNotFound(_0x55df7e,null))['then'](respondWithResult(_0x55df7e,null))[_0x3b13('0x4a')](handleError(_0x55df7e,null));};exports[_0x3b13('0x4b')]=function(_0xb14d01,_0x511907){return db[_0x3b13('0x2d')][_0x3b13('0x4b')](_0xb14d01[_0x3b13('0x4c')],{})[_0x3b13('0x25')](respondWithResult(_0x511907,0xc9))[_0x3b13('0x4a')](handleError(_0x511907,null));};exports['destroy']=function(_0x11373b,_0x24fd8d){return db[_0x3b13('0x2d')][_0x3b13('0x49')]({'where':{'id':_0x11373b[_0x3b13('0x48')]['id']}})[_0x3b13('0x25')](handleEntityNotFound(_0x24fd8d,null))[_0x3b13('0x25')](removeEntity(_0x24fd8d,null))[_0x3b13('0x4a')](handleError(_0x24fd8d,null));};exports[_0x3b13('0x4d')]=function(_0x3af35a,_0x33b41a){return db[_0x3b13('0x2d')][_0x3b13('0x4d')]()['then'](respondWithResult(_0x33b41a,null))[_0x3b13('0x4a')](handleError(_0x33b41a,null));};exports['update']=function(_0x53eabd,_0x9aedc8){if(_0x53eabd[_0x3b13('0x4c')][_0x3b13('0x4e')]){delete _0x53eabd[_0x3b13('0x4c')][_0x3b13('0x4e')];}return db[_0x3b13('0x2d')][_0x3b13('0x49')]({'where':{'uniqueid':_0x53eabd[_0x3b13('0x48')]['id'],'UserId':{'$or':[null,_0x53eabd[_0x3b13('0x4f')]['id']]}}})[_0x3b13('0x25')](handleEntityNotFound(_0x9aedc8,null))[_0x3b13('0x25')](saveUpdates(_0x53eabd[_0x3b13('0x4c')],null))[_0x3b13('0x25')](respondWithResult(_0x9aedc8,null))[_0x3b13('0x4a')](handleError(_0x9aedc8,null));};