c2823ce3f20b169b766c038ed5b4655cf4edb19c
[motion2.git] / server / api / jscriptyAnswerReport / jscriptyAnswerReport.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 _0x5ff3=['hasOwnProperty','nolimit','sort','pick','filter','where','VIRTUAL','options','JscriptyAnswerReport','includeAll','include','rows','catch','show','params','keys','length','find','create','destroy','describe','rimraf','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','sendStatus','error','name','render','merge','body','contact','message','agent','interaction','index','map','rawAttributes','key','model','query','filters','intersection','attributes','fields'];(function(_0x178fd8,_0x29024b){var _0x4c41eb=function(_0x692e4e){while(--_0x692e4e){_0x178fd8['push'](_0x178fd8['shift']());}};_0x4c41eb(++_0x29024b);}(_0x5ff3,0x17d));var _0x35ff=function(_0x236b3a,_0x4e70c4){_0x236b3a=_0x236b3a-0x0;var _0x15525f=_0x5ff3[_0x236b3a];return _0x15525f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x35ff('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x35ff('0x1'));var rp=require('request-promise');var moment=require(_0x35ff('0x2'));var BPromise=require(_0x35ff('0x3'));var Mustache=require(_0x35ff('0x4'));var util=require(_0x35ff('0x5'));var path=require('path');var sox=require(_0x35ff('0x6'));var csv=require(_0x35ff('0x7'));var ejs=require(_0x35ff('0x8'));var fs=require('fs');var fs_extra=require(_0x35ff('0x9'));var _=require(_0x35ff('0xa'));var squel=require('squel');var crypto=require(_0x35ff('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x35ff('0xc'));var toCsv=require(_0x35ff('0x7'));var querystring=require(_0x35ff('0xd'));var Papa=require('papaparse');var Redis=require(_0x35ff('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x35ff('0xf'));var as=require(_0x35ff('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x35ff('0x11'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x35ff('0x12'))['db'];function respondWithStatusCode(_0x3c5f4b,_0x5bda40){_0x5bda40=_0x5bda40||0xcc;return function(_0x842930){if(_0x842930){return _0x3c5f4b['sendStatus'](_0x5bda40);}return _0x3c5f4b[_0x35ff('0x13')](_0x5bda40)[_0x35ff('0x14')]();};}function respondWithResult(_0x3db454,_0x4d1d41){_0x4d1d41=_0x4d1d41||0xc8;return function(_0xff8ac){if(_0xff8ac){return _0x3db454[_0x35ff('0x13')](_0x4d1d41)[_0x35ff('0x15')](_0xff8ac);}};}function respondWithFilteredResult(_0x3e24dd,_0x438199){return function(_0x3dff65){if(_0x3dff65){var _0x2d4a88=typeof _0x438199[_0x35ff('0x16')]===_0x35ff('0x17')&&typeof _0x438199[_0x35ff('0x18')]===_0x35ff('0x17');var _0x3430e2=_0x3dff65[_0x35ff('0x19')];var _0x16c803=_0x2d4a88?0x0:_0x438199[_0x35ff('0x16')];var _0x5f470e=_0x2d4a88?_0x3dff65[_0x35ff('0x19')]:_0x438199[_0x35ff('0x16')]+_0x438199[_0x35ff('0x18')];var _0x1c0d8c;if(_0x5f470e>=_0x3430e2){_0x5f470e=_0x3430e2;_0x1c0d8c=0xc8;}else{_0x1c0d8c=0xce;}_0x3e24dd['status'](_0x1c0d8c);return _0x3e24dd['set'](_0x35ff('0x1a'),_0x16c803+'-'+_0x5f470e+'/'+_0x3430e2)[_0x35ff('0x15')](_0x3dff65);}return null;};}function patchUpdates(_0x4c8dd4){return function(_0x238f65){try{jsonpatch[_0x35ff('0x1b')](_0x238f65,_0x4c8dd4,!![]);}catch(_0x3a87bc){return BPromise[_0x35ff('0x1c')](_0x3a87bc);}return _0x238f65['save']();};}function saveUpdates(_0x3d60b4,_0x55274b){return function(_0x7cc20a){if(_0x7cc20a){return _0x7cc20a[_0x35ff('0x1d')](_0x3d60b4)[_0x35ff('0x1e')](function(_0x16a5a0){return _0x16a5a0;});}return null;};}function removeEntity(_0x396cc2,_0x2b3782){return function(_0x347cec){if(_0x347cec){return _0x347cec['destroy']()[_0x35ff('0x1e')](function(){_0x396cc2[_0x35ff('0x13')](0xcc)['end']();});}};}function handleEntityNotFound(_0x426e4e,_0x5ad0c6){return function(_0x4c46b7){if(!_0x4c46b7){_0x426e4e[_0x35ff('0x1f')](0x194);}return _0x4c46b7;};}function handleError(_0x9e2789,_0x95b9e2){_0x95b9e2=_0x95b9e2||0x1f4;return function(_0x11a5eb){logger[_0x35ff('0x20')](_0x11a5eb['stack']);if(_0x11a5eb[_0x35ff('0x21')]){delete _0x11a5eb[_0x35ff('0x21')];}_0x9e2789[_0x35ff('0x13')](_0x95b9e2)['send'](_0x11a5eb);};}function getMustacheRender(_0x3357a,_0x1f51c5){return Mustache[_0x35ff('0x22')](_0x3357a,_[_0x35ff('0x23')](_0x1f51c5[_0x35ff('0x24')],{'contact':_0x1f51c5[_0x35ff('0x25')],'message':_0x1f51c5[_0x35ff('0x26')],'agent':_0x1f51c5[_0x35ff('0x27')],'interaction':_0x1f51c5[_0x35ff('0x28')],'account':_0x1f51c5['account']}))||'';}exports[_0x35ff('0x29')]=function(_0x57339d,_0x1cb370){var _0x257501={},_0x2bc118={},_0xad1246={'count':0x0,'rows':[]};var _0x5c8468=_[_0x35ff('0x2a')](db['JscriptyAnswerReport'][_0x35ff('0x2b')],function(_0xf88865){return{'name':_0xf88865['fieldName'],'type':_0xf88865['type'][_0x35ff('0x2c')]};});_0x2bc118[_0x35ff('0x2d')]=_['map'](_0x5c8468,_0x35ff('0x21'));_0x2bc118[_0x35ff('0x2e')]=_['keys'](_0x57339d[_0x35ff('0x2e')]);_0x2bc118[_0x35ff('0x2f')]=_[_0x35ff('0x30')](_0x2bc118[_0x35ff('0x2d')],_0x2bc118[_0x35ff('0x2e')]);_0x257501[_0x35ff('0x31')]=_[_0x35ff('0x30')](_0x2bc118[_0x35ff('0x2d')],qs[_0x35ff('0x32')](_0x57339d[_0x35ff('0x2e')][_0x35ff('0x32')]));_0x257501[_0x35ff('0x31')]=_0x257501[_0x35ff('0x31')]['length']?_0x257501[_0x35ff('0x31')]:_0x2bc118['model'];if(!_0x57339d[_0x35ff('0x2e')][_0x35ff('0x33')](_0x35ff('0x34'))){_0x257501[_0x35ff('0x18')]=qs[_0x35ff('0x18')](_0x57339d['query'][_0x35ff('0x18')]);_0x257501[_0x35ff('0x16')]=qs[_0x35ff('0x16')](_0x57339d[_0x35ff('0x2e')][_0x35ff('0x16')]);}_0x257501['order']=qs[_0x35ff('0x35')](_0x57339d[_0x35ff('0x2e')][_0x35ff('0x35')]);_0x257501['where']=qs['filters'](_[_0x35ff('0x36')](_0x57339d[_0x35ff('0x2e')],_0x2bc118[_0x35ff('0x2f')]),_0x5c8468);if(_0x57339d[_0x35ff('0x2e')][_0x35ff('0x37')]){_0x257501[_0x35ff('0x38')]=_[_0x35ff('0x23')](_0x257501[_0x35ff('0x38')],{'$or':_['map'](_0x5c8468,function(_0x5dcc7c){if(_0x5dcc7c['type']!==_0x35ff('0x39')){var _0x1eb8bd={};_0x1eb8bd[_0x5dcc7c[_0x35ff('0x21')]]={'$like':'%'+_0x57339d[_0x35ff('0x2e')][_0x35ff('0x37')]+'%'};return _0x1eb8bd;}})});}_0x257501=_['merge']({},_0x257501,_0x57339d[_0x35ff('0x3a')]);var _0x2ec957={'where':_0x257501[_0x35ff('0x38')]};return db[_0x35ff('0x3b')][_0x35ff('0x19')](_0x2ec957)[_0x35ff('0x1e')](function(_0x55efda){_0xad1246['count']=_0x55efda;if(_0x57339d[_0x35ff('0x2e')][_0x35ff('0x3c')]){_0x257501[_0x35ff('0x3d')]=[{'all':!![]}];}return db[_0x35ff('0x3b')]['findAll'](_0x257501);})['then'](function(_0x10bfb6){_0xad1246[_0x35ff('0x3e')]=_0x10bfb6;return _0xad1246;})[_0x35ff('0x1e')](respondWithFilteredResult(_0x1cb370,_0x257501))[_0x35ff('0x3f')](handleError(_0x1cb370,null));};exports[_0x35ff('0x40')]=function(_0x2ff794,_0x346758){var _0x51f7cd={'raw':!![],'where':{'id':_0x2ff794[_0x35ff('0x41')]['id']}},_0x52eeb8={};_0x52eeb8[_0x35ff('0x2d')]=_[_0x35ff('0x42')](db['JscriptyAnswerReport'][_0x35ff('0x2b')]);_0x52eeb8[_0x35ff('0x2e')]=_['keys'](_0x2ff794['query']);_0x52eeb8[_0x35ff('0x2f')]=_['intersection'](_0x52eeb8[_0x35ff('0x2d')],_0x52eeb8[_0x35ff('0x2e')]);_0x51f7cd['attributes']=_[_0x35ff('0x30')](_0x52eeb8['model'],qs['fields'](_0x2ff794[_0x35ff('0x2e')][_0x35ff('0x32')]));_0x51f7cd[_0x35ff('0x31')]=_0x51f7cd[_0x35ff('0x31')][_0x35ff('0x43')]?_0x51f7cd[_0x35ff('0x31')]:_0x52eeb8[_0x35ff('0x2d')];if(_0x2ff794[_0x35ff('0x2e')][_0x35ff('0x3c')]){_0x51f7cd[_0x35ff('0x3d')]=[{'all':!![]}];}_0x51f7cd=_[_0x35ff('0x23')]({},_0x51f7cd,_0x2ff794[_0x35ff('0x3a')]);return db['JscriptyAnswerReport'][_0x35ff('0x44')](_0x51f7cd)[_0x35ff('0x1e')](handleEntityNotFound(_0x346758,null))[_0x35ff('0x1e')](respondWithResult(_0x346758,null))[_0x35ff('0x3f')](handleError(_0x346758,null));};exports['create']=function(_0x59c5f7,_0x672938){return db['JscriptyAnswerReport'][_0x35ff('0x45')](_0x59c5f7[_0x35ff('0x24')],{})[_0x35ff('0x1e')](respondWithResult(_0x672938,0xc9))[_0x35ff('0x3f')](handleError(_0x672938,null));};exports[_0x35ff('0x1d')]=function(_0x1fdd5d,_0x2e7bac){if(_0x1fdd5d[_0x35ff('0x24')]['id']){delete _0x1fdd5d[_0x35ff('0x24')]['id'];}return db['JscriptyAnswerReport']['find']({'where':{'id':_0x1fdd5d[_0x35ff('0x41')]['id']}})['then'](handleEntityNotFound(_0x2e7bac,null))[_0x35ff('0x1e')](saveUpdates(_0x1fdd5d[_0x35ff('0x24')],null))[_0x35ff('0x1e')](respondWithResult(_0x2e7bac,null))[_0x35ff('0x3f')](handleError(_0x2e7bac,null));};exports[_0x35ff('0x46')]=function(_0x312913,_0x2db44c){return db[_0x35ff('0x3b')][_0x35ff('0x44')]({'where':{'id':_0x312913['params']['id']}})[_0x35ff('0x1e')](handleEntityNotFound(_0x2db44c,null))[_0x35ff('0x1e')](removeEntity(_0x2db44c,null))[_0x35ff('0x3f')](handleError(_0x2db44c,null));};exports[_0x35ff('0x47')]=function(_0x49e747,_0x540a7f){return db['JscriptyAnswerReport'][_0x35ff('0x47')]()[_0x35ff('0x1e')](respondWithResult(_0x540a7f,null))[_0x35ff('0x3f')](handleError(_0x540a7f,null));};