Built motion from commit ddca4d0d.|2.5.47
[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 _0x9c58=['length','options','find','create','catch','body','findOne','getFields','ZohoField','order','getSubjects','nolimit','getDescriptions','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','offset','undefined','count','set','Content-Range','json','reject','save','update','then','destroy','error','stack','name','index','map','ZohoConfiguration','rawAttributes','key','query','filters','intersection','attributes','fields','model','hasOwnProperty','limit','sort','pick','filter','where','merge','VIRTUAL','includeAll','include','findAll','rows','params','keys'];(function(_0x2484d2,_0x4ef1e0){var _0x4f47da=function(_0x508fd7){while(--_0x508fd7){_0x2484d2['push'](_0x2484d2['shift']());}};_0x4f47da(++_0x4ef1e0);}(_0x9c58,0x100));var _0x89c5=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x9c58[_0x2641f9];return _0x585741;};'use strict';var emlformat=require(_0x89c5('0x0'));var rimraf=require(_0x89c5('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x89c5('0x2'));var rp=require('request-promise');var moment=require(_0x89c5('0x3'));var BPromise=require(_0x89c5('0x4'));var Mustache=require(_0x89c5('0x5'));var util=require(_0x89c5('0x6'));var path=require(_0x89c5('0x7'));var sox=require('sox');var csv=require(_0x89c5('0x8'));var ejs=require(_0x89c5('0x9'));var fs=require('fs');var fs_extra=require(_0x89c5('0xa'));var _=require(_0x89c5('0xb'));var squel=require('squel');var crypto=require(_0x89c5('0xc'));var jsforce=require(_0x89c5('0xd'));var deskjs=require(_0x89c5('0xe'));var toCsv=require(_0x89c5('0x8'));var querystring=require(_0x89c5('0xf'));var Papa=require(_0x89c5('0x10'));var Redis=require('ioredis');var authService=require(_0x89c5('0x11'));var qs=require(_0x89c5('0x12'));var as=require(_0x89c5('0x13'));var hardwareService=require(_0x89c5('0x14'));var logger=require(_0x89c5('0x15'))(_0x89c5('0x16'));var utils=require(_0x89c5('0x17'));var config=require(_0x89c5('0x18'));var licenseUtil=require(_0x89c5('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xab573,_0x578c2a){_0x578c2a=_0x578c2a||0xcc;return function(_0x2cd9a9){if(_0x2cd9a9){return _0xab573[_0x89c5('0x1a')](_0x578c2a);}return _0xab573[_0x89c5('0x1b')](_0x578c2a)[_0x89c5('0x1c')]();};}function respondWithResult(_0x4f6ad1,_0x34971f){_0x34971f=_0x34971f||0xc8;return function(_0x369d40){if(_0x369d40){return _0x4f6ad1[_0x89c5('0x1b')](_0x34971f)['json'](_0x369d40);}};}function respondWithFilteredResult(_0x4b7bd4,_0x5eb795){return function(_0x1d90bb){if(_0x1d90bb){var _0x4e771c=typeof _0x5eb795[_0x89c5('0x1d')]===_0x89c5('0x1e')&&typeof _0x5eb795['limit']===_0x89c5('0x1e');var _0x4f7075=_0x1d90bb[_0x89c5('0x1f')];var _0x2dd91a=_0x4e771c?0x0:_0x5eb795[_0x89c5('0x1d')];var _0x5a667e=_0x4e771c?_0x1d90bb[_0x89c5('0x1f')]:_0x5eb795[_0x89c5('0x1d')]+_0x5eb795['limit'];var _0x360fa3;if(_0x5a667e>=_0x4f7075){_0x5a667e=_0x4f7075;_0x360fa3=0xc8;}else{_0x360fa3=0xce;}_0x4b7bd4[_0x89c5('0x1b')](_0x360fa3);return _0x4b7bd4[_0x89c5('0x20')](_0x89c5('0x21'),_0x2dd91a+'-'+_0x5a667e+'/'+_0x4f7075)[_0x89c5('0x22')](_0x1d90bb);}return null;};}function patchUpdates(_0x45d58c){return function(_0x5231bb){try{jsonpatch['apply'](_0x5231bb,_0x45d58c,!![]);}catch(_0x3aa298){return BPromise[_0x89c5('0x23')](_0x3aa298);}return _0x5231bb[_0x89c5('0x24')]();};}function saveUpdates(_0x3bc952,_0x4d2e6d){return function(_0x4e3653){if(_0x4e3653){return _0x4e3653[_0x89c5('0x25')](_0x3bc952)[_0x89c5('0x26')](function(_0x4df2ce){return _0x4df2ce;});}return null;};}function removeEntity(_0x2578e6,_0xcb0da3){return function(_0x17ef64){if(_0x17ef64){return _0x17ef64[_0x89c5('0x27')]()[_0x89c5('0x26')](function(){_0x2578e6['status'](0xcc)[_0x89c5('0x1c')]();});}};}function handleEntityNotFound(_0x5506b2,_0x43fec4){return function(_0x28ca36){if(!_0x28ca36){_0x5506b2[_0x89c5('0x1a')](0x194);}return _0x28ca36;};}function handleError(_0x55323d,_0x5e71b9){_0x5e71b9=_0x5e71b9||0x1f4;return function(_0x33eb1c){logger[_0x89c5('0x28')](_0x33eb1c[_0x89c5('0x29')]);if(_0x33eb1c[_0x89c5('0x2a')]){delete _0x33eb1c['name'];}_0x55323d[_0x89c5('0x1b')](_0x5e71b9)['send'](_0x33eb1c);};}exports[_0x89c5('0x2b')]=function(_0x317a26,_0xa5c673){var _0x30ee54={},_0x27217d={},_0x4eed2b={'count':0x0,'rows':[]};var _0x318f0f=_[_0x89c5('0x2c')](db[_0x89c5('0x2d')][_0x89c5('0x2e')],function(_0x12d44c){return{'name':_0x12d44c['fieldName'],'type':_0x12d44c['type'][_0x89c5('0x2f')]};});_0x27217d['model']=_[_0x89c5('0x2c')](_0x318f0f,'name');_0x27217d['query']=_['keys'](_0x317a26[_0x89c5('0x30')]);_0x27217d[_0x89c5('0x31')]=_[_0x89c5('0x32')](_0x27217d['model'],_0x27217d[_0x89c5('0x30')]);_0x30ee54[_0x89c5('0x33')]=_[_0x89c5('0x32')](_0x27217d['model'],qs[_0x89c5('0x34')](_0x317a26['query'][_0x89c5('0x34')]));_0x30ee54[_0x89c5('0x33')]=_0x30ee54['attributes']['length']?_0x30ee54[_0x89c5('0x33')]:_0x27217d[_0x89c5('0x35')];if(!_0x317a26['query'][_0x89c5('0x36')]('nolimit')){_0x30ee54[_0x89c5('0x37')]=qs[_0x89c5('0x37')](_0x317a26[_0x89c5('0x30')]['limit']);_0x30ee54[_0x89c5('0x1d')]=qs[_0x89c5('0x1d')](_0x317a26[_0x89c5('0x30')][_0x89c5('0x1d')]);}_0x30ee54['order']=qs['sort'](_0x317a26[_0x89c5('0x30')][_0x89c5('0x38')]);_0x30ee54['where']=qs[_0x89c5('0x31')](_[_0x89c5('0x39')](_0x317a26['query'],_0x27217d[_0x89c5('0x31')]),_0x318f0f);if(_0x317a26[_0x89c5('0x30')][_0x89c5('0x3a')]){_0x30ee54[_0x89c5('0x3b')]=_[_0x89c5('0x3c')](_0x30ee54[_0x89c5('0x3b')],{'$or':_['map'](_0x318f0f,function(_0x58a632){if(_0x58a632['type']!==_0x89c5('0x3d')){var _0x14c619={};_0x14c619[_0x58a632[_0x89c5('0x2a')]]={'$like':'%'+_0x317a26[_0x89c5('0x30')][_0x89c5('0x3a')]+'%'};return _0x14c619;}})});}_0x30ee54=_['merge']({},_0x30ee54,_0x317a26['options']);var _0xe9ae7e={'where':_0x30ee54[_0x89c5('0x3b')]};return db[_0x89c5('0x2d')]['count'](_0xe9ae7e)['then'](function(_0x29282a){_0x4eed2b[_0x89c5('0x1f')]=_0x29282a;if(_0x317a26[_0x89c5('0x30')][_0x89c5('0x3e')]){_0x30ee54[_0x89c5('0x3f')]=[{'all':!![]}];}return db['ZohoConfiguration'][_0x89c5('0x40')](_0x30ee54);})[_0x89c5('0x26')](function(_0x20e531){_0x4eed2b[_0x89c5('0x41')]=_0x20e531;return _0x4eed2b;})['then'](respondWithFilteredResult(_0xa5c673,_0x30ee54))['catch'](handleError(_0xa5c673,null));};exports['show']=function(_0x4d17de,_0x3d1164){var _0x10d67e={'raw':![],'where':{'id':_0x4d17de[_0x89c5('0x42')]['id']}},_0x1d383f={};_0x1d383f[_0x89c5('0x35')]=_[_0x89c5('0x43')](db[_0x89c5('0x2d')][_0x89c5('0x2e')]);_0x1d383f[_0x89c5('0x30')]=_[_0x89c5('0x43')](_0x4d17de[_0x89c5('0x30')]);_0x1d383f[_0x89c5('0x31')]=_[_0x89c5('0x32')](_0x1d383f[_0x89c5('0x35')],_0x1d383f[_0x89c5('0x30')]);_0x10d67e['attributes']=_[_0x89c5('0x32')](_0x1d383f[_0x89c5('0x35')],qs['fields'](_0x4d17de[_0x89c5('0x30')]['fields']));_0x10d67e['attributes']=_0x10d67e[_0x89c5('0x33')][_0x89c5('0x44')]?_0x10d67e[_0x89c5('0x33')]:_0x1d383f[_0x89c5('0x35')];if(_0x4d17de[_0x89c5('0x30')]['includeAll']){_0x10d67e[_0x89c5('0x3f')]=[{'all':!![]}];}_0x10d67e=_[_0x89c5('0x3c')]({},_0x10d67e,_0x4d17de[_0x89c5('0x45')]);return db[_0x89c5('0x2d')][_0x89c5('0x46')](_0x10d67e)[_0x89c5('0x26')](handleEntityNotFound(_0x3d1164,null))[_0x89c5('0x26')](respondWithResult(_0x3d1164,null))['catch'](handleError(_0x3d1164,null));};exports[_0x89c5('0x47')]=function(_0x4b7c92,_0x1b042a){return db[_0x89c5('0x2d')][_0x89c5('0x47')](_0x4b7c92['body'],{})[_0x89c5('0x26')](respondWithResult(_0x1b042a,0xc9))[_0x89c5('0x48')](handleError(_0x1b042a,null));};exports['update']=function(_0x23bc19,_0x54c1f8){if(_0x23bc19[_0x89c5('0x49')]['id']){delete _0x23bc19[_0x89c5('0x49')]['id'];}return db[_0x89c5('0x2d')]['find']({'where':{'id':_0x23bc19[_0x89c5('0x42')]['id']}})[_0x89c5('0x26')](handleEntityNotFound(_0x54c1f8,null))[_0x89c5('0x26')](saveUpdates(_0x23bc19[_0x89c5('0x49')],null))[_0x89c5('0x26')](respondWithResult(_0x54c1f8,null))['catch'](handleError(_0x54c1f8,null));};exports[_0x89c5('0x27')]=function(_0x5c5521,_0x5ee6b3){return db[_0x89c5('0x2d')]['find']({'where':{'id':_0x5c5521[_0x89c5('0x42')]['id']}})[_0x89c5('0x26')](handleEntityNotFound(_0x5ee6b3,null))[_0x89c5('0x26')](removeEntity(_0x5ee6b3,null))['catch'](handleError(_0x5ee6b3,null));};exports['getFields']=function(_0x3e0fea,_0xa7b1b7,_0x4ef294){var _0x33074a={};var _0x4424ff={};var _0x4dfddc;var _0x2f92c0;return db['ZohoConfiguration'][_0x89c5('0x4a')]({'where':{'id':_0x3e0fea[_0x89c5('0x42')]['id']}})[_0x89c5('0x26')](handleEntityNotFound(_0xa7b1b7,null))[_0x89c5('0x26')](function(_0x4b22d8){if(_0x4b22d8){_0x4dfddc=_0x4b22d8;_0x4424ff['model']=_[_0x89c5('0x43')](db['ZohoField'][_0x89c5('0x2e')]);_0x4424ff[_0x89c5('0x30')]=_[_0x89c5('0x43')](_0x3e0fea[_0x89c5('0x30')]);_0x4424ff[_0x89c5('0x31')]=_['intersection'](_0x4424ff[_0x89c5('0x35')],_0x4424ff[_0x89c5('0x30')]);_0x33074a[_0x89c5('0x33')]=_[_0x89c5('0x32')](_0x4424ff[_0x89c5('0x35')],qs['fields'](_0x3e0fea[_0x89c5('0x30')][_0x89c5('0x34')]));_0x33074a[_0x89c5('0x33')]=_0x33074a['attributes'][_0x89c5('0x44')]?_0x33074a[_0x89c5('0x33')]:_0x4424ff[_0x89c5('0x35')];_0x33074a['order']=qs['sort'](_0x3e0fea['query'][_0x89c5('0x38')]);_0x33074a['where']=qs['filters'](_['pick'](_0x3e0fea[_0x89c5('0x30')],_0x4424ff[_0x89c5('0x31')]));if(_0x3e0fea[_0x89c5('0x30')][_0x89c5('0x3a')]){_0x33074a[_0x89c5('0x3b')]=_[_0x89c5('0x3c')](_0x33074a[_0x89c5('0x3b')],{'$or':_[_0x89c5('0x2c')](_0x33074a[_0x89c5('0x33')],function(_0x403f7f){var _0x20c063={};_0x20c063[_0x403f7f]={'$like':'%'+_0x3e0fea['query']['filter']+'%'};return _0x20c063;})});}_0x33074a=_[_0x89c5('0x3c')]({},_0x33074a,_0x3e0fea[_0x89c5('0x45')]);return _0x4dfddc[_0x89c5('0x4b')](_0x33074a);}})[_0x89c5('0x26')](function(_0x5f0500){if(_0x5f0500){_0x2f92c0=_0x5f0500[_0x89c5('0x44')];if(!_0x3e0fea['query'][_0x89c5('0x36')]('nolimit')){_0x33074a[_0x89c5('0x37')]=qs[_0x89c5('0x37')](_0x3e0fea[_0x89c5('0x30')][_0x89c5('0x37')]);_0x33074a[_0x89c5('0x1d')]=qs[_0x89c5('0x1d')](_0x3e0fea[_0x89c5('0x30')][_0x89c5('0x1d')]);}return _0x4dfddc[_0x89c5('0x4b')](_0x33074a);}})[_0x89c5('0x26')](function(_0x5ce841){if(_0x5ce841){return _0x5ce841?{'count':_0x2f92c0,'rows':_0x5ce841}:null;}})[_0x89c5('0x26')](respondWithResult(_0xa7b1b7,null))[_0x89c5('0x48')](handleError(_0xa7b1b7,null));};exports['getSubjects']=function(_0x53afdd,_0x391e92,_0x15172b){var _0x1e537c={};var _0x1b07ea={};var _0x125dc0;var _0x24103d;return db[_0x89c5('0x2d')][_0x89c5('0x4a')]({'where':{'id':_0x53afdd[_0x89c5('0x42')]['id']}})['then'](handleEntityNotFound(_0x391e92,null))['then'](function(_0x301490){if(_0x301490){_0x125dc0=_0x301490;_0x1b07ea['model']=_[_0x89c5('0x43')](db[_0x89c5('0x4c')][_0x89c5('0x2e')]);_0x1b07ea['query']=_[_0x89c5('0x43')](_0x53afdd[_0x89c5('0x30')]);_0x1b07ea[_0x89c5('0x31')]=_[_0x89c5('0x32')](_0x1b07ea[_0x89c5('0x35')],_0x1b07ea[_0x89c5('0x30')]);_0x1e537c['attributes']=_[_0x89c5('0x32')](_0x1b07ea[_0x89c5('0x35')],qs[_0x89c5('0x34')](_0x53afdd[_0x89c5('0x30')]['fields']));_0x1e537c[_0x89c5('0x33')]=_0x1e537c[_0x89c5('0x33')][_0x89c5('0x44')]?_0x1e537c[_0x89c5('0x33')]:_0x1b07ea['model'];_0x1e537c[_0x89c5('0x4d')]=qs['sort'](_0x53afdd[_0x89c5('0x30')][_0x89c5('0x38')]);_0x1e537c['where']=qs[_0x89c5('0x31')](_['pick'](_0x53afdd[_0x89c5('0x30')],_0x1b07ea[_0x89c5('0x31')]));if(_0x53afdd['query'][_0x89c5('0x3a')]){_0x1e537c[_0x89c5('0x3b')]=_[_0x89c5('0x3c')](_0x1e537c['where'],{'$or':_[_0x89c5('0x2c')](_0x1e537c[_0x89c5('0x33')],function(_0x1b13aa){var _0x1bcd51={};_0x1bcd51[_0x1b13aa]={'$like':'%'+_0x53afdd[_0x89c5('0x30')]['filter']+'%'};return _0x1bcd51;})});}_0x1e537c=_['merge']({},_0x1e537c,_0x53afdd[_0x89c5('0x45')]);return _0x125dc0[_0x89c5('0x4e')](_0x1e537c);}})[_0x89c5('0x26')](function(_0xbd40d2){if(_0xbd40d2){_0x24103d=_0xbd40d2[_0x89c5('0x44')];if(!_0x53afdd[_0x89c5('0x30')][_0x89c5('0x36')](_0x89c5('0x4f'))){_0x1e537c[_0x89c5('0x37')]=qs[_0x89c5('0x37')](_0x53afdd[_0x89c5('0x30')][_0x89c5('0x37')]);_0x1e537c['offset']=qs[_0x89c5('0x1d')](_0x53afdd[_0x89c5('0x30')][_0x89c5('0x1d')]);}return _0x125dc0[_0x89c5('0x4e')](_0x1e537c);}})['then'](function(_0x57368e){if(_0x57368e){return _0x57368e?{'count':_0x24103d,'rows':_0x57368e}:null;}})['then'](respondWithResult(_0x391e92,null))[_0x89c5('0x48')](handleError(_0x391e92,null));};exports[_0x89c5('0x50')]=function(_0x1bd5ce,_0x17b13b,_0x10a1da){var _0x36f5d7={};var _0x2f2e89={};var _0x1d4c77;var _0x12ec4b;return db['ZohoConfiguration'][_0x89c5('0x4a')]({'where':{'id':_0x1bd5ce[_0x89c5('0x42')]['id']}})[_0x89c5('0x26')](handleEntityNotFound(_0x17b13b,null))[_0x89c5('0x26')](function(_0x47db19){if(_0x47db19){_0x1d4c77=_0x47db19;_0x2f2e89['model']=_[_0x89c5('0x43')](db[_0x89c5('0x4c')]['rawAttributes']);_0x2f2e89[_0x89c5('0x30')]=_[_0x89c5('0x43')](_0x1bd5ce[_0x89c5('0x30')]);_0x2f2e89[_0x89c5('0x31')]=_[_0x89c5('0x32')](_0x2f2e89[_0x89c5('0x35')],_0x2f2e89[_0x89c5('0x30')]);_0x36f5d7[_0x89c5('0x33')]=_[_0x89c5('0x32')](_0x2f2e89['model'],qs[_0x89c5('0x34')](_0x1bd5ce[_0x89c5('0x30')]['fields']));_0x36f5d7[_0x89c5('0x33')]=_0x36f5d7[_0x89c5('0x33')][_0x89c5('0x44')]?_0x36f5d7[_0x89c5('0x33')]:_0x2f2e89[_0x89c5('0x35')];_0x36f5d7[_0x89c5('0x4d')]=qs[_0x89c5('0x38')](_0x1bd5ce['query'][_0x89c5('0x38')]);_0x36f5d7[_0x89c5('0x3b')]=qs[_0x89c5('0x31')](_['pick'](_0x1bd5ce['query'],_0x2f2e89[_0x89c5('0x31')]));if(_0x1bd5ce[_0x89c5('0x30')][_0x89c5('0x3a')]){_0x36f5d7[_0x89c5('0x3b')]=_['merge'](_0x36f5d7[_0x89c5('0x3b')],{'$or':_[_0x89c5('0x2c')](_0x36f5d7[_0x89c5('0x33')],function(_0x4b2e28){var _0x2f7410={};_0x2f7410[_0x4b2e28]={'$like':'%'+_0x1bd5ce[_0x89c5('0x30')]['filter']+'%'};return _0x2f7410;})});}_0x36f5d7=_['merge']({},_0x36f5d7,_0x1bd5ce[_0x89c5('0x45')]);return _0x1d4c77[_0x89c5('0x50')](_0x36f5d7);}})[_0x89c5('0x26')](function(_0xae0e70){if(_0xae0e70){_0x12ec4b=_0xae0e70[_0x89c5('0x44')];if(!_0x1bd5ce[_0x89c5('0x30')][_0x89c5('0x36')](_0x89c5('0x4f'))){_0x36f5d7[_0x89c5('0x37')]=qs[_0x89c5('0x37')](_0x1bd5ce[_0x89c5('0x30')]['limit']);_0x36f5d7['offset']=qs['offset'](_0x1bd5ce['query'][_0x89c5('0x1d')]);}return _0x1d4c77[_0x89c5('0x50')](_0x36f5d7);}})[_0x89c5('0x26')](function(_0x3bf085){if(_0x3bf085){return _0x3bf085?{'count':_0x12ec4b,'rows':_0x3bf085}:null;}})[_0x89c5('0x26')](respondWithResult(_0x17b13b,null))[_0x89c5('0x48')](handleError(_0x17b13b,null));};