6fd2342f6c281d66c04e5b26915a79cb6b3985ac
[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 _0xaa5c=['ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','limit','undefined','count','set','apply','reject','save','update','destroy','then','error','stack','name','send','map','JscriptyAnswerReport','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','catch','show','params','include','options','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','util','to-csv'];(function(_0x322522,_0x4db288){var _0x293bcf=function(_0xf108b8){while(--_0xf108b8){_0x322522['push'](_0x322522['shift']());}};_0x293bcf(++_0x4db288);}(_0xaa5c,0x1f2));var _0xcaa5=function(_0x2e0a78,_0x413dd2){_0x2e0a78=_0x2e0a78-0x0;var _0x93e65c=_0xaa5c[_0x2e0a78];return _0x93e65c;};'use strict';var emlformat=require(_0xcaa5('0x0'));var rimraf=require(_0xcaa5('0x1'));var zipdir=require(_0xcaa5('0x2'));var jsonpatch=require(_0xcaa5('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xcaa5('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0xcaa5('0x5'));var ejs=require(_0xcaa5('0x6'));var fs=require('fs');var fs_extra=require(_0xcaa5('0x7'));var _=require('lodash');var squel=require(_0xcaa5('0x8'));var crypto=require(_0xcaa5('0x9'));var jsforce=require(_0xcaa5('0xa'));var deskjs=require(_0xcaa5('0xb'));var toCsv=require('to-csv');var querystring=require(_0xcaa5('0xc'));var Papa=require(_0xcaa5('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xcaa5('0xe'));var as=require(_0xcaa5('0xf'));var hardwareService=require(_0xcaa5('0x10'));var logger=require('../../config/logger')(_0xcaa5('0x11'));var utils=require('../../config/utils');var config=require(_0xcaa5('0x12'));var licenseUtil=require(_0xcaa5('0x13'));var db=require(_0xcaa5('0x14'))['db'];function respondWithStatusCode(_0x3b8783,_0x16bb6d){_0x16bb6d=_0x16bb6d||0xcc;return function(_0xbf4c57){if(_0xbf4c57){return _0x3b8783[_0xcaa5('0x15')](_0x16bb6d);}return _0x3b8783['status'](_0x16bb6d)[_0xcaa5('0x16')]();};}function respondWithResult(_0x240651,_0x474770){_0x474770=_0x474770||0xc8;return function(_0x295c9f){if(_0x295c9f){return _0x240651[_0xcaa5('0x17')](_0x474770)[_0xcaa5('0x18')](_0x295c9f);}};}function respondWithFilteredResult(_0x3e1c8e,_0xa2c6b6){return function(_0x8b7ad5){if(_0x8b7ad5){var _0x53e67f=typeof _0xa2c6b6[_0xcaa5('0x19')]==='undefined'&&typeof _0xa2c6b6[_0xcaa5('0x1a')]===_0xcaa5('0x1b');var _0x5ac8e5=_0x8b7ad5[_0xcaa5('0x1c')];var _0x2dae23=_0x53e67f?0x0:_0xa2c6b6[_0xcaa5('0x19')];var _0x7dad0b=_0x53e67f?_0x8b7ad5[_0xcaa5('0x1c')]:_0xa2c6b6['offset']+_0xa2c6b6[_0xcaa5('0x1a')];var _0x4470c1;if(_0x7dad0b>=_0x5ac8e5){_0x7dad0b=_0x5ac8e5;_0x4470c1=0xc8;}else{_0x4470c1=0xce;}_0x3e1c8e[_0xcaa5('0x17')](_0x4470c1);return _0x3e1c8e[_0xcaa5('0x1d')]('Content-Range',_0x2dae23+'-'+_0x7dad0b+'/'+_0x5ac8e5)[_0xcaa5('0x18')](_0x8b7ad5);}return null;};}function patchUpdates(_0x581ff8){return function(_0x93f6d4){try{jsonpatch[_0xcaa5('0x1e')](_0x93f6d4,_0x581ff8,!![]);}catch(_0xeca790){return BPromise[_0xcaa5('0x1f')](_0xeca790);}return _0x93f6d4[_0xcaa5('0x20')]();};}function saveUpdates(_0x52ca18,_0x48b8ee){return function(_0x51be62){if(_0x51be62){return _0x51be62[_0xcaa5('0x21')](_0x52ca18)['then'](function(_0x1ba266){return _0x1ba266;});}return null;};}function removeEntity(_0x5075ac,_0x39fb88){return function(_0x554027){if(_0x554027){return _0x554027[_0xcaa5('0x22')]()[_0xcaa5('0x23')](function(){_0x5075ac[_0xcaa5('0x17')](0xcc)[_0xcaa5('0x16')]();});}};}function handleEntityNotFound(_0x5c7693,_0xe4ae3b){return function(_0x51f0f0){if(!_0x51f0f0){_0x5c7693[_0xcaa5('0x15')](0x194);}return _0x51f0f0;};}function handleError(_0x57e076,_0x3b3c71){_0x3b3c71=_0x3b3c71||0x1f4;return function(_0x37d922){logger[_0xcaa5('0x24')](_0x37d922[_0xcaa5('0x25')]);if(_0x37d922[_0xcaa5('0x26')]){delete _0x37d922[_0xcaa5('0x26')];}_0x57e076[_0xcaa5('0x17')](_0x3b3c71)[_0xcaa5('0x27')](_0x37d922);};}exports['index']=function(_0x4c356d,_0x2f1420){var _0x3edb25={},_0x2d58f9={},_0x5c49fd={'count':0x0,'rows':[]};var _0x56db73=_[_0xcaa5('0x28')](db[_0xcaa5('0x29')][_0xcaa5('0x2a')],function(_0xe549d7){return{'name':_0xe549d7[_0xcaa5('0x2b')],'type':_0xe549d7[_0xcaa5('0x2c')][_0xcaa5('0x2d')]};});_0x2d58f9[_0xcaa5('0x2e')]=_[_0xcaa5('0x28')](_0x56db73,'name');_0x2d58f9[_0xcaa5('0x2f')]=_[_0xcaa5('0x30')](_0x4c356d[_0xcaa5('0x2f')]);_0x2d58f9[_0xcaa5('0x31')]=_['intersection'](_0x2d58f9[_0xcaa5('0x2e')],_0x2d58f9['query']);_0x3edb25[_0xcaa5('0x32')]=_[_0xcaa5('0x33')](_0x2d58f9[_0xcaa5('0x2e')],qs['fields'](_0x4c356d[_0xcaa5('0x2f')][_0xcaa5('0x34')]));_0x3edb25[_0xcaa5('0x32')]=_0x3edb25[_0xcaa5('0x32')]['length']?_0x3edb25[_0xcaa5('0x32')]:_0x2d58f9[_0xcaa5('0x2e')];if(!_0x4c356d[_0xcaa5('0x2f')][_0xcaa5('0x35')](_0xcaa5('0x36'))){_0x3edb25['limit']=qs['limit'](_0x4c356d[_0xcaa5('0x2f')][_0xcaa5('0x1a')]);_0x3edb25[_0xcaa5('0x19')]=qs['offset'](_0x4c356d[_0xcaa5('0x2f')]['offset']);}_0x3edb25[_0xcaa5('0x37')]=qs[_0xcaa5('0x38')](_0x4c356d['query'][_0xcaa5('0x38')]);_0x3edb25[_0xcaa5('0x39')]=qs[_0xcaa5('0x31')](_[_0xcaa5('0x3a')](_0x4c356d['query'],_0x2d58f9[_0xcaa5('0x31')]),_0x56db73);if(_0x4c356d[_0xcaa5('0x2f')][_0xcaa5('0x3b')]){_0x3edb25[_0xcaa5('0x39')]=_[_0xcaa5('0x3c')](_0x3edb25[_0xcaa5('0x39')],{'$or':_[_0xcaa5('0x28')](_0x56db73,function(_0x32b556){if(_0x32b556['type']!==_0xcaa5('0x3d')){var _0x3c024b={};_0x3c024b[_0x32b556[_0xcaa5('0x26')]]={'$like':'%'+_0x4c356d[_0xcaa5('0x2f')]['filter']+'%'};return _0x3c024b;}})});}_0x3edb25=_[_0xcaa5('0x3c')]({},_0x3edb25,_0x4c356d['options']);var _0x1fd607={'where':_0x3edb25[_0xcaa5('0x39')]};return db['JscriptyAnswerReport'][_0xcaa5('0x1c')](_0x1fd607)[_0xcaa5('0x23')](function(_0x130c90){_0x5c49fd[_0xcaa5('0x1c')]=_0x130c90;if(_0x4c356d[_0xcaa5('0x2f')][_0xcaa5('0x3e')]){_0x3edb25['include']=[{'all':!![]}];}return db[_0xcaa5('0x29')][_0xcaa5('0x3f')](_0x3edb25);})[_0xcaa5('0x23')](function(_0x3e9b40){_0x5c49fd[_0xcaa5('0x40')]=_0x3e9b40;return _0x5c49fd;})[_0xcaa5('0x23')](respondWithFilteredResult(_0x2f1420,_0x3edb25))[_0xcaa5('0x41')](handleError(_0x2f1420,null));};exports[_0xcaa5('0x42')]=function(_0x12ea07,_0x22313c){var _0x29f93a={'raw':!![],'where':{'id':_0x12ea07[_0xcaa5('0x43')]['id']}},_0x81887c={};_0x81887c[_0xcaa5('0x2e')]=_['keys'](db[_0xcaa5('0x29')]['rawAttributes']);_0x81887c[_0xcaa5('0x2f')]=_[_0xcaa5('0x30')](_0x12ea07[_0xcaa5('0x2f')]);_0x81887c[_0xcaa5('0x31')]=_['intersection'](_0x81887c[_0xcaa5('0x2e')],_0x81887c[_0xcaa5('0x2f')]);_0x29f93a[_0xcaa5('0x32')]=_[_0xcaa5('0x33')](_0x81887c[_0xcaa5('0x2e')],qs[_0xcaa5('0x34')](_0x12ea07[_0xcaa5('0x2f')][_0xcaa5('0x34')]));_0x29f93a['attributes']=_0x29f93a[_0xcaa5('0x32')]['length']?_0x29f93a[_0xcaa5('0x32')]:_0x81887c[_0xcaa5('0x2e')];if(_0x12ea07[_0xcaa5('0x2f')][_0xcaa5('0x3e')]){_0x29f93a[_0xcaa5('0x44')]=[{'all':!![]}];}_0x29f93a=_[_0xcaa5('0x3c')]({},_0x29f93a,_0x12ea07[_0xcaa5('0x45')]);return db[_0xcaa5('0x29')]['find'](_0x29f93a)[_0xcaa5('0x23')](handleEntityNotFound(_0x22313c,null))[_0xcaa5('0x23')](respondWithResult(_0x22313c,null))[_0xcaa5('0x41')](handleError(_0x22313c,null));};exports['create']=function(_0x2ab2a1,_0x2424f6){return db[_0xcaa5('0x29')]['create'](_0x2ab2a1[_0xcaa5('0x46')],{})[_0xcaa5('0x23')](respondWithResult(_0x2424f6,0xc9))[_0xcaa5('0x41')](handleError(_0x2424f6,null));};exports[_0xcaa5('0x21')]=function(_0x2fcb89,_0x9ccb2f){if(_0x2fcb89[_0xcaa5('0x46')]['id']){delete _0x2fcb89['body']['id'];}return db[_0xcaa5('0x29')]['find']({'where':{'id':_0x2fcb89[_0xcaa5('0x43')]['id']}})['then'](handleEntityNotFound(_0x9ccb2f,null))[_0xcaa5('0x23')](saveUpdates(_0x2fcb89[_0xcaa5('0x46')],null))[_0xcaa5('0x23')](respondWithResult(_0x9ccb2f,null))[_0xcaa5('0x41')](handleError(_0x9ccb2f,null));};exports[_0xcaa5('0x22')]=function(_0x42263b,_0x1ddd15){return db[_0xcaa5('0x29')]['find']({'where':{'id':_0x42263b[_0xcaa5('0x43')]['id']}})[_0xcaa5('0x23')](handleEntityNotFound(_0x1ddd15,null))[_0xcaa5('0x23')](removeEntity(_0x1ddd15,null))[_0xcaa5('0x41')](handleError(_0x1ddd15,null));};exports[_0xcaa5('0x47')]=function(_0x44f35e,_0x2c6aae){return db[_0xcaa5('0x29')]['describe']()[_0xcaa5('0x23')](respondWithResult(_0x2c6aae,null))[_0xcaa5('0x41')](handleError(_0x2c6aae,null));};