Built motion from commit 10af8726.|2.6.34
[motion2.git] / server / api / intZohoConfiguration / intZohoConfiguration.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 _0x44dd=['lodash','squel','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','save','update','then','destroy','error','stack','name','send','ZohoConfiguration','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','findAll','rows','catch','show','params','includeAll','include','create','body','find','findOne','ZohoField','getFields','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','request-promise','moment','util','path','ejs','fs-extra'];(function(_0x50f6e5,_0x151ccb){var _0x5988c5=function(_0x490a93){while(--_0x490a93){_0x50f6e5['push'](_0x50f6e5['shift']());}};_0x5988c5(++_0x151ccb);}(_0x44dd,0x1cb));var _0xd44d=function(_0x1287d5,_0x1bd3ef){_0x1287d5=_0x1287d5-0x0;var _0x2e5f22=_0x44dd[_0x1287d5];return _0x2e5f22;};'use strict';var emlformat=require(_0xd44d('0x0'));var rimraf=require(_0xd44d('0x1'));var zipdir=require(_0xd44d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd44d('0x3'));var moment=require(_0xd44d('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xd44d('0x5'));var path=require(_0xd44d('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xd44d('0x7'));var fs=require('fs');var fs_extra=require(_0xd44d('0x8'));var _=require(_0xd44d('0x9'));var squel=require(_0xd44d('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xd44d('0xb'));var toCsv=require(_0xd44d('0xc'));var querystring=require(_0xd44d('0xd'));var Papa=require(_0xd44d('0xe'));var Redis=require(_0xd44d('0xf'));var authService=require(_0xd44d('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xd44d('0x11'));var hardwareService=require(_0xd44d('0x12'));var logger=require(_0xd44d('0x13'))('api');var utils=require(_0xd44d('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xd44d('0x15'))['db'];function respondWithStatusCode(_0xf32906,_0x238eed){_0x238eed=_0x238eed||0xcc;return function(_0x517cf7){if(_0x517cf7){return _0xf32906[_0xd44d('0x16')](_0x238eed);}return _0xf32906['status'](_0x238eed)[_0xd44d('0x17')]();};}function respondWithResult(_0x5cca63,_0x464895){_0x464895=_0x464895||0xc8;return function(_0xba6503){if(_0xba6503){return _0x5cca63[_0xd44d('0x18')](_0x464895)[_0xd44d('0x19')](_0xba6503);}};}function respondWithFilteredResult(_0x3d7e37,_0x259341){return function(_0x2a8b1f){if(_0x2a8b1f){var _0x99a0a0=typeof _0x259341[_0xd44d('0x1a')]===_0xd44d('0x1b')&&typeof _0x259341[_0xd44d('0x1c')]===_0xd44d('0x1b');var _0x2e1532=_0x2a8b1f[_0xd44d('0x1d')];var _0x42f82d=_0x99a0a0?0x0:_0x259341[_0xd44d('0x1a')];var _0xeec714=_0x99a0a0?_0x2a8b1f[_0xd44d('0x1d')]:_0x259341[_0xd44d('0x1a')]+_0x259341[_0xd44d('0x1c')];var _0x77ad32;if(_0xeec714>=_0x2e1532){_0xeec714=_0x2e1532;_0x77ad32=0xc8;}else{_0x77ad32=0xce;}_0x3d7e37[_0xd44d('0x18')](_0x77ad32);return _0x3d7e37['set'](_0xd44d('0x1e'),_0x42f82d+'-'+_0xeec714+'/'+_0x2e1532)[_0xd44d('0x19')](_0x2a8b1f);}return null;};}function patchUpdates(_0x33eb76){return function(_0x325c5a){try{jsonpatch['apply'](_0x325c5a,_0x33eb76,!![]);}catch(_0x42b10c){return BPromise['reject'](_0x42b10c);}return _0x325c5a[_0xd44d('0x1f')]();};}function saveUpdates(_0x1b20e2,_0x225842){return function(_0x1b326e){if(_0x1b326e){return _0x1b326e[_0xd44d('0x20')](_0x1b20e2)[_0xd44d('0x21')](function(_0x5bc395){return _0x5bc395;});}return null;};}function removeEntity(_0x8c8042,_0x5c6e5f){return function(_0x58bfdc){if(_0x58bfdc){return _0x58bfdc[_0xd44d('0x22')]()[_0xd44d('0x21')](function(){_0x8c8042[_0xd44d('0x18')](0xcc)[_0xd44d('0x17')]();});}};}function handleEntityNotFound(_0xf16ede,_0x4b8558){return function(_0x1d69f4){if(!_0x1d69f4){_0xf16ede['sendStatus'](0x194);}return _0x1d69f4;};}function handleError(_0x10db28,_0x398c60){_0x398c60=_0x398c60||0x1f4;return function(_0x3178a1){logger[_0xd44d('0x23')](_0x3178a1[_0xd44d('0x24')]);if(_0x3178a1[_0xd44d('0x25')]){delete _0x3178a1[_0xd44d('0x25')];}_0x10db28[_0xd44d('0x18')](_0x398c60)[_0xd44d('0x26')](_0x3178a1);};}exports['index']=function(_0x55c09f,_0x5f21ef){var _0x2e5415={},_0x563a5e={},_0x207467={'count':0x0,'rows':[]};var _0x989ae0=_['map'](db[_0xd44d('0x27')][_0xd44d('0x28')],function(_0x51cb06){return{'name':_0x51cb06[_0xd44d('0x29')],'type':_0x51cb06[_0xd44d('0x2a')][_0xd44d('0x2b')]};});_0x563a5e[_0xd44d('0x2c')]=_[_0xd44d('0x2d')](_0x989ae0,_0xd44d('0x25'));_0x563a5e[_0xd44d('0x2e')]=_[_0xd44d('0x2f')](_0x55c09f[_0xd44d('0x2e')]);_0x563a5e['filters']=_[_0xd44d('0x30')](_0x563a5e[_0xd44d('0x2c')],_0x563a5e['query']);_0x2e5415[_0xd44d('0x31')]=_[_0xd44d('0x30')](_0x563a5e[_0xd44d('0x2c')],qs[_0xd44d('0x32')](_0x55c09f[_0xd44d('0x2e')][_0xd44d('0x32')]));_0x2e5415[_0xd44d('0x31')]=_0x2e5415[_0xd44d('0x31')][_0xd44d('0x33')]?_0x2e5415[_0xd44d('0x31')]:_0x563a5e[_0xd44d('0x2c')];if(!_0x55c09f['query'][_0xd44d('0x34')](_0xd44d('0x35'))){_0x2e5415[_0xd44d('0x1c')]=qs['limit'](_0x55c09f[_0xd44d('0x2e')][_0xd44d('0x1c')]);_0x2e5415['offset']=qs['offset'](_0x55c09f[_0xd44d('0x2e')][_0xd44d('0x1a')]);}_0x2e5415[_0xd44d('0x36')]=qs[_0xd44d('0x37')](_0x55c09f[_0xd44d('0x2e')][_0xd44d('0x37')]);_0x2e5415[_0xd44d('0x38')]=qs[_0xd44d('0x39')](_[_0xd44d('0x3a')](_0x55c09f[_0xd44d('0x2e')],_0x563a5e['filters']),_0x989ae0);if(_0x55c09f[_0xd44d('0x2e')][_0xd44d('0x3b')]){_0x2e5415[_0xd44d('0x38')]=_[_0xd44d('0x3c')](_0x2e5415[_0xd44d('0x38')],{'$or':_[_0xd44d('0x2d')](_0x989ae0,function(_0x4bd0b0){if(_0x4bd0b0[_0xd44d('0x2a')]!==_0xd44d('0x3d')){var _0x45f5de={};_0x45f5de[_0x4bd0b0['name']]={'$like':'%'+_0x55c09f[_0xd44d('0x2e')][_0xd44d('0x3b')]+'%'};return _0x45f5de;}})});}_0x2e5415=_[_0xd44d('0x3c')]({},_0x2e5415,_0x55c09f[_0xd44d('0x3e')]);var _0x2e59cb={'where':_0x2e5415[_0xd44d('0x38')]};return db['ZohoConfiguration'][_0xd44d('0x1d')](_0x2e59cb)[_0xd44d('0x21')](function(_0xc906a5){_0x207467['count']=_0xc906a5;if(_0x55c09f['query']['includeAll']){_0x2e5415['include']=[{'all':!![]}];}return db[_0xd44d('0x27')][_0xd44d('0x3f')](_0x2e5415);})[_0xd44d('0x21')](function(_0x3ae4ba){_0x207467[_0xd44d('0x40')]=_0x3ae4ba;return _0x207467;})[_0xd44d('0x21')](respondWithFilteredResult(_0x5f21ef,_0x2e5415))[_0xd44d('0x41')](handleError(_0x5f21ef,null));};exports[_0xd44d('0x42')]=function(_0x38bf47,_0x21c169){var _0x3fd852={'raw':![],'where':{'id':_0x38bf47[_0xd44d('0x43')]['id']}},_0x2e0995={};_0x2e0995[_0xd44d('0x2c')]=_[_0xd44d('0x2f')](db['ZohoConfiguration'][_0xd44d('0x28')]);_0x2e0995[_0xd44d('0x2e')]=_['keys'](_0x38bf47['query']);_0x2e0995[_0xd44d('0x39')]=_[_0xd44d('0x30')](_0x2e0995[_0xd44d('0x2c')],_0x2e0995[_0xd44d('0x2e')]);_0x3fd852['attributes']=_[_0xd44d('0x30')](_0x2e0995[_0xd44d('0x2c')],qs[_0xd44d('0x32')](_0x38bf47[_0xd44d('0x2e')][_0xd44d('0x32')]));_0x3fd852[_0xd44d('0x31')]=_0x3fd852[_0xd44d('0x31')][_0xd44d('0x33')]?_0x3fd852[_0xd44d('0x31')]:_0x2e0995[_0xd44d('0x2c')];if(_0x38bf47[_0xd44d('0x2e')][_0xd44d('0x44')]){_0x3fd852[_0xd44d('0x45')]=[{'all':!![]}];}_0x3fd852=_[_0xd44d('0x3c')]({},_0x3fd852,_0x38bf47['options']);return db[_0xd44d('0x27')]['find'](_0x3fd852)[_0xd44d('0x21')](handleEntityNotFound(_0x21c169,null))['then'](respondWithResult(_0x21c169,null))['catch'](handleError(_0x21c169,null));};exports[_0xd44d('0x46')]=function(_0x2ca644,_0x1d4f90){return db['ZohoConfiguration'][_0xd44d('0x46')](_0x2ca644['body'],{})[_0xd44d('0x21')](respondWithResult(_0x1d4f90,0xc9))[_0xd44d('0x41')](handleError(_0x1d4f90,null));};exports['update']=function(_0x5a93f7,_0x49e13b){if(_0x5a93f7['body']['id']){delete _0x5a93f7[_0xd44d('0x47')]['id'];}return db[_0xd44d('0x27')][_0xd44d('0x48')]({'where':{'id':_0x5a93f7[_0xd44d('0x43')]['id']}})['then'](handleEntityNotFound(_0x49e13b,null))[_0xd44d('0x21')](saveUpdates(_0x5a93f7['body'],null))[_0xd44d('0x21')](respondWithResult(_0x49e13b,null))[_0xd44d('0x41')](handleError(_0x49e13b,null));};exports[_0xd44d('0x22')]=function(_0x1fdab6,_0x54e46c){return db[_0xd44d('0x27')][_0xd44d('0x48')]({'where':{'id':_0x1fdab6['params']['id']}})[_0xd44d('0x21')](handleEntityNotFound(_0x54e46c,null))[_0xd44d('0x21')](removeEntity(_0x54e46c,null))[_0xd44d('0x41')](handleError(_0x54e46c,null));};exports['getFields']=function(_0x200f5c,_0x44f4a9,_0x34e255){var _0x1a07af={};var _0x54ca5c={};var _0x24b05a;var _0x1da13f;return db[_0xd44d('0x27')][_0xd44d('0x49')]({'where':{'id':_0x200f5c[_0xd44d('0x43')]['id']}})[_0xd44d('0x21')](handleEntityNotFound(_0x44f4a9,null))[_0xd44d('0x21')](function(_0x57e81e){if(_0x57e81e){_0x24b05a=_0x57e81e;_0x54ca5c[_0xd44d('0x2c')]=_[_0xd44d('0x2f')](db[_0xd44d('0x4a')][_0xd44d('0x28')]);_0x54ca5c['query']=_[_0xd44d('0x2f')](_0x200f5c[_0xd44d('0x2e')]);_0x54ca5c[_0xd44d('0x39')]=_[_0xd44d('0x30')](_0x54ca5c[_0xd44d('0x2c')],_0x54ca5c[_0xd44d('0x2e')]);_0x1a07af[_0xd44d('0x31')]=_[_0xd44d('0x30')](_0x54ca5c['model'],qs[_0xd44d('0x32')](_0x200f5c[_0xd44d('0x2e')]['fields']));_0x1a07af[_0xd44d('0x31')]=_0x1a07af['attributes'][_0xd44d('0x33')]?_0x1a07af[_0xd44d('0x31')]:_0x54ca5c[_0xd44d('0x2c')];_0x1a07af[_0xd44d('0x36')]=qs['sort'](_0x200f5c[_0xd44d('0x2e')][_0xd44d('0x37')]);_0x1a07af['where']=qs[_0xd44d('0x39')](_[_0xd44d('0x3a')](_0x200f5c[_0xd44d('0x2e')],_0x54ca5c['filters']));if(_0x200f5c[_0xd44d('0x2e')][_0xd44d('0x3b')]){_0x1a07af[_0xd44d('0x38')]=_['merge'](_0x1a07af['where'],{'$or':_[_0xd44d('0x2d')](_0x1a07af[_0xd44d('0x31')],function(_0x24f546){var _0x557f3e={};_0x557f3e[_0x24f546]={'$like':'%'+_0x200f5c[_0xd44d('0x2e')][_0xd44d('0x3b')]+'%'};return _0x557f3e;})});}_0x1a07af=_[_0xd44d('0x3c')]({},_0x1a07af,_0x200f5c[_0xd44d('0x3e')]);return _0x24b05a[_0xd44d('0x4b')](_0x1a07af);}})['then'](function(_0x4401f8){if(_0x4401f8){_0x1da13f=_0x4401f8['length'];if(!_0x200f5c[_0xd44d('0x2e')][_0xd44d('0x34')](_0xd44d('0x35'))){_0x1a07af['limit']=qs[_0xd44d('0x1c')](_0x200f5c[_0xd44d('0x2e')][_0xd44d('0x1c')]);_0x1a07af[_0xd44d('0x1a')]=qs[_0xd44d('0x1a')](_0x200f5c[_0xd44d('0x2e')][_0xd44d('0x1a')]);}return _0x24b05a[_0xd44d('0x4b')](_0x1a07af);}})['then'](function(_0x55e45a){if(_0x55e45a){return _0x55e45a?{'count':_0x1da13f,'rows':_0x55e45a}:null;}})['then'](respondWithResult(_0x44f4a9,null))[_0xd44d('0x41')](handleError(_0x44f4a9,null));};exports[_0xd44d('0x4c')]=function(_0x560578,_0x1d342d,_0x39303c){var _0x15dee0={};var _0x31ebfb={};var _0x2559b2;var _0x5449fd;return db['ZohoConfiguration']['findOne']({'where':{'id':_0x560578['params']['id']}})[_0xd44d('0x21')](handleEntityNotFound(_0x1d342d,null))[_0xd44d('0x21')](function(_0x14ae6e){if(_0x14ae6e){_0x2559b2=_0x14ae6e;_0x31ebfb[_0xd44d('0x2c')]=_['keys'](db['ZohoField'][_0xd44d('0x28')]);_0x31ebfb[_0xd44d('0x2e')]=_[_0xd44d('0x2f')](_0x560578[_0xd44d('0x2e')]);_0x31ebfb['filters']=_['intersection'](_0x31ebfb[_0xd44d('0x2c')],_0x31ebfb[_0xd44d('0x2e')]);_0x15dee0[_0xd44d('0x31')]=_['intersection'](_0x31ebfb[_0xd44d('0x2c')],qs[_0xd44d('0x32')](_0x560578[_0xd44d('0x2e')][_0xd44d('0x32')]));_0x15dee0[_0xd44d('0x31')]=_0x15dee0[_0xd44d('0x31')]['length']?_0x15dee0[_0xd44d('0x31')]:_0x31ebfb[_0xd44d('0x2c')];_0x15dee0[_0xd44d('0x36')]=qs[_0xd44d('0x37')](_0x560578[_0xd44d('0x2e')][_0xd44d('0x37')]);_0x15dee0['where']=qs['filters'](_[_0xd44d('0x3a')](_0x560578[_0xd44d('0x2e')],_0x31ebfb[_0xd44d('0x39')]));if(_0x560578[_0xd44d('0x2e')][_0xd44d('0x3b')]){_0x15dee0[_0xd44d('0x38')]=_[_0xd44d('0x3c')](_0x15dee0[_0xd44d('0x38')],{'$or':_[_0xd44d('0x2d')](_0x15dee0[_0xd44d('0x31')],function(_0x57902b){var _0x32eed7={};_0x32eed7[_0x57902b]={'$like':'%'+_0x560578[_0xd44d('0x2e')]['filter']+'%'};return _0x32eed7;})});}_0x15dee0=_['merge']({},_0x15dee0,_0x560578[_0xd44d('0x3e')]);return _0x2559b2[_0xd44d('0x4c')](_0x15dee0);}})[_0xd44d('0x21')](function(_0x5e0db8){if(_0x5e0db8){_0x5449fd=_0x5e0db8[_0xd44d('0x33')];if(!_0x560578[_0xd44d('0x2e')][_0xd44d('0x34')](_0xd44d('0x35'))){_0x15dee0[_0xd44d('0x1c')]=qs[_0xd44d('0x1c')](_0x560578[_0xd44d('0x2e')]['limit']);_0x15dee0['offset']=qs[_0xd44d('0x1a')](_0x560578[_0xd44d('0x2e')]['offset']);}return _0x2559b2[_0xd44d('0x4c')](_0x15dee0);}})[_0xd44d('0x21')](function(_0xdff86b){if(_0xdff86b){return _0xdff86b?{'count':_0x5449fd,'rows':_0xdff86b}:null;}})[_0xd44d('0x21')](respondWithResult(_0x1d342d,null))[_0xd44d('0x41')](handleError(_0x1d342d,null));};exports[_0xd44d('0x4d')]=function(_0x480add,_0x36eb09,_0xdf22f3){var _0x102045={};var _0x4377cf={};var _0xf30da7;var _0x37fecb;return db['ZohoConfiguration'][_0xd44d('0x49')]({'where':{'id':_0x480add[_0xd44d('0x43')]['id']}})[_0xd44d('0x21')](handleEntityNotFound(_0x36eb09,null))[_0xd44d('0x21')](function(_0x2f411b){if(_0x2f411b){_0xf30da7=_0x2f411b;_0x4377cf[_0xd44d('0x2c')]=_['keys'](db[_0xd44d('0x4a')][_0xd44d('0x28')]);_0x4377cf[_0xd44d('0x2e')]=_['keys'](_0x480add[_0xd44d('0x2e')]);_0x4377cf[_0xd44d('0x39')]=_[_0xd44d('0x30')](_0x4377cf['model'],_0x4377cf[_0xd44d('0x2e')]);_0x102045[_0xd44d('0x31')]=_['intersection'](_0x4377cf[_0xd44d('0x2c')],qs[_0xd44d('0x32')](_0x480add[_0xd44d('0x2e')][_0xd44d('0x32')]));_0x102045['attributes']=_0x102045[_0xd44d('0x31')][_0xd44d('0x33')]?_0x102045['attributes']:_0x4377cf[_0xd44d('0x2c')];_0x102045[_0xd44d('0x36')]=qs[_0xd44d('0x37')](_0x480add[_0xd44d('0x2e')]['sort']);_0x102045[_0xd44d('0x38')]=qs[_0xd44d('0x39')](_[_0xd44d('0x3a')](_0x480add[_0xd44d('0x2e')],_0x4377cf[_0xd44d('0x39')]));if(_0x480add[_0xd44d('0x2e')][_0xd44d('0x3b')]){_0x102045[_0xd44d('0x38')]=_[_0xd44d('0x3c')](_0x102045[_0xd44d('0x38')],{'$or':_['map'](_0x102045[_0xd44d('0x31')],function(_0x4c66b7){var _0x35e2c4={};_0x35e2c4[_0x4c66b7]={'$like':'%'+_0x480add['query'][_0xd44d('0x3b')]+'%'};return _0x35e2c4;})});}_0x102045=_['merge']({},_0x102045,_0x480add['options']);return _0xf30da7[_0xd44d('0x4d')](_0x102045);}})[_0xd44d('0x21')](function(_0x4561f3){if(_0x4561f3){_0x37fecb=_0x4561f3[_0xd44d('0x33')];if(!_0x480add[_0xd44d('0x2e')][_0xd44d('0x34')](_0xd44d('0x35'))){_0x102045[_0xd44d('0x1c')]=qs[_0xd44d('0x1c')](_0x480add[_0xd44d('0x2e')][_0xd44d('0x1c')]);_0x102045[_0xd44d('0x1a')]=qs[_0xd44d('0x1a')](_0x480add[_0xd44d('0x2e')][_0xd44d('0x1a')]);}return _0xf30da7[_0xd44d('0x4d')](_0x102045);}})[_0xd44d('0x21')](function(_0x9cbd67){if(_0x9cbd67){return _0x9cbd67?{'count':_0x37fecb,'rows':_0x9cbd67}:null;}})[_0xd44d('0x21')](respondWithResult(_0x36eb09,null))[_0xd44d('0x41')](handleError(_0x36eb09,null));};