eb50edb0ee16feae150f455adda7be0a9211d76b
[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 _0x4491=['path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','stack','send','map','rawAttributes','fieldName','type','key','model','name','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','merge','options','JscriptyAnswerReport','includeAll','include','findAll','rows','show','params','find','create','body','catch','destroy','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util'];(function(_0x361833,_0x306590){var _0x6936d5=function(_0x3873f7){while(--_0x3873f7){_0x361833['push'](_0x361833['shift']());}};_0x6936d5(++_0x306590);}(_0x4491,0x1bb));var _0x1449=function(_0x321aee,_0x186c30){_0x321aee=_0x321aee-0x0;var _0x4e3fd7=_0x4491[_0x321aee];return _0x4e3fd7;};'use strict';var emlformat=require(_0x1449('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1449('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x1449('0x2'));var moment=require(_0x1449('0x3'));var BPromise=require(_0x1449('0x4'));var Mustache=require(_0x1449('0x5'));var util=require(_0x1449('0x6'));var path=require(_0x1449('0x7'));var sox=require('sox');var csv=require(_0x1449('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1449('0x9'));var _=require(_0x1449('0xa'));var squel=require(_0x1449('0xb'));var crypto=require(_0x1449('0xc'));var jsforce=require(_0x1449('0xd'));var deskjs=require(_0x1449('0xe'));var toCsv=require('to-csv');var querystring=require(_0x1449('0xf'));var Papa=require(_0x1449('0x10'));var Redis=require('ioredis');var authService=require(_0x1449('0x11'));var qs=require(_0x1449('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1449('0x13'));var logger=require(_0x1449('0x14'))('api');var utils=require(_0x1449('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x1449('0x16'))['db'];function respondWithStatusCode(_0x3f5424,_0x399815){_0x399815=_0x399815||0xcc;return function(_0x25bce3){if(_0x25bce3){return _0x3f5424[_0x1449('0x17')](_0x399815);}return _0x3f5424[_0x1449('0x18')](_0x399815)[_0x1449('0x19')]();};}function respondWithResult(_0x377c96,_0x267d9a){_0x267d9a=_0x267d9a||0xc8;return function(_0x41b34d){if(_0x41b34d){return _0x377c96[_0x1449('0x18')](_0x267d9a)[_0x1449('0x1a')](_0x41b34d);}};}function respondWithFilteredResult(_0x441344,_0x2cf76c){return function(_0x1ec7e8){if(_0x1ec7e8){var _0x59b128=typeof _0x2cf76c[_0x1449('0x1b')]===_0x1449('0x1c')&&typeof _0x2cf76c['limit']===_0x1449('0x1c');var _0x290b72=_0x1ec7e8[_0x1449('0x1d')];var _0x364878=_0x59b128?0x0:_0x2cf76c[_0x1449('0x1b')];var _0x30a65f=_0x59b128?_0x1ec7e8[_0x1449('0x1d')]:_0x2cf76c[_0x1449('0x1b')]+_0x2cf76c[_0x1449('0x1e')];var _0x2dbae1;if(_0x30a65f>=_0x290b72){_0x30a65f=_0x290b72;_0x2dbae1=0xc8;}else{_0x2dbae1=0xce;}_0x441344[_0x1449('0x18')](_0x2dbae1);return _0x441344[_0x1449('0x1f')](_0x1449('0x20'),_0x364878+'-'+_0x30a65f+'/'+_0x290b72)['json'](_0x1ec7e8);}return null;};}function patchUpdates(_0x108f41){return function(_0x49c4d6){try{jsonpatch[_0x1449('0x21')](_0x49c4d6,_0x108f41,!![]);}catch(_0xaaea1d){return BPromise[_0x1449('0x22')](_0xaaea1d);}return _0x49c4d6[_0x1449('0x23')]();};}function saveUpdates(_0x3a2c85,_0x4dcc1b){return function(_0x4c86b9){if(_0x4c86b9){return _0x4c86b9[_0x1449('0x24')](_0x3a2c85)[_0x1449('0x25')](function(_0x100ac6){return _0x100ac6;});}return null;};}function removeEntity(_0x356d6b,_0x545cee){return function(_0x29e254){if(_0x29e254){return _0x29e254['destroy']()[_0x1449('0x25')](function(){_0x356d6b[_0x1449('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5a8cf0,_0x507a14){return function(_0x1ef1e3){if(!_0x1ef1e3){_0x5a8cf0[_0x1449('0x17')](0x194);}return _0x1ef1e3;};}function handleError(_0x39ad3c,_0x529dae){_0x529dae=_0x529dae||0x1f4;return function(_0x40e7d5){logger['error'](_0x40e7d5[_0x1449('0x26')]);if(_0x40e7d5['name']){delete _0x40e7d5['name'];}_0x39ad3c[_0x1449('0x18')](_0x529dae)[_0x1449('0x27')](_0x40e7d5);};}exports['index']=function(_0xe6900c,_0x5c3fdf){var _0x2836a1={},_0x36a74a={},_0x5d51dd={'count':0x0,'rows':[]};var _0x4b6530=_[_0x1449('0x28')](db['JscriptyAnswerReport'][_0x1449('0x29')],function(_0x22b207){return{'name':_0x22b207[_0x1449('0x2a')],'type':_0x22b207[_0x1449('0x2b')][_0x1449('0x2c')]};});_0x36a74a[_0x1449('0x2d')]=_[_0x1449('0x28')](_0x4b6530,_0x1449('0x2e'));_0x36a74a[_0x1449('0x2f')]=_[_0x1449('0x30')](_0xe6900c[_0x1449('0x2f')]);_0x36a74a[_0x1449('0x31')]=_[_0x1449('0x32')](_0x36a74a[_0x1449('0x2d')],_0x36a74a[_0x1449('0x2f')]);_0x2836a1[_0x1449('0x33')]=_[_0x1449('0x32')](_0x36a74a['model'],qs[_0x1449('0x34')](_0xe6900c['query'][_0x1449('0x34')]));_0x2836a1[_0x1449('0x33')]=_0x2836a1[_0x1449('0x33')][_0x1449('0x35')]?_0x2836a1[_0x1449('0x33')]:_0x36a74a[_0x1449('0x2d')];if(!_0xe6900c[_0x1449('0x2f')][_0x1449('0x36')]('nolimit')){_0x2836a1['limit']=qs['limit'](_0xe6900c[_0x1449('0x2f')][_0x1449('0x1e')]);_0x2836a1[_0x1449('0x1b')]=qs[_0x1449('0x1b')](_0xe6900c[_0x1449('0x2f')][_0x1449('0x1b')]);}_0x2836a1[_0x1449('0x37')]=qs[_0x1449('0x38')](_0xe6900c['query'][_0x1449('0x38')]);_0x2836a1[_0x1449('0x39')]=qs[_0x1449('0x31')](_[_0x1449('0x3a')](_0xe6900c[_0x1449('0x2f')],_0x36a74a[_0x1449('0x31')]),_0x4b6530);if(_0xe6900c['query'][_0x1449('0x3b')]){_0x2836a1[_0x1449('0x39')]=_['merge'](_0x2836a1[_0x1449('0x39')],{'$or':_['map'](_0x4b6530,function(_0x2ccb90){if(_0x2ccb90[_0x1449('0x2b')]!==_0x1449('0x3c')){var _0x759c1f={};_0x759c1f[_0x2ccb90['name']]={'$like':'%'+_0xe6900c[_0x1449('0x2f')][_0x1449('0x3b')]+'%'};return _0x759c1f;}})});}_0x2836a1=_[_0x1449('0x3d')]({},_0x2836a1,_0xe6900c[_0x1449('0x3e')]);var _0xcc47b={'where':_0x2836a1[_0x1449('0x39')]};return db[_0x1449('0x3f')][_0x1449('0x1d')](_0xcc47b)[_0x1449('0x25')](function(_0x73e53b){_0x5d51dd['count']=_0x73e53b;if(_0xe6900c[_0x1449('0x2f')][_0x1449('0x40')]){_0x2836a1[_0x1449('0x41')]=[{'all':!![]}];}return db[_0x1449('0x3f')][_0x1449('0x42')](_0x2836a1);})[_0x1449('0x25')](function(_0x599cf1){_0x5d51dd[_0x1449('0x43')]=_0x599cf1;return _0x5d51dd;})[_0x1449('0x25')](respondWithFilteredResult(_0x5c3fdf,_0x2836a1))['catch'](handleError(_0x5c3fdf,null));};exports[_0x1449('0x44')]=function(_0xc6d28a,_0x37cc94){var _0x123a9c={'raw':!![],'where':{'id':_0xc6d28a[_0x1449('0x45')]['id']}},_0xc542dd={};_0xc542dd[_0x1449('0x2d')]=_[_0x1449('0x30')](db['JscriptyAnswerReport']['rawAttributes']);_0xc542dd['query']=_[_0x1449('0x30')](_0xc6d28a[_0x1449('0x2f')]);_0xc542dd['filters']=_[_0x1449('0x32')](_0xc542dd[_0x1449('0x2d')],_0xc542dd[_0x1449('0x2f')]);_0x123a9c[_0x1449('0x33')]=_[_0x1449('0x32')](_0xc542dd[_0x1449('0x2d')],qs[_0x1449('0x34')](_0xc6d28a['query']['fields']));_0x123a9c[_0x1449('0x33')]=_0x123a9c[_0x1449('0x33')][_0x1449('0x35')]?_0x123a9c[_0x1449('0x33')]:_0xc542dd[_0x1449('0x2d')];if(_0xc6d28a[_0x1449('0x2f')][_0x1449('0x40')]){_0x123a9c['include']=[{'all':!![]}];}_0x123a9c=_['merge']({},_0x123a9c,_0xc6d28a['options']);return db[_0x1449('0x3f')][_0x1449('0x46')](_0x123a9c)[_0x1449('0x25')](handleEntityNotFound(_0x37cc94,null))['then'](respondWithResult(_0x37cc94,null))['catch'](handleError(_0x37cc94,null));};exports['create']=function(_0x4354b4,_0x3ea728){return db[_0x1449('0x3f')][_0x1449('0x47')](_0x4354b4[_0x1449('0x48')],{})[_0x1449('0x25')](respondWithResult(_0x3ea728,0xc9))[_0x1449('0x49')](handleError(_0x3ea728,null));};exports[_0x1449('0x24')]=function(_0x521b42,_0x58b2ca){if(_0x521b42['body']['id']){delete _0x521b42[_0x1449('0x48')]['id'];}return db[_0x1449('0x3f')][_0x1449('0x46')]({'where':{'id':_0x521b42[_0x1449('0x45')]['id']}})['then'](handleEntityNotFound(_0x58b2ca,null))[_0x1449('0x25')](saveUpdates(_0x521b42[_0x1449('0x48')],null))['then'](respondWithResult(_0x58b2ca,null))[_0x1449('0x49')](handleError(_0x58b2ca,null));};exports[_0x1449('0x4a')]=function(_0x113165,_0x2125df){return db[_0x1449('0x3f')][_0x1449('0x46')]({'where':{'id':_0x113165[_0x1449('0x45')]['id']}})[_0x1449('0x25')](handleEntityNotFound(_0x2125df,null))[_0x1449('0x25')](removeEntity(_0x2125df,null))[_0x1449('0x49')](handleError(_0x2125df,null));};exports['describe']=function(_0x941737,_0x54e529){return db[_0x1449('0x3f')]['describe']()[_0x1449('0x25')](respondWithResult(_0x54e529,null))[_0x1449('0x49')](handleError(_0x54e529,null));};