9be847748a12377ffd499fcc2fe71f8dbe9f6392
[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 _0x374c=['getSubjects','findOne','FreshsalesField','merge','nolimit','getDescriptions','getFields','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','http','request','then','info','request\x20sent','debug','stringify','error','FreshsalesConfiguration,\x20%s,\x20%s','message','result','catch','sendStatus','end','status','json','count','offset','limit','set','Content-Range','reject','save','update','destroy','stack','name','send','index','map','FreshsalesConfiguration','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','VIRTUAL','options','includeAll','include','rows','params','find','create','body'];(function(_0x5a0019,_0x5a3b0e){var _0x43f01a=function(_0x3e7717){while(--_0x3e7717){_0x5a0019['push'](_0x5a0019['shift']());}};_0x43f01a(++_0x5a3b0e);}(_0x374c,0xc1));var _0xc374=function(_0x50aa2e,_0xfbd6f0){_0x50aa2e=_0x50aa2e-0x0;var _0x5e07f0=_0x374c[_0x50aa2e];return _0x5e07f0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc374('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc374('0x1'));var rp=require(_0xc374('0x2'));var moment=require(_0xc374('0x3'));var BPromise=require(_0xc374('0x4'));var Mustache=require(_0xc374('0x5'));var util=require(_0xc374('0x6'));var path=require(_0xc374('0x7'));var sox=require(_0xc374('0x8'));var csv=require(_0xc374('0x9'));var ejs=require(_0xc374('0xa'));var fs=require('fs');var fs_extra=require(_0xc374('0xb'));var _=require(_0xc374('0xc'));var squel=require(_0xc374('0xd'));var crypto=require(_0xc374('0xe'));var jsforce=require(_0xc374('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xc374('0x9'));var querystring=require(_0xc374('0x10'));var Papa=require(_0xc374('0x11'));var Redis=require(_0xc374('0x12'));var authService=require(_0xc374('0x13'));var qs=require(_0xc374('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc374('0x15'));var logger=require(_0xc374('0x16'))(_0xc374('0x17'));var utils=require(_0xc374('0x18'));var config=require(_0xc374('0x19'));var licenseUtil=require(_0xc374('0x1a'));var db=require(_0xc374('0x1b'))['db'];var jayson=require(_0xc374('0x1c'));var client=jayson['client'][_0xc374('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x580eb7,_0x1c5edf,_0x43b75e,_0x3bf4dd){return new BPromise(function(_0x5275e4,_0x106913){var _0x513694=_0x3bf4dd||client;return _0x513694[_0xc374('0x1e')](_0x580eb7,_0x43b75e)[_0xc374('0x1f')](function(_0x107db2){logger[_0xc374('0x20')]('FreshsalesConfiguration,\x20%s,\x20%s',_0x1c5edf,_0xc374('0x21'));logger[_0xc374('0x22')]('FreshsalesConfiguration,\x20%s,\x20%s,\x20%s',_0x1c5edf,_0xc374('0x21'),JSON[_0xc374('0x23')](_0x107db2));if(_0x107db2[_0xc374('0x24')]){if(_0x107db2[_0xc374('0x24')]['code']===0x1f4){logger['error'](_0xc374('0x25'),_0x1c5edf,_0x107db2[_0xc374('0x24')][_0xc374('0x26')]);return _0x106913(_0x107db2[_0xc374('0x24')][_0xc374('0x26')]);}logger[_0xc374('0x24')](_0xc374('0x25'),_0x1c5edf,_0x107db2[_0xc374('0x24')][_0xc374('0x26')]);return _0x5275e4(_0x107db2[_0xc374('0x24')][_0xc374('0x26')]);}else{logger['info'](_0xc374('0x25'),_0x1c5edf,_0xc374('0x21'));_0x5275e4(_0x107db2[_0xc374('0x27')][_0xc374('0x26')]);}})[_0xc374('0x28')](function(_0x432f23){logger['error'](_0xc374('0x25'),_0x1c5edf,_0x432f23);_0x106913(_0x432f23);});});}function respondWithStatusCode(_0x43df50,_0x4c0d5d){_0x4c0d5d=_0x4c0d5d||0xcc;return function(_0x50a85f){if(_0x50a85f){return _0x43df50[_0xc374('0x29')](_0x4c0d5d);}return _0x43df50['status'](_0x4c0d5d)[_0xc374('0x2a')]();};}function respondWithResult(_0x16ffcc,_0x1e7da5){_0x1e7da5=_0x1e7da5||0xc8;return function(_0x1e88b7){if(_0x1e88b7){return _0x16ffcc[_0xc374('0x2b')](_0x1e7da5)[_0xc374('0x2c')](_0x1e88b7);}};}function respondWithFilteredResult(_0x38d017,_0x5f3efd){return function(_0xa17894){if(_0xa17894){var _0x81ee49=_0xa17894[_0xc374('0x2d')],_0xea3e7=_0x5f3efd[_0xc374('0x2e')],_0x4020ec=_0x5f3efd[_0xc374('0x2e')]+_0x5f3efd[_0xc374('0x2f')],_0x32819b;if(_0x4020ec>=_0x81ee49){_0x4020ec=_0x81ee49;_0x32819b=0xc8;}else{_0x32819b=0xce;}_0x38d017[_0xc374('0x2b')](_0x32819b);return _0x38d017[_0xc374('0x30')](_0xc374('0x31'),_0xea3e7+'-'+_0x4020ec+'/'+_0x81ee49)['json'](_0xa17894);}return null;};}function patchUpdates(_0x3ec0fd){return function(_0x597423){try{jsonpatch['apply'](_0x597423,_0x3ec0fd,!![]);}catch(_0x8a55cf){return BPromise[_0xc374('0x32')](_0x8a55cf);}return _0x597423[_0xc374('0x33')]();};}function saveUpdates(_0x4a9ad8,_0x20d08b){return function(_0xea30dc){if(_0xea30dc){return _0xea30dc[_0xc374('0x34')](_0x4a9ad8)['then'](function(_0x1b6a3c){return _0x1b6a3c;});}return null;};}function removeEntity(_0x33cb4f,_0x1b26ce){return function(_0x596b1e){if(_0x596b1e){return _0x596b1e[_0xc374('0x35')]()[_0xc374('0x1f')](function(){_0x33cb4f['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x7fd4e8,_0x220087){return function(_0x3789d5){if(!_0x3789d5){_0x7fd4e8[_0xc374('0x29')](0x194);}return _0x3789d5;};}function handleError(_0x49bcfa,_0x48944f){_0x48944f=_0x48944f||0x1f4;return function(_0x4efccb){logger['error'](_0x4efccb[_0xc374('0x36')]);if(_0x4efccb[_0xc374('0x37')]){delete _0x4efccb[_0xc374('0x37')];}_0x49bcfa[_0xc374('0x2b')](_0x48944f)[_0xc374('0x38')](_0x4efccb);};}exports[_0xc374('0x39')]=function(_0x1a6c69,_0x102ca2){var _0x27ed7e={},_0x397a49={},_0x56f378={'count':0x0,'rows':[]};var _0x16e96a=_[_0xc374('0x3a')](db[_0xc374('0x3b')][_0xc374('0x3c')],function(_0x37843e){return{'name':_0x37843e['fieldName'],'type':_0x37843e[_0xc374('0x3d')][_0xc374('0x3e')]};});_0x397a49[_0xc374('0x3f')]=_['map'](_0x16e96a,'name');_0x397a49[_0xc374('0x40')]=_[_0xc374('0x41')](_0x1a6c69[_0xc374('0x40')]);_0x397a49[_0xc374('0x42')]=_[_0xc374('0x43')](_0x397a49[_0xc374('0x3f')],_0x397a49[_0xc374('0x40')]);_0x27ed7e[_0xc374('0x44')]=_['intersection'](_0x397a49[_0xc374('0x3f')],qs['fields'](_0x1a6c69['query'][_0xc374('0x45')]));_0x27ed7e['attributes']=_0x27ed7e[_0xc374('0x44')][_0xc374('0x46')]?_0x27ed7e[_0xc374('0x44')]:_0x397a49[_0xc374('0x3f')];if(!_0x1a6c69[_0xc374('0x40')][_0xc374('0x47')]('nolimit')){_0x27ed7e[_0xc374('0x2f')]=qs[_0xc374('0x2f')](_0x1a6c69[_0xc374('0x40')]['limit']);_0x27ed7e[_0xc374('0x2e')]=qs[_0xc374('0x2e')](_0x1a6c69[_0xc374('0x40')]['offset']);}_0x27ed7e[_0xc374('0x48')]=qs[_0xc374('0x49')](_0x1a6c69[_0xc374('0x40')][_0xc374('0x49')]);_0x27ed7e['where']=qs[_0xc374('0x42')](_[_0xc374('0x4a')](_0x1a6c69['query'],_0x397a49[_0xc374('0x42')]),_0x16e96a);if(_0x1a6c69[_0xc374('0x40')][_0xc374('0x4b')]){_0x27ed7e['where']=_['merge'](_0x27ed7e[_0xc374('0x4c')],{'$or':_['map'](_0x16e96a,function(_0x324a34){if(_0x324a34[_0xc374('0x3d')]!==_0xc374('0x4d')){var _0x1655c6={};_0x1655c6[_0x324a34[_0xc374('0x37')]]={'$like':'%'+_0x1a6c69[_0xc374('0x40')][_0xc374('0x4b')]+'%'};return _0x1655c6;}})});}_0x27ed7e=_['merge']({},_0x27ed7e,_0x1a6c69[_0xc374('0x4e')]);var _0x1f36f1={'where':_0x27ed7e['where']};return db[_0xc374('0x3b')]['count'](_0x1f36f1)['then'](function(_0x34cb19){_0x56f378[_0xc374('0x2d')]=_0x34cb19;if(_0x1a6c69[_0xc374('0x40')][_0xc374('0x4f')]){_0x27ed7e[_0xc374('0x50')]=[{'all':!![]}];}return db[_0xc374('0x3b')]['findAll'](_0x27ed7e);})[_0xc374('0x1f')](function(_0x164c4e){_0x56f378[_0xc374('0x51')]=_0x164c4e;return _0x56f378;})['then'](respondWithFilteredResult(_0x102ca2,_0x27ed7e))['catch'](handleError(_0x102ca2,null));};exports['show']=function(_0x4e4968,_0x4f24a5){var _0x23abf9={'raw':![],'where':{'id':_0x4e4968[_0xc374('0x52')]['id']}},_0xb5716e={};_0xb5716e[_0xc374('0x3f')]=_[_0xc374('0x41')](db[_0xc374('0x3b')]['rawAttributes']);_0xb5716e[_0xc374('0x40')]=_['keys'](_0x4e4968[_0xc374('0x40')]);_0xb5716e[_0xc374('0x42')]=_[_0xc374('0x43')](_0xb5716e[_0xc374('0x3f')],_0xb5716e[_0xc374('0x40')]);_0x23abf9['attributes']=_[_0xc374('0x43')](_0xb5716e['model'],qs[_0xc374('0x45')](_0x4e4968[_0xc374('0x40')][_0xc374('0x45')]));_0x23abf9[_0xc374('0x44')]=_0x23abf9[_0xc374('0x44')][_0xc374('0x46')]?_0x23abf9[_0xc374('0x44')]:_0xb5716e[_0xc374('0x3f')];if(_0x4e4968[_0xc374('0x40')][_0xc374('0x4f')]){_0x23abf9[_0xc374('0x50')]=[{'all':!![]}];}_0x23abf9=_['merge']({},_0x23abf9,_0x4e4968[_0xc374('0x4e')]);return db['FreshsalesConfiguration'][_0xc374('0x53')](_0x23abf9)[_0xc374('0x1f')](handleEntityNotFound(_0x4f24a5,null))[_0xc374('0x1f')](respondWithResult(_0x4f24a5,null))[_0xc374('0x28')](handleError(_0x4f24a5,null));};exports[_0xc374('0x54')]=function(_0x416838,_0x1c25c2){return db[_0xc374('0x3b')][_0xc374('0x54')](_0x416838[_0xc374('0x55')],{})[_0xc374('0x1f')](respondWithResult(_0x1c25c2,0xc9))[_0xc374('0x28')](handleError(_0x1c25c2,null));};exports['update']=function(_0x19bb73,_0x3f8ace){if(_0x19bb73['body']['id']){delete _0x19bb73[_0xc374('0x55')]['id'];}return db[_0xc374('0x3b')][_0xc374('0x53')]({'where':{'id':_0x19bb73['params']['id']}})['then'](handleEntityNotFound(_0x3f8ace,null))['then'](saveUpdates(_0x19bb73[_0xc374('0x55')],null))[_0xc374('0x1f')](respondWithResult(_0x3f8ace,null))['catch'](handleError(_0x3f8ace,null));};exports[_0xc374('0x35')]=function(_0x36d905,_0xb6ed46){return db[_0xc374('0x3b')]['find']({'where':{'id':_0x36d905[_0xc374('0x52')]['id']}})['then'](handleEntityNotFound(_0xb6ed46,null))[_0xc374('0x1f')](removeEntity(_0xb6ed46,null))['catch'](handleError(_0xb6ed46,null));};exports[_0xc374('0x56')]=function(_0x1544af,_0x5b6aec,_0x4dad8d){var _0x38a8dd={};var _0x1f5152={};var _0x13a74c;var _0x1c2837;return db[_0xc374('0x3b')][_0xc374('0x57')]({'where':{'id':_0x1544af['params']['id']}})[_0xc374('0x1f')](handleEntityNotFound(_0x5b6aec,null))[_0xc374('0x1f')](function(_0x47db75){if(_0x47db75){_0x13a74c=_0x47db75;_0x1f5152[_0xc374('0x3f')]=_[_0xc374('0x41')](db[_0xc374('0x58')][_0xc374('0x3c')]);_0x1f5152[_0xc374('0x40')]=_[_0xc374('0x41')](_0x1544af[_0xc374('0x40')]);_0x1f5152['filters']=_[_0xc374('0x43')](_0x1f5152[_0xc374('0x3f')],_0x1f5152[_0xc374('0x40')]);_0x38a8dd['attributes']=_[_0xc374('0x43')](_0x1f5152['model'],qs['fields'](_0x1544af[_0xc374('0x40')]['fields']));_0x38a8dd['attributes']=_0x38a8dd[_0xc374('0x44')][_0xc374('0x46')]?_0x38a8dd[_0xc374('0x44')]:_0x1f5152[_0xc374('0x3f')];_0x38a8dd[_0xc374('0x48')]=qs['sort'](_0x1544af['query'][_0xc374('0x49')]);_0x38a8dd[_0xc374('0x4c')]=qs[_0xc374('0x42')](_['pick'](_0x1544af[_0xc374('0x40')],_0x1f5152[_0xc374('0x42')]));if(_0x1544af[_0xc374('0x40')][_0xc374('0x4b')]){_0x38a8dd[_0xc374('0x4c')]=_['merge'](_0x38a8dd['where'],{'$or':_[_0xc374('0x3a')](_0x38a8dd[_0xc374('0x44')],function(_0x2be560){var _0x498f99={};_0x498f99[_0x2be560]={'$like':'%'+_0x1544af[_0xc374('0x40')][_0xc374('0x4b')]+'%'};return _0x498f99;})});}_0x38a8dd=_[_0xc374('0x59')]({},_0x38a8dd,_0x1544af[_0xc374('0x4e')]);return _0x13a74c[_0xc374('0x56')](_0x38a8dd);}})[_0xc374('0x1f')](function(_0x197d03){if(_0x197d03){_0x1c2837=_0x197d03[_0xc374('0x46')];if(!_0x1544af[_0xc374('0x40')][_0xc374('0x47')](_0xc374('0x5a'))){_0x38a8dd['limit']=qs[_0xc374('0x2f')](_0x1544af[_0xc374('0x40')][_0xc374('0x2f')]);_0x38a8dd[_0xc374('0x2e')]=qs[_0xc374('0x2e')](_0x1544af[_0xc374('0x40')][_0xc374('0x2e')]);}return _0x13a74c['getSubjects'](_0x38a8dd);}})['then'](function(_0x1781e6){if(_0x1781e6){return _0x1781e6?{'count':_0x1c2837,'rows':_0x1781e6}:null;}})[_0xc374('0x1f')](respondWithResult(_0x5b6aec,null))[_0xc374('0x28')](handleError(_0x5b6aec,null));};exports[_0xc374('0x5b')]=function(_0x5bc743,_0x1f9b99,_0x2b300f){var _0x4e1df5={};var _0x3125d7={};var _0x2a9ba2;var _0x2a79d5;return db[_0xc374('0x3b')][_0xc374('0x57')]({'where':{'id':_0x5bc743[_0xc374('0x52')]['id']}})[_0xc374('0x1f')](handleEntityNotFound(_0x1f9b99,null))['then'](function(_0x40c8a0){if(_0x40c8a0){_0x2a9ba2=_0x40c8a0;_0x3125d7[_0xc374('0x3f')]=_[_0xc374('0x41')](db[_0xc374('0x58')][_0xc374('0x3c')]);_0x3125d7[_0xc374('0x40')]=_[_0xc374('0x41')](_0x5bc743[_0xc374('0x40')]);_0x3125d7[_0xc374('0x42')]=_[_0xc374('0x43')](_0x3125d7[_0xc374('0x3f')],_0x3125d7[_0xc374('0x40')]);_0x4e1df5[_0xc374('0x44')]=_['intersection'](_0x3125d7['model'],qs['fields'](_0x5bc743[_0xc374('0x40')]['fields']));_0x4e1df5[_0xc374('0x44')]=_0x4e1df5['attributes'][_0xc374('0x46')]?_0x4e1df5[_0xc374('0x44')]:_0x3125d7[_0xc374('0x3f')];_0x4e1df5[_0xc374('0x48')]=qs[_0xc374('0x49')](_0x5bc743[_0xc374('0x40')][_0xc374('0x49')]);_0x4e1df5[_0xc374('0x4c')]=qs[_0xc374('0x42')](_[_0xc374('0x4a')](_0x5bc743[_0xc374('0x40')],_0x3125d7['filters']));if(_0x5bc743[_0xc374('0x40')][_0xc374('0x4b')]){_0x4e1df5[_0xc374('0x4c')]=_['merge'](_0x4e1df5[_0xc374('0x4c')],{'$or':_['map'](_0x4e1df5['attributes'],function(_0x4b7176){var _0x49eb4e={};_0x49eb4e[_0x4b7176]={'$like':'%'+_0x5bc743[_0xc374('0x40')][_0xc374('0x4b')]+'%'};return _0x49eb4e;})});}_0x4e1df5=_[_0xc374('0x59')]({},_0x4e1df5,_0x5bc743[_0xc374('0x4e')]);return _0x2a9ba2[_0xc374('0x5b')](_0x4e1df5);}})[_0xc374('0x1f')](function(_0x3dc65b){if(_0x3dc65b){_0x2a79d5=_0x3dc65b[_0xc374('0x46')];if(!_0x5bc743[_0xc374('0x40')]['hasOwnProperty'](_0xc374('0x5a'))){_0x4e1df5[_0xc374('0x2f')]=qs[_0xc374('0x2f')](_0x5bc743[_0xc374('0x40')]['limit']);_0x4e1df5[_0xc374('0x2e')]=qs[_0xc374('0x2e')](_0x5bc743['query'][_0xc374('0x2e')]);}return _0x2a9ba2[_0xc374('0x5b')](_0x4e1df5);}})[_0xc374('0x1f')](function(_0x3599d5){if(_0x3599d5){return _0x3599d5?{'count':_0x2a79d5,'rows':_0x3599d5}:null;}})[_0xc374('0x1f')](respondWithResult(_0x1f9b99,null))['catch'](handleError(_0x1f9b99,null));};exports[_0xc374('0x5c')]=function(_0x42c358,_0x4cfa32,_0x2877c7){var _0x310594={};var _0x2ff969={};var _0x547204;var _0x4809c8;return db[_0xc374('0x3b')][_0xc374('0x57')]({'where':{'id':_0x42c358[_0xc374('0x52')]['id']}})[_0xc374('0x1f')](handleEntityNotFound(_0x4cfa32,null))['then'](function(_0x4a789a){if(_0x4a789a){_0x547204=_0x4a789a;_0x2ff969['model']=_['keys'](db[_0xc374('0x58')][_0xc374('0x3c')]);_0x2ff969[_0xc374('0x40')]=_[_0xc374('0x41')](_0x42c358['query']);_0x2ff969[_0xc374('0x42')]=_[_0xc374('0x43')](_0x2ff969['model'],_0x2ff969['query']);_0x310594[_0xc374('0x44')]=_[_0xc374('0x43')](_0x2ff969[_0xc374('0x3f')],qs[_0xc374('0x45')](_0x42c358[_0xc374('0x40')][_0xc374('0x45')]));_0x310594['attributes']=_0x310594[_0xc374('0x44')]['length']?_0x310594[_0xc374('0x44')]:_0x2ff969['model'];_0x310594[_0xc374('0x48')]=qs[_0xc374('0x49')](_0x42c358[_0xc374('0x40')][_0xc374('0x49')]);_0x310594[_0xc374('0x4c')]=qs[_0xc374('0x42')](_[_0xc374('0x4a')](_0x42c358[_0xc374('0x40')],_0x2ff969[_0xc374('0x42')]));if(_0x42c358['query'][_0xc374('0x4b')]){_0x310594['where']=_[_0xc374('0x59')](_0x310594['where'],{'$or':_[_0xc374('0x3a')](_0x310594[_0xc374('0x44')],function(_0x129c53){var _0x49a0d3={};_0x49a0d3[_0x129c53]={'$like':'%'+_0x42c358[_0xc374('0x40')][_0xc374('0x4b')]+'%'};return _0x49a0d3;})});}_0x310594=_[_0xc374('0x59')]({},_0x310594,_0x42c358[_0xc374('0x4e')]);return _0x547204['getFields'](_0x310594);}})[_0xc374('0x1f')](function(_0x110c4e){if(_0x110c4e){_0x4809c8=_0x110c4e[_0xc374('0x46')];if(!_0x42c358[_0xc374('0x40')]['hasOwnProperty'](_0xc374('0x5a'))){_0x310594[_0xc374('0x2f')]=qs[_0xc374('0x2f')](_0x42c358[_0xc374('0x40')]['limit']);_0x310594[_0xc374('0x2e')]=qs['offset'](_0x42c358[_0xc374('0x40')][_0xc374('0x2e')]);}return _0x547204[_0xc374('0x5c')](_0x310594);}})[_0xc374('0x1f')](function(_0x1270a7){if(_0x1270a7){return _0x1270a7?{'count':_0x4809c8,'rows':_0x1270a7}:null;}})[_0xc374('0x1f')](respondWithResult(_0x4cfa32,null))[_0xc374('0x28')](handleError(_0x4cfa32,null));};