35807718adba7c89510b0b7e9631b812e5c3bd56
[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 _0xab28=['getFields','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','save','update','then','destroy','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filter','where','includeAll','include','FreshsalesConfiguration','findAll','rows','catch','show','params','options','find','create','body','getSubjects','findOne','FreshsalesField','order','pick','merge','getDescriptions'];(function(_0x4044bd,_0x390ebf){var _0x46f00f=function(_0x887ee2){while(--_0x887ee2){_0x4044bd['push'](_0x4044bd['shift']());}};_0x46f00f(++_0x390ebf);}(_0xab28,0x149));var _0x8ab2=function(_0x484cac,_0x30ad3a){_0x484cac=_0x484cac-0x0;var _0x1d6e77=_0xab28[_0x484cac];return _0x1d6e77;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8ab2('0x0'));var zipdir=require(_0x8ab2('0x1'));var jsonpatch=require(_0x8ab2('0x2'));var rp=require(_0x8ab2('0x3'));var moment=require('moment');var BPromise=require(_0x8ab2('0x4'));var Mustache=require('mustache');var util=require(_0x8ab2('0x5'));var path=require(_0x8ab2('0x6'));var sox=require(_0x8ab2('0x7'));var csv=require(_0x8ab2('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x8ab2('0x9'));var _=require(_0x8ab2('0xa'));var squel=require('squel');var crypto=require(_0x8ab2('0xb'));var jsforce=require(_0x8ab2('0xc'));var deskjs=require(_0x8ab2('0xd'));var toCsv=require('to-csv');var querystring=require(_0x8ab2('0xe'));var Papa=require('papaparse');var Redis=require(_0x8ab2('0xf'));var authService=require(_0x8ab2('0x10'));var qs=require(_0x8ab2('0x11'));var as=require(_0x8ab2('0x12'));var hardwareService=require(_0x8ab2('0x13'));var logger=require(_0x8ab2('0x14'))(_0x8ab2('0x15'));var utils=require(_0x8ab2('0x16'));var config=require(_0x8ab2('0x17'));var licenseUtil=require(_0x8ab2('0x18'));var db=require(_0x8ab2('0x19'))['db'];function respondWithStatusCode(_0x4ccb18,_0x1488e9){_0x1488e9=_0x1488e9||0xcc;return function(_0x178efb){if(_0x178efb){return _0x4ccb18[_0x8ab2('0x1a')](_0x1488e9);}return _0x4ccb18[_0x8ab2('0x1b')](_0x1488e9)[_0x8ab2('0x1c')]();};}function respondWithResult(_0x16274e,_0x4af1a9){_0x4af1a9=_0x4af1a9||0xc8;return function(_0x1ba929){if(_0x1ba929){return _0x16274e[_0x8ab2('0x1b')](_0x4af1a9)[_0x8ab2('0x1d')](_0x1ba929);}};}function respondWithFilteredResult(_0xf85999,_0xacba14){return function(_0x3114e7){if(_0x3114e7){var _0x326311=typeof _0xacba14[_0x8ab2('0x1e')]===_0x8ab2('0x1f')&&typeof _0xacba14[_0x8ab2('0x20')]===_0x8ab2('0x1f');var _0x2e8a11=_0x3114e7[_0x8ab2('0x21')];var _0x40b34f=_0x326311?0x0:_0xacba14['offset'];var _0x4cd69c=_0x326311?_0x3114e7[_0x8ab2('0x21')]:_0xacba14[_0x8ab2('0x1e')]+_0xacba14['limit'];var _0x3685f9;if(_0x4cd69c>=_0x2e8a11){_0x4cd69c=_0x2e8a11;_0x3685f9=0xc8;}else{_0x3685f9=0xce;}_0xf85999[_0x8ab2('0x1b')](_0x3685f9);return _0xf85999[_0x8ab2('0x22')]('Content-Range',_0x40b34f+'-'+_0x4cd69c+'/'+_0x2e8a11)[_0x8ab2('0x1d')](_0x3114e7);}return null;};}function patchUpdates(_0x47790a){return function(_0x15f326){try{jsonpatch[_0x8ab2('0x23')](_0x15f326,_0x47790a,!![]);}catch(_0x6aaa13){return BPromise['reject'](_0x6aaa13);}return _0x15f326[_0x8ab2('0x24')]();};}function saveUpdates(_0x50c094,_0x1dff7d){return function(_0x49eb47){if(_0x49eb47){return _0x49eb47[_0x8ab2('0x25')](_0x50c094)[_0x8ab2('0x26')](function(_0x259dcc){return _0x259dcc;});}return null;};}function removeEntity(_0xe0c61,_0x48b051){return function(_0x2cf5a2){if(_0x2cf5a2){return _0x2cf5a2[_0x8ab2('0x27')]()[_0x8ab2('0x26')](function(){_0xe0c61[_0x8ab2('0x1b')](0xcc)[_0x8ab2('0x1c')]();});}};}function handleEntityNotFound(_0x178da7,_0x3989b8){return function(_0x335187){if(!_0x335187){_0x178da7[_0x8ab2('0x1a')](0x194);}return _0x335187;};}function handleError(_0x998af0,_0x40de88){_0x40de88=_0x40de88||0x1f4;return function(_0x4a4a6b){logger['error'](_0x4a4a6b[_0x8ab2('0x28')]);if(_0x4a4a6b[_0x8ab2('0x29')]){delete _0x4a4a6b[_0x8ab2('0x29')];}_0x998af0[_0x8ab2('0x1b')](_0x40de88)[_0x8ab2('0x2a')](_0x4a4a6b);};}exports[_0x8ab2('0x2b')]=function(_0x429528,_0x3ecef4){var _0x34bade={},_0x5d0043={},_0x1261f8={'count':0x0,'rows':[]};var _0x1cd88f=_[_0x8ab2('0x2c')](db['FreshsalesConfiguration'][_0x8ab2('0x2d')],function(_0x48734a){return{'name':_0x48734a[_0x8ab2('0x2e')],'type':_0x48734a[_0x8ab2('0x2f')][_0x8ab2('0x30')]};});_0x5d0043[_0x8ab2('0x31')]=_[_0x8ab2('0x2c')](_0x1cd88f,_0x8ab2('0x29'));_0x5d0043['query']=_[_0x8ab2('0x32')](_0x429528[_0x8ab2('0x33')]);_0x5d0043[_0x8ab2('0x34')]=_[_0x8ab2('0x35')](_0x5d0043[_0x8ab2('0x31')],_0x5d0043[_0x8ab2('0x33')]);_0x34bade[_0x8ab2('0x36')]=_[_0x8ab2('0x35')](_0x5d0043[_0x8ab2('0x31')],qs[_0x8ab2('0x37')](_0x429528[_0x8ab2('0x33')]['fields']));_0x34bade[_0x8ab2('0x36')]=_0x34bade[_0x8ab2('0x36')][_0x8ab2('0x38')]?_0x34bade[_0x8ab2('0x36')]:_0x5d0043[_0x8ab2('0x31')];if(!_0x429528[_0x8ab2('0x33')][_0x8ab2('0x39')](_0x8ab2('0x3a'))){_0x34bade[_0x8ab2('0x20')]=qs[_0x8ab2('0x20')](_0x429528[_0x8ab2('0x33')]['limit']);_0x34bade[_0x8ab2('0x1e')]=qs['offset'](_0x429528[_0x8ab2('0x33')]['offset']);}_0x34bade['order']=qs[_0x8ab2('0x3b')](_0x429528[_0x8ab2('0x33')][_0x8ab2('0x3b')]);_0x34bade['where']=qs[_0x8ab2('0x34')](_['pick'](_0x429528['query'],_0x5d0043[_0x8ab2('0x34')]),_0x1cd88f);if(_0x429528['query'][_0x8ab2('0x3c')]){_0x34bade[_0x8ab2('0x3d')]=_['merge'](_0x34bade['where'],{'$or':_[_0x8ab2('0x2c')](_0x1cd88f,function(_0x3dc1ab){if(_0x3dc1ab[_0x8ab2('0x2f')]!=='VIRTUAL'){var _0x4ab459={};_0x4ab459[_0x3dc1ab[_0x8ab2('0x29')]]={'$like':'%'+_0x429528[_0x8ab2('0x33')][_0x8ab2('0x3c')]+'%'};return _0x4ab459;}})});}_0x34bade=_['merge']({},_0x34bade,_0x429528['options']);var _0x11be93={'where':_0x34bade[_0x8ab2('0x3d')]};return db['FreshsalesConfiguration'][_0x8ab2('0x21')](_0x11be93)[_0x8ab2('0x26')](function(_0x1b81a0){_0x1261f8[_0x8ab2('0x21')]=_0x1b81a0;if(_0x429528[_0x8ab2('0x33')][_0x8ab2('0x3e')]){_0x34bade[_0x8ab2('0x3f')]=[{'all':!![]}];}return db[_0x8ab2('0x40')][_0x8ab2('0x41')](_0x34bade);})['then'](function(_0x2f66cb){_0x1261f8[_0x8ab2('0x42')]=_0x2f66cb;return _0x1261f8;})[_0x8ab2('0x26')](respondWithFilteredResult(_0x3ecef4,_0x34bade))[_0x8ab2('0x43')](handleError(_0x3ecef4,null));};exports[_0x8ab2('0x44')]=function(_0x132f08,_0x482146){var _0x117133={'raw':![],'where':{'id':_0x132f08[_0x8ab2('0x45')]['id']}},_0x2d5ac3={};_0x2d5ac3[_0x8ab2('0x31')]=_[_0x8ab2('0x32')](db[_0x8ab2('0x40')][_0x8ab2('0x2d')]);_0x2d5ac3[_0x8ab2('0x33')]=_['keys'](_0x132f08[_0x8ab2('0x33')]);_0x2d5ac3[_0x8ab2('0x34')]=_['intersection'](_0x2d5ac3['model'],_0x2d5ac3['query']);_0x117133[_0x8ab2('0x36')]=_[_0x8ab2('0x35')](_0x2d5ac3[_0x8ab2('0x31')],qs[_0x8ab2('0x37')](_0x132f08['query'][_0x8ab2('0x37')]));_0x117133['attributes']=_0x117133[_0x8ab2('0x36')][_0x8ab2('0x38')]?_0x117133[_0x8ab2('0x36')]:_0x2d5ac3[_0x8ab2('0x31')];if(_0x132f08[_0x8ab2('0x33')]['includeAll']){_0x117133['include']=[{'all':!![]}];}_0x117133=_['merge']({},_0x117133,_0x132f08[_0x8ab2('0x46')]);return db['FreshsalesConfiguration'][_0x8ab2('0x47')](_0x117133)['then'](handleEntityNotFound(_0x482146,null))[_0x8ab2('0x26')](respondWithResult(_0x482146,null))['catch'](handleError(_0x482146,null));};exports['create']=function(_0x30c9c7,_0x3cf2b6){return db[_0x8ab2('0x40')][_0x8ab2('0x48')](_0x30c9c7[_0x8ab2('0x49')],{})[_0x8ab2('0x26')](respondWithResult(_0x3cf2b6,0xc9))[_0x8ab2('0x43')](handleError(_0x3cf2b6,null));};exports[_0x8ab2('0x25')]=function(_0xe006ab,_0x3a40c5){if(_0xe006ab[_0x8ab2('0x49')]['id']){delete _0xe006ab[_0x8ab2('0x49')]['id'];}return db[_0x8ab2('0x40')]['find']({'where':{'id':_0xe006ab[_0x8ab2('0x45')]['id']}})['then'](handleEntityNotFound(_0x3a40c5,null))[_0x8ab2('0x26')](saveUpdates(_0xe006ab['body'],null))['then'](respondWithResult(_0x3a40c5,null))[_0x8ab2('0x43')](handleError(_0x3a40c5,null));};exports[_0x8ab2('0x27')]=function(_0x3cd85a,_0x4d60af){return db[_0x8ab2('0x40')][_0x8ab2('0x47')]({'where':{'id':_0x3cd85a['params']['id']}})[_0x8ab2('0x26')](handleEntityNotFound(_0x4d60af,null))[_0x8ab2('0x26')](removeEntity(_0x4d60af,null))[_0x8ab2('0x43')](handleError(_0x4d60af,null));};exports[_0x8ab2('0x4a')]=function(_0x5a9687,_0x2cbe4d,_0x741fb7){var _0x155c7e={};var _0x4c010d={};var _0x5b91dc;var _0x420582;return db[_0x8ab2('0x40')][_0x8ab2('0x4b')]({'where':{'id':_0x5a9687[_0x8ab2('0x45')]['id']}})[_0x8ab2('0x26')](handleEntityNotFound(_0x2cbe4d,null))[_0x8ab2('0x26')](function(_0x1846a0){if(_0x1846a0){_0x5b91dc=_0x1846a0;_0x4c010d[_0x8ab2('0x31')]=_[_0x8ab2('0x32')](db[_0x8ab2('0x4c')]['rawAttributes']);_0x4c010d[_0x8ab2('0x33')]=_[_0x8ab2('0x32')](_0x5a9687[_0x8ab2('0x33')]);_0x4c010d[_0x8ab2('0x34')]=_[_0x8ab2('0x35')](_0x4c010d[_0x8ab2('0x31')],_0x4c010d['query']);_0x155c7e['attributes']=_[_0x8ab2('0x35')](_0x4c010d[_0x8ab2('0x31')],qs[_0x8ab2('0x37')](_0x5a9687[_0x8ab2('0x33')][_0x8ab2('0x37')]));_0x155c7e[_0x8ab2('0x36')]=_0x155c7e[_0x8ab2('0x36')][_0x8ab2('0x38')]?_0x155c7e['attributes']:_0x4c010d[_0x8ab2('0x31')];_0x155c7e[_0x8ab2('0x4d')]=qs['sort'](_0x5a9687[_0x8ab2('0x33')][_0x8ab2('0x3b')]);_0x155c7e[_0x8ab2('0x3d')]=qs[_0x8ab2('0x34')](_[_0x8ab2('0x4e')](_0x5a9687[_0x8ab2('0x33')],_0x4c010d['filters']));if(_0x5a9687[_0x8ab2('0x33')][_0x8ab2('0x3c')]){_0x155c7e[_0x8ab2('0x3d')]=_[_0x8ab2('0x4f')](_0x155c7e['where'],{'$or':_[_0x8ab2('0x2c')](_0x155c7e[_0x8ab2('0x36')],function(_0x5df5df){var _0x174d4e={};_0x174d4e[_0x5df5df]={'$like':'%'+_0x5a9687[_0x8ab2('0x33')]['filter']+'%'};return _0x174d4e;})});}_0x155c7e=_[_0x8ab2('0x4f')]({},_0x155c7e,_0x5a9687[_0x8ab2('0x46')]);return _0x5b91dc['getSubjects'](_0x155c7e);}})[_0x8ab2('0x26')](function(_0x31093){if(_0x31093){_0x420582=_0x31093[_0x8ab2('0x38')];if(!_0x5a9687[_0x8ab2('0x33')][_0x8ab2('0x39')](_0x8ab2('0x3a'))){_0x155c7e[_0x8ab2('0x20')]=qs[_0x8ab2('0x20')](_0x5a9687[_0x8ab2('0x33')][_0x8ab2('0x20')]);_0x155c7e[_0x8ab2('0x1e')]=qs[_0x8ab2('0x1e')](_0x5a9687[_0x8ab2('0x33')][_0x8ab2('0x1e')]);}return _0x5b91dc['getSubjects'](_0x155c7e);}})['then'](function(_0x4b7159){if(_0x4b7159){return _0x4b7159?{'count':_0x420582,'rows':_0x4b7159}:null;}})[_0x8ab2('0x26')](respondWithResult(_0x2cbe4d,null))[_0x8ab2('0x43')](handleError(_0x2cbe4d,null));};exports[_0x8ab2('0x50')]=function(_0x5c267d,_0x236aa2,_0x7ee337){var _0x51af09={};var _0xb4a300={};var _0x4737ec;var _0x4b4fc2;return db[_0x8ab2('0x40')][_0x8ab2('0x4b')]({'where':{'id':_0x5c267d['params']['id']}})[_0x8ab2('0x26')](handleEntityNotFound(_0x236aa2,null))['then'](function(_0x41ea30){if(_0x41ea30){_0x4737ec=_0x41ea30;_0xb4a300[_0x8ab2('0x31')]=_['keys'](db[_0x8ab2('0x4c')]['rawAttributes']);_0xb4a300[_0x8ab2('0x33')]=_['keys'](_0x5c267d[_0x8ab2('0x33')]);_0xb4a300[_0x8ab2('0x34')]=_[_0x8ab2('0x35')](_0xb4a300['model'],_0xb4a300['query']);_0x51af09[_0x8ab2('0x36')]=_[_0x8ab2('0x35')](_0xb4a300[_0x8ab2('0x31')],qs[_0x8ab2('0x37')](_0x5c267d[_0x8ab2('0x33')]['fields']));_0x51af09[_0x8ab2('0x36')]=_0x51af09[_0x8ab2('0x36')][_0x8ab2('0x38')]?_0x51af09[_0x8ab2('0x36')]:_0xb4a300[_0x8ab2('0x31')];_0x51af09[_0x8ab2('0x4d')]=qs[_0x8ab2('0x3b')](_0x5c267d['query'][_0x8ab2('0x3b')]);_0x51af09[_0x8ab2('0x3d')]=qs[_0x8ab2('0x34')](_['pick'](_0x5c267d[_0x8ab2('0x33')],_0xb4a300[_0x8ab2('0x34')]));if(_0x5c267d[_0x8ab2('0x33')][_0x8ab2('0x3c')]){_0x51af09[_0x8ab2('0x3d')]=_[_0x8ab2('0x4f')](_0x51af09[_0x8ab2('0x3d')],{'$or':_[_0x8ab2('0x2c')](_0x51af09[_0x8ab2('0x36')],function(_0x38651b){var _0x962353={};_0x962353[_0x38651b]={'$like':'%'+_0x5c267d[_0x8ab2('0x33')][_0x8ab2('0x3c')]+'%'};return _0x962353;})});}_0x51af09=_[_0x8ab2('0x4f')]({},_0x51af09,_0x5c267d[_0x8ab2('0x46')]);return _0x4737ec['getDescriptions'](_0x51af09);}})[_0x8ab2('0x26')](function(_0x5c1b6f){if(_0x5c1b6f){_0x4b4fc2=_0x5c1b6f[_0x8ab2('0x38')];if(!_0x5c267d['query']['hasOwnProperty'](_0x8ab2('0x3a'))){_0x51af09[_0x8ab2('0x20')]=qs[_0x8ab2('0x20')](_0x5c267d[_0x8ab2('0x33')][_0x8ab2('0x20')]);_0x51af09[_0x8ab2('0x1e')]=qs[_0x8ab2('0x1e')](_0x5c267d[_0x8ab2('0x33')]['offset']);}return _0x4737ec['getDescriptions'](_0x51af09);}})[_0x8ab2('0x26')](function(_0x3acf28){if(_0x3acf28){return _0x3acf28?{'count':_0x4b4fc2,'rows':_0x3acf28}:null;}})[_0x8ab2('0x26')](respondWithResult(_0x236aa2,null))[_0x8ab2('0x43')](handleError(_0x236aa2,null));};exports[_0x8ab2('0x51')]=function(_0x2bcef3,_0x575385,_0x55b42f){var _0x4218cc={};var _0x438908={};var _0x3f4dae;var _0x15c1cf;return db[_0x8ab2('0x40')][_0x8ab2('0x4b')]({'where':{'id':_0x2bcef3[_0x8ab2('0x45')]['id']}})[_0x8ab2('0x26')](handleEntityNotFound(_0x575385,null))[_0x8ab2('0x26')](function(_0x30bb2a){if(_0x30bb2a){_0x3f4dae=_0x30bb2a;_0x438908[_0x8ab2('0x31')]=_['keys'](db['FreshsalesField'][_0x8ab2('0x2d')]);_0x438908[_0x8ab2('0x33')]=_[_0x8ab2('0x32')](_0x2bcef3['query']);_0x438908['filters']=_['intersection'](_0x438908['model'],_0x438908['query']);_0x4218cc['attributes']=_[_0x8ab2('0x35')](_0x438908['model'],qs[_0x8ab2('0x37')](_0x2bcef3[_0x8ab2('0x33')]['fields']));_0x4218cc[_0x8ab2('0x36')]=_0x4218cc[_0x8ab2('0x36')][_0x8ab2('0x38')]?_0x4218cc[_0x8ab2('0x36')]:_0x438908[_0x8ab2('0x31')];_0x4218cc[_0x8ab2('0x4d')]=qs[_0x8ab2('0x3b')](_0x2bcef3[_0x8ab2('0x33')][_0x8ab2('0x3b')]);_0x4218cc[_0x8ab2('0x3d')]=qs['filters'](_['pick'](_0x2bcef3['query'],_0x438908[_0x8ab2('0x34')]));if(_0x2bcef3[_0x8ab2('0x33')][_0x8ab2('0x3c')]){_0x4218cc[_0x8ab2('0x3d')]=_['merge'](_0x4218cc[_0x8ab2('0x3d')],{'$or':_[_0x8ab2('0x2c')](_0x4218cc[_0x8ab2('0x36')],function(_0x4692e5){var _0x164998={};_0x164998[_0x4692e5]={'$like':'%'+_0x2bcef3['query']['filter']+'%'};return _0x164998;})});}_0x4218cc=_[_0x8ab2('0x4f')]({},_0x4218cc,_0x2bcef3[_0x8ab2('0x46')]);return _0x3f4dae[_0x8ab2('0x51')](_0x4218cc);}})[_0x8ab2('0x26')](function(_0x28aa2e){if(_0x28aa2e){_0x15c1cf=_0x28aa2e['length'];if(!_0x2bcef3['query'][_0x8ab2('0x39')](_0x8ab2('0x3a'))){_0x4218cc[_0x8ab2('0x20')]=qs[_0x8ab2('0x20')](_0x2bcef3[_0x8ab2('0x33')]['limit']);_0x4218cc[_0x8ab2('0x1e')]=qs[_0x8ab2('0x1e')](_0x2bcef3['query']['offset']);}return _0x3f4dae[_0x8ab2('0x51')](_0x4218cc);}})[_0x8ab2('0x26')](function(_0x315187){if(_0x315187){return _0x315187?{'count':_0x15c1cf,'rows':_0x315187}:null;}})[_0x8ab2('0x26')](respondWithResult(_0x575385,null))[_0x8ab2('0x43')](handleError(_0x575385,null));};