55dce3c190c9f4f25881c92da9348b35732aaa57
[motion2.git] / server / api / jscriptyQuestionReport / jscriptyQuestionReport.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 _0x5aa3=['fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','jsforce','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','reject','update','then','error','stack','name','send','index','map','JscriptyQuestionReport','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','limit','sort','where','pick','filter','VIRTUAL','include','findAll','rows','show','params','includeAll','options','find','create','body','catch','destroy','eml-format','zip-dir'];(function(_0x3330b8,_0x19b32a){var _0x191799=function(_0xb95e53){while(--_0xb95e53){_0x3330b8['push'](_0x3330b8['shift']());}};_0x191799(++_0x19b32a);}(_0x5aa3,0x1ba));var _0x35aa=function(_0x49b207,_0x408ade){_0x49b207=_0x49b207-0x0;var _0x2dc8fa=_0x5aa3[_0x49b207];return _0x2dc8fa;};'use strict';var emlformat=require(_0x35aa('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x35aa('0x1'));var jsonpatch=require(_0x35aa('0x2'));var rp=require(_0x35aa('0x3'));var moment=require(_0x35aa('0x4'));var BPromise=require(_0x35aa('0x5'));var Mustache=require(_0x35aa('0x6'));var util=require(_0x35aa('0x7'));var path=require(_0x35aa('0x8'));var sox=require(_0x35aa('0x9'));var csv=require(_0x35aa('0xa'));var ejs=require(_0x35aa('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x35aa('0xc'));var crypto=require('crypto');var jsforce=require(_0x35aa('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x35aa('0xa'));var querystring=require('querystring');var Papa=require(_0x35aa('0xe'));var Redis=require(_0x35aa('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x35aa('0x10'));var hardwareService=require(_0x35aa('0x11'));var logger=require(_0x35aa('0x12'))(_0x35aa('0x13'));var utils=require(_0x35aa('0x14'));var config=require(_0x35aa('0x15'));var licenseUtil=require(_0x35aa('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x491f91,_0x549445){_0x549445=_0x549445||0xcc;return function(_0x559c3a){if(_0x559c3a){return _0x491f91[_0x35aa('0x17')](_0x549445);}return _0x491f91[_0x35aa('0x18')](_0x549445)[_0x35aa('0x19')]();};}function respondWithResult(_0x5babfc,_0x49c9a7){_0x49c9a7=_0x49c9a7||0xc8;return function(_0x44bb5c){if(_0x44bb5c){return _0x5babfc[_0x35aa('0x18')](_0x49c9a7)[_0x35aa('0x1a')](_0x44bb5c);}};}function respondWithFilteredResult(_0x301ca1,_0x3a6303){return function(_0x4bd2f5){if(_0x4bd2f5){var _0x14a131=typeof _0x3a6303[_0x35aa('0x1b')]===_0x35aa('0x1c')&&typeof _0x3a6303['limit']===_0x35aa('0x1c');var _0x2fc408=_0x4bd2f5['count'];var _0x575662=_0x14a131?0x0:_0x3a6303['offset'];var _0x4f664c=_0x14a131?_0x4bd2f5[_0x35aa('0x1d')]:_0x3a6303[_0x35aa('0x1b')]+_0x3a6303['limit'];var _0xa3068c;if(_0x4f664c>=_0x2fc408){_0x4f664c=_0x2fc408;_0xa3068c=0xc8;}else{_0xa3068c=0xce;}_0x301ca1[_0x35aa('0x18')](_0xa3068c);return _0x301ca1[_0x35aa('0x1e')](_0x35aa('0x1f'),_0x575662+'-'+_0x4f664c+'/'+_0x2fc408)[_0x35aa('0x1a')](_0x4bd2f5);}return null;};}function patchUpdates(_0xd29a5f){return function(_0x34ec73){try{jsonpatch[_0x35aa('0x20')](_0x34ec73,_0xd29a5f,!![]);}catch(_0x4709c4){return BPromise[_0x35aa('0x21')](_0x4709c4);}return _0x34ec73['save']();};}function saveUpdates(_0x22a834,_0x57310d){return function(_0x90248a){if(_0x90248a){return _0x90248a[_0x35aa('0x22')](_0x22a834)[_0x35aa('0x23')](function(_0x219aa3){return _0x219aa3;});}return null;};}function removeEntity(_0x264156,_0x581d5a){return function(_0x4621bc){if(_0x4621bc){return _0x4621bc['destroy']()[_0x35aa('0x23')](function(){_0x264156['status'](0xcc)[_0x35aa('0x19')]();});}};}function handleEntityNotFound(_0x1ca2f2,_0x77add4){return function(_0x3754ac){if(!_0x3754ac){_0x1ca2f2['sendStatus'](0x194);}return _0x3754ac;};}function handleError(_0x16b2d0,_0x28906b){_0x28906b=_0x28906b||0x1f4;return function(_0xf4897b){logger[_0x35aa('0x24')](_0xf4897b[_0x35aa('0x25')]);if(_0xf4897b[_0x35aa('0x26')]){delete _0xf4897b[_0x35aa('0x26')];}_0x16b2d0[_0x35aa('0x18')](_0x28906b)[_0x35aa('0x27')](_0xf4897b);};}exports[_0x35aa('0x28')]=function(_0x4b610b,_0x5f03a6){var _0x2de83a={},_0x3d6dd1={},_0x28e3d3={'count':0x0,'rows':[]};var _0x195a34=_[_0x35aa('0x29')](db[_0x35aa('0x2a')][_0x35aa('0x2b')],function(_0x3fc915){return{'name':_0x3fc915[_0x35aa('0x2c')],'type':_0x3fc915[_0x35aa('0x2d')][_0x35aa('0x2e')]};});_0x3d6dd1[_0x35aa('0x2f')]=_['map'](_0x195a34,_0x35aa('0x26'));_0x3d6dd1['query']=_[_0x35aa('0x30')](_0x4b610b[_0x35aa('0x31')]);_0x3d6dd1[_0x35aa('0x32')]=_[_0x35aa('0x33')](_0x3d6dd1[_0x35aa('0x2f')],_0x3d6dd1['query']);_0x2de83a['attributes']=_['intersection'](_0x3d6dd1[_0x35aa('0x2f')],qs[_0x35aa('0x34')](_0x4b610b[_0x35aa('0x31')][_0x35aa('0x34')]));_0x2de83a[_0x35aa('0x35')]=_0x2de83a[_0x35aa('0x35')][_0x35aa('0x36')]?_0x2de83a['attributes']:_0x3d6dd1[_0x35aa('0x2f')];if(!_0x4b610b['query'][_0x35aa('0x37')]('nolimit')){_0x2de83a[_0x35aa('0x38')]=qs['limit'](_0x4b610b[_0x35aa('0x31')][_0x35aa('0x38')]);_0x2de83a['offset']=qs[_0x35aa('0x1b')](_0x4b610b[_0x35aa('0x31')][_0x35aa('0x1b')]);}_0x2de83a['order']=qs['sort'](_0x4b610b[_0x35aa('0x31')][_0x35aa('0x39')]);_0x2de83a[_0x35aa('0x3a')]=qs['filters'](_[_0x35aa('0x3b')](_0x4b610b[_0x35aa('0x31')],_0x3d6dd1[_0x35aa('0x32')]),_0x195a34);if(_0x4b610b[_0x35aa('0x31')][_0x35aa('0x3c')]){_0x2de83a['where']=_['merge'](_0x2de83a[_0x35aa('0x3a')],{'$or':_[_0x35aa('0x29')](_0x195a34,function(_0x9e0a49){if(_0x9e0a49[_0x35aa('0x2d')]!==_0x35aa('0x3d')){var _0xa6335e={};_0xa6335e[_0x9e0a49[_0x35aa('0x26')]]={'$like':'%'+_0x4b610b[_0x35aa('0x31')][_0x35aa('0x3c')]+'%'};return _0xa6335e;}})});}_0x2de83a=_['merge']({},_0x2de83a,_0x4b610b['options']);var _0x2bd418={'where':_0x2de83a[_0x35aa('0x3a')]};return db['JscriptyQuestionReport'][_0x35aa('0x1d')](_0x2bd418)[_0x35aa('0x23')](function(_0x4fa8e9){_0x28e3d3[_0x35aa('0x1d')]=_0x4fa8e9;if(_0x4b610b[_0x35aa('0x31')]['includeAll']){_0x2de83a[_0x35aa('0x3e')]=[{'all':!![]}];}return db[_0x35aa('0x2a')][_0x35aa('0x3f')](_0x2de83a);})[_0x35aa('0x23')](function(_0x198aa2){_0x28e3d3[_0x35aa('0x40')]=_0x198aa2;return _0x28e3d3;})['then'](respondWithFilteredResult(_0x5f03a6,_0x2de83a))['catch'](handleError(_0x5f03a6,null));};exports[_0x35aa('0x41')]=function(_0x2a1223,_0x51ea84){var _0x4acbd8={'raw':!![],'where':{'id':_0x2a1223[_0x35aa('0x42')]['id']}},_0x90aa2c={};_0x90aa2c[_0x35aa('0x2f')]=_['keys'](db['JscriptyQuestionReport'][_0x35aa('0x2b')]);_0x90aa2c[_0x35aa('0x31')]=_['keys'](_0x2a1223[_0x35aa('0x31')]);_0x90aa2c[_0x35aa('0x32')]=_[_0x35aa('0x33')](_0x90aa2c[_0x35aa('0x2f')],_0x90aa2c[_0x35aa('0x31')]);_0x4acbd8['attributes']=_[_0x35aa('0x33')](_0x90aa2c[_0x35aa('0x2f')],qs[_0x35aa('0x34')](_0x2a1223['query'][_0x35aa('0x34')]));_0x4acbd8['attributes']=_0x4acbd8[_0x35aa('0x35')][_0x35aa('0x36')]?_0x4acbd8[_0x35aa('0x35')]:_0x90aa2c[_0x35aa('0x2f')];if(_0x2a1223[_0x35aa('0x31')][_0x35aa('0x43')]){_0x4acbd8['include']=[{'all':!![]}];}_0x4acbd8=_['merge']({},_0x4acbd8,_0x2a1223[_0x35aa('0x44')]);return db[_0x35aa('0x2a')][_0x35aa('0x45')](_0x4acbd8)[_0x35aa('0x23')](handleEntityNotFound(_0x51ea84,null))[_0x35aa('0x23')](respondWithResult(_0x51ea84,null))['catch'](handleError(_0x51ea84,null));};exports[_0x35aa('0x46')]=function(_0x323fe2,_0x45406c){return db[_0x35aa('0x2a')][_0x35aa('0x46')](_0x323fe2[_0x35aa('0x47')],{})[_0x35aa('0x23')](respondWithResult(_0x45406c,0xc9))['catch'](handleError(_0x45406c,null));};exports[_0x35aa('0x22')]=function(_0x953cb,_0x251ab3){if(_0x953cb['body']['id']){delete _0x953cb[_0x35aa('0x47')]['id'];}return db[_0x35aa('0x2a')][_0x35aa('0x45')]({'where':{'id':_0x953cb[_0x35aa('0x42')]['id']}})[_0x35aa('0x23')](handleEntityNotFound(_0x251ab3,null))[_0x35aa('0x23')](saveUpdates(_0x953cb['body'],null))['then'](respondWithResult(_0x251ab3,null))[_0x35aa('0x48')](handleError(_0x251ab3,null));};exports[_0x35aa('0x49')]=function(_0x189875,_0x18b4c0){return db['JscriptyQuestionReport'][_0x35aa('0x45')]({'where':{'id':_0x189875[_0x35aa('0x42')]['id']}})['then'](handleEntityNotFound(_0x18b4c0,null))[_0x35aa('0x23')](removeEntity(_0x18b4c0,null))[_0x35aa('0x48')](handleError(_0x18b4c0,null));};exports['describe']=function(_0x1b586d,_0x46f1b9){return db[_0x35aa('0x2a')]['describe']()['then'](respondWithResult(_0x46f1b9,null))[_0x35aa('0x48')](handleError(_0x46f1b9,null));};