413b32bb636829b05c446478764808a9a80eb81e
[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 _0xc8c4=['create','body','getFields','findOne','ZohoField','hasOwnProperty','getSubjects','getDescriptions','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','ZohoConfiguration','rawAttributes','fieldName','key','model','query','keys','attributes','intersection','fields','length','nolimit','order','sort','where','filters','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find'];(function(_0x30e222,_0x35c56c){var _0x211242=function(_0x2d5b01){while(--_0x2d5b01){_0x30e222['push'](_0x30e222['shift']());}};_0x211242(++_0x35c56c);}(_0xc8c4,0x164));var _0x4c8c=function(_0x87827a,_0x14a142){_0x87827a=_0x87827a-0x0;var _0x467882=_0xc8c4[_0x87827a];return _0x467882;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x4c8c('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4c8c('0x1'));var moment=require(_0x4c8c('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x4c8c('0x3'));var util=require(_0x4c8c('0x4'));var path=require(_0x4c8c('0x5'));var sox=require(_0x4c8c('0x6'));var csv=require(_0x4c8c('0x7'));var ejs=require(_0x4c8c('0x8'));var fs=require('fs');var fs_extra=require(_0x4c8c('0x9'));var _=require(_0x4c8c('0xa'));var squel=require(_0x4c8c('0xb'));var crypto=require(_0x4c8c('0xc'));var jsforce=require(_0x4c8c('0xd'));var deskjs=require(_0x4c8c('0xe'));var toCsv=require(_0x4c8c('0x7'));var querystring=require(_0x4c8c('0xf'));var Papa=require(_0x4c8c('0x10'));var Redis=require(_0x4c8c('0x11'));var authService=require(_0x4c8c('0x12'));var qs=require(_0x4c8c('0x13'));var as=require(_0x4c8c('0x14'));var hardwareService=require(_0x4c8c('0x15'));var logger=require(_0x4c8c('0x16'))(_0x4c8c('0x17'));var utils=require(_0x4c8c('0x18'));var config=require(_0x4c8c('0x19'));var licenseUtil=require(_0x4c8c('0x1a'));var db=require(_0x4c8c('0x1b'))['db'];function respondWithStatusCode(_0x1eeff9,_0x496efd){_0x496efd=_0x496efd||0xcc;return function(_0x4723ab){if(_0x4723ab){return _0x1eeff9[_0x4c8c('0x1c')](_0x496efd);}return _0x1eeff9['status'](_0x496efd)[_0x4c8c('0x1d')]();};}function respondWithResult(_0x30b85e,_0x14db80){_0x14db80=_0x14db80||0xc8;return function(_0x9ac223){if(_0x9ac223){return _0x30b85e[_0x4c8c('0x1e')](_0x14db80)[_0x4c8c('0x1f')](_0x9ac223);}};}function respondWithFilteredResult(_0x5860fe,_0x26e2c5){return function(_0x40c0cc){if(_0x40c0cc){var _0x5a628c=typeof _0x26e2c5[_0x4c8c('0x20')]===_0x4c8c('0x21')&&typeof _0x26e2c5['limit']==='undefined';var _0x5e0608=_0x40c0cc[_0x4c8c('0x22')];var _0x14cb84=_0x5a628c?0x0:_0x26e2c5[_0x4c8c('0x20')];var _0x5857e7=_0x5a628c?_0x40c0cc[_0x4c8c('0x22')]:_0x26e2c5[_0x4c8c('0x20')]+_0x26e2c5[_0x4c8c('0x23')];var _0x20e04f;if(_0x5857e7>=_0x5e0608){_0x5857e7=_0x5e0608;_0x20e04f=0xc8;}else{_0x20e04f=0xce;}_0x5860fe[_0x4c8c('0x1e')](_0x20e04f);return _0x5860fe[_0x4c8c('0x24')](_0x4c8c('0x25'),_0x14cb84+'-'+_0x5857e7+'/'+_0x5e0608)[_0x4c8c('0x1f')](_0x40c0cc);}return null;};}function patchUpdates(_0x26732f){return function(_0xa00ef6){try{jsonpatch[_0x4c8c('0x26')](_0xa00ef6,_0x26732f,!![]);}catch(_0x5b563a){return BPromise[_0x4c8c('0x27')](_0x5b563a);}return _0xa00ef6[_0x4c8c('0x28')]();};}function saveUpdates(_0x52e159,_0x4987bc){return function(_0xa36d73){if(_0xa36d73){return _0xa36d73[_0x4c8c('0x29')](_0x52e159)[_0x4c8c('0x2a')](function(_0x2349c9){return _0x2349c9;});}return null;};}function removeEntity(_0x44aaf0,_0x3423b1){return function(_0x2f9c60){if(_0x2f9c60){return _0x2f9c60['destroy']()[_0x4c8c('0x2a')](function(){_0x44aaf0[_0x4c8c('0x1e')](0xcc)[_0x4c8c('0x1d')]();});}};}function handleEntityNotFound(_0x352af6,_0x43f0cb){return function(_0x3d1f92){if(!_0x3d1f92){_0x352af6[_0x4c8c('0x1c')](0x194);}return _0x3d1f92;};}function handleError(_0x524206,_0x169347){_0x169347=_0x169347||0x1f4;return function(_0x3abf28){logger[_0x4c8c('0x2b')](_0x3abf28[_0x4c8c('0x2c')]);if(_0x3abf28[_0x4c8c('0x2d')]){delete _0x3abf28[_0x4c8c('0x2d')];}_0x524206[_0x4c8c('0x1e')](_0x169347)[_0x4c8c('0x2e')](_0x3abf28);};}exports[_0x4c8c('0x2f')]=function(_0x4131c6,_0xa27be1){var _0x332bda={},_0x51d445={},_0x2c8cd1={'count':0x0,'rows':[]};var _0x2b51b8=_[_0x4c8c('0x30')](db[_0x4c8c('0x31')][_0x4c8c('0x32')],function(_0x572f06){return{'name':_0x572f06[_0x4c8c('0x33')],'type':_0x572f06['type'][_0x4c8c('0x34')]};});_0x51d445[_0x4c8c('0x35')]=_[_0x4c8c('0x30')](_0x2b51b8,_0x4c8c('0x2d'));_0x51d445[_0x4c8c('0x36')]=_[_0x4c8c('0x37')](_0x4131c6[_0x4c8c('0x36')]);_0x51d445['filters']=_['intersection'](_0x51d445[_0x4c8c('0x35')],_0x51d445[_0x4c8c('0x36')]);_0x332bda[_0x4c8c('0x38')]=_[_0x4c8c('0x39')](_0x51d445[_0x4c8c('0x35')],qs[_0x4c8c('0x3a')](_0x4131c6[_0x4c8c('0x36')][_0x4c8c('0x3a')]));_0x332bda[_0x4c8c('0x38')]=_0x332bda[_0x4c8c('0x38')][_0x4c8c('0x3b')]?_0x332bda[_0x4c8c('0x38')]:_0x51d445[_0x4c8c('0x35')];if(!_0x4131c6[_0x4c8c('0x36')]['hasOwnProperty'](_0x4c8c('0x3c'))){_0x332bda[_0x4c8c('0x23')]=qs['limit'](_0x4131c6[_0x4c8c('0x36')][_0x4c8c('0x23')]);_0x332bda['offset']=qs[_0x4c8c('0x20')](_0x4131c6[_0x4c8c('0x36')][_0x4c8c('0x20')]);}_0x332bda[_0x4c8c('0x3d')]=qs[_0x4c8c('0x3e')](_0x4131c6[_0x4c8c('0x36')][_0x4c8c('0x3e')]);_0x332bda[_0x4c8c('0x3f')]=qs[_0x4c8c('0x40')](_[_0x4c8c('0x41')](_0x4131c6['query'],_0x51d445[_0x4c8c('0x40')]),_0x2b51b8);if(_0x4131c6[_0x4c8c('0x36')][_0x4c8c('0x42')]){_0x332bda['where']=_[_0x4c8c('0x43')](_0x332bda[_0x4c8c('0x3f')],{'$or':_[_0x4c8c('0x30')](_0x2b51b8,function(_0x544d34){if(_0x544d34[_0x4c8c('0x44')]!==_0x4c8c('0x45')){var _0x243101={};_0x243101[_0x544d34[_0x4c8c('0x2d')]]={'$like':'%'+_0x4131c6[_0x4c8c('0x36')]['filter']+'%'};return _0x243101;}})});}_0x332bda=_['merge']({},_0x332bda,_0x4131c6[_0x4c8c('0x46')]);var _0x139e11={'where':_0x332bda['where']};return db[_0x4c8c('0x31')][_0x4c8c('0x22')](_0x139e11)[_0x4c8c('0x2a')](function(_0x2fe2ba){_0x2c8cd1[_0x4c8c('0x22')]=_0x2fe2ba;if(_0x4131c6[_0x4c8c('0x36')][_0x4c8c('0x47')]){_0x332bda[_0x4c8c('0x48')]=[{'all':!![]}];}return db[_0x4c8c('0x31')][_0x4c8c('0x49')](_0x332bda);})[_0x4c8c('0x2a')](function(_0x43cba8){_0x2c8cd1[_0x4c8c('0x4a')]=_0x43cba8;return _0x2c8cd1;})[_0x4c8c('0x2a')](respondWithFilteredResult(_0xa27be1,_0x332bda))[_0x4c8c('0x4b')](handleError(_0xa27be1,null));};exports[_0x4c8c('0x4c')]=function(_0xaddcd5,_0x11ae36){var _0x194a5e={'raw':![],'where':{'id':_0xaddcd5[_0x4c8c('0x4d')]['id']}},_0x45207c={};_0x45207c[_0x4c8c('0x35')]=_[_0x4c8c('0x37')](db[_0x4c8c('0x31')][_0x4c8c('0x32')]);_0x45207c[_0x4c8c('0x36')]=_[_0x4c8c('0x37')](_0xaddcd5[_0x4c8c('0x36')]);_0x45207c['filters']=_['intersection'](_0x45207c[_0x4c8c('0x35')],_0x45207c[_0x4c8c('0x36')]);_0x194a5e[_0x4c8c('0x38')]=_[_0x4c8c('0x39')](_0x45207c['model'],qs[_0x4c8c('0x3a')](_0xaddcd5[_0x4c8c('0x36')][_0x4c8c('0x3a')]));_0x194a5e['attributes']=_0x194a5e['attributes'][_0x4c8c('0x3b')]?_0x194a5e[_0x4c8c('0x38')]:_0x45207c[_0x4c8c('0x35')];if(_0xaddcd5[_0x4c8c('0x36')][_0x4c8c('0x47')]){_0x194a5e[_0x4c8c('0x48')]=[{'all':!![]}];}_0x194a5e=_[_0x4c8c('0x43')]({},_0x194a5e,_0xaddcd5[_0x4c8c('0x46')]);return db[_0x4c8c('0x31')][_0x4c8c('0x4e')](_0x194a5e)[_0x4c8c('0x2a')](handleEntityNotFound(_0x11ae36,null))['then'](respondWithResult(_0x11ae36,null))['catch'](handleError(_0x11ae36,null));};exports[_0x4c8c('0x4f')]=function(_0x25f4dc,_0x37e7c6){return db[_0x4c8c('0x31')]['create'](_0x25f4dc[_0x4c8c('0x50')],{})['then'](respondWithResult(_0x37e7c6,0xc9))[_0x4c8c('0x4b')](handleError(_0x37e7c6,null));};exports[_0x4c8c('0x29')]=function(_0x45fc92,_0x4c2e42){if(_0x45fc92[_0x4c8c('0x50')]['id']){delete _0x45fc92[_0x4c8c('0x50')]['id'];}return db[_0x4c8c('0x31')]['find']({'where':{'id':_0x45fc92[_0x4c8c('0x4d')]['id']}})[_0x4c8c('0x2a')](handleEntityNotFound(_0x4c2e42,null))[_0x4c8c('0x2a')](saveUpdates(_0x45fc92[_0x4c8c('0x50')],null))['then'](respondWithResult(_0x4c2e42,null))[_0x4c8c('0x4b')](handleError(_0x4c2e42,null));};exports['destroy']=function(_0xed77da,_0x4cbd1f){return db[_0x4c8c('0x31')][_0x4c8c('0x4e')]({'where':{'id':_0xed77da[_0x4c8c('0x4d')]['id']}})[_0x4c8c('0x2a')](handleEntityNotFound(_0x4cbd1f,null))[_0x4c8c('0x2a')](removeEntity(_0x4cbd1f,null))[_0x4c8c('0x4b')](handleError(_0x4cbd1f,null));};exports[_0x4c8c('0x51')]=function(_0x52ec55,_0x2ea290,_0x25853b){var _0x476535={};var _0x5ddb5a={};var _0x403765;var _0x23c067;return db['ZohoConfiguration'][_0x4c8c('0x52')]({'where':{'id':_0x52ec55[_0x4c8c('0x4d')]['id']}})['then'](handleEntityNotFound(_0x2ea290,null))[_0x4c8c('0x2a')](function(_0x392538){if(_0x392538){_0x403765=_0x392538;_0x5ddb5a[_0x4c8c('0x35')]=_[_0x4c8c('0x37')](db[_0x4c8c('0x53')][_0x4c8c('0x32')]);_0x5ddb5a[_0x4c8c('0x36')]=_[_0x4c8c('0x37')](_0x52ec55[_0x4c8c('0x36')]);_0x5ddb5a[_0x4c8c('0x40')]=_[_0x4c8c('0x39')](_0x5ddb5a['model'],_0x5ddb5a[_0x4c8c('0x36')]);_0x476535['attributes']=_[_0x4c8c('0x39')](_0x5ddb5a[_0x4c8c('0x35')],qs[_0x4c8c('0x3a')](_0x52ec55[_0x4c8c('0x36')][_0x4c8c('0x3a')]));_0x476535[_0x4c8c('0x38')]=_0x476535['attributes'][_0x4c8c('0x3b')]?_0x476535[_0x4c8c('0x38')]:_0x5ddb5a[_0x4c8c('0x35')];_0x476535[_0x4c8c('0x3d')]=qs[_0x4c8c('0x3e')](_0x52ec55['query']['sort']);_0x476535['where']=qs[_0x4c8c('0x40')](_[_0x4c8c('0x41')](_0x52ec55[_0x4c8c('0x36')],_0x5ddb5a[_0x4c8c('0x40')]));if(_0x52ec55[_0x4c8c('0x36')][_0x4c8c('0x42')]){_0x476535['where']=_[_0x4c8c('0x43')](_0x476535[_0x4c8c('0x3f')],{'$or':_['map'](_0x476535[_0x4c8c('0x38')],function(_0x1c77e1){var _0x31d391={};_0x31d391[_0x1c77e1]={'$like':'%'+_0x52ec55[_0x4c8c('0x36')][_0x4c8c('0x42')]+'%'};return _0x31d391;})});}_0x476535=_[_0x4c8c('0x43')]({},_0x476535,_0x52ec55[_0x4c8c('0x46')]);return _0x403765['getFields'](_0x476535);}})[_0x4c8c('0x2a')](function(_0x5ba9d9){if(_0x5ba9d9){_0x23c067=_0x5ba9d9[_0x4c8c('0x3b')];if(!_0x52ec55['query'][_0x4c8c('0x54')](_0x4c8c('0x3c'))){_0x476535['limit']=qs['limit'](_0x52ec55[_0x4c8c('0x36')]['limit']);_0x476535[_0x4c8c('0x20')]=qs[_0x4c8c('0x20')](_0x52ec55[_0x4c8c('0x36')][_0x4c8c('0x20')]);}return _0x403765[_0x4c8c('0x51')](_0x476535);}})[_0x4c8c('0x2a')](function(_0x3bf127){if(_0x3bf127){return _0x3bf127?{'count':_0x23c067,'rows':_0x3bf127}:null;}})[_0x4c8c('0x2a')](respondWithResult(_0x2ea290,null))[_0x4c8c('0x4b')](handleError(_0x2ea290,null));};exports[_0x4c8c('0x55')]=function(_0x434a98,_0x3537f3,_0x53949f){var _0xd7ffa2={};var _0x59cd9d={};var _0x3c07ab;var _0x32d652;return db[_0x4c8c('0x31')]['findOne']({'where':{'id':_0x434a98[_0x4c8c('0x4d')]['id']}})[_0x4c8c('0x2a')](handleEntityNotFound(_0x3537f3,null))[_0x4c8c('0x2a')](function(_0x3d9e64){if(_0x3d9e64){_0x3c07ab=_0x3d9e64;_0x59cd9d['model']=_['keys'](db[_0x4c8c('0x53')][_0x4c8c('0x32')]);_0x59cd9d['query']=_[_0x4c8c('0x37')](_0x434a98[_0x4c8c('0x36')]);_0x59cd9d[_0x4c8c('0x40')]=_[_0x4c8c('0x39')](_0x59cd9d[_0x4c8c('0x35')],_0x59cd9d[_0x4c8c('0x36')]);_0xd7ffa2[_0x4c8c('0x38')]=_[_0x4c8c('0x39')](_0x59cd9d[_0x4c8c('0x35')],qs[_0x4c8c('0x3a')](_0x434a98[_0x4c8c('0x36')]['fields']));_0xd7ffa2[_0x4c8c('0x38')]=_0xd7ffa2[_0x4c8c('0x38')][_0x4c8c('0x3b')]?_0xd7ffa2[_0x4c8c('0x38')]:_0x59cd9d[_0x4c8c('0x35')];_0xd7ffa2[_0x4c8c('0x3d')]=qs['sort'](_0x434a98[_0x4c8c('0x36')]['sort']);_0xd7ffa2[_0x4c8c('0x3f')]=qs['filters'](_['pick'](_0x434a98['query'],_0x59cd9d[_0x4c8c('0x40')]));if(_0x434a98[_0x4c8c('0x36')][_0x4c8c('0x42')]){_0xd7ffa2['where']=_['merge'](_0xd7ffa2[_0x4c8c('0x3f')],{'$or':_[_0x4c8c('0x30')](_0xd7ffa2[_0x4c8c('0x38')],function(_0x160980){var _0xfcd338={};_0xfcd338[_0x160980]={'$like':'%'+_0x434a98[_0x4c8c('0x36')][_0x4c8c('0x42')]+'%'};return _0xfcd338;})});}_0xd7ffa2=_[_0x4c8c('0x43')]({},_0xd7ffa2,_0x434a98[_0x4c8c('0x46')]);return _0x3c07ab[_0x4c8c('0x55')](_0xd7ffa2);}})[_0x4c8c('0x2a')](function(_0x1cbec3){if(_0x1cbec3){_0x32d652=_0x1cbec3[_0x4c8c('0x3b')];if(!_0x434a98[_0x4c8c('0x36')][_0x4c8c('0x54')](_0x4c8c('0x3c'))){_0xd7ffa2[_0x4c8c('0x23')]=qs[_0x4c8c('0x23')](_0x434a98[_0x4c8c('0x36')][_0x4c8c('0x23')]);_0xd7ffa2['offset']=qs[_0x4c8c('0x20')](_0x434a98[_0x4c8c('0x36')][_0x4c8c('0x20')]);}return _0x3c07ab[_0x4c8c('0x55')](_0xd7ffa2);}})[_0x4c8c('0x2a')](function(_0x414e3f){if(_0x414e3f){return _0x414e3f?{'count':_0x32d652,'rows':_0x414e3f}:null;}})['then'](respondWithResult(_0x3537f3,null))[_0x4c8c('0x4b')](handleError(_0x3537f3,null));};exports[_0x4c8c('0x56')]=function(_0x3de679,_0x128fbd,_0x5e58a3){var _0x4c9a88={};var _0x34c4f3={};var _0x32a01c;var _0x5be6cd;return db[_0x4c8c('0x31')][_0x4c8c('0x52')]({'where':{'id':_0x3de679[_0x4c8c('0x4d')]['id']}})['then'](handleEntityNotFound(_0x128fbd,null))['then'](function(_0x17a032){if(_0x17a032){_0x32a01c=_0x17a032;_0x34c4f3[_0x4c8c('0x35')]=_[_0x4c8c('0x37')](db[_0x4c8c('0x53')][_0x4c8c('0x32')]);_0x34c4f3[_0x4c8c('0x36')]=_[_0x4c8c('0x37')](_0x3de679[_0x4c8c('0x36')]);_0x34c4f3[_0x4c8c('0x40')]=_[_0x4c8c('0x39')](_0x34c4f3[_0x4c8c('0x35')],_0x34c4f3[_0x4c8c('0x36')]);_0x4c9a88[_0x4c8c('0x38')]=_[_0x4c8c('0x39')](_0x34c4f3['model'],qs['fields'](_0x3de679[_0x4c8c('0x36')][_0x4c8c('0x3a')]));_0x4c9a88[_0x4c8c('0x38')]=_0x4c9a88[_0x4c8c('0x38')][_0x4c8c('0x3b')]?_0x4c9a88[_0x4c8c('0x38')]:_0x34c4f3['model'];_0x4c9a88[_0x4c8c('0x3d')]=qs[_0x4c8c('0x3e')](_0x3de679[_0x4c8c('0x36')][_0x4c8c('0x3e')]);_0x4c9a88[_0x4c8c('0x3f')]=qs[_0x4c8c('0x40')](_[_0x4c8c('0x41')](_0x3de679[_0x4c8c('0x36')],_0x34c4f3['filters']));if(_0x3de679[_0x4c8c('0x36')][_0x4c8c('0x42')]){_0x4c9a88[_0x4c8c('0x3f')]=_[_0x4c8c('0x43')](_0x4c9a88[_0x4c8c('0x3f')],{'$or':_[_0x4c8c('0x30')](_0x4c9a88['attributes'],function(_0x3a2981){var _0x4c00ac={};_0x4c00ac[_0x3a2981]={'$like':'%'+_0x3de679[_0x4c8c('0x36')][_0x4c8c('0x42')]+'%'};return _0x4c00ac;})});}_0x4c9a88=_['merge']({},_0x4c9a88,_0x3de679[_0x4c8c('0x46')]);return _0x32a01c[_0x4c8c('0x56')](_0x4c9a88);}})['then'](function(_0x3f597c){if(_0x3f597c){_0x5be6cd=_0x3f597c[_0x4c8c('0x3b')];if(!_0x3de679['query'][_0x4c8c('0x54')]('nolimit')){_0x4c9a88['limit']=qs['limit'](_0x3de679[_0x4c8c('0x36')]['limit']);_0x4c9a88[_0x4c8c('0x20')]=qs[_0x4c8c('0x20')](_0x3de679[_0x4c8c('0x36')][_0x4c8c('0x20')]);}return _0x32a01c[_0x4c8c('0x56')](_0x4c9a88);}})[_0x4c8c('0x2a')](function(_0xc8ae46){if(_0xc8ae46){return _0xc8ae46?{'count':_0x5be6cd,'rows':_0xc8ae46}:null;}})[_0x4c8c('0x2a')](respondWithResult(_0x128fbd,null))[_0x4c8c('0x4b')](handleError(_0x128fbd,null));};