1a10a4ed330e0731b92cdb59e78a3bd312935131
[motion2.git] / server / api / intFreshsalesConfiguration / intFreshsalesConfiguration.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 _0xdd19=['VIRTUAL','merge','options','includeAll','include','findAll','catch','show','find','create','body','params','getSubjects','FreshsalesField','findOne','getDescriptions','getFields','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','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','api','../../mysqldb','sendStatus','json','offset','limit','undefined','count','status','set','Content-Range','save','update','then','destroy','end','error','name','send','index','map','FreshsalesConfiguration','rawAttributes','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','type'];(function(_0x5a30c3,_0x40e85c){var _0x59396a=function(_0x7ee653){while(--_0x7ee653){_0x5a30c3['push'](_0x5a30c3['shift']());}};_0x59396a(++_0x40e85c);}(_0xdd19,0x107));var _0x9dd1=function(_0x2d7f0e,_0x3e6fbd){_0x2d7f0e=_0x2d7f0e-0x0;var _0x110b07=_0xdd19[_0x2d7f0e];return _0x110b07;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9dd1('0x0'));var zipdir=require(_0x9dd1('0x1'));var jsonpatch=require(_0x9dd1('0x2'));var rp=require(_0x9dd1('0x3'));var moment=require(_0x9dd1('0x4'));var BPromise=require(_0x9dd1('0x5'));var Mustache=require(_0x9dd1('0x6'));var util=require(_0x9dd1('0x7'));var path=require(_0x9dd1('0x8'));var sox=require(_0x9dd1('0x9'));var csv=require(_0x9dd1('0xa'));var ejs=require(_0x9dd1('0xb'));var fs=require('fs');var fs_extra=require(_0x9dd1('0xc'));var _=require(_0x9dd1('0xd'));var squel=require(_0x9dd1('0xe'));var crypto=require(_0x9dd1('0xf'));var jsforce=require(_0x9dd1('0x10'));var deskjs=require(_0x9dd1('0x11'));var toCsv=require('to-csv');var querystring=require(_0x9dd1('0x12'));var Papa=require(_0x9dd1('0x13'));var Redis=require(_0x9dd1('0x14'));var authService=require(_0x9dd1('0x15'));var qs=require(_0x9dd1('0x16'));var as=require(_0x9dd1('0x17'));var hardwareService=require(_0x9dd1('0x18'));var logger=require('../../config/logger')(_0x9dd1('0x19'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9dd1('0x1a'))['db'];function respondWithStatusCode(_0x47caa1,_0x577a1c){_0x577a1c=_0x577a1c||0xcc;return function(_0x3fd996){if(_0x3fd996){return _0x47caa1[_0x9dd1('0x1b')](_0x577a1c);}return _0x47caa1['status'](_0x577a1c)['end']();};}function respondWithResult(_0x38e1ec,_0x32b162){_0x32b162=_0x32b162||0xc8;return function(_0x289786){if(_0x289786){return _0x38e1ec['status'](_0x32b162)[_0x9dd1('0x1c')](_0x289786);}};}function respondWithFilteredResult(_0x4be367,_0x73c6ec){return function(_0x1b6dfd){if(_0x1b6dfd){var _0x526024=typeof _0x73c6ec[_0x9dd1('0x1d')]==='undefined'&&typeof _0x73c6ec[_0x9dd1('0x1e')]===_0x9dd1('0x1f');var _0x4051b8=_0x1b6dfd[_0x9dd1('0x20')];var _0x2651aa=_0x526024?0x0:_0x73c6ec[_0x9dd1('0x1d')];var _0x948353=_0x526024?_0x1b6dfd[_0x9dd1('0x20')]:_0x73c6ec[_0x9dd1('0x1d')]+_0x73c6ec[_0x9dd1('0x1e')];var _0x32dff2;if(_0x948353>=_0x4051b8){_0x948353=_0x4051b8;_0x32dff2=0xc8;}else{_0x32dff2=0xce;}_0x4be367[_0x9dd1('0x21')](_0x32dff2);return _0x4be367[_0x9dd1('0x22')](_0x9dd1('0x23'),_0x2651aa+'-'+_0x948353+'/'+_0x4051b8)[_0x9dd1('0x1c')](_0x1b6dfd);}return null;};}function patchUpdates(_0x549144){return function(_0xb28a8d){try{jsonpatch['apply'](_0xb28a8d,_0x549144,!![]);}catch(_0x4a1f28){return BPromise['reject'](_0x4a1f28);}return _0xb28a8d[_0x9dd1('0x24')]();};}function saveUpdates(_0xb8eac0,_0xf96272){return function(_0x1fbfcb){if(_0x1fbfcb){return _0x1fbfcb[_0x9dd1('0x25')](_0xb8eac0)[_0x9dd1('0x26')](function(_0x52d295){return _0x52d295;});}return null;};}function removeEntity(_0x53af2e,_0x4e150a){return function(_0x3a590a){if(_0x3a590a){return _0x3a590a[_0x9dd1('0x27')]()[_0x9dd1('0x26')](function(){_0x53af2e['status'](0xcc)[_0x9dd1('0x28')]();});}};}function handleEntityNotFound(_0x15f9c5,_0x584f00){return function(_0x4ad93c){if(!_0x4ad93c){_0x15f9c5[_0x9dd1('0x1b')](0x194);}return _0x4ad93c;};}function handleError(_0x4056cb,_0x25c1c0){_0x25c1c0=_0x25c1c0||0x1f4;return function(_0x4e16b3){logger[_0x9dd1('0x29')](_0x4e16b3['stack']);if(_0x4e16b3['name']){delete _0x4e16b3[_0x9dd1('0x2a')];}_0x4056cb[_0x9dd1('0x21')](_0x25c1c0)[_0x9dd1('0x2b')](_0x4e16b3);};}exports[_0x9dd1('0x2c')]=function(_0x4c8223,_0x2d036b){var _0x3fdfb0={},_0x4461dc={},_0x8cbb0f={'count':0x0,'rows':[]};var _0x498a18=_[_0x9dd1('0x2d')](db[_0x9dd1('0x2e')][_0x9dd1('0x2f')],function(_0x445fbd){return{'name':_0x445fbd['fieldName'],'type':_0x445fbd['type'][_0x9dd1('0x30')]};});_0x4461dc[_0x9dd1('0x31')]=_[_0x9dd1('0x2d')](_0x498a18,_0x9dd1('0x2a'));_0x4461dc[_0x9dd1('0x32')]=_[_0x9dd1('0x33')](_0x4c8223[_0x9dd1('0x32')]);_0x4461dc['filters']=_[_0x9dd1('0x34')](_0x4461dc[_0x9dd1('0x31')],_0x4461dc[_0x9dd1('0x32')]);_0x3fdfb0['attributes']=_['intersection'](_0x4461dc[_0x9dd1('0x31')],qs[_0x9dd1('0x35')](_0x4c8223['query'][_0x9dd1('0x35')]));_0x3fdfb0[_0x9dd1('0x36')]=_0x3fdfb0[_0x9dd1('0x36')][_0x9dd1('0x37')]?_0x3fdfb0['attributes']:_0x4461dc[_0x9dd1('0x31')];if(!_0x4c8223['query'][_0x9dd1('0x38')](_0x9dd1('0x39'))){_0x3fdfb0[_0x9dd1('0x1e')]=qs[_0x9dd1('0x1e')](_0x4c8223[_0x9dd1('0x32')]['limit']);_0x3fdfb0['offset']=qs[_0x9dd1('0x1d')](_0x4c8223[_0x9dd1('0x32')]['offset']);}_0x3fdfb0[_0x9dd1('0x3a')]=qs[_0x9dd1('0x3b')](_0x4c8223[_0x9dd1('0x32')][_0x9dd1('0x3b')]);_0x3fdfb0[_0x9dd1('0x3c')]=qs[_0x9dd1('0x3d')](_[_0x9dd1('0x3e')](_0x4c8223[_0x9dd1('0x32')],_0x4461dc[_0x9dd1('0x3d')]),_0x498a18);if(_0x4c8223[_0x9dd1('0x32')][_0x9dd1('0x3f')]){_0x3fdfb0[_0x9dd1('0x3c')]=_['merge'](_0x3fdfb0[_0x9dd1('0x3c')],{'$or':_[_0x9dd1('0x2d')](_0x498a18,function(_0x18a615){if(_0x18a615[_0x9dd1('0x40')]!==_0x9dd1('0x41')){var _0x4fac4d={};_0x4fac4d[_0x18a615[_0x9dd1('0x2a')]]={'$like':'%'+_0x4c8223['query'][_0x9dd1('0x3f')]+'%'};return _0x4fac4d;}})});}_0x3fdfb0=_[_0x9dd1('0x42')]({},_0x3fdfb0,_0x4c8223[_0x9dd1('0x43')]);var _0x1cf143={'where':_0x3fdfb0[_0x9dd1('0x3c')]};return db[_0x9dd1('0x2e')]['count'](_0x1cf143)[_0x9dd1('0x26')](function(_0xa9af51){_0x8cbb0f['count']=_0xa9af51;if(_0x4c8223[_0x9dd1('0x32')][_0x9dd1('0x44')]){_0x3fdfb0[_0x9dd1('0x45')]=[{'all':!![]}];}return db[_0x9dd1('0x2e')][_0x9dd1('0x46')](_0x3fdfb0);})['then'](function(_0x18038b){_0x8cbb0f['rows']=_0x18038b;return _0x8cbb0f;})[_0x9dd1('0x26')](respondWithFilteredResult(_0x2d036b,_0x3fdfb0))[_0x9dd1('0x47')](handleError(_0x2d036b,null));};exports[_0x9dd1('0x48')]=function(_0x115042,_0x51ec88){var _0x47ecfd={'raw':![],'where':{'id':_0x115042['params']['id']}},_0x2e8261={};_0x2e8261['model']=_[_0x9dd1('0x33')](db[_0x9dd1('0x2e')][_0x9dd1('0x2f')]);_0x2e8261['query']=_['keys'](_0x115042[_0x9dd1('0x32')]);_0x2e8261[_0x9dd1('0x3d')]=_[_0x9dd1('0x34')](_0x2e8261[_0x9dd1('0x31')],_0x2e8261[_0x9dd1('0x32')]);_0x47ecfd['attributes']=_[_0x9dd1('0x34')](_0x2e8261['model'],qs[_0x9dd1('0x35')](_0x115042[_0x9dd1('0x32')][_0x9dd1('0x35')]));_0x47ecfd[_0x9dd1('0x36')]=_0x47ecfd[_0x9dd1('0x36')][_0x9dd1('0x37')]?_0x47ecfd[_0x9dd1('0x36')]:_0x2e8261['model'];if(_0x115042['query']['includeAll']){_0x47ecfd[_0x9dd1('0x45')]=[{'all':!![]}];}_0x47ecfd=_[_0x9dd1('0x42')]({},_0x47ecfd,_0x115042['options']);return db[_0x9dd1('0x2e')][_0x9dd1('0x49')](_0x47ecfd)[_0x9dd1('0x26')](handleEntityNotFound(_0x51ec88,null))[_0x9dd1('0x26')](respondWithResult(_0x51ec88,null))[_0x9dd1('0x47')](handleError(_0x51ec88,null));};exports[_0x9dd1('0x4a')]=function(_0x5f559b,_0x13fa86){return db['FreshsalesConfiguration'][_0x9dd1('0x4a')](_0x5f559b[_0x9dd1('0x4b')],{})['then'](respondWithResult(_0x13fa86,0xc9))[_0x9dd1('0x47')](handleError(_0x13fa86,null));};exports[_0x9dd1('0x25')]=function(_0xe4380d,_0xfa3416){if(_0xe4380d['body']['id']){delete _0xe4380d[_0x9dd1('0x4b')]['id'];}return db['FreshsalesConfiguration'][_0x9dd1('0x49')]({'where':{'id':_0xe4380d['params']['id']}})['then'](handleEntityNotFound(_0xfa3416,null))[_0x9dd1('0x26')](saveUpdates(_0xe4380d[_0x9dd1('0x4b')],null))['then'](respondWithResult(_0xfa3416,null))['catch'](handleError(_0xfa3416,null));};exports['destroy']=function(_0x48abcf,_0x528774){return db[_0x9dd1('0x2e')][_0x9dd1('0x49')]({'where':{'id':_0x48abcf[_0x9dd1('0x4c')]['id']}})['then'](handleEntityNotFound(_0x528774,null))['then'](removeEntity(_0x528774,null))['catch'](handleError(_0x528774,null));};exports[_0x9dd1('0x4d')]=function(_0x15fe5e,_0x110464,_0x284364){var _0x89c0ba={};var _0xcf36d5={};var _0x2ba998;var _0x36edb2;return db[_0x9dd1('0x2e')]['findOne']({'where':{'id':_0x15fe5e[_0x9dd1('0x4c')]['id']}})[_0x9dd1('0x26')](handleEntityNotFound(_0x110464,null))[_0x9dd1('0x26')](function(_0x401c01){if(_0x401c01){_0x2ba998=_0x401c01;_0xcf36d5[_0x9dd1('0x31')]=_[_0x9dd1('0x33')](db[_0x9dd1('0x4e')]['rawAttributes']);_0xcf36d5[_0x9dd1('0x32')]=_[_0x9dd1('0x33')](_0x15fe5e[_0x9dd1('0x32')]);_0xcf36d5[_0x9dd1('0x3d')]=_[_0x9dd1('0x34')](_0xcf36d5[_0x9dd1('0x31')],_0xcf36d5['query']);_0x89c0ba['attributes']=_[_0x9dd1('0x34')](_0xcf36d5[_0x9dd1('0x31')],qs[_0x9dd1('0x35')](_0x15fe5e[_0x9dd1('0x32')][_0x9dd1('0x35')]));_0x89c0ba[_0x9dd1('0x36')]=_0x89c0ba[_0x9dd1('0x36')][_0x9dd1('0x37')]?_0x89c0ba[_0x9dd1('0x36')]:_0xcf36d5[_0x9dd1('0x31')];_0x89c0ba[_0x9dd1('0x3a')]=qs[_0x9dd1('0x3b')](_0x15fe5e[_0x9dd1('0x32')][_0x9dd1('0x3b')]);_0x89c0ba[_0x9dd1('0x3c')]=qs[_0x9dd1('0x3d')](_[_0x9dd1('0x3e')](_0x15fe5e[_0x9dd1('0x32')],_0xcf36d5[_0x9dd1('0x3d')]));if(_0x15fe5e['query'][_0x9dd1('0x3f')]){_0x89c0ba['where']=_[_0x9dd1('0x42')](_0x89c0ba[_0x9dd1('0x3c')],{'$or':_[_0x9dd1('0x2d')](_0x89c0ba[_0x9dd1('0x36')],function(_0x37a17c){var _0x29d040={};_0x29d040[_0x37a17c]={'$like':'%'+_0x15fe5e[_0x9dd1('0x32')][_0x9dd1('0x3f')]+'%'};return _0x29d040;})});}_0x89c0ba=_[_0x9dd1('0x42')]({},_0x89c0ba,_0x15fe5e['options']);return _0x2ba998[_0x9dd1('0x4d')](_0x89c0ba);}})[_0x9dd1('0x26')](function(_0x569f97){if(_0x569f97){_0x36edb2=_0x569f97[_0x9dd1('0x37')];if(!_0x15fe5e[_0x9dd1('0x32')][_0x9dd1('0x38')]('nolimit')){_0x89c0ba['limit']=qs[_0x9dd1('0x1e')](_0x15fe5e[_0x9dd1('0x32')]['limit']);_0x89c0ba['offset']=qs['offset'](_0x15fe5e['query'][_0x9dd1('0x1d')]);}return _0x2ba998[_0x9dd1('0x4d')](_0x89c0ba);}})['then'](function(_0x43a51d){if(_0x43a51d){return _0x43a51d?{'count':_0x36edb2,'rows':_0x43a51d}:null;}})[_0x9dd1('0x26')](respondWithResult(_0x110464,null))['catch'](handleError(_0x110464,null));};exports['getDescriptions']=function(_0x256965,_0xdab520,_0x4f90d0){var _0x4500fa={};var _0x5c78ba={};var _0xcb052d;var _0x178ec3;return db[_0x9dd1('0x2e')][_0x9dd1('0x4f')]({'where':{'id':_0x256965[_0x9dd1('0x4c')]['id']}})[_0x9dd1('0x26')](handleEntityNotFound(_0xdab520,null))[_0x9dd1('0x26')](function(_0x511907){if(_0x511907){_0xcb052d=_0x511907;_0x5c78ba[_0x9dd1('0x31')]=_['keys'](db[_0x9dd1('0x4e')][_0x9dd1('0x2f')]);_0x5c78ba[_0x9dd1('0x32')]=_[_0x9dd1('0x33')](_0x256965['query']);_0x5c78ba[_0x9dd1('0x3d')]=_[_0x9dd1('0x34')](_0x5c78ba[_0x9dd1('0x31')],_0x5c78ba['query']);_0x4500fa[_0x9dd1('0x36')]=_[_0x9dd1('0x34')](_0x5c78ba[_0x9dd1('0x31')],qs[_0x9dd1('0x35')](_0x256965[_0x9dd1('0x32')][_0x9dd1('0x35')]));_0x4500fa[_0x9dd1('0x36')]=_0x4500fa[_0x9dd1('0x36')]['length']?_0x4500fa[_0x9dd1('0x36')]:_0x5c78ba[_0x9dd1('0x31')];_0x4500fa[_0x9dd1('0x3a')]=qs['sort'](_0x256965['query'][_0x9dd1('0x3b')]);_0x4500fa[_0x9dd1('0x3c')]=qs['filters'](_[_0x9dd1('0x3e')](_0x256965[_0x9dd1('0x32')],_0x5c78ba['filters']));if(_0x256965[_0x9dd1('0x32')][_0x9dd1('0x3f')]){_0x4500fa['where']=_[_0x9dd1('0x42')](_0x4500fa[_0x9dd1('0x3c')],{'$or':_[_0x9dd1('0x2d')](_0x4500fa[_0x9dd1('0x36')],function(_0x504aa7){var _0x57122e={};_0x57122e[_0x504aa7]={'$like':'%'+_0x256965[_0x9dd1('0x32')][_0x9dd1('0x3f')]+'%'};return _0x57122e;})});}_0x4500fa=_[_0x9dd1('0x42')]({},_0x4500fa,_0x256965['options']);return _0xcb052d['getDescriptions'](_0x4500fa);}})['then'](function(_0x1e6c5e){if(_0x1e6c5e){_0x178ec3=_0x1e6c5e[_0x9dd1('0x37')];if(!_0x256965['query'][_0x9dd1('0x38')](_0x9dd1('0x39'))){_0x4500fa[_0x9dd1('0x1e')]=qs[_0x9dd1('0x1e')](_0x256965['query'][_0x9dd1('0x1e')]);_0x4500fa[_0x9dd1('0x1d')]=qs['offset'](_0x256965[_0x9dd1('0x32')][_0x9dd1('0x1d')]);}return _0xcb052d[_0x9dd1('0x50')](_0x4500fa);}})[_0x9dd1('0x26')](function(_0x359026){if(_0x359026){return _0x359026?{'count':_0x178ec3,'rows':_0x359026}:null;}})[_0x9dd1('0x26')](respondWithResult(_0xdab520,null))[_0x9dd1('0x47')](handleError(_0xdab520,null));};exports[_0x9dd1('0x51')]=function(_0x1e46d7,_0x29a112,_0x19f0e8){var _0x481912={};var _0x2aa73d={};var _0x413c64;var _0x57b73a;return db[_0x9dd1('0x2e')][_0x9dd1('0x4f')]({'where':{'id':_0x1e46d7[_0x9dd1('0x4c')]['id']}})[_0x9dd1('0x26')](handleEntityNotFound(_0x29a112,null))[_0x9dd1('0x26')](function(_0x2c3c03){if(_0x2c3c03){_0x413c64=_0x2c3c03;_0x2aa73d[_0x9dd1('0x31')]=_['keys'](db[_0x9dd1('0x4e')][_0x9dd1('0x2f')]);_0x2aa73d['query']=_['keys'](_0x1e46d7['query']);_0x2aa73d[_0x9dd1('0x3d')]=_[_0x9dd1('0x34')](_0x2aa73d[_0x9dd1('0x31')],_0x2aa73d[_0x9dd1('0x32')]);_0x481912[_0x9dd1('0x36')]=_[_0x9dd1('0x34')](_0x2aa73d[_0x9dd1('0x31')],qs[_0x9dd1('0x35')](_0x1e46d7[_0x9dd1('0x32')][_0x9dd1('0x35')]));_0x481912[_0x9dd1('0x36')]=_0x481912[_0x9dd1('0x36')][_0x9dd1('0x37')]?_0x481912['attributes']:_0x2aa73d['model'];_0x481912[_0x9dd1('0x3a')]=qs[_0x9dd1('0x3b')](_0x1e46d7[_0x9dd1('0x32')][_0x9dd1('0x3b')]);_0x481912[_0x9dd1('0x3c')]=qs[_0x9dd1('0x3d')](_[_0x9dd1('0x3e')](_0x1e46d7['query'],_0x2aa73d[_0x9dd1('0x3d')]));if(_0x1e46d7[_0x9dd1('0x32')][_0x9dd1('0x3f')]){_0x481912[_0x9dd1('0x3c')]=_['merge'](_0x481912[_0x9dd1('0x3c')],{'$or':_['map'](_0x481912[_0x9dd1('0x36')],function(_0x25e97f){var _0xcebfec={};_0xcebfec[_0x25e97f]={'$like':'%'+_0x1e46d7[_0x9dd1('0x32')][_0x9dd1('0x3f')]+'%'};return _0xcebfec;})});}_0x481912=_[_0x9dd1('0x42')]({},_0x481912,_0x1e46d7[_0x9dd1('0x43')]);return _0x413c64['getFields'](_0x481912);}})['then'](function(_0x730faf){if(_0x730faf){_0x57b73a=_0x730faf[_0x9dd1('0x37')];if(!_0x1e46d7[_0x9dd1('0x32')][_0x9dd1('0x38')]('nolimit')){_0x481912[_0x9dd1('0x1e')]=qs[_0x9dd1('0x1e')](_0x1e46d7[_0x9dd1('0x32')][_0x9dd1('0x1e')]);_0x481912['offset']=qs[_0x9dd1('0x1d')](_0x1e46d7[_0x9dd1('0x32')][_0x9dd1('0x1d')]);}return _0x413c64['getFields'](_0x481912);}})[_0x9dd1('0x26')](function(_0x3e0a67){if(_0x3e0a67){return _0x3e0a67?{'count':_0x57b73a,'rows':_0x3e0a67}:null;}})['then'](respondWithResult(_0x29a112,null))[_0x9dd1('0x47')](handleError(_0x29a112,null));};