Built motion from commit 9e1399f3.|2.5.37
[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 _0x77c0=['sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','destroy','error','stack','name','ZohoConfiguration','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','sort','where','pick','filter','merge','map','options','includeAll','include','findAll','show','params','keys','length','create','body','catch','find','getFields','ZohoField','order','findOne','getSubjects','nolimit','getDescriptions','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb'];(function(_0xbb14db,_0x3ee8c6){var _0x36bed7=function(_0x16c478){while(--_0x16c478){_0xbb14db['push'](_0xbb14db['shift']());}};_0x36bed7(++_0x3ee8c6);}(_0x77c0,0xd6));var _0x077c=function(_0x503f99,_0x515639){_0x503f99=_0x503f99-0x0;var _0x19ffd3=_0x77c0[_0x503f99];return _0x19ffd3;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x077c('0x0'));var jsonpatch=require(_0x077c('0x1'));var rp=require(_0x077c('0x2'));var moment=require(_0x077c('0x3'));var BPromise=require(_0x077c('0x4'));var Mustache=require(_0x077c('0x5'));var util=require(_0x077c('0x6'));var path=require(_0x077c('0x7'));var sox=require(_0x077c('0x8'));var csv=require(_0x077c('0x9'));var ejs=require(_0x077c('0xa'));var fs=require('fs');var fs_extra=require(_0x077c('0xb'));var _=require(_0x077c('0xc'));var squel=require(_0x077c('0xd'));var crypto=require(_0x077c('0xe'));var jsforce=require(_0x077c('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x077c('0x9'));var querystring=require(_0x077c('0x10'));var Papa=require(_0x077c('0x11'));var Redis=require(_0x077c('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x077c('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x077c('0x14'));var logger=require(_0x077c('0x15'))(_0x077c('0x16'));var utils=require(_0x077c('0x17'));var config=require(_0x077c('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x077c('0x19'))['db'];function respondWithStatusCode(_0x57f00a,_0xab0fd){_0xab0fd=_0xab0fd||0xcc;return function(_0x83bcd8){if(_0x83bcd8){return _0x57f00a[_0x077c('0x1a')](_0xab0fd);}return _0x57f00a[_0x077c('0x1b')](_0xab0fd)[_0x077c('0x1c')]();};}function respondWithResult(_0x11f81e,_0x502a03){_0x502a03=_0x502a03||0xc8;return function(_0x45b51c){if(_0x45b51c){return _0x11f81e['status'](_0x502a03)[_0x077c('0x1d')](_0x45b51c);}};}function respondWithFilteredResult(_0x28da58,_0x314ad0){return function(_0xc7c2b1){if(_0xc7c2b1){var _0x419668=typeof _0x314ad0[_0x077c('0x1e')]===_0x077c('0x1f')&&typeof _0x314ad0[_0x077c('0x20')]===_0x077c('0x1f');var _0x3dd651=_0xc7c2b1['count'];var _0x3553d2=_0x419668?0x0:_0x314ad0[_0x077c('0x1e')];var _0x58a607=_0x419668?_0xc7c2b1[_0x077c('0x21')]:_0x314ad0['offset']+_0x314ad0['limit'];var _0xd5e5dc;if(_0x58a607>=_0x3dd651){_0x58a607=_0x3dd651;_0xd5e5dc=0xc8;}else{_0xd5e5dc=0xce;}_0x28da58[_0x077c('0x1b')](_0xd5e5dc);return _0x28da58['set'](_0x077c('0x22'),_0x3553d2+'-'+_0x58a607+'/'+_0x3dd651)[_0x077c('0x1d')](_0xc7c2b1);}return null;};}function patchUpdates(_0x4eda98){return function(_0x5cd834){try{jsonpatch[_0x077c('0x23')](_0x5cd834,_0x4eda98,!![]);}catch(_0x8d0636){return BPromise[_0x077c('0x24')](_0x8d0636);}return _0x5cd834['save']();};}function saveUpdates(_0x445d70,_0x2262c4){return function(_0x52ac39){if(_0x52ac39){return _0x52ac39[_0x077c('0x25')](_0x445d70)[_0x077c('0x26')](function(_0xbb2f6){return _0xbb2f6;});}return null;};}function removeEntity(_0x31288c,_0x301f1a){return function(_0x433140){if(_0x433140){return _0x433140[_0x077c('0x27')]()[_0x077c('0x26')](function(){_0x31288c[_0x077c('0x1b')](0xcc)[_0x077c('0x1c')]();});}};}function handleEntityNotFound(_0x32ed07,_0x18e7f9){return function(_0xbb7cec){if(!_0xbb7cec){_0x32ed07[_0x077c('0x1a')](0x194);}return _0xbb7cec;};}function handleError(_0x20b410,_0x38ca3a){_0x38ca3a=_0x38ca3a||0x1f4;return function(_0x3b9939){logger[_0x077c('0x28')](_0x3b9939[_0x077c('0x29')]);if(_0x3b9939[_0x077c('0x2a')]){delete _0x3b9939[_0x077c('0x2a')];}_0x20b410[_0x077c('0x1b')](_0x38ca3a)['send'](_0x3b9939);};}exports['index']=function(_0x279f7f,_0x53b0fd){var _0x5979f8={},_0x3fd8c1={},_0x23236c={'count':0x0,'rows':[]};var _0x42be71=_['map'](db[_0x077c('0x2b')][_0x077c('0x2c')],function(_0x573eec){return{'name':_0x573eec[_0x077c('0x2d')],'type':_0x573eec[_0x077c('0x2e')][_0x077c('0x2f')]};});_0x3fd8c1[_0x077c('0x30')]=_['map'](_0x42be71,_0x077c('0x2a'));_0x3fd8c1[_0x077c('0x31')]=_['keys'](_0x279f7f[_0x077c('0x31')]);_0x3fd8c1[_0x077c('0x32')]=_[_0x077c('0x33')](_0x3fd8c1[_0x077c('0x30')],_0x3fd8c1[_0x077c('0x31')]);_0x5979f8[_0x077c('0x34')]=_[_0x077c('0x33')](_0x3fd8c1['model'],qs[_0x077c('0x35')](_0x279f7f['query'][_0x077c('0x35')]));_0x5979f8[_0x077c('0x34')]=_0x5979f8[_0x077c('0x34')]['length']?_0x5979f8[_0x077c('0x34')]:_0x3fd8c1[_0x077c('0x30')];if(!_0x279f7f[_0x077c('0x31')][_0x077c('0x36')]('nolimit')){_0x5979f8[_0x077c('0x20')]=qs[_0x077c('0x20')](_0x279f7f[_0x077c('0x31')][_0x077c('0x20')]);_0x5979f8['offset']=qs[_0x077c('0x1e')](_0x279f7f[_0x077c('0x31')][_0x077c('0x1e')]);}_0x5979f8['order']=qs['sort'](_0x279f7f[_0x077c('0x31')][_0x077c('0x37')]);_0x5979f8[_0x077c('0x38')]=qs['filters'](_[_0x077c('0x39')](_0x279f7f[_0x077c('0x31')],_0x3fd8c1['filters']),_0x42be71);if(_0x279f7f[_0x077c('0x31')][_0x077c('0x3a')]){_0x5979f8[_0x077c('0x38')]=_[_0x077c('0x3b')](_0x5979f8[_0x077c('0x38')],{'$or':_[_0x077c('0x3c')](_0x42be71,function(_0x4f4807){if(_0x4f4807[_0x077c('0x2e')]!=='VIRTUAL'){var _0x5dcd83={};_0x5dcd83[_0x4f4807[_0x077c('0x2a')]]={'$like':'%'+_0x279f7f['query']['filter']+'%'};return _0x5dcd83;}})});}_0x5979f8=_[_0x077c('0x3b')]({},_0x5979f8,_0x279f7f[_0x077c('0x3d')]);var _0x172c64={'where':_0x5979f8[_0x077c('0x38')]};return db[_0x077c('0x2b')][_0x077c('0x21')](_0x172c64)['then'](function(_0x464797){_0x23236c[_0x077c('0x21')]=_0x464797;if(_0x279f7f[_0x077c('0x31')][_0x077c('0x3e')]){_0x5979f8[_0x077c('0x3f')]=[{'all':!![]}];}return db[_0x077c('0x2b')][_0x077c('0x40')](_0x5979f8);})[_0x077c('0x26')](function(_0xc5f33a){_0x23236c['rows']=_0xc5f33a;return _0x23236c;})[_0x077c('0x26')](respondWithFilteredResult(_0x53b0fd,_0x5979f8))['catch'](handleError(_0x53b0fd,null));};exports[_0x077c('0x41')]=function(_0x13eb83,_0x24d5ee){var _0x4d7a8e={'raw':![],'where':{'id':_0x13eb83[_0x077c('0x42')]['id']}},_0x67fe92={};_0x67fe92[_0x077c('0x30')]=_['keys'](db[_0x077c('0x2b')][_0x077c('0x2c')]);_0x67fe92['query']=_[_0x077c('0x43')](_0x13eb83[_0x077c('0x31')]);_0x67fe92[_0x077c('0x32')]=_['intersection'](_0x67fe92[_0x077c('0x30')],_0x67fe92[_0x077c('0x31')]);_0x4d7a8e[_0x077c('0x34')]=_[_0x077c('0x33')](_0x67fe92[_0x077c('0x30')],qs[_0x077c('0x35')](_0x13eb83['query']['fields']));_0x4d7a8e[_0x077c('0x34')]=_0x4d7a8e[_0x077c('0x34')][_0x077c('0x44')]?_0x4d7a8e[_0x077c('0x34')]:_0x67fe92[_0x077c('0x30')];if(_0x13eb83[_0x077c('0x31')][_0x077c('0x3e')]){_0x4d7a8e[_0x077c('0x3f')]=[{'all':!![]}];}_0x4d7a8e=_[_0x077c('0x3b')]({},_0x4d7a8e,_0x13eb83[_0x077c('0x3d')]);return db[_0x077c('0x2b')]['find'](_0x4d7a8e)['then'](handleEntityNotFound(_0x24d5ee,null))[_0x077c('0x26')](respondWithResult(_0x24d5ee,null))['catch'](handleError(_0x24d5ee,null));};exports[_0x077c('0x45')]=function(_0x4750dc,_0xb75ec){return db[_0x077c('0x2b')][_0x077c('0x45')](_0x4750dc[_0x077c('0x46')],{})[_0x077c('0x26')](respondWithResult(_0xb75ec,0xc9))[_0x077c('0x47')](handleError(_0xb75ec,null));};exports['update']=function(_0x4e474e,_0x277f59){if(_0x4e474e[_0x077c('0x46')]['id']){delete _0x4e474e['body']['id'];}return db[_0x077c('0x2b')][_0x077c('0x48')]({'where':{'id':_0x4e474e['params']['id']}})[_0x077c('0x26')](handleEntityNotFound(_0x277f59,null))[_0x077c('0x26')](saveUpdates(_0x4e474e[_0x077c('0x46')],null))['then'](respondWithResult(_0x277f59,null))[_0x077c('0x47')](handleError(_0x277f59,null));};exports['destroy']=function(_0x56f4fc,_0x2a207e){return db[_0x077c('0x2b')]['find']({'where':{'id':_0x56f4fc[_0x077c('0x42')]['id']}})[_0x077c('0x26')](handleEntityNotFound(_0x2a207e,null))[_0x077c('0x26')](removeEntity(_0x2a207e,null))['catch'](handleError(_0x2a207e,null));};exports[_0x077c('0x49')]=function(_0x4d953c,_0x85c61,_0x51b8b7){var _0x88abad={};var _0x2424be={};var _0x39a830;var _0x11fd8a;return db[_0x077c('0x2b')]['findOne']({'where':{'id':_0x4d953c[_0x077c('0x42')]['id']}})[_0x077c('0x26')](handleEntityNotFound(_0x85c61,null))[_0x077c('0x26')](function(_0x2dd5fa){if(_0x2dd5fa){_0x39a830=_0x2dd5fa;_0x2424be['model']=_[_0x077c('0x43')](db[_0x077c('0x4a')]['rawAttributes']);_0x2424be[_0x077c('0x31')]=_[_0x077c('0x43')](_0x4d953c[_0x077c('0x31')]);_0x2424be[_0x077c('0x32')]=_['intersection'](_0x2424be['model'],_0x2424be['query']);_0x88abad[_0x077c('0x34')]=_[_0x077c('0x33')](_0x2424be['model'],qs[_0x077c('0x35')](_0x4d953c['query']['fields']));_0x88abad[_0x077c('0x34')]=_0x88abad[_0x077c('0x34')][_0x077c('0x44')]?_0x88abad['attributes']:_0x2424be[_0x077c('0x30')];_0x88abad[_0x077c('0x4b')]=qs['sort'](_0x4d953c[_0x077c('0x31')][_0x077c('0x37')]);_0x88abad[_0x077c('0x38')]=qs['filters'](_['pick'](_0x4d953c[_0x077c('0x31')],_0x2424be[_0x077c('0x32')]));if(_0x4d953c[_0x077c('0x31')][_0x077c('0x3a')]){_0x88abad[_0x077c('0x38')]=_[_0x077c('0x3b')](_0x88abad[_0x077c('0x38')],{'$or':_[_0x077c('0x3c')](_0x88abad[_0x077c('0x34')],function(_0x4be201){var _0x6c33cf={};_0x6c33cf[_0x4be201]={'$like':'%'+_0x4d953c[_0x077c('0x31')][_0x077c('0x3a')]+'%'};return _0x6c33cf;})});}_0x88abad=_[_0x077c('0x3b')]({},_0x88abad,_0x4d953c['options']);return _0x39a830[_0x077c('0x49')](_0x88abad);}})[_0x077c('0x26')](function(_0x4bab82){if(_0x4bab82){_0x11fd8a=_0x4bab82[_0x077c('0x44')];if(!_0x4d953c['query'][_0x077c('0x36')]('nolimit')){_0x88abad[_0x077c('0x20')]=qs[_0x077c('0x20')](_0x4d953c[_0x077c('0x31')][_0x077c('0x20')]);_0x88abad['offset']=qs[_0x077c('0x1e')](_0x4d953c['query'][_0x077c('0x1e')]);}return _0x39a830[_0x077c('0x49')](_0x88abad);}})[_0x077c('0x26')](function(_0x55a8e0){if(_0x55a8e0){return _0x55a8e0?{'count':_0x11fd8a,'rows':_0x55a8e0}:null;}})[_0x077c('0x26')](respondWithResult(_0x85c61,null))[_0x077c('0x47')](handleError(_0x85c61,null));};exports['getSubjects']=function(_0x276d9f,_0x49c72e,_0x5c2ccf){var _0x178e0f={};var _0x36b1cb={};var _0x30f24e;var _0xcc3d86;return db[_0x077c('0x2b')][_0x077c('0x4c')]({'where':{'id':_0x276d9f['params']['id']}})[_0x077c('0x26')](handleEntityNotFound(_0x49c72e,null))[_0x077c('0x26')](function(_0x7e821a){if(_0x7e821a){_0x30f24e=_0x7e821a;_0x36b1cb[_0x077c('0x30')]=_['keys'](db['ZohoField'][_0x077c('0x2c')]);_0x36b1cb[_0x077c('0x31')]=_[_0x077c('0x43')](_0x276d9f[_0x077c('0x31')]);_0x36b1cb[_0x077c('0x32')]=_[_0x077c('0x33')](_0x36b1cb[_0x077c('0x30')],_0x36b1cb[_0x077c('0x31')]);_0x178e0f[_0x077c('0x34')]=_[_0x077c('0x33')](_0x36b1cb[_0x077c('0x30')],qs[_0x077c('0x35')](_0x276d9f[_0x077c('0x31')][_0x077c('0x35')]));_0x178e0f['attributes']=_0x178e0f[_0x077c('0x34')][_0x077c('0x44')]?_0x178e0f[_0x077c('0x34')]:_0x36b1cb[_0x077c('0x30')];_0x178e0f[_0x077c('0x4b')]=qs[_0x077c('0x37')](_0x276d9f[_0x077c('0x31')][_0x077c('0x37')]);_0x178e0f['where']=qs[_0x077c('0x32')](_[_0x077c('0x39')](_0x276d9f[_0x077c('0x31')],_0x36b1cb['filters']));if(_0x276d9f[_0x077c('0x31')][_0x077c('0x3a')]){_0x178e0f['where']=_[_0x077c('0x3b')](_0x178e0f[_0x077c('0x38')],{'$or':_[_0x077c('0x3c')](_0x178e0f[_0x077c('0x34')],function(_0x30401d){var _0x52191a={};_0x52191a[_0x30401d]={'$like':'%'+_0x276d9f['query'][_0x077c('0x3a')]+'%'};return _0x52191a;})});}_0x178e0f=_[_0x077c('0x3b')]({},_0x178e0f,_0x276d9f[_0x077c('0x3d')]);return _0x30f24e[_0x077c('0x4d')](_0x178e0f);}})[_0x077c('0x26')](function(_0x2cf126){if(_0x2cf126){_0xcc3d86=_0x2cf126[_0x077c('0x44')];if(!_0x276d9f[_0x077c('0x31')][_0x077c('0x36')](_0x077c('0x4e'))){_0x178e0f['limit']=qs['limit'](_0x276d9f[_0x077c('0x31')][_0x077c('0x20')]);_0x178e0f[_0x077c('0x1e')]=qs[_0x077c('0x1e')](_0x276d9f['query'][_0x077c('0x1e')]);}return _0x30f24e[_0x077c('0x4d')](_0x178e0f);}})['then'](function(_0x1e20b9){if(_0x1e20b9){return _0x1e20b9?{'count':_0xcc3d86,'rows':_0x1e20b9}:null;}})[_0x077c('0x26')](respondWithResult(_0x49c72e,null))[_0x077c('0x47')](handleError(_0x49c72e,null));};exports['getDescriptions']=function(_0x50fb41,_0x4beab1,_0x4a02ae){var _0x477d97={};var _0x40d0f6={};var _0x3a1bbd;var _0x42b9de;return db['ZohoConfiguration']['findOne']({'where':{'id':_0x50fb41[_0x077c('0x42')]['id']}})[_0x077c('0x26')](handleEntityNotFound(_0x4beab1,null))[_0x077c('0x26')](function(_0xc8b30a){if(_0xc8b30a){_0x3a1bbd=_0xc8b30a;_0x40d0f6[_0x077c('0x30')]=_['keys'](db['ZohoField']['rawAttributes']);_0x40d0f6[_0x077c('0x31')]=_[_0x077c('0x43')](_0x50fb41['query']);_0x40d0f6[_0x077c('0x32')]=_[_0x077c('0x33')](_0x40d0f6[_0x077c('0x30')],_0x40d0f6[_0x077c('0x31')]);_0x477d97[_0x077c('0x34')]=_[_0x077c('0x33')](_0x40d0f6[_0x077c('0x30')],qs[_0x077c('0x35')](_0x50fb41['query']['fields']));_0x477d97[_0x077c('0x34')]=_0x477d97['attributes'][_0x077c('0x44')]?_0x477d97['attributes']:_0x40d0f6[_0x077c('0x30')];_0x477d97[_0x077c('0x4b')]=qs[_0x077c('0x37')](_0x50fb41[_0x077c('0x31')][_0x077c('0x37')]);_0x477d97[_0x077c('0x38')]=qs[_0x077c('0x32')](_[_0x077c('0x39')](_0x50fb41[_0x077c('0x31')],_0x40d0f6[_0x077c('0x32')]));if(_0x50fb41['query'][_0x077c('0x3a')]){_0x477d97[_0x077c('0x38')]=_[_0x077c('0x3b')](_0x477d97[_0x077c('0x38')],{'$or':_[_0x077c('0x3c')](_0x477d97['attributes'],function(_0xd57c90){var _0x19e45a={};_0x19e45a[_0xd57c90]={'$like':'%'+_0x50fb41[_0x077c('0x31')]['filter']+'%'};return _0x19e45a;})});}_0x477d97=_[_0x077c('0x3b')]({},_0x477d97,_0x50fb41[_0x077c('0x3d')]);return _0x3a1bbd[_0x077c('0x4f')](_0x477d97);}})[_0x077c('0x26')](function(_0xf3880c){if(_0xf3880c){_0x42b9de=_0xf3880c[_0x077c('0x44')];if(!_0x50fb41[_0x077c('0x31')][_0x077c('0x36')](_0x077c('0x4e'))){_0x477d97[_0x077c('0x20')]=qs['limit'](_0x50fb41[_0x077c('0x31')][_0x077c('0x20')]);_0x477d97['offset']=qs['offset'](_0x50fb41[_0x077c('0x31')]['offset']);}return _0x3a1bbd[_0x077c('0x4f')](_0x477d97);}})[_0x077c('0x26')](function(_0x5c699c){if(_0x5c699c){return _0x5c699c?{'count':_0x42b9de,'rows':_0x5c699c}:null;}})[_0x077c('0x26')](respondWithResult(_0x4beab1,null))['catch'](handleError(_0x4beab1,null));};