Built motion from commit 9d7072cc.|2.5.39
[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 _0x3087=['mustache','sox','ejs','fs-extra','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','sort','pick','filter','merge','where','VIRTUAL','options','ZohoConfiguration','count','includeAll','include','findAll','rows','catch','create','body','find','params','getFields','findOne','ZohoField','length','order','getSubjects','nolimit','getDescriptions','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird'];(function(_0x50c622,_0x5c5d7c){var _0x5cdcc3=function(_0x3d87b7){while(--_0x3d87b7){_0x50c622['push'](_0x50c622['shift']());}};_0x5cdcc3(++_0x5c5d7c);}(_0x3087,0xe7));var _0x7308=function(_0x428a83,_0x5e3040){_0x428a83=_0x428a83-0x0;var _0xc28fa4=_0x3087[_0x428a83];return _0xc28fa4;};'use strict';var emlformat=require(_0x7308('0x0'));var rimraf=require(_0x7308('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7308('0x2'));var rp=require(_0x7308('0x3'));var moment=require(_0x7308('0x4'));var BPromise=require(_0x7308('0x5'));var Mustache=require(_0x7308('0x6'));var util=require('util');var path=require('path');var sox=require(_0x7308('0x7'));var csv=require('to-csv');var ejs=require(_0x7308('0x8'));var fs=require('fs');var fs_extra=require(_0x7308('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x7308('0xa'));var jsforce=require(_0x7308('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x7308('0xc'));var Papa=require(_0x7308('0xd'));var Redis=require('ioredis');var authService=require(_0x7308('0xe'));var qs=require(_0x7308('0xf'));var as=require(_0x7308('0x10'));var hardwareService=require(_0x7308('0x11'));var logger=require(_0x7308('0x12'))(_0x7308('0x13'));var utils=require('../../config/utils');var config=require(_0x7308('0x14'));var licenseUtil=require(_0x7308('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x190eda,_0x5667c7){_0x5667c7=_0x5667c7||0xcc;return function(_0x5d43aa){if(_0x5d43aa){return _0x190eda[_0x7308('0x16')](_0x5667c7);}return _0x190eda[_0x7308('0x17')](_0x5667c7)[_0x7308('0x18')]();};}function respondWithResult(_0x49d1d6,_0x36db9d){_0x36db9d=_0x36db9d||0xc8;return function(_0x21eba8){if(_0x21eba8){return _0x49d1d6[_0x7308('0x17')](_0x36db9d)[_0x7308('0x19')](_0x21eba8);}};}function respondWithFilteredResult(_0x1299aa,_0x31f6e0){return function(_0x1c374a){if(_0x1c374a){var _0x5be1b5=typeof _0x31f6e0[_0x7308('0x1a')]===_0x7308('0x1b')&&typeof _0x31f6e0[_0x7308('0x1c')]===_0x7308('0x1b');var _0x484bc1=_0x1c374a['count'];var _0x58e9f1=_0x5be1b5?0x0:_0x31f6e0[_0x7308('0x1a')];var _0x17b31d=_0x5be1b5?_0x1c374a['count']:_0x31f6e0[_0x7308('0x1a')]+_0x31f6e0[_0x7308('0x1c')];var _0x4747dc;if(_0x17b31d>=_0x484bc1){_0x17b31d=_0x484bc1;_0x4747dc=0xc8;}else{_0x4747dc=0xce;}_0x1299aa[_0x7308('0x17')](_0x4747dc);return _0x1299aa[_0x7308('0x1d')](_0x7308('0x1e'),_0x58e9f1+'-'+_0x17b31d+'/'+_0x484bc1)['json'](_0x1c374a);}return null;};}function patchUpdates(_0x2830d2){return function(_0x194830){try{jsonpatch[_0x7308('0x1f')](_0x194830,_0x2830d2,!![]);}catch(_0x37be63){return BPromise[_0x7308('0x20')](_0x37be63);}return _0x194830[_0x7308('0x21')]();};}function saveUpdates(_0x1dc454,_0x486a9b){return function(_0x185d79){if(_0x185d79){return _0x185d79[_0x7308('0x22')](_0x1dc454)[_0x7308('0x23')](function(_0x30c369){return _0x30c369;});}return null;};}function removeEntity(_0x5c38e6,_0x55ccd5){return function(_0x165d4f){if(_0x165d4f){return _0x165d4f['destroy']()['then'](function(){_0x5c38e6['status'](0xcc)[_0x7308('0x18')]();});}};}function handleEntityNotFound(_0x578a80,_0x225ad7){return function(_0x56f030){if(!_0x56f030){_0x578a80[_0x7308('0x16')](0x194);}return _0x56f030;};}function handleError(_0xf45462,_0x15dd80){_0x15dd80=_0x15dd80||0x1f4;return function(_0x34186f){logger[_0x7308('0x24')](_0x34186f[_0x7308('0x25')]);if(_0x34186f['name']){delete _0x34186f[_0x7308('0x26')];}_0xf45462[_0x7308('0x17')](_0x15dd80)[_0x7308('0x27')](_0x34186f);};}exports[_0x7308('0x28')]=function(_0x56442a,_0x26d98f){var _0xa40c26={},_0x471168={},_0x481552={'count':0x0,'rows':[]};var _0x52bab2=_[_0x7308('0x29')](db['ZohoConfiguration'][_0x7308('0x2a')],function(_0x4757fa){return{'name':_0x4757fa[_0x7308('0x2b')],'type':_0x4757fa[_0x7308('0x2c')]['key']};});_0x471168[_0x7308('0x2d')]=_[_0x7308('0x29')](_0x52bab2,'name');_0x471168[_0x7308('0x2e')]=_[_0x7308('0x2f')](_0x56442a[_0x7308('0x2e')]);_0x471168[_0x7308('0x30')]=_[_0x7308('0x31')](_0x471168[_0x7308('0x2d')],_0x471168['query']);_0xa40c26[_0x7308('0x32')]=_[_0x7308('0x31')](_0x471168[_0x7308('0x2d')],qs[_0x7308('0x33')](_0x56442a['query']['fields']));_0xa40c26[_0x7308('0x32')]=_0xa40c26[_0x7308('0x32')]['length']?_0xa40c26[_0x7308('0x32')]:_0x471168[_0x7308('0x2d')];if(!_0x56442a[_0x7308('0x2e')][_0x7308('0x34')]('nolimit')){_0xa40c26[_0x7308('0x1c')]=qs[_0x7308('0x1c')](_0x56442a['query']['limit']);_0xa40c26[_0x7308('0x1a')]=qs[_0x7308('0x1a')](_0x56442a[_0x7308('0x2e')][_0x7308('0x1a')]);}_0xa40c26['order']=qs[_0x7308('0x35')](_0x56442a['query'][_0x7308('0x35')]);_0xa40c26['where']=qs[_0x7308('0x30')](_[_0x7308('0x36')](_0x56442a['query'],_0x471168['filters']),_0x52bab2);if(_0x56442a['query'][_0x7308('0x37')]){_0xa40c26['where']=_[_0x7308('0x38')](_0xa40c26[_0x7308('0x39')],{'$or':_[_0x7308('0x29')](_0x52bab2,function(_0x4d607c){if(_0x4d607c[_0x7308('0x2c')]!==_0x7308('0x3a')){var _0x812c6f={};_0x812c6f[_0x4d607c[_0x7308('0x26')]]={'$like':'%'+_0x56442a[_0x7308('0x2e')][_0x7308('0x37')]+'%'};return _0x812c6f;}})});}_0xa40c26=_[_0x7308('0x38')]({},_0xa40c26,_0x56442a[_0x7308('0x3b')]);var _0x47153d={'where':_0xa40c26[_0x7308('0x39')]};return db[_0x7308('0x3c')][_0x7308('0x3d')](_0x47153d)[_0x7308('0x23')](function(_0x16c773){_0x481552[_0x7308('0x3d')]=_0x16c773;if(_0x56442a[_0x7308('0x2e')][_0x7308('0x3e')]){_0xa40c26[_0x7308('0x3f')]=[{'all':!![]}];}return db['ZohoConfiguration'][_0x7308('0x40')](_0xa40c26);})['then'](function(_0x48d6a4){_0x481552[_0x7308('0x41')]=_0x48d6a4;return _0x481552;})[_0x7308('0x23')](respondWithFilteredResult(_0x26d98f,_0xa40c26))['catch'](handleError(_0x26d98f,null));};exports['show']=function(_0x4d2182,_0x5da2af){var _0x24dec4={'raw':![],'where':{'id':_0x4d2182['params']['id']}},_0x3d2808={};_0x3d2808[_0x7308('0x2d')]=_[_0x7308('0x2f')](db[_0x7308('0x3c')][_0x7308('0x2a')]);_0x3d2808[_0x7308('0x2e')]=_[_0x7308('0x2f')](_0x4d2182[_0x7308('0x2e')]);_0x3d2808['filters']=_['intersection'](_0x3d2808['model'],_0x3d2808[_0x7308('0x2e')]);_0x24dec4['attributes']=_[_0x7308('0x31')](_0x3d2808[_0x7308('0x2d')],qs[_0x7308('0x33')](_0x4d2182[_0x7308('0x2e')][_0x7308('0x33')]));_0x24dec4[_0x7308('0x32')]=_0x24dec4[_0x7308('0x32')]['length']?_0x24dec4[_0x7308('0x32')]:_0x3d2808[_0x7308('0x2d')];if(_0x4d2182[_0x7308('0x2e')][_0x7308('0x3e')]){_0x24dec4[_0x7308('0x3f')]=[{'all':!![]}];}_0x24dec4=_[_0x7308('0x38')]({},_0x24dec4,_0x4d2182[_0x7308('0x3b')]);return db[_0x7308('0x3c')]['find'](_0x24dec4)[_0x7308('0x23')](handleEntityNotFound(_0x5da2af,null))[_0x7308('0x23')](respondWithResult(_0x5da2af,null))[_0x7308('0x42')](handleError(_0x5da2af,null));};exports[_0x7308('0x43')]=function(_0x5e5860,_0x44d682){return db[_0x7308('0x3c')][_0x7308('0x43')](_0x5e5860[_0x7308('0x44')],{})[_0x7308('0x23')](respondWithResult(_0x44d682,0xc9))[_0x7308('0x42')](handleError(_0x44d682,null));};exports[_0x7308('0x22')]=function(_0x50156b,_0x15c8f2){if(_0x50156b[_0x7308('0x44')]['id']){delete _0x50156b['body']['id'];}return db['ZohoConfiguration'][_0x7308('0x45')]({'where':{'id':_0x50156b[_0x7308('0x46')]['id']}})[_0x7308('0x23')](handleEntityNotFound(_0x15c8f2,null))['then'](saveUpdates(_0x50156b[_0x7308('0x44')],null))['then'](respondWithResult(_0x15c8f2,null))['catch'](handleError(_0x15c8f2,null));};exports['destroy']=function(_0x1c9e84,_0x2ee729){return db[_0x7308('0x3c')][_0x7308('0x45')]({'where':{'id':_0x1c9e84[_0x7308('0x46')]['id']}})[_0x7308('0x23')](handleEntityNotFound(_0x2ee729,null))[_0x7308('0x23')](removeEntity(_0x2ee729,null))[_0x7308('0x42')](handleError(_0x2ee729,null));};exports[_0x7308('0x47')]=function(_0x131a2a,_0x268e2d,_0x35d863){var _0x371453={};var _0x42a171={};var _0x161a48;var _0x5979dd;return db[_0x7308('0x3c')][_0x7308('0x48')]({'where':{'id':_0x131a2a[_0x7308('0x46')]['id']}})[_0x7308('0x23')](handleEntityNotFound(_0x268e2d,null))[_0x7308('0x23')](function(_0x5bc679){if(_0x5bc679){_0x161a48=_0x5bc679;_0x42a171[_0x7308('0x2d')]=_[_0x7308('0x2f')](db[_0x7308('0x49')][_0x7308('0x2a')]);_0x42a171[_0x7308('0x2e')]=_[_0x7308('0x2f')](_0x131a2a['query']);_0x42a171[_0x7308('0x30')]=_['intersection'](_0x42a171[_0x7308('0x2d')],_0x42a171[_0x7308('0x2e')]);_0x371453[_0x7308('0x32')]=_[_0x7308('0x31')](_0x42a171[_0x7308('0x2d')],qs[_0x7308('0x33')](_0x131a2a[_0x7308('0x2e')]['fields']));_0x371453[_0x7308('0x32')]=_0x371453[_0x7308('0x32')][_0x7308('0x4a')]?_0x371453[_0x7308('0x32')]:_0x42a171['model'];_0x371453[_0x7308('0x4b')]=qs['sort'](_0x131a2a[_0x7308('0x2e')][_0x7308('0x35')]);_0x371453[_0x7308('0x39')]=qs[_0x7308('0x30')](_[_0x7308('0x36')](_0x131a2a[_0x7308('0x2e')],_0x42a171[_0x7308('0x30')]));if(_0x131a2a[_0x7308('0x2e')][_0x7308('0x37')]){_0x371453['where']=_[_0x7308('0x38')](_0x371453[_0x7308('0x39')],{'$or':_[_0x7308('0x29')](_0x371453[_0x7308('0x32')],function(_0x139d9d){var _0x1e0fe7={};_0x1e0fe7[_0x139d9d]={'$like':'%'+_0x131a2a[_0x7308('0x2e')][_0x7308('0x37')]+'%'};return _0x1e0fe7;})});}_0x371453=_[_0x7308('0x38')]({},_0x371453,_0x131a2a[_0x7308('0x3b')]);return _0x161a48[_0x7308('0x47')](_0x371453);}})['then'](function(_0x1970fc){if(_0x1970fc){_0x5979dd=_0x1970fc[_0x7308('0x4a')];if(!_0x131a2a['query'][_0x7308('0x34')]('nolimit')){_0x371453[_0x7308('0x1c')]=qs[_0x7308('0x1c')](_0x131a2a[_0x7308('0x2e')][_0x7308('0x1c')]);_0x371453[_0x7308('0x1a')]=qs[_0x7308('0x1a')](_0x131a2a[_0x7308('0x2e')][_0x7308('0x1a')]);}return _0x161a48['getFields'](_0x371453);}})['then'](function(_0x5efdea){if(_0x5efdea){return _0x5efdea?{'count':_0x5979dd,'rows':_0x5efdea}:null;}})[_0x7308('0x23')](respondWithResult(_0x268e2d,null))[_0x7308('0x42')](handleError(_0x268e2d,null));};exports['getSubjects']=function(_0x104391,_0x10d0a7,_0x3644a4){var _0x207d55={};var _0x741437={};var _0x54c68e;var _0xff8ed8;return db[_0x7308('0x3c')][_0x7308('0x48')]({'where':{'id':_0x104391[_0x7308('0x46')]['id']}})[_0x7308('0x23')](handleEntityNotFound(_0x10d0a7,null))[_0x7308('0x23')](function(_0x14ecca){if(_0x14ecca){_0x54c68e=_0x14ecca;_0x741437[_0x7308('0x2d')]=_[_0x7308('0x2f')](db[_0x7308('0x49')][_0x7308('0x2a')]);_0x741437[_0x7308('0x2e')]=_[_0x7308('0x2f')](_0x104391['query']);_0x741437[_0x7308('0x30')]=_[_0x7308('0x31')](_0x741437['model'],_0x741437['query']);_0x207d55[_0x7308('0x32')]=_[_0x7308('0x31')](_0x741437['model'],qs[_0x7308('0x33')](_0x104391[_0x7308('0x2e')]['fields']));_0x207d55[_0x7308('0x32')]=_0x207d55[_0x7308('0x32')][_0x7308('0x4a')]?_0x207d55[_0x7308('0x32')]:_0x741437[_0x7308('0x2d')];_0x207d55[_0x7308('0x4b')]=qs[_0x7308('0x35')](_0x104391[_0x7308('0x2e')]['sort']);_0x207d55['where']=qs[_0x7308('0x30')](_[_0x7308('0x36')](_0x104391['query'],_0x741437['filters']));if(_0x104391[_0x7308('0x2e')][_0x7308('0x37')]){_0x207d55[_0x7308('0x39')]=_[_0x7308('0x38')](_0x207d55[_0x7308('0x39')],{'$or':_[_0x7308('0x29')](_0x207d55[_0x7308('0x32')],function(_0xa605cc){var _0x4cbd12={};_0x4cbd12[_0xa605cc]={'$like':'%'+_0x104391[_0x7308('0x2e')]['filter']+'%'};return _0x4cbd12;})});}_0x207d55=_[_0x7308('0x38')]({},_0x207d55,_0x104391[_0x7308('0x3b')]);return _0x54c68e[_0x7308('0x4c')](_0x207d55);}})[_0x7308('0x23')](function(_0x4ea4ba){if(_0x4ea4ba){_0xff8ed8=_0x4ea4ba[_0x7308('0x4a')];if(!_0x104391[_0x7308('0x2e')][_0x7308('0x34')](_0x7308('0x4d'))){_0x207d55[_0x7308('0x1c')]=qs[_0x7308('0x1c')](_0x104391[_0x7308('0x2e')]['limit']);_0x207d55['offset']=qs[_0x7308('0x1a')](_0x104391[_0x7308('0x2e')][_0x7308('0x1a')]);}return _0x54c68e['getSubjects'](_0x207d55);}})['then'](function(_0x3af416){if(_0x3af416){return _0x3af416?{'count':_0xff8ed8,'rows':_0x3af416}:null;}})['then'](respondWithResult(_0x10d0a7,null))[_0x7308('0x42')](handleError(_0x10d0a7,null));};exports[_0x7308('0x4e')]=function(_0x13089d,_0x10119f,_0x22ccb1){var _0x573b54={};var _0x1ff36={};var _0x530358;var _0x3c2a3b;return db[_0x7308('0x3c')]['findOne']({'where':{'id':_0x13089d[_0x7308('0x46')]['id']}})[_0x7308('0x23')](handleEntityNotFound(_0x10119f,null))['then'](function(_0x1a11a7){if(_0x1a11a7){_0x530358=_0x1a11a7;_0x1ff36['model']=_['keys'](db[_0x7308('0x49')][_0x7308('0x2a')]);_0x1ff36[_0x7308('0x2e')]=_[_0x7308('0x2f')](_0x13089d['query']);_0x1ff36[_0x7308('0x30')]=_[_0x7308('0x31')](_0x1ff36['model'],_0x1ff36[_0x7308('0x2e')]);_0x573b54[_0x7308('0x32')]=_['intersection'](_0x1ff36[_0x7308('0x2d')],qs[_0x7308('0x33')](_0x13089d[_0x7308('0x2e')][_0x7308('0x33')]));_0x573b54[_0x7308('0x32')]=_0x573b54[_0x7308('0x32')][_0x7308('0x4a')]?_0x573b54[_0x7308('0x32')]:_0x1ff36[_0x7308('0x2d')];_0x573b54[_0x7308('0x4b')]=qs[_0x7308('0x35')](_0x13089d[_0x7308('0x2e')]['sort']);_0x573b54['where']=qs[_0x7308('0x30')](_[_0x7308('0x36')](_0x13089d[_0x7308('0x2e')],_0x1ff36['filters']));if(_0x13089d['query'][_0x7308('0x37')]){_0x573b54[_0x7308('0x39')]=_['merge'](_0x573b54[_0x7308('0x39')],{'$or':_[_0x7308('0x29')](_0x573b54[_0x7308('0x32')],function(_0x4c8747){var _0x28af9b={};_0x28af9b[_0x4c8747]={'$like':'%'+_0x13089d[_0x7308('0x2e')][_0x7308('0x37')]+'%'};return _0x28af9b;})});}_0x573b54=_['merge']({},_0x573b54,_0x13089d['options']);return _0x530358[_0x7308('0x4e')](_0x573b54);}})[_0x7308('0x23')](function(_0x23cb19){if(_0x23cb19){_0x3c2a3b=_0x23cb19[_0x7308('0x4a')];if(!_0x13089d[_0x7308('0x2e')][_0x7308('0x34')](_0x7308('0x4d'))){_0x573b54[_0x7308('0x1c')]=qs[_0x7308('0x1c')](_0x13089d[_0x7308('0x2e')][_0x7308('0x1c')]);_0x573b54['offset']=qs['offset'](_0x13089d[_0x7308('0x2e')][_0x7308('0x1a')]);}return _0x530358['getDescriptions'](_0x573b54);}})[_0x7308('0x23')](function(_0x5cdb9d){if(_0x5cdb9d){return _0x5cdb9d?{'count':_0x3c2a3b,'rows':_0x5cdb9d}:null;}})[_0x7308('0x23')](respondWithResult(_0x10119f,null))['catch'](handleError(_0x10119f,null));};