Built motion from commit ac06311e.|2.6.28
[motion2.git] / server / api / integrationReport / integrationReport.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 _0xcc86=['destroy','error','stack','name','send','index','map','fieldName','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','sort','where','pick','type','merge','IntegrationReport','includeAll','include','findAll','rows','catch','show','params','rawAttributes','options','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','util','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','apply','save','update','then'];(function(_0x5bf840,_0x9fc2ab){var _0x4f4355=function(_0x5bef49){while(--_0x5bef49){_0x5bf840['push'](_0x5bf840['shift']());}};_0x4f4355(++_0x9fc2ab);}(_0xcc86,0x183));var _0x6cc8=function(_0x1176b0,_0x3b83ef){_0x1176b0=_0x1176b0-0x0;var _0x322419=_0xcc86[_0x1176b0];return _0x322419;};'use strict';var emlformat=require(_0x6cc8('0x0'));var rimraf=require(_0x6cc8('0x1'));var zipdir=require(_0x6cc8('0x2'));var jsonpatch=require(_0x6cc8('0x3'));var rp=require(_0x6cc8('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x6cc8('0x5'));var path=require('path');var sox=require(_0x6cc8('0x6'));var csv=require(_0x6cc8('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6cc8('0x8'));var _=require('lodash');var squel=require(_0x6cc8('0x9'));var crypto=require(_0x6cc8('0xa'));var jsforce=require(_0x6cc8('0xb'));var deskjs=require(_0x6cc8('0xc'));var toCsv=require(_0x6cc8('0x7'));var querystring=require(_0x6cc8('0xd'));var Papa=require(_0x6cc8('0xe'));var Redis=require('ioredis');var authService=require(_0x6cc8('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6cc8('0x10'));var logger=require(_0x6cc8('0x11'))('api');var utils=require(_0x6cc8('0x12'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x6cc8('0x13'))['db'];function respondWithStatusCode(_0x494718,_0x34aed4){_0x34aed4=_0x34aed4||0xcc;return function(_0x2aeb05){if(_0x2aeb05){return _0x494718[_0x6cc8('0x14')](_0x34aed4);}return _0x494718['status'](_0x34aed4)[_0x6cc8('0x15')]();};}function respondWithResult(_0x4d6356,_0x22aec6){_0x22aec6=_0x22aec6||0xc8;return function(_0x57838a){if(_0x57838a){return _0x4d6356[_0x6cc8('0x16')](_0x22aec6)[_0x6cc8('0x17')](_0x57838a);}};}function respondWithFilteredResult(_0x5725e1,_0x2d669c){return function(_0x34a518){if(_0x34a518){var _0x48574d=typeof _0x2d669c[_0x6cc8('0x18')]===_0x6cc8('0x19')&&typeof _0x2d669c[_0x6cc8('0x1a')]===_0x6cc8('0x19');var _0x2aa7cd=_0x34a518[_0x6cc8('0x1b')];var _0xeca7c2=_0x48574d?0x0:_0x2d669c[_0x6cc8('0x18')];var _0x303c7f=_0x48574d?_0x34a518['count']:_0x2d669c[_0x6cc8('0x18')]+_0x2d669c[_0x6cc8('0x1a')];var _0x4fad1f;if(_0x303c7f>=_0x2aa7cd){_0x303c7f=_0x2aa7cd;_0x4fad1f=0xc8;}else{_0x4fad1f=0xce;}_0x5725e1[_0x6cc8('0x16')](_0x4fad1f);return _0x5725e1['set'](_0x6cc8('0x1c'),_0xeca7c2+'-'+_0x303c7f+'/'+_0x2aa7cd)[_0x6cc8('0x17')](_0x34a518);}return null;};}function patchUpdates(_0x16041e){return function(_0x591ea9){try{jsonpatch[_0x6cc8('0x1d')](_0x591ea9,_0x16041e,!![]);}catch(_0x4bb4a9){return BPromise['reject'](_0x4bb4a9);}return _0x591ea9[_0x6cc8('0x1e')]();};}function saveUpdates(_0x5d1e72,_0x122947){return function(_0x176de8){if(_0x176de8){return _0x176de8[_0x6cc8('0x1f')](_0x5d1e72)[_0x6cc8('0x20')](function(_0x447c79){return _0x447c79;});}return null;};}function removeEntity(_0x132f36,_0x25b9d7){return function(_0x56d0ac){if(_0x56d0ac){return _0x56d0ac[_0x6cc8('0x21')]()[_0x6cc8('0x20')](function(){_0x132f36[_0x6cc8('0x16')](0xcc)[_0x6cc8('0x15')]();});}};}function handleEntityNotFound(_0x437dee,_0x4d66de){return function(_0x149b79){if(!_0x149b79){_0x437dee['sendStatus'](0x194);}return _0x149b79;};}function handleError(_0x1cac52,_0x3f5f10){_0x3f5f10=_0x3f5f10||0x1f4;return function(_0x3f71e4){logger[_0x6cc8('0x22')](_0x3f71e4[_0x6cc8('0x23')]);if(_0x3f71e4[_0x6cc8('0x24')]){delete _0x3f71e4[_0x6cc8('0x24')];}_0x1cac52['status'](_0x3f5f10)[_0x6cc8('0x25')](_0x3f71e4);};}exports[_0x6cc8('0x26')]=function(_0x3c8fa7,_0xf68c89){var _0x142f5c={},_0x39011b={},_0x2b8148={'count':0x0,'rows':[]};var _0x2206a5=_[_0x6cc8('0x27')](db['IntegrationReport']['rawAttributes'],function(_0x19d15f){return{'name':_0x19d15f[_0x6cc8('0x28')],'type':_0x19d15f['type'][_0x6cc8('0x29')]};});_0x39011b['model']=_[_0x6cc8('0x27')](_0x2206a5,_0x6cc8('0x24'));_0x39011b[_0x6cc8('0x2a')]=_[_0x6cc8('0x2b')](_0x3c8fa7[_0x6cc8('0x2a')]);_0x39011b[_0x6cc8('0x2c')]=_[_0x6cc8('0x2d')](_0x39011b[_0x6cc8('0x2e')],_0x39011b['query']);_0x142f5c[_0x6cc8('0x2f')]=_[_0x6cc8('0x2d')](_0x39011b[_0x6cc8('0x2e')],qs[_0x6cc8('0x30')](_0x3c8fa7[_0x6cc8('0x2a')][_0x6cc8('0x30')]));_0x142f5c[_0x6cc8('0x2f')]=_0x142f5c[_0x6cc8('0x2f')][_0x6cc8('0x31')]?_0x142f5c[_0x6cc8('0x2f')]:_0x39011b[_0x6cc8('0x2e')];if(!_0x3c8fa7['query'][_0x6cc8('0x32')]('nolimit')){_0x142f5c[_0x6cc8('0x1a')]=qs[_0x6cc8('0x1a')](_0x3c8fa7[_0x6cc8('0x2a')][_0x6cc8('0x1a')]);_0x142f5c[_0x6cc8('0x18')]=qs[_0x6cc8('0x18')](_0x3c8fa7[_0x6cc8('0x2a')]['offset']);}_0x142f5c['order']=qs[_0x6cc8('0x33')](_0x3c8fa7[_0x6cc8('0x2a')]['sort']);_0x142f5c[_0x6cc8('0x34')]=qs['filters'](_[_0x6cc8('0x35')](_0x3c8fa7[_0x6cc8('0x2a')],_0x39011b['filters']),_0x2206a5);if(_0x3c8fa7[_0x6cc8('0x2a')]['filter']){_0x142f5c[_0x6cc8('0x34')]=_['merge'](_0x142f5c['where'],{'$or':_['map'](_0x2206a5,function(_0x4a7032){if(_0x4a7032[_0x6cc8('0x36')]!=='VIRTUAL'){var _0x4564aa={};_0x4564aa[_0x4a7032[_0x6cc8('0x24')]]={'$like':'%'+_0x3c8fa7[_0x6cc8('0x2a')]['filter']+'%'};return _0x4564aa;}})});}_0x142f5c=_[_0x6cc8('0x37')]({},_0x142f5c,_0x3c8fa7['options']);var _0x1ceeae={'where':_0x142f5c[_0x6cc8('0x34')]};return db[_0x6cc8('0x38')]['count'](_0x1ceeae)['then'](function(_0x28400a){_0x2b8148[_0x6cc8('0x1b')]=_0x28400a;if(_0x3c8fa7[_0x6cc8('0x2a')][_0x6cc8('0x39')]){_0x142f5c[_0x6cc8('0x3a')]=[{'all':!![]}];}return db[_0x6cc8('0x38')][_0x6cc8('0x3b')](_0x142f5c);})['then'](function(_0x52c61c){_0x2b8148[_0x6cc8('0x3c')]=_0x52c61c;return _0x2b8148;})['then'](respondWithFilteredResult(_0xf68c89,_0x142f5c))[_0x6cc8('0x3d')](handleError(_0xf68c89,null));};exports[_0x6cc8('0x3e')]=function(_0x5ecb7b,_0x4d747e){var _0x5dcd03={'raw':![],'where':{'id':_0x5ecb7b[_0x6cc8('0x3f')]['id']}},_0x40bc92={};_0x40bc92['model']=_[_0x6cc8('0x2b')](db[_0x6cc8('0x38')][_0x6cc8('0x40')]);_0x40bc92[_0x6cc8('0x2a')]=_['keys'](_0x5ecb7b['query']);_0x40bc92[_0x6cc8('0x2c')]=_['intersection'](_0x40bc92[_0x6cc8('0x2e')],_0x40bc92[_0x6cc8('0x2a')]);_0x5dcd03[_0x6cc8('0x2f')]=_[_0x6cc8('0x2d')](_0x40bc92[_0x6cc8('0x2e')],qs['fields'](_0x5ecb7b[_0x6cc8('0x2a')][_0x6cc8('0x30')]));_0x5dcd03['attributes']=_0x5dcd03['attributes'][_0x6cc8('0x31')]?_0x5dcd03[_0x6cc8('0x2f')]:_0x40bc92[_0x6cc8('0x2e')];if(_0x5ecb7b[_0x6cc8('0x2a')][_0x6cc8('0x39')]){_0x5dcd03[_0x6cc8('0x3a')]=[{'all':!![]}];}_0x5dcd03=_[_0x6cc8('0x37')]({},_0x5dcd03,_0x5ecb7b[_0x6cc8('0x41')]);return db['IntegrationReport'][_0x6cc8('0x42')](_0x5dcd03)['then'](handleEntityNotFound(_0x4d747e,null))['then'](respondWithResult(_0x4d747e,null))[_0x6cc8('0x3d')](handleError(_0x4d747e,null));};exports[_0x6cc8('0x43')]=function(_0x357fb1,_0x276ff9){return db['IntegrationReport'][_0x6cc8('0x43')](_0x357fb1[_0x6cc8('0x44')],{})[_0x6cc8('0x20')](respondWithResult(_0x276ff9,0xc9))[_0x6cc8('0x3d')](handleError(_0x276ff9,null));};exports[_0x6cc8('0x1f')]=function(_0x1a24ce,_0x3c8a0d){if(_0x1a24ce['body']['id']){delete _0x1a24ce[_0x6cc8('0x44')]['id'];}return db[_0x6cc8('0x38')][_0x6cc8('0x42')]({'where':{'id':_0x1a24ce[_0x6cc8('0x3f')]['id']}})[_0x6cc8('0x20')](handleEntityNotFound(_0x3c8a0d,null))[_0x6cc8('0x20')](saveUpdates(_0x1a24ce[_0x6cc8('0x44')],null))[_0x6cc8('0x20')](respondWithResult(_0x3c8a0d,null))['catch'](handleError(_0x3c8a0d,null));};exports[_0x6cc8('0x21')]=function(_0x26732f,_0x9a21c6){return db[_0x6cc8('0x38')][_0x6cc8('0x42')]({'where':{'id':_0x26732f[_0x6cc8('0x3f')]['id']}})[_0x6cc8('0x20')](handleEntityNotFound(_0x9a21c6,null))[_0x6cc8('0x20')](removeEntity(_0x9a21c6,null))[_0x6cc8('0x3d')](handleError(_0x9a21c6,null));};exports[_0x6cc8('0x45')]=function(_0x1bc003,_0x3d270c){return db['IntegrationReport'][_0x6cc8('0x45')]()[_0x6cc8('0x20')](respondWithResult(_0x3d270c,null))['catch'](handleError(_0x3d270c,null));};