347727d4734485a28f96b22cfd445d7ffdd5351c
[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 _0xa245=['FreshsalesField','pick','getSubjects','getDescriptions','getFields','eml-format','rimraf','request-promise','moment','bluebird','mustache','ejs','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','set','json','apply','reject','save','update','destroy','then','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','VIRTUAL','merge','FreshsalesConfiguration','includeAll','include','rows','catch','show','params','keys','options','find','create','body','findOne'];(function(_0x39dadd,_0x5e021f){var _0x52c414=function(_0x2fff0a){while(--_0x2fff0a){_0x39dadd['push'](_0x39dadd['shift']());}};_0x52c414(++_0x5e021f);}(_0xa245,0x195));var _0x5a24=function(_0x15d08f,_0x37ce88){_0x15d08f=_0x15d08f-0x0;var _0x4a0056=_0xa245[_0x15d08f];return _0x4a0056;};'use strict';var emlformat=require(_0x5a24('0x0'));var rimraf=require(_0x5a24('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x5a24('0x2'));var moment=require(_0x5a24('0x3'));var BPromise=require(_0x5a24('0x4'));var Mustache=require(_0x5a24('0x5'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x5a24('0x6'));var fs=require('fs');var fs_extra=require(_0x5a24('0x7'));var _=require(_0x5a24('0x8'));var squel=require('squel');var crypto=require(_0x5a24('0x9'));var jsforce=require(_0x5a24('0xa'));var deskjs=require(_0x5a24('0xb'));var toCsv=require(_0x5a24('0xc'));var querystring=require(_0x5a24('0xd'));var Papa=require(_0x5a24('0xe'));var Redis=require(_0x5a24('0xf'));var authService=require(_0x5a24('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x5a24('0x11'));var hardwareService=require(_0x5a24('0x12'));var logger=require(_0x5a24('0x13'))('api');var utils=require(_0x5a24('0x14'));var config=require(_0x5a24('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x5a24('0x16'))['db'];function respondWithStatusCode(_0x34918d,_0x26d819){_0x26d819=_0x26d819||0xcc;return function(_0x246972){if(_0x246972){return _0x34918d[_0x5a24('0x17')](_0x26d819);}return _0x34918d[_0x5a24('0x18')](_0x26d819)[_0x5a24('0x19')]();};}function respondWithResult(_0x2d994c,_0x1d4da0){_0x1d4da0=_0x1d4da0||0xc8;return function(_0x23ef8c){if(_0x23ef8c){return _0x2d994c[_0x5a24('0x18')](_0x1d4da0)['json'](_0x23ef8c);}};}function respondWithFilteredResult(_0x12f0d8,_0xd68d7b){return function(_0x1c9e7e){if(_0x1c9e7e){var _0x18fd14=typeof _0xd68d7b[_0x5a24('0x1a')]===_0x5a24('0x1b')&&typeof _0xd68d7b['limit']===_0x5a24('0x1b');var _0xba16bd=_0x1c9e7e['count'];var _0x3bfd6a=_0x18fd14?0x0:_0xd68d7b['offset'];var _0x2aed95=_0x18fd14?_0x1c9e7e[_0x5a24('0x1c')]:_0xd68d7b['offset']+_0xd68d7b[_0x5a24('0x1d')];var _0x1a44aa;if(_0x2aed95>=_0xba16bd){_0x2aed95=_0xba16bd;_0x1a44aa=0xc8;}else{_0x1a44aa=0xce;}_0x12f0d8[_0x5a24('0x18')](_0x1a44aa);return _0x12f0d8[_0x5a24('0x1e')]('Content-Range',_0x3bfd6a+'-'+_0x2aed95+'/'+_0xba16bd)[_0x5a24('0x1f')](_0x1c9e7e);}return null;};}function patchUpdates(_0x2ba9bd){return function(_0x279957){try{jsonpatch[_0x5a24('0x20')](_0x279957,_0x2ba9bd,!![]);}catch(_0x36c9df){return BPromise[_0x5a24('0x21')](_0x36c9df);}return _0x279957[_0x5a24('0x22')]();};}function saveUpdates(_0x25da4e,_0x5f09c5){return function(_0x5de749){if(_0x5de749){return _0x5de749[_0x5a24('0x23')](_0x25da4e)['then'](function(_0x1bfee6){return _0x1bfee6;});}return null;};}function removeEntity(_0xaf265b,_0x17cdb0){return function(_0x349cc8){if(_0x349cc8){return _0x349cc8[_0x5a24('0x24')]()[_0x5a24('0x25')](function(){_0xaf265b['status'](0xcc)[_0x5a24('0x19')]();});}};}function handleEntityNotFound(_0x55f286,_0x55bb08){return function(_0x232b05){if(!_0x232b05){_0x55f286[_0x5a24('0x17')](0x194);}return _0x232b05;};}function handleError(_0x11560b,_0x28dcea){_0x28dcea=_0x28dcea||0x1f4;return function(_0x54507e){logger[_0x5a24('0x26')](_0x54507e[_0x5a24('0x27')]);if(_0x54507e[_0x5a24('0x28')]){delete _0x54507e[_0x5a24('0x28')];}_0x11560b[_0x5a24('0x18')](_0x28dcea)[_0x5a24('0x29')](_0x54507e);};}exports[_0x5a24('0x2a')]=function(_0x2099bb,_0x290fd2){var _0x7d5ec2={},_0x25fb1c={},_0x30eb46={'count':0x0,'rows':[]};var _0x24c8e2=_[_0x5a24('0x2b')](db['FreshsalesConfiguration'][_0x5a24('0x2c')],function(_0x4b1715){return{'name':_0x4b1715[_0x5a24('0x2d')],'type':_0x4b1715[_0x5a24('0x2e')]['key']};});_0x25fb1c[_0x5a24('0x2f')]=_[_0x5a24('0x2b')](_0x24c8e2,_0x5a24('0x28'));_0x25fb1c['query']=_['keys'](_0x2099bb['query']);_0x25fb1c[_0x5a24('0x30')]=_[_0x5a24('0x31')](_0x25fb1c['model'],_0x25fb1c[_0x5a24('0x32')]);_0x7d5ec2[_0x5a24('0x33')]=_['intersection'](_0x25fb1c[_0x5a24('0x2f')],qs[_0x5a24('0x34')](_0x2099bb[_0x5a24('0x32')][_0x5a24('0x34')]));_0x7d5ec2[_0x5a24('0x33')]=_0x7d5ec2[_0x5a24('0x33')][_0x5a24('0x35')]?_0x7d5ec2[_0x5a24('0x33')]:_0x25fb1c['model'];if(!_0x2099bb['query'][_0x5a24('0x36')](_0x5a24('0x37'))){_0x7d5ec2[_0x5a24('0x1d')]=qs[_0x5a24('0x1d')](_0x2099bb[_0x5a24('0x32')][_0x5a24('0x1d')]);_0x7d5ec2['offset']=qs[_0x5a24('0x1a')](_0x2099bb['query']['offset']);}_0x7d5ec2[_0x5a24('0x38')]=qs[_0x5a24('0x39')](_0x2099bb[_0x5a24('0x32')][_0x5a24('0x39')]);_0x7d5ec2['where']=qs['filters'](_['pick'](_0x2099bb[_0x5a24('0x32')],_0x25fb1c[_0x5a24('0x30')]),_0x24c8e2);if(_0x2099bb[_0x5a24('0x32')][_0x5a24('0x3a')]){_0x7d5ec2[_0x5a24('0x3b')]=_['merge'](_0x7d5ec2[_0x5a24('0x3b')],{'$or':_[_0x5a24('0x2b')](_0x24c8e2,function(_0x5bbe04){if(_0x5bbe04['type']!==_0x5a24('0x3c')){var _0x2d982b={};_0x2d982b[_0x5bbe04[_0x5a24('0x28')]]={'$like':'%'+_0x2099bb[_0x5a24('0x32')][_0x5a24('0x3a')]+'%'};return _0x2d982b;}})});}_0x7d5ec2=_[_0x5a24('0x3d')]({},_0x7d5ec2,_0x2099bb['options']);var _0x34da13={'where':_0x7d5ec2[_0x5a24('0x3b')]};return db[_0x5a24('0x3e')]['count'](_0x34da13)[_0x5a24('0x25')](function(_0x106db4){_0x30eb46[_0x5a24('0x1c')]=_0x106db4;if(_0x2099bb['query'][_0x5a24('0x3f')]){_0x7d5ec2[_0x5a24('0x40')]=[{'all':!![]}];}return db[_0x5a24('0x3e')]['findAll'](_0x7d5ec2);})[_0x5a24('0x25')](function(_0x1971c3){_0x30eb46[_0x5a24('0x41')]=_0x1971c3;return _0x30eb46;})[_0x5a24('0x25')](respondWithFilteredResult(_0x290fd2,_0x7d5ec2))[_0x5a24('0x42')](handleError(_0x290fd2,null));};exports[_0x5a24('0x43')]=function(_0x32e238,_0x205d34){var _0x2598e0={'raw':![],'where':{'id':_0x32e238[_0x5a24('0x44')]['id']}},_0x19e6fc={};_0x19e6fc[_0x5a24('0x2f')]=_[_0x5a24('0x45')](db[_0x5a24('0x3e')][_0x5a24('0x2c')]);_0x19e6fc[_0x5a24('0x32')]=_[_0x5a24('0x45')](_0x32e238[_0x5a24('0x32')]);_0x19e6fc[_0x5a24('0x30')]=_[_0x5a24('0x31')](_0x19e6fc[_0x5a24('0x2f')],_0x19e6fc[_0x5a24('0x32')]);_0x2598e0[_0x5a24('0x33')]=_[_0x5a24('0x31')](_0x19e6fc['model'],qs[_0x5a24('0x34')](_0x32e238[_0x5a24('0x32')]['fields']));_0x2598e0[_0x5a24('0x33')]=_0x2598e0[_0x5a24('0x33')][_0x5a24('0x35')]?_0x2598e0['attributes']:_0x19e6fc['model'];if(_0x32e238[_0x5a24('0x32')][_0x5a24('0x3f')]){_0x2598e0[_0x5a24('0x40')]=[{'all':!![]}];}_0x2598e0=_[_0x5a24('0x3d')]({},_0x2598e0,_0x32e238[_0x5a24('0x46')]);return db[_0x5a24('0x3e')][_0x5a24('0x47')](_0x2598e0)['then'](handleEntityNotFound(_0x205d34,null))[_0x5a24('0x25')](respondWithResult(_0x205d34,null))[_0x5a24('0x42')](handleError(_0x205d34,null));};exports[_0x5a24('0x48')]=function(_0x2a9eea,_0x252318){return db[_0x5a24('0x3e')]['create'](_0x2a9eea[_0x5a24('0x49')],{})[_0x5a24('0x25')](respondWithResult(_0x252318,0xc9))[_0x5a24('0x42')](handleError(_0x252318,null));};exports[_0x5a24('0x23')]=function(_0xbbbef9,_0x31cbe0){if(_0xbbbef9[_0x5a24('0x49')]['id']){delete _0xbbbef9[_0x5a24('0x49')]['id'];}return db['FreshsalesConfiguration']['find']({'where':{'id':_0xbbbef9[_0x5a24('0x44')]['id']}})[_0x5a24('0x25')](handleEntityNotFound(_0x31cbe0,null))['then'](saveUpdates(_0xbbbef9[_0x5a24('0x49')],null))[_0x5a24('0x25')](respondWithResult(_0x31cbe0,null))['catch'](handleError(_0x31cbe0,null));};exports[_0x5a24('0x24')]=function(_0x26e924,_0x4c383a){return db['FreshsalesConfiguration'][_0x5a24('0x47')]({'where':{'id':_0x26e924[_0x5a24('0x44')]['id']}})[_0x5a24('0x25')](handleEntityNotFound(_0x4c383a,null))[_0x5a24('0x25')](removeEntity(_0x4c383a,null))['catch'](handleError(_0x4c383a,null));};exports['getSubjects']=function(_0x10aecd,_0x21d35c,_0x58b146){var _0x1e99f6={};var _0x367824={};var _0x5c1974;var _0x5ac292;return db[_0x5a24('0x3e')][_0x5a24('0x4a')]({'where':{'id':_0x10aecd[_0x5a24('0x44')]['id']}})[_0x5a24('0x25')](handleEntityNotFound(_0x21d35c,null))[_0x5a24('0x25')](function(_0x3f7314){if(_0x3f7314){_0x5c1974=_0x3f7314;_0x367824[_0x5a24('0x2f')]=_[_0x5a24('0x45')](db[_0x5a24('0x4b')][_0x5a24('0x2c')]);_0x367824[_0x5a24('0x32')]=_[_0x5a24('0x45')](_0x10aecd[_0x5a24('0x32')]);_0x367824[_0x5a24('0x30')]=_['intersection'](_0x367824['model'],_0x367824[_0x5a24('0x32')]);_0x1e99f6[_0x5a24('0x33')]=_[_0x5a24('0x31')](_0x367824['model'],qs['fields'](_0x10aecd[_0x5a24('0x32')]['fields']));_0x1e99f6[_0x5a24('0x33')]=_0x1e99f6[_0x5a24('0x33')][_0x5a24('0x35')]?_0x1e99f6[_0x5a24('0x33')]:_0x367824[_0x5a24('0x2f')];_0x1e99f6[_0x5a24('0x38')]=qs[_0x5a24('0x39')](_0x10aecd[_0x5a24('0x32')][_0x5a24('0x39')]);_0x1e99f6[_0x5a24('0x3b')]=qs['filters'](_[_0x5a24('0x4c')](_0x10aecd[_0x5a24('0x32')],_0x367824[_0x5a24('0x30')]));if(_0x10aecd['query'][_0x5a24('0x3a')]){_0x1e99f6[_0x5a24('0x3b')]=_[_0x5a24('0x3d')](_0x1e99f6[_0x5a24('0x3b')],{'$or':_[_0x5a24('0x2b')](_0x1e99f6[_0x5a24('0x33')],function(_0x339895){var _0x49443e={};_0x49443e[_0x339895]={'$like':'%'+_0x10aecd['query'][_0x5a24('0x3a')]+'%'};return _0x49443e;})});}_0x1e99f6=_[_0x5a24('0x3d')]({},_0x1e99f6,_0x10aecd['options']);return _0x5c1974[_0x5a24('0x4d')](_0x1e99f6);}})[_0x5a24('0x25')](function(_0x19c2bd){if(_0x19c2bd){_0x5ac292=_0x19c2bd['length'];if(!_0x10aecd[_0x5a24('0x32')][_0x5a24('0x36')](_0x5a24('0x37'))){_0x1e99f6['limit']=qs[_0x5a24('0x1d')](_0x10aecd[_0x5a24('0x32')]['limit']);_0x1e99f6['offset']=qs['offset'](_0x10aecd['query'][_0x5a24('0x1a')]);}return _0x5c1974['getSubjects'](_0x1e99f6);}})['then'](function(_0x43cf15){if(_0x43cf15){return _0x43cf15?{'count':_0x5ac292,'rows':_0x43cf15}:null;}})[_0x5a24('0x25')](respondWithResult(_0x21d35c,null))[_0x5a24('0x42')](handleError(_0x21d35c,null));};exports[_0x5a24('0x4e')]=function(_0x554a44,_0x320a4a,_0x120506){var _0x399417={};var _0x573105={};var _0x517a19;var _0x49d32b;return db[_0x5a24('0x3e')]['findOne']({'where':{'id':_0x554a44['params']['id']}})[_0x5a24('0x25')](handleEntityNotFound(_0x320a4a,null))[_0x5a24('0x25')](function(_0x3f6702){if(_0x3f6702){_0x517a19=_0x3f6702;_0x573105[_0x5a24('0x2f')]=_[_0x5a24('0x45')](db[_0x5a24('0x4b')][_0x5a24('0x2c')]);_0x573105[_0x5a24('0x32')]=_['keys'](_0x554a44['query']);_0x573105['filters']=_[_0x5a24('0x31')](_0x573105[_0x5a24('0x2f')],_0x573105[_0x5a24('0x32')]);_0x399417[_0x5a24('0x33')]=_[_0x5a24('0x31')](_0x573105['model'],qs[_0x5a24('0x34')](_0x554a44[_0x5a24('0x32')][_0x5a24('0x34')]));_0x399417['attributes']=_0x399417[_0x5a24('0x33')][_0x5a24('0x35')]?_0x399417[_0x5a24('0x33')]:_0x573105['model'];_0x399417[_0x5a24('0x38')]=qs[_0x5a24('0x39')](_0x554a44[_0x5a24('0x32')][_0x5a24('0x39')]);_0x399417[_0x5a24('0x3b')]=qs['filters'](_[_0x5a24('0x4c')](_0x554a44['query'],_0x573105['filters']));if(_0x554a44[_0x5a24('0x32')][_0x5a24('0x3a')]){_0x399417['where']=_[_0x5a24('0x3d')](_0x399417[_0x5a24('0x3b')],{'$or':_[_0x5a24('0x2b')](_0x399417[_0x5a24('0x33')],function(_0x19e821){var _0x4d96a0={};_0x4d96a0[_0x19e821]={'$like':'%'+_0x554a44[_0x5a24('0x32')][_0x5a24('0x3a')]+'%'};return _0x4d96a0;})});}_0x399417=_[_0x5a24('0x3d')]({},_0x399417,_0x554a44[_0x5a24('0x46')]);return _0x517a19[_0x5a24('0x4e')](_0x399417);}})['then'](function(_0x34416){if(_0x34416){_0x49d32b=_0x34416[_0x5a24('0x35')];if(!_0x554a44[_0x5a24('0x32')][_0x5a24('0x36')]('nolimit')){_0x399417['limit']=qs[_0x5a24('0x1d')](_0x554a44[_0x5a24('0x32')][_0x5a24('0x1d')]);_0x399417[_0x5a24('0x1a')]=qs['offset'](_0x554a44['query']['offset']);}return _0x517a19[_0x5a24('0x4e')](_0x399417);}})[_0x5a24('0x25')](function(_0x1db41b){if(_0x1db41b){return _0x1db41b?{'count':_0x49d32b,'rows':_0x1db41b}:null;}})[_0x5a24('0x25')](respondWithResult(_0x320a4a,null))['catch'](handleError(_0x320a4a,null));};exports[_0x5a24('0x4f')]=function(_0x3d3194,_0x2a3696,_0x258d26){var _0x29b630={};var _0xe7e175={};var _0x2879ab;var _0x19cb99;return db[_0x5a24('0x3e')][_0x5a24('0x4a')]({'where':{'id':_0x3d3194[_0x5a24('0x44')]['id']}})[_0x5a24('0x25')](handleEntityNotFound(_0x2a3696,null))['then'](function(_0x41286c){if(_0x41286c){_0x2879ab=_0x41286c;_0xe7e175['model']=_[_0x5a24('0x45')](db[_0x5a24('0x4b')][_0x5a24('0x2c')]);_0xe7e175[_0x5a24('0x32')]=_[_0x5a24('0x45')](_0x3d3194['query']);_0xe7e175['filters']=_[_0x5a24('0x31')](_0xe7e175[_0x5a24('0x2f')],_0xe7e175[_0x5a24('0x32')]);_0x29b630['attributes']=_['intersection'](_0xe7e175['model'],qs['fields'](_0x3d3194[_0x5a24('0x32')]['fields']));_0x29b630[_0x5a24('0x33')]=_0x29b630[_0x5a24('0x33')][_0x5a24('0x35')]?_0x29b630[_0x5a24('0x33')]:_0xe7e175['model'];_0x29b630['order']=qs['sort'](_0x3d3194['query'][_0x5a24('0x39')]);_0x29b630[_0x5a24('0x3b')]=qs[_0x5a24('0x30')](_['pick'](_0x3d3194['query'],_0xe7e175['filters']));if(_0x3d3194[_0x5a24('0x32')][_0x5a24('0x3a')]){_0x29b630['where']=_[_0x5a24('0x3d')](_0x29b630[_0x5a24('0x3b')],{'$or':_[_0x5a24('0x2b')](_0x29b630[_0x5a24('0x33')],function(_0x5d5290){var _0x12812a={};_0x12812a[_0x5d5290]={'$like':'%'+_0x3d3194['query'][_0x5a24('0x3a')]+'%'};return _0x12812a;})});}_0x29b630=_[_0x5a24('0x3d')]({},_0x29b630,_0x3d3194[_0x5a24('0x46')]);return _0x2879ab[_0x5a24('0x4f')](_0x29b630);}})[_0x5a24('0x25')](function(_0x2637ae){if(_0x2637ae){_0x19cb99=_0x2637ae[_0x5a24('0x35')];if(!_0x3d3194[_0x5a24('0x32')][_0x5a24('0x36')](_0x5a24('0x37'))){_0x29b630[_0x5a24('0x1d')]=qs[_0x5a24('0x1d')](_0x3d3194[_0x5a24('0x32')][_0x5a24('0x1d')]);_0x29b630['offset']=qs['offset'](_0x3d3194[_0x5a24('0x32')]['offset']);}return _0x2879ab[_0x5a24('0x4f')](_0x29b630);}})[_0x5a24('0x25')](function(_0xd3920f){if(_0xd3920f){return _0xd3920f?{'count':_0x19cb99,'rows':_0xd3920f}:null;}})[_0x5a24('0x25')](respondWithResult(_0x2a3696,null))['catch'](handleError(_0x2a3696,null));};