Built motion from commit 1efd3d96.|2.6.31
[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 _0x785b=['fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','where','merge','VIRTUAL','filter','options','ZohoConfiguration','includeAll','include','findAll','catch','params','rawAttributes','create','body','find','getFields','findOne','ZohoField','getSubjects','getDescriptions','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','sendStatus','end','status','json','undefined','limit','count','offset','Content-Range','apply','reject','save','destroy','then','error','name','send','index','map','fieldName','type','key','model','query','keys','intersection','attributes'];(function(_0x1fd563,_0x196466){var _0x4673f3=function(_0x15e015){while(--_0x15e015){_0x1fd563['push'](_0x1fd563['shift']());}};_0x4673f3(++_0x196466);}(_0x785b,0x1a7));var _0xb785=function(_0x25985f,_0x384f27){_0x25985f=_0x25985f-0x0;var _0x256030=_0x785b[_0x25985f];return _0x256030;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb785('0x0'));var zipdir=require(_0xb785('0x1'));var jsonpatch=require(_0xb785('0x2'));var rp=require(_0xb785('0x3'));var moment=require(_0xb785('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xb785('0x5'));var util=require(_0xb785('0x6'));var path=require('path');var sox=require(_0xb785('0x7'));var csv=require(_0xb785('0x8'));var ejs=require(_0xb785('0x9'));var fs=require('fs');var fs_extra=require(_0xb785('0xa'));var _=require(_0xb785('0xb'));var squel=require(_0xb785('0xc'));var crypto=require(_0xb785('0xd'));var jsforce=require(_0xb785('0xe'));var deskjs=require(_0xb785('0xf'));var toCsv=require(_0xb785('0x8'));var querystring=require(_0xb785('0x10'));var Papa=require(_0xb785('0x11'));var Redis=require('ioredis');var authService=require(_0xb785('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xb785('0x13'));var hardwareService=require(_0xb785('0x14'));var logger=require(_0xb785('0x15'))('api');var utils=require('../../config/utils');var config=require(_0xb785('0x16'));var licenseUtil=require(_0xb785('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x51e75a,_0x48de8c){_0x48de8c=_0x48de8c||0xcc;return function(_0x4558ab){if(_0x4558ab){return _0x51e75a[_0xb785('0x18')](_0x48de8c);}return _0x51e75a['status'](_0x48de8c)[_0xb785('0x19')]();};}function respondWithResult(_0x2e541e,_0x4c5ce4){_0x4c5ce4=_0x4c5ce4||0xc8;return function(_0x1dbe23){if(_0x1dbe23){return _0x2e541e[_0xb785('0x1a')](_0x4c5ce4)[_0xb785('0x1b')](_0x1dbe23);}};}function respondWithFilteredResult(_0x11ed7f,_0x33e751){return function(_0x44d8fe){if(_0x44d8fe){var _0x6d5e06=typeof _0x33e751['offset']===_0xb785('0x1c')&&typeof _0x33e751[_0xb785('0x1d')]===_0xb785('0x1c');var _0x2a9259=_0x44d8fe[_0xb785('0x1e')];var _0x565913=_0x6d5e06?0x0:_0x33e751['offset'];var _0x3d8c80=_0x6d5e06?_0x44d8fe[_0xb785('0x1e')]:_0x33e751[_0xb785('0x1f')]+_0x33e751['limit'];var _0x28fa48;if(_0x3d8c80>=_0x2a9259){_0x3d8c80=_0x2a9259;_0x28fa48=0xc8;}else{_0x28fa48=0xce;}_0x11ed7f[_0xb785('0x1a')](_0x28fa48);return _0x11ed7f['set'](_0xb785('0x20'),_0x565913+'-'+_0x3d8c80+'/'+_0x2a9259)[_0xb785('0x1b')](_0x44d8fe);}return null;};}function patchUpdates(_0x2a3d37){return function(_0x4af8b5){try{jsonpatch[_0xb785('0x21')](_0x4af8b5,_0x2a3d37,!![]);}catch(_0x171400){return BPromise[_0xb785('0x22')](_0x171400);}return _0x4af8b5[_0xb785('0x23')]();};}function saveUpdates(_0x1471bb,_0x140c6c){return function(_0x241373){if(_0x241373){return _0x241373['update'](_0x1471bb)['then'](function(_0x2a4c37){return _0x2a4c37;});}return null;};}function removeEntity(_0x93a5ec,_0x50c299){return function(_0x35460e){if(_0x35460e){return _0x35460e[_0xb785('0x24')]()[_0xb785('0x25')](function(){_0x93a5ec[_0xb785('0x1a')](0xcc)[_0xb785('0x19')]();});}};}function handleEntityNotFound(_0x5da883,_0x326acc){return function(_0x1dadfb){if(!_0x1dadfb){_0x5da883[_0xb785('0x18')](0x194);}return _0x1dadfb;};}function handleError(_0xc4c2c2,_0xbe506){_0xbe506=_0xbe506||0x1f4;return function(_0xf5720c){logger[_0xb785('0x26')](_0xf5720c['stack']);if(_0xf5720c[_0xb785('0x27')]){delete _0xf5720c[_0xb785('0x27')];}_0xc4c2c2['status'](_0xbe506)[_0xb785('0x28')](_0xf5720c);};}exports[_0xb785('0x29')]=function(_0x42fba3,_0x1d8aaf){var _0x2d7160={},_0x2c8ae4={},_0x348f1f={'count':0x0,'rows':[]};var _0x455d56=_[_0xb785('0x2a')](db['ZohoConfiguration']['rawAttributes'],function(_0xea0ee9){return{'name':_0xea0ee9[_0xb785('0x2b')],'type':_0xea0ee9[_0xb785('0x2c')][_0xb785('0x2d')]};});_0x2c8ae4[_0xb785('0x2e')]=_[_0xb785('0x2a')](_0x455d56,_0xb785('0x27'));_0x2c8ae4[_0xb785('0x2f')]=_[_0xb785('0x30')](_0x42fba3[_0xb785('0x2f')]);_0x2c8ae4['filters']=_[_0xb785('0x31')](_0x2c8ae4[_0xb785('0x2e')],_0x2c8ae4[_0xb785('0x2f')]);_0x2d7160[_0xb785('0x32')]=_['intersection'](_0x2c8ae4['model'],qs[_0xb785('0x33')](_0x42fba3[_0xb785('0x2f')]['fields']));_0x2d7160[_0xb785('0x32')]=_0x2d7160[_0xb785('0x32')][_0xb785('0x34')]?_0x2d7160[_0xb785('0x32')]:_0x2c8ae4['model'];if(!_0x42fba3[_0xb785('0x2f')][_0xb785('0x35')](_0xb785('0x36'))){_0x2d7160[_0xb785('0x1d')]=qs[_0xb785('0x1d')](_0x42fba3[_0xb785('0x2f')]['limit']);_0x2d7160[_0xb785('0x1f')]=qs['offset'](_0x42fba3[_0xb785('0x2f')]['offset']);}_0x2d7160[_0xb785('0x37')]=qs[_0xb785('0x38')](_0x42fba3[_0xb785('0x2f')][_0xb785('0x38')]);_0x2d7160['where']=qs[_0xb785('0x39')](_[_0xb785('0x3a')](_0x42fba3[_0xb785('0x2f')],_0x2c8ae4[_0xb785('0x39')]),_0x455d56);if(_0x42fba3[_0xb785('0x2f')]['filter']){_0x2d7160[_0xb785('0x3b')]=_[_0xb785('0x3c')](_0x2d7160[_0xb785('0x3b')],{'$or':_['map'](_0x455d56,function(_0x514381){if(_0x514381[_0xb785('0x2c')]!==_0xb785('0x3d')){var _0x2ceec8={};_0x2ceec8[_0x514381[_0xb785('0x27')]]={'$like':'%'+_0x42fba3['query'][_0xb785('0x3e')]+'%'};return _0x2ceec8;}})});}_0x2d7160=_[_0xb785('0x3c')]({},_0x2d7160,_0x42fba3[_0xb785('0x3f')]);var _0x5ae219={'where':_0x2d7160[_0xb785('0x3b')]};return db[_0xb785('0x40')][_0xb785('0x1e')](_0x5ae219)[_0xb785('0x25')](function(_0x1125dc){_0x348f1f[_0xb785('0x1e')]=_0x1125dc;if(_0x42fba3[_0xb785('0x2f')][_0xb785('0x41')]){_0x2d7160[_0xb785('0x42')]=[{'all':!![]}];}return db[_0xb785('0x40')][_0xb785('0x43')](_0x2d7160);})[_0xb785('0x25')](function(_0x40b801){_0x348f1f['rows']=_0x40b801;return _0x348f1f;})[_0xb785('0x25')](respondWithFilteredResult(_0x1d8aaf,_0x2d7160))[_0xb785('0x44')](handleError(_0x1d8aaf,null));};exports['show']=function(_0x30bc77,_0x43240b){var _0x1083db={'raw':![],'where':{'id':_0x30bc77[_0xb785('0x45')]['id']}},_0x200546={};_0x200546['model']=_[_0xb785('0x30')](db[_0xb785('0x40')][_0xb785('0x46')]);_0x200546['query']=_[_0xb785('0x30')](_0x30bc77[_0xb785('0x2f')]);_0x200546['filters']=_['intersection'](_0x200546[_0xb785('0x2e')],_0x200546[_0xb785('0x2f')]);_0x1083db['attributes']=_[_0xb785('0x31')](_0x200546[_0xb785('0x2e')],qs[_0xb785('0x33')](_0x30bc77[_0xb785('0x2f')][_0xb785('0x33')]));_0x1083db[_0xb785('0x32')]=_0x1083db[_0xb785('0x32')][_0xb785('0x34')]?_0x1083db[_0xb785('0x32')]:_0x200546['model'];if(_0x30bc77[_0xb785('0x2f')]['includeAll']){_0x1083db[_0xb785('0x42')]=[{'all':!![]}];}_0x1083db=_[_0xb785('0x3c')]({},_0x1083db,_0x30bc77[_0xb785('0x3f')]);return db['ZohoConfiguration']['find'](_0x1083db)['then'](handleEntityNotFound(_0x43240b,null))[_0xb785('0x25')](respondWithResult(_0x43240b,null))[_0xb785('0x44')](handleError(_0x43240b,null));};exports['create']=function(_0x3565ca,_0x91be66){return db['ZohoConfiguration'][_0xb785('0x47')](_0x3565ca[_0xb785('0x48')],{})[_0xb785('0x25')](respondWithResult(_0x91be66,0xc9))[_0xb785('0x44')](handleError(_0x91be66,null));};exports['update']=function(_0x2c825d,_0xd598){if(_0x2c825d[_0xb785('0x48')]['id']){delete _0x2c825d[_0xb785('0x48')]['id'];}return db[_0xb785('0x40')][_0xb785('0x49')]({'where':{'id':_0x2c825d[_0xb785('0x45')]['id']}})['then'](handleEntityNotFound(_0xd598,null))[_0xb785('0x25')](saveUpdates(_0x2c825d[_0xb785('0x48')],null))['then'](respondWithResult(_0xd598,null))[_0xb785('0x44')](handleError(_0xd598,null));};exports[_0xb785('0x24')]=function(_0x8a4b84,_0x3f306d){return db[_0xb785('0x40')]['find']({'where':{'id':_0x8a4b84[_0xb785('0x45')]['id']}})['then'](handleEntityNotFound(_0x3f306d,null))[_0xb785('0x25')](removeEntity(_0x3f306d,null))[_0xb785('0x44')](handleError(_0x3f306d,null));};exports[_0xb785('0x4a')]=function(_0x3784eb,_0x338cdc,_0x224ebe){var _0x34bb34={};var _0x5c7a41={};var _0x1e620b;var _0x21014d;return db[_0xb785('0x40')][_0xb785('0x4b')]({'where':{'id':_0x3784eb[_0xb785('0x45')]['id']}})['then'](handleEntityNotFound(_0x338cdc,null))[_0xb785('0x25')](function(_0x12a1bf){if(_0x12a1bf){_0x1e620b=_0x12a1bf;_0x5c7a41[_0xb785('0x2e')]=_[_0xb785('0x30')](db[_0xb785('0x4c')]['rawAttributes']);_0x5c7a41[_0xb785('0x2f')]=_[_0xb785('0x30')](_0x3784eb['query']);_0x5c7a41[_0xb785('0x39')]=_[_0xb785('0x31')](_0x5c7a41[_0xb785('0x2e')],_0x5c7a41[_0xb785('0x2f')]);_0x34bb34[_0xb785('0x32')]=_['intersection'](_0x5c7a41[_0xb785('0x2e')],qs[_0xb785('0x33')](_0x3784eb[_0xb785('0x2f')][_0xb785('0x33')]));_0x34bb34[_0xb785('0x32')]=_0x34bb34['attributes'][_0xb785('0x34')]?_0x34bb34[_0xb785('0x32')]:_0x5c7a41['model'];_0x34bb34['order']=qs[_0xb785('0x38')](_0x3784eb[_0xb785('0x2f')][_0xb785('0x38')]);_0x34bb34[_0xb785('0x3b')]=qs['filters'](_[_0xb785('0x3a')](_0x3784eb[_0xb785('0x2f')],_0x5c7a41[_0xb785('0x39')]));if(_0x3784eb[_0xb785('0x2f')]['filter']){_0x34bb34[_0xb785('0x3b')]=_['merge'](_0x34bb34[_0xb785('0x3b')],{'$or':_[_0xb785('0x2a')](_0x34bb34[_0xb785('0x32')],function(_0x421830){var _0x235089={};_0x235089[_0x421830]={'$like':'%'+_0x3784eb[_0xb785('0x2f')][_0xb785('0x3e')]+'%'};return _0x235089;})});}_0x34bb34=_[_0xb785('0x3c')]({},_0x34bb34,_0x3784eb['options']);return _0x1e620b['getFields'](_0x34bb34);}})[_0xb785('0x25')](function(_0x27fce1){if(_0x27fce1){_0x21014d=_0x27fce1[_0xb785('0x34')];if(!_0x3784eb[_0xb785('0x2f')][_0xb785('0x35')](_0xb785('0x36'))){_0x34bb34[_0xb785('0x1d')]=qs[_0xb785('0x1d')](_0x3784eb['query'][_0xb785('0x1d')]);_0x34bb34['offset']=qs[_0xb785('0x1f')](_0x3784eb['query'][_0xb785('0x1f')]);}return _0x1e620b['getFields'](_0x34bb34);}})[_0xb785('0x25')](function(_0x47a78f){if(_0x47a78f){return _0x47a78f?{'count':_0x21014d,'rows':_0x47a78f}:null;}})[_0xb785('0x25')](respondWithResult(_0x338cdc,null))[_0xb785('0x44')](handleError(_0x338cdc,null));};exports['getSubjects']=function(_0x4c16f7,_0x14beb5,_0x42a96a){var _0x40b71d={};var _0x46a414={};var _0x2128c3;var _0x20f7de;return db['ZohoConfiguration'][_0xb785('0x4b')]({'where':{'id':_0x4c16f7['params']['id']}})[_0xb785('0x25')](handleEntityNotFound(_0x14beb5,null))[_0xb785('0x25')](function(_0x30788d){if(_0x30788d){_0x2128c3=_0x30788d;_0x46a414[_0xb785('0x2e')]=_['keys'](db[_0xb785('0x4c')][_0xb785('0x46')]);_0x46a414[_0xb785('0x2f')]=_[_0xb785('0x30')](_0x4c16f7['query']);_0x46a414['filters']=_[_0xb785('0x31')](_0x46a414['model'],_0x46a414['query']);_0x40b71d[_0xb785('0x32')]=_[_0xb785('0x31')](_0x46a414['model'],qs[_0xb785('0x33')](_0x4c16f7['query'][_0xb785('0x33')]));_0x40b71d[_0xb785('0x32')]=_0x40b71d['attributes']['length']?_0x40b71d[_0xb785('0x32')]:_0x46a414[_0xb785('0x2e')];_0x40b71d[_0xb785('0x37')]=qs[_0xb785('0x38')](_0x4c16f7[_0xb785('0x2f')][_0xb785('0x38')]);_0x40b71d[_0xb785('0x3b')]=qs[_0xb785('0x39')](_[_0xb785('0x3a')](_0x4c16f7[_0xb785('0x2f')],_0x46a414[_0xb785('0x39')]));if(_0x4c16f7[_0xb785('0x2f')][_0xb785('0x3e')]){_0x40b71d[_0xb785('0x3b')]=_[_0xb785('0x3c')](_0x40b71d[_0xb785('0x3b')],{'$or':_[_0xb785('0x2a')](_0x40b71d[_0xb785('0x32')],function(_0x5d28e0){var _0x14c696={};_0x14c696[_0x5d28e0]={'$like':'%'+_0x4c16f7[_0xb785('0x2f')]['filter']+'%'};return _0x14c696;})});}_0x40b71d=_[_0xb785('0x3c')]({},_0x40b71d,_0x4c16f7['options']);return _0x2128c3[_0xb785('0x4d')](_0x40b71d);}})['then'](function(_0x5c57ee){if(_0x5c57ee){_0x20f7de=_0x5c57ee[_0xb785('0x34')];if(!_0x4c16f7[_0xb785('0x2f')][_0xb785('0x35')](_0xb785('0x36'))){_0x40b71d['limit']=qs[_0xb785('0x1d')](_0x4c16f7['query'][_0xb785('0x1d')]);_0x40b71d['offset']=qs[_0xb785('0x1f')](_0x4c16f7[_0xb785('0x2f')][_0xb785('0x1f')]);}return _0x2128c3['getSubjects'](_0x40b71d);}})['then'](function(_0x2cde2a){if(_0x2cde2a){return _0x2cde2a?{'count':_0x20f7de,'rows':_0x2cde2a}:null;}})[_0xb785('0x25')](respondWithResult(_0x14beb5,null))[_0xb785('0x44')](handleError(_0x14beb5,null));};exports[_0xb785('0x4e')]=function(_0x599434,_0x4fff42,_0x4e7373){var _0x356e5b={};var _0x5a5149={};var _0x49a901;var _0x4596bd;return db[_0xb785('0x40')][_0xb785('0x4b')]({'where':{'id':_0x599434[_0xb785('0x45')]['id']}})[_0xb785('0x25')](handleEntityNotFound(_0x4fff42,null))[_0xb785('0x25')](function(_0x20d4fb){if(_0x20d4fb){_0x49a901=_0x20d4fb;_0x5a5149['model']=_[_0xb785('0x30')](db[_0xb785('0x4c')][_0xb785('0x46')]);_0x5a5149[_0xb785('0x2f')]=_['keys'](_0x599434[_0xb785('0x2f')]);_0x5a5149[_0xb785('0x39')]=_['intersection'](_0x5a5149[_0xb785('0x2e')],_0x5a5149['query']);_0x356e5b[_0xb785('0x32')]=_[_0xb785('0x31')](_0x5a5149[_0xb785('0x2e')],qs[_0xb785('0x33')](_0x599434['query']['fields']));_0x356e5b['attributes']=_0x356e5b[_0xb785('0x32')][_0xb785('0x34')]?_0x356e5b[_0xb785('0x32')]:_0x5a5149[_0xb785('0x2e')];_0x356e5b['order']=qs[_0xb785('0x38')](_0x599434[_0xb785('0x2f')][_0xb785('0x38')]);_0x356e5b[_0xb785('0x3b')]=qs[_0xb785('0x39')](_[_0xb785('0x3a')](_0x599434[_0xb785('0x2f')],_0x5a5149['filters']));if(_0x599434[_0xb785('0x2f')][_0xb785('0x3e')]){_0x356e5b[_0xb785('0x3b')]=_['merge'](_0x356e5b[_0xb785('0x3b')],{'$or':_['map'](_0x356e5b['attributes'],function(_0x5b6143){var _0x32922a={};_0x32922a[_0x5b6143]={'$like':'%'+_0x599434['query'][_0xb785('0x3e')]+'%'};return _0x32922a;})});}_0x356e5b=_[_0xb785('0x3c')]({},_0x356e5b,_0x599434['options']);return _0x49a901[_0xb785('0x4e')](_0x356e5b);}})['then'](function(_0x1df0d1){if(_0x1df0d1){_0x4596bd=_0x1df0d1[_0xb785('0x34')];if(!_0x599434[_0xb785('0x2f')]['hasOwnProperty'](_0xb785('0x36'))){_0x356e5b[_0xb785('0x1d')]=qs[_0xb785('0x1d')](_0x599434[_0xb785('0x2f')][_0xb785('0x1d')]);_0x356e5b[_0xb785('0x1f')]=qs[_0xb785('0x1f')](_0x599434[_0xb785('0x2f')][_0xb785('0x1f')]);}return _0x49a901[_0xb785('0x4e')](_0x356e5b);}})[_0xb785('0x25')](function(_0x123f90){if(_0x123f90){return _0x123f90?{'count':_0x4596bd,'rows':_0x123f90}:null;}})[_0xb785('0x25')](respondWithResult(_0x4fff42,null))[_0xb785('0x44')](handleError(_0x4fff42,null));};