a5e6fb542eaa1b37cc1fb8d68380b52154a6a755
[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 _0x34c8=['include','findAll','rows','catch','show','params','includeAll','body','find','describe','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','destroy','end','sendStatus','stack','name','index','map','IntegrationReport','rawAttributes','fieldName','type','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','sort','where','filters','filter','VIRTUAL','merge','options','then'];(function(_0x3c49d3,_0x3d69cb){var _0x436837=function(_0x23a708){while(--_0x23a708){_0x3c49d3['push'](_0x3c49d3['shift']());}};_0x436837(++_0x3d69cb);}(_0x34c8,0xeb));var _0x834c=function(_0x4fbfd9,_0x3ab91a){_0x4fbfd9=_0x4fbfd9-0x0;var _0x31dc94=_0x34c8[_0x4fbfd9];return _0x31dc94;};'use strict';var emlformat=require(_0x834c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x834c('0x1'));var jsonpatch=require(_0x834c('0x2'));var rp=require(_0x834c('0x3'));var moment=require(_0x834c('0x4'));var BPromise=require(_0x834c('0x5'));var Mustache=require(_0x834c('0x6'));var util=require(_0x834c('0x7'));var path=require(_0x834c('0x8'));var sox=require(_0x834c('0x9'));var csv=require(_0x834c('0xa'));var ejs=require(_0x834c('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x834c('0xc'));var squel=require(_0x834c('0xd'));var crypto=require('crypto');var jsforce=require(_0x834c('0xe'));var deskjs=require(_0x834c('0xf'));var toCsv=require('to-csv');var querystring=require(_0x834c('0x10'));var Papa=require(_0x834c('0x11'));var Redis=require(_0x834c('0x12'));var authService=require(_0x834c('0x13'));var qs=require(_0x834c('0x14'));var as=require(_0x834c('0x15'));var hardwareService=require(_0x834c('0x16'));var logger=require(_0x834c('0x17'))(_0x834c('0x18'));var utils=require(_0x834c('0x19'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x834c('0x1a'))['db'];function respondWithStatusCode(_0x2bbb44,_0x57e43e){_0x57e43e=_0x57e43e||0xcc;return function(_0x89809e){if(_0x89809e){return _0x2bbb44['sendStatus'](_0x57e43e);}return _0x2bbb44['status'](_0x57e43e)['end']();};}function respondWithResult(_0xa9092f,_0x28c1f1){_0x28c1f1=_0x28c1f1||0xc8;return function(_0x1ee1e9){if(_0x1ee1e9){return _0xa9092f[_0x834c('0x1b')](_0x28c1f1)[_0x834c('0x1c')](_0x1ee1e9);}};}function respondWithFilteredResult(_0x517022,_0x5698c3){return function(_0x1192d7){if(_0x1192d7){var _0x19988e=typeof _0x5698c3[_0x834c('0x1d')]===_0x834c('0x1e')&&typeof _0x5698c3[_0x834c('0x1f')]===_0x834c('0x1e');var _0x7c787b=_0x1192d7[_0x834c('0x20')];var _0xeca1d2=_0x19988e?0x0:_0x5698c3[_0x834c('0x1d')];var _0x42445c=_0x19988e?_0x1192d7[_0x834c('0x20')]:_0x5698c3[_0x834c('0x1d')]+_0x5698c3[_0x834c('0x1f')];var _0x3bb836;if(_0x42445c>=_0x7c787b){_0x42445c=_0x7c787b;_0x3bb836=0xc8;}else{_0x3bb836=0xce;}_0x517022[_0x834c('0x1b')](_0x3bb836);return _0x517022[_0x834c('0x21')](_0x834c('0x22'),_0xeca1d2+'-'+_0x42445c+'/'+_0x7c787b)[_0x834c('0x1c')](_0x1192d7);}return null;};}function patchUpdates(_0x58e83d){return function(_0x4e3265){try{jsonpatch[_0x834c('0x23')](_0x4e3265,_0x58e83d,!![]);}catch(_0x14b673){return BPromise[_0x834c('0x24')](_0x14b673);}return _0x4e3265['save']();};}function saveUpdates(_0x8ff0cc,_0x36651e){return function(_0x2fb24b){if(_0x2fb24b){return _0x2fb24b[_0x834c('0x25')](_0x8ff0cc)['then'](function(_0x994633){return _0x994633;});}return null;};}function removeEntity(_0x355c56,_0x26bdb1){return function(_0x2d60be){if(_0x2d60be){return _0x2d60be[_0x834c('0x26')]()['then'](function(){_0x355c56[_0x834c('0x1b')](0xcc)[_0x834c('0x27')]();});}};}function handleEntityNotFound(_0x1404ab,_0x49a21f){return function(_0xb8aa85){if(!_0xb8aa85){_0x1404ab[_0x834c('0x28')](0x194);}return _0xb8aa85;};}function handleError(_0x2070ae,_0x43c5d2){_0x43c5d2=_0x43c5d2||0x1f4;return function(_0x367e8a){logger['error'](_0x367e8a[_0x834c('0x29')]);if(_0x367e8a[_0x834c('0x2a')]){delete _0x367e8a[_0x834c('0x2a')];}_0x2070ae[_0x834c('0x1b')](_0x43c5d2)['send'](_0x367e8a);};}exports[_0x834c('0x2b')]=function(_0x1eccc1,_0x8761ab){var _0x196921={},_0x123687={},_0x3bff39={'count':0x0,'rows':[]};var _0x2e3a97=_[_0x834c('0x2c')](db[_0x834c('0x2d')][_0x834c('0x2e')],function(_0x32bbfd){return{'name':_0x32bbfd[_0x834c('0x2f')],'type':_0x32bbfd[_0x834c('0x30')]['key']};});_0x123687[_0x834c('0x31')]=_['map'](_0x2e3a97,_0x834c('0x2a'));_0x123687[_0x834c('0x32')]=_[_0x834c('0x33')](_0x1eccc1[_0x834c('0x32')]);_0x123687['filters']=_['intersection'](_0x123687[_0x834c('0x31')],_0x123687[_0x834c('0x32')]);_0x196921[_0x834c('0x34')]=_[_0x834c('0x35')](_0x123687[_0x834c('0x31')],qs[_0x834c('0x36')](_0x1eccc1[_0x834c('0x32')][_0x834c('0x36')]));_0x196921[_0x834c('0x34')]=_0x196921[_0x834c('0x34')][_0x834c('0x37')]?_0x196921['attributes']:_0x123687['model'];if(!_0x1eccc1['query'][_0x834c('0x38')]('nolimit')){_0x196921[_0x834c('0x1f')]=qs[_0x834c('0x1f')](_0x1eccc1[_0x834c('0x32')][_0x834c('0x1f')]);_0x196921[_0x834c('0x1d')]=qs['offset'](_0x1eccc1[_0x834c('0x32')][_0x834c('0x1d')]);}_0x196921['order']=qs[_0x834c('0x39')](_0x1eccc1[_0x834c('0x32')]['sort']);_0x196921[_0x834c('0x3a')]=qs[_0x834c('0x3b')](_['pick'](_0x1eccc1[_0x834c('0x32')],_0x123687[_0x834c('0x3b')]),_0x2e3a97);if(_0x1eccc1[_0x834c('0x32')][_0x834c('0x3c')]){_0x196921['where']=_['merge'](_0x196921[_0x834c('0x3a')],{'$or':_[_0x834c('0x2c')](_0x2e3a97,function(_0x36eaa0){if(_0x36eaa0[_0x834c('0x30')]!==_0x834c('0x3d')){var _0x4c1897={};_0x4c1897[_0x36eaa0[_0x834c('0x2a')]]={'$like':'%'+_0x1eccc1[_0x834c('0x32')][_0x834c('0x3c')]+'%'};return _0x4c1897;}})});}_0x196921=_[_0x834c('0x3e')]({},_0x196921,_0x1eccc1[_0x834c('0x3f')]);var _0x11d601={'where':_0x196921[_0x834c('0x3a')]};return db[_0x834c('0x2d')][_0x834c('0x20')](_0x11d601)[_0x834c('0x40')](function(_0x231aad){_0x3bff39[_0x834c('0x20')]=_0x231aad;if(_0x1eccc1['query']['includeAll']){_0x196921[_0x834c('0x41')]=[{'all':!![]}];}return db[_0x834c('0x2d')][_0x834c('0x42')](_0x196921);})[_0x834c('0x40')](function(_0x271cce){_0x3bff39[_0x834c('0x43')]=_0x271cce;return _0x3bff39;})[_0x834c('0x40')](respondWithFilteredResult(_0x8761ab,_0x196921))[_0x834c('0x44')](handleError(_0x8761ab,null));};exports[_0x834c('0x45')]=function(_0x1916f8,_0x2ade18){var _0x569bed={'raw':![],'where':{'id':_0x1916f8[_0x834c('0x46')]['id']}},_0x56865b={};_0x56865b[_0x834c('0x31')]=_[_0x834c('0x33')](db[_0x834c('0x2d')]['rawAttributes']);_0x56865b[_0x834c('0x32')]=_[_0x834c('0x33')](_0x1916f8[_0x834c('0x32')]);_0x56865b[_0x834c('0x3b')]=_[_0x834c('0x35')](_0x56865b[_0x834c('0x31')],_0x56865b[_0x834c('0x32')]);_0x569bed[_0x834c('0x34')]=_[_0x834c('0x35')](_0x56865b[_0x834c('0x31')],qs[_0x834c('0x36')](_0x1916f8[_0x834c('0x32')][_0x834c('0x36')]));_0x569bed[_0x834c('0x34')]=_0x569bed[_0x834c('0x34')][_0x834c('0x37')]?_0x569bed[_0x834c('0x34')]:_0x56865b[_0x834c('0x31')];if(_0x1916f8[_0x834c('0x32')][_0x834c('0x47')]){_0x569bed[_0x834c('0x41')]=[{'all':!![]}];}_0x569bed=_[_0x834c('0x3e')]({},_0x569bed,_0x1916f8[_0x834c('0x3f')]);return db[_0x834c('0x2d')]['find'](_0x569bed)[_0x834c('0x40')](handleEntityNotFound(_0x2ade18,null))[_0x834c('0x40')](respondWithResult(_0x2ade18,null))['catch'](handleError(_0x2ade18,null));};exports['create']=function(_0x33b984,_0x4679d6){return db[_0x834c('0x2d')]['create'](_0x33b984['body'],{})[_0x834c('0x40')](respondWithResult(_0x4679d6,0xc9))['catch'](handleError(_0x4679d6,null));};exports['update']=function(_0x2d7847,_0x2f8c59){if(_0x2d7847[_0x834c('0x48')]['id']){delete _0x2d7847[_0x834c('0x48')]['id'];}return db[_0x834c('0x2d')][_0x834c('0x49')]({'where':{'id':_0x2d7847[_0x834c('0x46')]['id']}})['then'](handleEntityNotFound(_0x2f8c59,null))[_0x834c('0x40')](saveUpdates(_0x2d7847['body'],null))['then'](respondWithResult(_0x2f8c59,null))['catch'](handleError(_0x2f8c59,null));};exports[_0x834c('0x26')]=function(_0x10f16c,_0x58c678){return db[_0x834c('0x2d')][_0x834c('0x49')]({'where':{'id':_0x10f16c[_0x834c('0x46')]['id']}})[_0x834c('0x40')](handleEntityNotFound(_0x58c678,null))[_0x834c('0x40')](removeEntity(_0x58c678,null))[_0x834c('0x44')](handleError(_0x58c678,null));};exports[_0x834c('0x4a')]=function(_0x45c1cd,_0x504174){return db['IntegrationReport'][_0x834c('0x4a')]()[_0x834c('0x40')](respondWithResult(_0x504174,null))[_0x834c('0x44')](handleError(_0x504174,null));};