e01da2d86a173b1212b7a4d83535295954fb18f3
[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 _0x34f8=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','limit','count','Content-Range','save','then','destroy','error','stack','name','send','index','JscriptyAnswerReport','rawAttributes','fieldName','key','model','map','keys','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','options','include','rows','show','params','includeAll','find','catch','create','body','update','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','papaparse','ioredis'];(function(_0x2a077c,_0x1a62b1){var _0x2e338f=function(_0xda1dbc){while(--_0xda1dbc){_0x2a077c['push'](_0x2a077c['shift']());}};_0x2e338f(++_0x1a62b1);}(_0x34f8,0x80));var _0x834f=function(_0x28a8f1,_0x25e135){_0x28a8f1=_0x28a8f1-0x0;var _0x47d8e2=_0x34f8[_0x28a8f1];return _0x47d8e2;};'use strict';var emlformat=require(_0x834f('0x0'));var rimraf=require(_0x834f('0x1'));var zipdir=require(_0x834f('0x2'));var jsonpatch=require(_0x834f('0x3'));var rp=require(_0x834f('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x834f('0x5'));var util=require(_0x834f('0x6'));var path=require('path');var sox=require(_0x834f('0x7'));var csv=require(_0x834f('0x8'));var ejs=require(_0x834f('0x9'));var fs=require('fs');var fs_extra=require(_0x834f('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x834f('0xb'));var jsforce=require(_0x834f('0xc'));var deskjs=require(_0x834f('0xd'));var toCsv=require(_0x834f('0x8'));var querystring=require('querystring');var Papa=require(_0x834f('0xe'));var Redis=require(_0x834f('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x834f('0x10'));var as=require(_0x834f('0x11'));var hardwareService=require(_0x834f('0x12'));var logger=require(_0x834f('0x13'))(_0x834f('0x14'));var utils=require(_0x834f('0x15'));var config=require(_0x834f('0x16'));var licenseUtil=require(_0x834f('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2bed55,_0x46b91b){_0x46b91b=_0x46b91b||0xcc;return function(_0x456e59){if(_0x456e59){return _0x2bed55[_0x834f('0x18')](_0x46b91b);}return _0x2bed55[_0x834f('0x19')](_0x46b91b)['end']();};}function respondWithResult(_0x1757ae,_0x2f8592){_0x2f8592=_0x2f8592||0xc8;return function(_0x5bfea4){if(_0x5bfea4){return _0x1757ae[_0x834f('0x19')](_0x2f8592)[_0x834f('0x1a')](_0x5bfea4);}};}function respondWithFilteredResult(_0x55bc81,_0x2b9a0c){return function(_0x4bb979){if(_0x4bb979){var _0x342382=typeof _0x2b9a0c[_0x834f('0x1b')]===_0x834f('0x1c')&&typeof _0x2b9a0c[_0x834f('0x1d')]==='undefined';var _0x58154d=_0x4bb979[_0x834f('0x1e')];var _0x440b9b=_0x342382?0x0:_0x2b9a0c[_0x834f('0x1b')];var _0x320ee2=_0x342382?_0x4bb979['count']:_0x2b9a0c[_0x834f('0x1b')]+_0x2b9a0c[_0x834f('0x1d')];var _0x29cccd;if(_0x320ee2>=_0x58154d){_0x320ee2=_0x58154d;_0x29cccd=0xc8;}else{_0x29cccd=0xce;}_0x55bc81['status'](_0x29cccd);return _0x55bc81['set'](_0x834f('0x1f'),_0x440b9b+'-'+_0x320ee2+'/'+_0x58154d)['json'](_0x4bb979);}return null;};}function patchUpdates(_0x268e34){return function(_0x148839){try{jsonpatch['apply'](_0x148839,_0x268e34,!![]);}catch(_0x1fe653){return BPromise['reject'](_0x1fe653);}return _0x148839[_0x834f('0x20')]();};}function saveUpdates(_0x1157e2,_0x31044a){return function(_0x24cf5d){if(_0x24cf5d){return _0x24cf5d['update'](_0x1157e2)[_0x834f('0x21')](function(_0x4f62c8){return _0x4f62c8;});}return null;};}function removeEntity(_0x3ec8dc,_0x59af4e){return function(_0x536907){if(_0x536907){return _0x536907[_0x834f('0x22')]()['then'](function(){_0x3ec8dc['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x45e1ef,_0x2268a1){return function(_0xf54a26){if(!_0xf54a26){_0x45e1ef[_0x834f('0x18')](0x194);}return _0xf54a26;};}function handleError(_0x44355b,_0x2d852b){_0x2d852b=_0x2d852b||0x1f4;return function(_0x2cace0){logger[_0x834f('0x23')](_0x2cace0[_0x834f('0x24')]);if(_0x2cace0[_0x834f('0x25')]){delete _0x2cace0[_0x834f('0x25')];}_0x44355b['status'](_0x2d852b)[_0x834f('0x26')](_0x2cace0);};}exports[_0x834f('0x27')]=function(_0xcd12fe,_0x586324){var _0x1136b9={},_0x37e1d8={},_0x20da2d={'count':0x0,'rows':[]};var _0x2854e4=_['map'](db[_0x834f('0x28')][_0x834f('0x29')],function(_0xd411e){return{'name':_0xd411e[_0x834f('0x2a')],'type':_0xd411e['type'][_0x834f('0x2b')]};});_0x37e1d8[_0x834f('0x2c')]=_[_0x834f('0x2d')](_0x2854e4,_0x834f('0x25'));_0x37e1d8['query']=_[_0x834f('0x2e')](_0xcd12fe[_0x834f('0x2f')]);_0x37e1d8['filters']=_[_0x834f('0x30')](_0x37e1d8[_0x834f('0x2c')],_0x37e1d8['query']);_0x1136b9[_0x834f('0x31')]=_[_0x834f('0x30')](_0x37e1d8[_0x834f('0x2c')],qs[_0x834f('0x32')](_0xcd12fe[_0x834f('0x2f')]['fields']));_0x1136b9[_0x834f('0x31')]=_0x1136b9['attributes']['length']?_0x1136b9[_0x834f('0x31')]:_0x37e1d8['model'];if(!_0xcd12fe[_0x834f('0x2f')][_0x834f('0x33')](_0x834f('0x34'))){_0x1136b9[_0x834f('0x1d')]=qs['limit'](_0xcd12fe['query']['limit']);_0x1136b9[_0x834f('0x1b')]=qs[_0x834f('0x1b')](_0xcd12fe[_0x834f('0x2f')][_0x834f('0x1b')]);}_0x1136b9[_0x834f('0x35')]=qs['sort'](_0xcd12fe[_0x834f('0x2f')][_0x834f('0x36')]);_0x1136b9[_0x834f('0x37')]=qs[_0x834f('0x38')](_[_0x834f('0x39')](_0xcd12fe[_0x834f('0x2f')],_0x37e1d8[_0x834f('0x38')]),_0x2854e4);if(_0xcd12fe[_0x834f('0x2f')][_0x834f('0x3a')]){_0x1136b9[_0x834f('0x37')]=_[_0x834f('0x3b')](_0x1136b9[_0x834f('0x37')],{'$or':_[_0x834f('0x2d')](_0x2854e4,function(_0x4b4709){if(_0x4b4709['type']!=='VIRTUAL'){var _0x2cc5f7={};_0x2cc5f7[_0x4b4709['name']]={'$like':'%'+_0xcd12fe['query'][_0x834f('0x3a')]+'%'};return _0x2cc5f7;}})});}_0x1136b9=_[_0x834f('0x3b')]({},_0x1136b9,_0xcd12fe[_0x834f('0x3c')]);var _0x236711={'where':_0x1136b9[_0x834f('0x37')]};return db['JscriptyAnswerReport'][_0x834f('0x1e')](_0x236711)[_0x834f('0x21')](function(_0xa9d502){_0x20da2d[_0x834f('0x1e')]=_0xa9d502;if(_0xcd12fe[_0x834f('0x2f')]['includeAll']){_0x1136b9[_0x834f('0x3d')]=[{'all':!![]}];}return db[_0x834f('0x28')]['findAll'](_0x1136b9);})[_0x834f('0x21')](function(_0x59869){_0x20da2d[_0x834f('0x3e')]=_0x59869;return _0x20da2d;})['then'](respondWithFilteredResult(_0x586324,_0x1136b9))['catch'](handleError(_0x586324,null));};exports[_0x834f('0x3f')]=function(_0x5616ca,_0x49f627){var _0x1b2744={'raw':!![],'where':{'id':_0x5616ca[_0x834f('0x40')]['id']}},_0x214549={};_0x214549['model']=_['keys'](db['JscriptyAnswerReport']['rawAttributes']);_0x214549[_0x834f('0x2f')]=_['keys'](_0x5616ca[_0x834f('0x2f')]);_0x214549[_0x834f('0x38')]=_[_0x834f('0x30')](_0x214549['model'],_0x214549[_0x834f('0x2f')]);_0x1b2744[_0x834f('0x31')]=_[_0x834f('0x30')](_0x214549[_0x834f('0x2c')],qs[_0x834f('0x32')](_0x5616ca[_0x834f('0x2f')][_0x834f('0x32')]));_0x1b2744[_0x834f('0x31')]=_0x1b2744['attributes']['length']?_0x1b2744[_0x834f('0x31')]:_0x214549[_0x834f('0x2c')];if(_0x5616ca[_0x834f('0x2f')][_0x834f('0x41')]){_0x1b2744['include']=[{'all':!![]}];}_0x1b2744=_['merge']({},_0x1b2744,_0x5616ca['options']);return db['JscriptyAnswerReport'][_0x834f('0x42')](_0x1b2744)[_0x834f('0x21')](handleEntityNotFound(_0x49f627,null))[_0x834f('0x21')](respondWithResult(_0x49f627,null))[_0x834f('0x43')](handleError(_0x49f627,null));};exports[_0x834f('0x44')]=function(_0x2076e2,_0x5db5d5){return db[_0x834f('0x28')][_0x834f('0x44')](_0x2076e2[_0x834f('0x45')],{})[_0x834f('0x21')](respondWithResult(_0x5db5d5,0xc9))[_0x834f('0x43')](handleError(_0x5db5d5,null));};exports[_0x834f('0x46')]=function(_0x2203af,_0x28a8eb){if(_0x2203af[_0x834f('0x45')]['id']){delete _0x2203af['body']['id'];}return db[_0x834f('0x28')][_0x834f('0x42')]({'where':{'id':_0x2203af[_0x834f('0x40')]['id']}})['then'](handleEntityNotFound(_0x28a8eb,null))[_0x834f('0x21')](saveUpdates(_0x2203af[_0x834f('0x45')],null))[_0x834f('0x21')](respondWithResult(_0x28a8eb,null))[_0x834f('0x43')](handleError(_0x28a8eb,null));};exports['destroy']=function(_0x3320e3,_0x1617da){return db[_0x834f('0x28')][_0x834f('0x42')]({'where':{'id':_0x3320e3['params']['id']}})[_0x834f('0x21')](handleEntityNotFound(_0x1617da,null))[_0x834f('0x21')](removeEntity(_0x1617da,null))['catch'](handleError(_0x1617da,null));};exports[_0x834f('0x47')]=function(_0x5b8c59,_0x2224ef){return db['JscriptyAnswerReport'][_0x834f('0x47')]()['then'](respondWithResult(_0x2224ef,null))[_0x834f('0x43')](handleError(_0x2224ef,null));};