Built motion from commit efa66e19.|2.6.22
[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 _0xba18=['filter','VIRTUAL','merge','options','includeAll','findAll','rows','show','params','keys','include','find','create','body','catch','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','set','Content-Range','json','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','JscriptyAnswerReport','rawAttributes','fieldName','type','model','query','filters','attributes','intersection','fields','length','nolimit','order','sort','where','pick'];(function(_0x24d92a,_0x5dcc4d){var _0x2d5aed=function(_0x2df528){while(--_0x2df528){_0x24d92a['push'](_0x24d92a['shift']());}};_0x2d5aed(++_0x5dcc4d);}(_0xba18,0x1ea));var _0x8ba1=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xba18[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x8ba1('0x0'));var rimraf=require(_0x8ba1('0x1'));var zipdir=require(_0x8ba1('0x2'));var jsonpatch=require(_0x8ba1('0x3'));var rp=require(_0x8ba1('0x4'));var moment=require(_0x8ba1('0x5'));var BPromise=require(_0x8ba1('0x6'));var Mustache=require(_0x8ba1('0x7'));var util=require('util');var path=require(_0x8ba1('0x8'));var sox=require(_0x8ba1('0x9'));var csv=require(_0x8ba1('0xa'));var ejs=require(_0x8ba1('0xb'));var fs=require('fs');var fs_extra=require(_0x8ba1('0xc'));var _=require(_0x8ba1('0xd'));var squel=require('squel');var crypto=require(_0x8ba1('0xe'));var jsforce=require(_0x8ba1('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x8ba1('0x10'));var Redis=require(_0x8ba1('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x8ba1('0x12'));var as=require(_0x8ba1('0x13'));var hardwareService=require(_0x8ba1('0x14'));var logger=require(_0x8ba1('0x15'))(_0x8ba1('0x16'));var utils=require('../../config/utils');var config=require(_0x8ba1('0x17'));var licenseUtil=require(_0x8ba1('0x18'));var db=require(_0x8ba1('0x19'))['db'];function respondWithStatusCode(_0x1fcfd7,_0x29adbb){_0x29adbb=_0x29adbb||0xcc;return function(_0x229748){if(_0x229748){return _0x1fcfd7['sendStatus'](_0x29adbb);}return _0x1fcfd7[_0x8ba1('0x1a')](_0x29adbb)[_0x8ba1('0x1b')]();};}function respondWithResult(_0x2e81d1,_0xca53c4){_0xca53c4=_0xca53c4||0xc8;return function(_0x4c8d5c){if(_0x4c8d5c){return _0x2e81d1['status'](_0xca53c4)['json'](_0x4c8d5c);}};}function respondWithFilteredResult(_0x3058ac,_0x398f40){return function(_0x5a3a8a){if(_0x5a3a8a){var _0x1b885b=typeof _0x398f40[_0x8ba1('0x1c')]===_0x8ba1('0x1d')&&typeof _0x398f40[_0x8ba1('0x1e')]===_0x8ba1('0x1d');var _0x19ade9=_0x5a3a8a[_0x8ba1('0x1f')];var _0x4d75fa=_0x1b885b?0x0:_0x398f40['offset'];var _0x1a48fa=_0x1b885b?_0x5a3a8a[_0x8ba1('0x1f')]:_0x398f40['offset']+_0x398f40[_0x8ba1('0x1e')];var _0x2e5fba;if(_0x1a48fa>=_0x19ade9){_0x1a48fa=_0x19ade9;_0x2e5fba=0xc8;}else{_0x2e5fba=0xce;}_0x3058ac[_0x8ba1('0x1a')](_0x2e5fba);return _0x3058ac[_0x8ba1('0x20')](_0x8ba1('0x21'),_0x4d75fa+'-'+_0x1a48fa+'/'+_0x19ade9)[_0x8ba1('0x22')](_0x5a3a8a);}return null;};}function patchUpdates(_0x5ddcf8){return function(_0x489662){try{jsonpatch['apply'](_0x489662,_0x5ddcf8,!![]);}catch(_0xd78e53){return BPromise[_0x8ba1('0x23')](_0xd78e53);}return _0x489662[_0x8ba1('0x24')]();};}function saveUpdates(_0x3dd1d8,_0x4e66e1){return function(_0x1d619c){if(_0x1d619c){return _0x1d619c[_0x8ba1('0x25')](_0x3dd1d8)[_0x8ba1('0x26')](function(_0x38a2de){return _0x38a2de;});}return null;};}function removeEntity(_0x2d4ad6,_0x3b70ea){return function(_0x845108){if(_0x845108){return _0x845108[_0x8ba1('0x27')]()[_0x8ba1('0x26')](function(){_0x2d4ad6[_0x8ba1('0x1a')](0xcc)[_0x8ba1('0x1b')]();});}};}function handleEntityNotFound(_0x550d33,_0x5c924e){return function(_0x41c2bb){if(!_0x41c2bb){_0x550d33[_0x8ba1('0x28')](0x194);}return _0x41c2bb;};}function handleError(_0x56aef2,_0x2baa80){_0x2baa80=_0x2baa80||0x1f4;return function(_0xef508d){logger[_0x8ba1('0x29')](_0xef508d[_0x8ba1('0x2a')]);if(_0xef508d[_0x8ba1('0x2b')]){delete _0xef508d[_0x8ba1('0x2b')];}_0x56aef2[_0x8ba1('0x1a')](_0x2baa80)[_0x8ba1('0x2c')](_0xef508d);};}exports[_0x8ba1('0x2d')]=function(_0x3f1b37,_0x3e8e6d){var _0x136eef={},_0x32782a={},_0x229e16={'count':0x0,'rows':[]};var _0x5e28b7=_[_0x8ba1('0x2e')](db[_0x8ba1('0x2f')][_0x8ba1('0x30')],function(_0x3c37fd){return{'name':_0x3c37fd[_0x8ba1('0x31')],'type':_0x3c37fd[_0x8ba1('0x32')]['key']};});_0x32782a[_0x8ba1('0x33')]=_[_0x8ba1('0x2e')](_0x5e28b7,'name');_0x32782a[_0x8ba1('0x34')]=_['keys'](_0x3f1b37[_0x8ba1('0x34')]);_0x32782a[_0x8ba1('0x35')]=_['intersection'](_0x32782a[_0x8ba1('0x33')],_0x32782a[_0x8ba1('0x34')]);_0x136eef[_0x8ba1('0x36')]=_[_0x8ba1('0x37')](_0x32782a[_0x8ba1('0x33')],qs['fields'](_0x3f1b37[_0x8ba1('0x34')][_0x8ba1('0x38')]));_0x136eef[_0x8ba1('0x36')]=_0x136eef[_0x8ba1('0x36')][_0x8ba1('0x39')]?_0x136eef[_0x8ba1('0x36')]:_0x32782a[_0x8ba1('0x33')];if(!_0x3f1b37[_0x8ba1('0x34')]['hasOwnProperty'](_0x8ba1('0x3a'))){_0x136eef[_0x8ba1('0x1e')]=qs[_0x8ba1('0x1e')](_0x3f1b37[_0x8ba1('0x34')][_0x8ba1('0x1e')]);_0x136eef[_0x8ba1('0x1c')]=qs[_0x8ba1('0x1c')](_0x3f1b37[_0x8ba1('0x34')][_0x8ba1('0x1c')]);}_0x136eef[_0x8ba1('0x3b')]=qs['sort'](_0x3f1b37[_0x8ba1('0x34')][_0x8ba1('0x3c')]);_0x136eef[_0x8ba1('0x3d')]=qs[_0x8ba1('0x35')](_[_0x8ba1('0x3e')](_0x3f1b37[_0x8ba1('0x34')],_0x32782a[_0x8ba1('0x35')]),_0x5e28b7);if(_0x3f1b37[_0x8ba1('0x34')][_0x8ba1('0x3f')]){_0x136eef[_0x8ba1('0x3d')]=_['merge'](_0x136eef['where'],{'$or':_[_0x8ba1('0x2e')](_0x5e28b7,function(_0x3b02a6){if(_0x3b02a6[_0x8ba1('0x32')]!==_0x8ba1('0x40')){var _0x467a82={};_0x467a82[_0x3b02a6[_0x8ba1('0x2b')]]={'$like':'%'+_0x3f1b37[_0x8ba1('0x34')][_0x8ba1('0x3f')]+'%'};return _0x467a82;}})});}_0x136eef=_[_0x8ba1('0x41')]({},_0x136eef,_0x3f1b37[_0x8ba1('0x42')]);var _0x2f4ac4={'where':_0x136eef[_0x8ba1('0x3d')]};return db[_0x8ba1('0x2f')][_0x8ba1('0x1f')](_0x2f4ac4)['then'](function(_0xf8c3b){_0x229e16[_0x8ba1('0x1f')]=_0xf8c3b;if(_0x3f1b37[_0x8ba1('0x34')][_0x8ba1('0x43')]){_0x136eef['include']=[{'all':!![]}];}return db['JscriptyAnswerReport'][_0x8ba1('0x44')](_0x136eef);})[_0x8ba1('0x26')](function(_0x1d1ffd){_0x229e16[_0x8ba1('0x45')]=_0x1d1ffd;return _0x229e16;})[_0x8ba1('0x26')](respondWithFilteredResult(_0x3e8e6d,_0x136eef))['catch'](handleError(_0x3e8e6d,null));};exports[_0x8ba1('0x46')]=function(_0x171054,_0x16bdb1){var _0x5b02d8={'raw':!![],'where':{'id':_0x171054[_0x8ba1('0x47')]['id']}},_0x1e5376={};_0x1e5376[_0x8ba1('0x33')]=_[_0x8ba1('0x48')](db[_0x8ba1('0x2f')][_0x8ba1('0x30')]);_0x1e5376['query']=_[_0x8ba1('0x48')](_0x171054['query']);_0x1e5376[_0x8ba1('0x35')]=_[_0x8ba1('0x37')](_0x1e5376[_0x8ba1('0x33')],_0x1e5376[_0x8ba1('0x34')]);_0x5b02d8[_0x8ba1('0x36')]=_[_0x8ba1('0x37')](_0x1e5376['model'],qs[_0x8ba1('0x38')](_0x171054[_0x8ba1('0x34')]['fields']));_0x5b02d8['attributes']=_0x5b02d8[_0x8ba1('0x36')][_0x8ba1('0x39')]?_0x5b02d8[_0x8ba1('0x36')]:_0x1e5376[_0x8ba1('0x33')];if(_0x171054[_0x8ba1('0x34')][_0x8ba1('0x43')]){_0x5b02d8[_0x8ba1('0x49')]=[{'all':!![]}];}_0x5b02d8=_[_0x8ba1('0x41')]({},_0x5b02d8,_0x171054[_0x8ba1('0x42')]);return db[_0x8ba1('0x2f')][_0x8ba1('0x4a')](_0x5b02d8)[_0x8ba1('0x26')](handleEntityNotFound(_0x16bdb1,null))[_0x8ba1('0x26')](respondWithResult(_0x16bdb1,null))['catch'](handleError(_0x16bdb1,null));};exports[_0x8ba1('0x4b')]=function(_0x3bb667,_0x1405a2){return db[_0x8ba1('0x2f')][_0x8ba1('0x4b')](_0x3bb667[_0x8ba1('0x4c')],{})[_0x8ba1('0x26')](respondWithResult(_0x1405a2,0xc9))[_0x8ba1('0x4d')](handleError(_0x1405a2,null));};exports[_0x8ba1('0x25')]=function(_0xd1ec48,_0xae04af){if(_0xd1ec48[_0x8ba1('0x4c')]['id']){delete _0xd1ec48[_0x8ba1('0x4c')]['id'];}return db[_0x8ba1('0x2f')]['find']({'where':{'id':_0xd1ec48[_0x8ba1('0x47')]['id']}})[_0x8ba1('0x26')](handleEntityNotFound(_0xae04af,null))['then'](saveUpdates(_0xd1ec48[_0x8ba1('0x4c')],null))[_0x8ba1('0x26')](respondWithResult(_0xae04af,null))[_0x8ba1('0x4d')](handleError(_0xae04af,null));};exports[_0x8ba1('0x27')]=function(_0x10fc3c,_0x5304c4){return db['JscriptyAnswerReport'][_0x8ba1('0x4a')]({'where':{'id':_0x10fc3c[_0x8ba1('0x47')]['id']}})['then'](handleEntityNotFound(_0x5304c4,null))[_0x8ba1('0x26')](removeEntity(_0x5304c4,null))[_0x8ba1('0x4d')](handleError(_0x5304c4,null));};exports[_0x8ba1('0x4e')]=function(_0x4d93b2,_0x3b9bb4){return db[_0x8ba1('0x2f')][_0x8ba1('0x4e')]()['then'](respondWithResult(_0x3b9bb4,null))[_0x8ba1('0x4d')](handleError(_0x3b9bb4,null));};