f4b5cc06c8b4e807703c4b0c37d0eb652cdee0b4
[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 _0x1b20=['fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','options','include','findAll','catch','params','includeAll','merge','find','create','body','describe','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','sendStatus','end','status','limit','undefined','count','offset','Content-Range','apply','reject','update','then','destroy','stack','name','index','map','JscriptyAnswerReport','rawAttributes'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x1b20,0x66));var _0x01b2=function(_0x21a9d9,_0x4d5ac8){_0x21a9d9=_0x21a9d9-0x0;var _0x46adce=_0x1b20[_0x21a9d9];return _0x46adce;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x01b2('0x0'));var zipdir=require(_0x01b2('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x01b2('0x2'));var BPromise=require(_0x01b2('0x3'));var Mustache=require(_0x01b2('0x4'));var util=require(_0x01b2('0x5'));var path=require(_0x01b2('0x6'));var sox=require(_0x01b2('0x7'));var csv=require(_0x01b2('0x8'));var ejs=require(_0x01b2('0x9'));var fs=require('fs');var fs_extra=require(_0x01b2('0xa'));var _=require(_0x01b2('0xb'));var squel=require(_0x01b2('0xc'));var crypto=require(_0x01b2('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x01b2('0xe'));var toCsv=require('to-csv');var querystring=require(_0x01b2('0xf'));var Papa=require(_0x01b2('0x10'));var Redis=require(_0x01b2('0x11'));var authService=require(_0x01b2('0x12'));var qs=require(_0x01b2('0x13'));var as=require(_0x01b2('0x14'));var hardwareService=require(_0x01b2('0x15'));var logger=require(_0x01b2('0x16'))('api');var utils=require(_0x01b2('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x01b2('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x41a618,_0x8ac569){_0x8ac569=_0x8ac569||0xcc;return function(_0x2c6d4d){if(_0x2c6d4d){return _0x41a618[_0x01b2('0x19')](_0x8ac569);}return _0x41a618['status'](_0x8ac569)[_0x01b2('0x1a')]();};}function respondWithResult(_0x2e7b31,_0x4f1c15){_0x4f1c15=_0x4f1c15||0xc8;return function(_0x1626ba){if(_0x1626ba){return _0x2e7b31[_0x01b2('0x1b')](_0x4f1c15)['json'](_0x1626ba);}};}function respondWithFilteredResult(_0x299d0c,_0x3d5833){return function(_0x1a9734){if(_0x1a9734){var _0x3f68a8=typeof _0x3d5833['offset']==='undefined'&&typeof _0x3d5833[_0x01b2('0x1c')]===_0x01b2('0x1d');var _0x588dbe=_0x1a9734[_0x01b2('0x1e')];var _0x444236=_0x3f68a8?0x0:_0x3d5833[_0x01b2('0x1f')];var _0x5986f5=_0x3f68a8?_0x1a9734[_0x01b2('0x1e')]:_0x3d5833[_0x01b2('0x1f')]+_0x3d5833[_0x01b2('0x1c')];var _0xd2acbb;if(_0x5986f5>=_0x588dbe){_0x5986f5=_0x588dbe;_0xd2acbb=0xc8;}else{_0xd2acbb=0xce;}_0x299d0c[_0x01b2('0x1b')](_0xd2acbb);return _0x299d0c['set'](_0x01b2('0x20'),_0x444236+'-'+_0x5986f5+'/'+_0x588dbe)['json'](_0x1a9734);}return null;};}function patchUpdates(_0x7464e5){return function(_0x4c0008){try{jsonpatch[_0x01b2('0x21')](_0x4c0008,_0x7464e5,!![]);}catch(_0x266264){return BPromise[_0x01b2('0x22')](_0x266264);}return _0x4c0008['save']();};}function saveUpdates(_0x269b54,_0x2f01b0){return function(_0xc3027){if(_0xc3027){return _0xc3027[_0x01b2('0x23')](_0x269b54)[_0x01b2('0x24')](function(_0x479e94){return _0x479e94;});}return null;};}function removeEntity(_0x1874b9,_0x539db1){return function(_0x54e866){if(_0x54e866){return _0x54e866[_0x01b2('0x25')]()[_0x01b2('0x24')](function(){_0x1874b9[_0x01b2('0x1b')](0xcc)[_0x01b2('0x1a')]();});}};}function handleEntityNotFound(_0x2e32c1,_0x307229){return function(_0x4920f7){if(!_0x4920f7){_0x2e32c1[_0x01b2('0x19')](0x194);}return _0x4920f7;};}function handleError(_0x239543,_0x424cfd){_0x424cfd=_0x424cfd||0x1f4;return function(_0x17274f){logger['error'](_0x17274f[_0x01b2('0x26')]);if(_0x17274f['name']){delete _0x17274f[_0x01b2('0x27')];}_0x239543[_0x01b2('0x1b')](_0x424cfd)['send'](_0x17274f);};}exports[_0x01b2('0x28')]=function(_0x5efdda,_0x487c49){var _0x291d56={},_0x4363ec={},_0x5befbf={'count':0x0,'rows':[]};var _0x24ed7d=_[_0x01b2('0x29')](db[_0x01b2('0x2a')][_0x01b2('0x2b')],function(_0x3009a6){return{'name':_0x3009a6[_0x01b2('0x2c')],'type':_0x3009a6[_0x01b2('0x2d')][_0x01b2('0x2e')]};});_0x4363ec[_0x01b2('0x2f')]=_[_0x01b2('0x29')](_0x24ed7d,_0x01b2('0x27'));_0x4363ec['query']=_[_0x01b2('0x30')](_0x5efdda[_0x01b2('0x31')]);_0x4363ec[_0x01b2('0x32')]=_[_0x01b2('0x33')](_0x4363ec[_0x01b2('0x2f')],_0x4363ec[_0x01b2('0x31')]);_0x291d56['attributes']=_['intersection'](_0x4363ec[_0x01b2('0x2f')],qs['fields'](_0x5efdda['query'][_0x01b2('0x34')]));_0x291d56[_0x01b2('0x35')]=_0x291d56[_0x01b2('0x35')][_0x01b2('0x36')]?_0x291d56['attributes']:_0x4363ec[_0x01b2('0x2f')];if(!_0x5efdda['query'][_0x01b2('0x37')]('nolimit')){_0x291d56['limit']=qs['limit'](_0x5efdda[_0x01b2('0x31')][_0x01b2('0x1c')]);_0x291d56[_0x01b2('0x1f')]=qs[_0x01b2('0x1f')](_0x5efdda['query'][_0x01b2('0x1f')]);}_0x291d56[_0x01b2('0x38')]=qs['sort'](_0x5efdda[_0x01b2('0x31')][_0x01b2('0x39')]);_0x291d56[_0x01b2('0x3a')]=qs[_0x01b2('0x32')](_[_0x01b2('0x3b')](_0x5efdda[_0x01b2('0x31')],_0x4363ec['filters']),_0x24ed7d);if(_0x5efdda[_0x01b2('0x31')][_0x01b2('0x3c')]){_0x291d56['where']=_['merge'](_0x291d56[_0x01b2('0x3a')],{'$or':_[_0x01b2('0x29')](_0x24ed7d,function(_0x4555c8){if(_0x4555c8[_0x01b2('0x2d')]!==_0x01b2('0x3d')){var _0x3b0cc7={};_0x3b0cc7[_0x4555c8['name']]={'$like':'%'+_0x5efdda['query'][_0x01b2('0x3c')]+'%'};return _0x3b0cc7;}})});}_0x291d56=_['merge']({},_0x291d56,_0x5efdda[_0x01b2('0x3e')]);var _0x31878={'where':_0x291d56[_0x01b2('0x3a')]};return db[_0x01b2('0x2a')][_0x01b2('0x1e')](_0x31878)['then'](function(_0x279ce0){_0x5befbf[_0x01b2('0x1e')]=_0x279ce0;if(_0x5efdda[_0x01b2('0x31')]['includeAll']){_0x291d56[_0x01b2('0x3f')]=[{'all':!![]}];}return db[_0x01b2('0x2a')][_0x01b2('0x40')](_0x291d56);})['then'](function(_0x34f646){_0x5befbf['rows']=_0x34f646;return _0x5befbf;})[_0x01b2('0x24')](respondWithFilteredResult(_0x487c49,_0x291d56))[_0x01b2('0x41')](handleError(_0x487c49,null));};exports['show']=function(_0x2b5214,_0x3a36fc){var _0x4da4aa={'raw':!![],'where':{'id':_0x2b5214[_0x01b2('0x42')]['id']}},_0x2df2b6={};_0x2df2b6[_0x01b2('0x2f')]=_[_0x01b2('0x30')](db[_0x01b2('0x2a')]['rawAttributes']);_0x2df2b6[_0x01b2('0x31')]=_[_0x01b2('0x30')](_0x2b5214[_0x01b2('0x31')]);_0x2df2b6['filters']=_[_0x01b2('0x33')](_0x2df2b6[_0x01b2('0x2f')],_0x2df2b6[_0x01b2('0x31')]);_0x4da4aa[_0x01b2('0x35')]=_[_0x01b2('0x33')](_0x2df2b6[_0x01b2('0x2f')],qs[_0x01b2('0x34')](_0x2b5214[_0x01b2('0x31')]['fields']));_0x4da4aa[_0x01b2('0x35')]=_0x4da4aa[_0x01b2('0x35')][_0x01b2('0x36')]?_0x4da4aa[_0x01b2('0x35')]:_0x2df2b6[_0x01b2('0x2f')];if(_0x2b5214[_0x01b2('0x31')][_0x01b2('0x43')]){_0x4da4aa['include']=[{'all':!![]}];}_0x4da4aa=_[_0x01b2('0x44')]({},_0x4da4aa,_0x2b5214[_0x01b2('0x3e')]);return db[_0x01b2('0x2a')][_0x01b2('0x45')](_0x4da4aa)['then'](handleEntityNotFound(_0x3a36fc,null))['then'](respondWithResult(_0x3a36fc,null))[_0x01b2('0x41')](handleError(_0x3a36fc,null));};exports[_0x01b2('0x46')]=function(_0x404a65,_0x49370d){return db[_0x01b2('0x2a')][_0x01b2('0x46')](_0x404a65[_0x01b2('0x47')],{})[_0x01b2('0x24')](respondWithResult(_0x49370d,0xc9))[_0x01b2('0x41')](handleError(_0x49370d,null));};exports[_0x01b2('0x23')]=function(_0x5b54c5,_0x2a8b8d){if(_0x5b54c5['body']['id']){delete _0x5b54c5[_0x01b2('0x47')]['id'];}return db['JscriptyAnswerReport']['find']({'where':{'id':_0x5b54c5[_0x01b2('0x42')]['id']}})[_0x01b2('0x24')](handleEntityNotFound(_0x2a8b8d,null))[_0x01b2('0x24')](saveUpdates(_0x5b54c5[_0x01b2('0x47')],null))[_0x01b2('0x24')](respondWithResult(_0x2a8b8d,null))['catch'](handleError(_0x2a8b8d,null));};exports['destroy']=function(_0x387954,_0x115557){return db[_0x01b2('0x2a')][_0x01b2('0x45')]({'where':{'id':_0x387954[_0x01b2('0x42')]['id']}})[_0x01b2('0x24')](handleEntityNotFound(_0x115557,null))['then'](removeEntity(_0x115557,null))[_0x01b2('0x41')](handleError(_0x115557,null));};exports[_0x01b2('0x48')]=function(_0x12ec87,_0x2b5bb5){return db[_0x01b2('0x2a')][_0x01b2('0x48')]()[_0x01b2('0x24')](respondWithResult(_0x2b5bb5,null))['catch'](handleError(_0x2b5bb5,null));};