Built motion from commit b0a9a629.|2.6.33
[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 _0xc8b2=['ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','offset','undefined','count','limit','set','Content-Range','json','reject','save','update','destroy','then','end','error','stack','name','index','FreshsalesConfiguration','rawAttributes','type','key','model','map','query','keys','filters','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','params','intersection','length','find','create','body','getSubjects','findOne','FreshsalesField','getDescriptions','getFields','eml-format','rimraf','zip-dir','moment','util','path','sox'];(function(_0x145c10,_0x56acfb){var _0x316e17=function(_0x203a48){while(--_0x203a48){_0x145c10['push'](_0x145c10['shift']());}};_0x316e17(++_0x56acfb);}(_0xc8b2,0x13d));var _0x2c8b=function(_0x3f3462,_0x2f7c01){_0x3f3462=_0x3f3462-0x0;var _0x50d730=_0xc8b2[_0x3f3462];return _0x50d730;};'use strict';var emlformat=require(_0x2c8b('0x0'));var rimraf=require(_0x2c8b('0x1'));var zipdir=require(_0x2c8b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x2c8b('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x2c8b('0x4'));var path=require(_0x2c8b('0x5'));var sox=require(_0x2c8b('0x6'));var csv=require('to-csv');var ejs=require(_0x2c8b('0x7'));var fs=require('fs');var fs_extra=require(_0x2c8b('0x8'));var _=require(_0x2c8b('0x9'));var squel=require(_0x2c8b('0xa'));var crypto=require('crypto');var jsforce=require(_0x2c8b('0xb'));var deskjs=require(_0x2c8b('0xc'));var toCsv=require(_0x2c8b('0xd'));var querystring=require(_0x2c8b('0xe'));var Papa=require(_0x2c8b('0xf'));var Redis=require(_0x2c8b('0x10'));var authService=require(_0x2c8b('0x11'));var qs=require(_0x2c8b('0x12'));var as=require(_0x2c8b('0x13'));var hardwareService=require(_0x2c8b('0x14'));var logger=require(_0x2c8b('0x15'))(_0x2c8b('0x16'));var utils=require(_0x2c8b('0x17'));var config=require(_0x2c8b('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xb0d31d,_0x3d36c5){_0x3d36c5=_0x3d36c5||0xcc;return function(_0x4fef82){if(_0x4fef82){return _0xb0d31d[_0x2c8b('0x19')](_0x3d36c5);}return _0xb0d31d[_0x2c8b('0x1a')](_0x3d36c5)['end']();};}function respondWithResult(_0x54aaee,_0x2a514b){_0x2a514b=_0x2a514b||0xc8;return function(_0x3a3b1f){if(_0x3a3b1f){return _0x54aaee[_0x2c8b('0x1a')](_0x2a514b)['json'](_0x3a3b1f);}};}function respondWithFilteredResult(_0x7d0a6,_0x41c505){return function(_0x52b49a){if(_0x52b49a){var _0x7dc9e7=typeof _0x41c505[_0x2c8b('0x1b')]===_0x2c8b('0x1c')&&typeof _0x41c505['limit']===_0x2c8b('0x1c');var _0x1f4774=_0x52b49a['count'];var _0x12fd16=_0x7dc9e7?0x0:_0x41c505[_0x2c8b('0x1b')];var _0xcca354=_0x7dc9e7?_0x52b49a[_0x2c8b('0x1d')]:_0x41c505['offset']+_0x41c505[_0x2c8b('0x1e')];var _0x5e0cdf;if(_0xcca354>=_0x1f4774){_0xcca354=_0x1f4774;_0x5e0cdf=0xc8;}else{_0x5e0cdf=0xce;}_0x7d0a6[_0x2c8b('0x1a')](_0x5e0cdf);return _0x7d0a6[_0x2c8b('0x1f')](_0x2c8b('0x20'),_0x12fd16+'-'+_0xcca354+'/'+_0x1f4774)[_0x2c8b('0x21')](_0x52b49a);}return null;};}function patchUpdates(_0x555187){return function(_0x45ede1){try{jsonpatch['apply'](_0x45ede1,_0x555187,!![]);}catch(_0x1600ec){return BPromise[_0x2c8b('0x22')](_0x1600ec);}return _0x45ede1[_0x2c8b('0x23')]();};}function saveUpdates(_0x4b691d,_0x3f94a9){return function(_0x43baf2){if(_0x43baf2){return _0x43baf2[_0x2c8b('0x24')](_0x4b691d)['then'](function(_0x523e01){return _0x523e01;});}return null;};}function removeEntity(_0x2a8119,_0x1e7f41){return function(_0x2b3bd4){if(_0x2b3bd4){return _0x2b3bd4[_0x2c8b('0x25')]()[_0x2c8b('0x26')](function(){_0x2a8119[_0x2c8b('0x1a')](0xcc)[_0x2c8b('0x27')]();});}};}function handleEntityNotFound(_0x1e31b6,_0x24a5e9){return function(_0x29b45b){if(!_0x29b45b){_0x1e31b6[_0x2c8b('0x19')](0x194);}return _0x29b45b;};}function handleError(_0x4666a9,_0xf6f0da){_0xf6f0da=_0xf6f0da||0x1f4;return function(_0x170d3f){logger[_0x2c8b('0x28')](_0x170d3f[_0x2c8b('0x29')]);if(_0x170d3f['name']){delete _0x170d3f[_0x2c8b('0x2a')];}_0x4666a9['status'](_0xf6f0da)['send'](_0x170d3f);};}exports[_0x2c8b('0x2b')]=function(_0x5a2210,_0x515df1){var _0xc413b1={},_0x2f0e25={},_0x1e4e0c={'count':0x0,'rows':[]};var _0x51e5af=_['map'](db[_0x2c8b('0x2c')][_0x2c8b('0x2d')],function(_0x4e3c5f){return{'name':_0x4e3c5f['fieldName'],'type':_0x4e3c5f[_0x2c8b('0x2e')][_0x2c8b('0x2f')]};});_0x2f0e25[_0x2c8b('0x30')]=_[_0x2c8b('0x31')](_0x51e5af,_0x2c8b('0x2a'));_0x2f0e25[_0x2c8b('0x32')]=_[_0x2c8b('0x33')](_0x5a2210['query']);_0x2f0e25[_0x2c8b('0x34')]=_['intersection'](_0x2f0e25[_0x2c8b('0x30')],_0x2f0e25[_0x2c8b('0x32')]);_0xc413b1[_0x2c8b('0x35')]=_['intersection'](_0x2f0e25['model'],qs[_0x2c8b('0x36')](_0x5a2210['query'][_0x2c8b('0x36')]));_0xc413b1[_0x2c8b('0x35')]=_0xc413b1[_0x2c8b('0x35')]['length']?_0xc413b1[_0x2c8b('0x35')]:_0x2f0e25[_0x2c8b('0x30')];if(!_0x5a2210[_0x2c8b('0x32')][_0x2c8b('0x37')](_0x2c8b('0x38'))){_0xc413b1['limit']=qs[_0x2c8b('0x1e')](_0x5a2210[_0x2c8b('0x32')][_0x2c8b('0x1e')]);_0xc413b1[_0x2c8b('0x1b')]=qs[_0x2c8b('0x1b')](_0x5a2210[_0x2c8b('0x32')][_0x2c8b('0x1b')]);}_0xc413b1[_0x2c8b('0x39')]=qs[_0x2c8b('0x3a')](_0x5a2210[_0x2c8b('0x32')]['sort']);_0xc413b1['where']=qs[_0x2c8b('0x34')](_[_0x2c8b('0x3b')](_0x5a2210[_0x2c8b('0x32')],_0x2f0e25[_0x2c8b('0x34')]),_0x51e5af);if(_0x5a2210['query'][_0x2c8b('0x3c')]){_0xc413b1['where']=_['merge'](_0xc413b1[_0x2c8b('0x3d')],{'$or':_[_0x2c8b('0x31')](_0x51e5af,function(_0x5b9e61){if(_0x5b9e61[_0x2c8b('0x2e')]!==_0x2c8b('0x3e')){var _0x5bcbf9={};_0x5bcbf9[_0x5b9e61[_0x2c8b('0x2a')]]={'$like':'%'+_0x5a2210[_0x2c8b('0x32')][_0x2c8b('0x3c')]+'%'};return _0x5bcbf9;}})});}_0xc413b1=_[_0x2c8b('0x3f')]({},_0xc413b1,_0x5a2210[_0x2c8b('0x40')]);var _0x1056c7={'where':_0xc413b1['where']};return db[_0x2c8b('0x2c')][_0x2c8b('0x1d')](_0x1056c7)['then'](function(_0x5dff4e){_0x1e4e0c[_0x2c8b('0x1d')]=_0x5dff4e;if(_0x5a2210[_0x2c8b('0x32')][_0x2c8b('0x41')]){_0xc413b1[_0x2c8b('0x42')]=[{'all':!![]}];}return db[_0x2c8b('0x2c')][_0x2c8b('0x43')](_0xc413b1);})[_0x2c8b('0x26')](function(_0x3e73fc){_0x1e4e0c[_0x2c8b('0x44')]=_0x3e73fc;return _0x1e4e0c;})[_0x2c8b('0x26')](respondWithFilteredResult(_0x515df1,_0xc413b1))[_0x2c8b('0x45')](handleError(_0x515df1,null));};exports['show']=function(_0x2a5cb6,_0x13be3a){var _0x230b7d={'raw':![],'where':{'id':_0x2a5cb6[_0x2c8b('0x46')]['id']}},_0x1ed05f={};_0x1ed05f[_0x2c8b('0x30')]=_[_0x2c8b('0x33')](db[_0x2c8b('0x2c')][_0x2c8b('0x2d')]);_0x1ed05f[_0x2c8b('0x32')]=_[_0x2c8b('0x33')](_0x2a5cb6[_0x2c8b('0x32')]);_0x1ed05f[_0x2c8b('0x34')]=_[_0x2c8b('0x47')](_0x1ed05f[_0x2c8b('0x30')],_0x1ed05f[_0x2c8b('0x32')]);_0x230b7d[_0x2c8b('0x35')]=_[_0x2c8b('0x47')](_0x1ed05f[_0x2c8b('0x30')],qs[_0x2c8b('0x36')](_0x2a5cb6[_0x2c8b('0x32')][_0x2c8b('0x36')]));_0x230b7d['attributes']=_0x230b7d['attributes'][_0x2c8b('0x48')]?_0x230b7d[_0x2c8b('0x35')]:_0x1ed05f['model'];if(_0x2a5cb6[_0x2c8b('0x32')]['includeAll']){_0x230b7d[_0x2c8b('0x42')]=[{'all':!![]}];}_0x230b7d=_['merge']({},_0x230b7d,_0x2a5cb6[_0x2c8b('0x40')]);return db[_0x2c8b('0x2c')][_0x2c8b('0x49')](_0x230b7d)['then'](handleEntityNotFound(_0x13be3a,null))[_0x2c8b('0x26')](respondWithResult(_0x13be3a,null))[_0x2c8b('0x45')](handleError(_0x13be3a,null));};exports[_0x2c8b('0x4a')]=function(_0x37f245,_0x276ed4){return db[_0x2c8b('0x2c')]['create'](_0x37f245[_0x2c8b('0x4b')],{})['then'](respondWithResult(_0x276ed4,0xc9))[_0x2c8b('0x45')](handleError(_0x276ed4,null));};exports[_0x2c8b('0x24')]=function(_0x791d30,_0x4de24c){if(_0x791d30[_0x2c8b('0x4b')]['id']){delete _0x791d30['body']['id'];}return db[_0x2c8b('0x2c')][_0x2c8b('0x49')]({'where':{'id':_0x791d30['params']['id']}})[_0x2c8b('0x26')](handleEntityNotFound(_0x4de24c,null))[_0x2c8b('0x26')](saveUpdates(_0x791d30[_0x2c8b('0x4b')],null))[_0x2c8b('0x26')](respondWithResult(_0x4de24c,null))[_0x2c8b('0x45')](handleError(_0x4de24c,null));};exports[_0x2c8b('0x25')]=function(_0x1e3c7e,_0x2fb137){return db[_0x2c8b('0x2c')][_0x2c8b('0x49')]({'where':{'id':_0x1e3c7e[_0x2c8b('0x46')]['id']}})[_0x2c8b('0x26')](handleEntityNotFound(_0x2fb137,null))[_0x2c8b('0x26')](removeEntity(_0x2fb137,null))[_0x2c8b('0x45')](handleError(_0x2fb137,null));};exports[_0x2c8b('0x4c')]=function(_0x16cf4a,_0x2e0ff9,_0x497bea){var _0x3e310c={};var _0x14ce3d={};var _0x3c03ee;var _0x49b0f2;return db[_0x2c8b('0x2c')][_0x2c8b('0x4d')]({'where':{'id':_0x16cf4a[_0x2c8b('0x46')]['id']}})['then'](handleEntityNotFound(_0x2e0ff9,null))[_0x2c8b('0x26')](function(_0x31605e){if(_0x31605e){_0x3c03ee=_0x31605e;_0x14ce3d[_0x2c8b('0x30')]=_[_0x2c8b('0x33')](db[_0x2c8b('0x4e')][_0x2c8b('0x2d')]);_0x14ce3d[_0x2c8b('0x32')]=_[_0x2c8b('0x33')](_0x16cf4a[_0x2c8b('0x32')]);_0x14ce3d[_0x2c8b('0x34')]=_[_0x2c8b('0x47')](_0x14ce3d[_0x2c8b('0x30')],_0x14ce3d[_0x2c8b('0x32')]);_0x3e310c[_0x2c8b('0x35')]=_['intersection'](_0x14ce3d['model'],qs[_0x2c8b('0x36')](_0x16cf4a[_0x2c8b('0x32')][_0x2c8b('0x36')]));_0x3e310c[_0x2c8b('0x35')]=_0x3e310c[_0x2c8b('0x35')][_0x2c8b('0x48')]?_0x3e310c[_0x2c8b('0x35')]:_0x14ce3d[_0x2c8b('0x30')];_0x3e310c['order']=qs[_0x2c8b('0x3a')](_0x16cf4a[_0x2c8b('0x32')][_0x2c8b('0x3a')]);_0x3e310c[_0x2c8b('0x3d')]=qs[_0x2c8b('0x34')](_[_0x2c8b('0x3b')](_0x16cf4a[_0x2c8b('0x32')],_0x14ce3d[_0x2c8b('0x34')]));if(_0x16cf4a[_0x2c8b('0x32')][_0x2c8b('0x3c')]){_0x3e310c[_0x2c8b('0x3d')]=_['merge'](_0x3e310c[_0x2c8b('0x3d')],{'$or':_[_0x2c8b('0x31')](_0x3e310c[_0x2c8b('0x35')],function(_0x4e77be){var _0x1d5b32={};_0x1d5b32[_0x4e77be]={'$like':'%'+_0x16cf4a[_0x2c8b('0x32')][_0x2c8b('0x3c')]+'%'};return _0x1d5b32;})});}_0x3e310c=_[_0x2c8b('0x3f')]({},_0x3e310c,_0x16cf4a['options']);return _0x3c03ee['getSubjects'](_0x3e310c);}})[_0x2c8b('0x26')](function(_0x245341){if(_0x245341){_0x49b0f2=_0x245341[_0x2c8b('0x48')];if(!_0x16cf4a[_0x2c8b('0x32')][_0x2c8b('0x37')](_0x2c8b('0x38'))){_0x3e310c['limit']=qs[_0x2c8b('0x1e')](_0x16cf4a[_0x2c8b('0x32')][_0x2c8b('0x1e')]);_0x3e310c['offset']=qs[_0x2c8b('0x1b')](_0x16cf4a[_0x2c8b('0x32')][_0x2c8b('0x1b')]);}return _0x3c03ee[_0x2c8b('0x4c')](_0x3e310c);}})[_0x2c8b('0x26')](function(_0x2d3733){if(_0x2d3733){return _0x2d3733?{'count':_0x49b0f2,'rows':_0x2d3733}:null;}})[_0x2c8b('0x26')](respondWithResult(_0x2e0ff9,null))[_0x2c8b('0x45')](handleError(_0x2e0ff9,null));};exports[_0x2c8b('0x4f')]=function(_0x1ba84a,_0x60862e,_0x3d8f54){var _0x7bed40={};var _0x1a430c={};var _0x147491;var _0x1805c1;return db[_0x2c8b('0x2c')][_0x2c8b('0x4d')]({'where':{'id':_0x1ba84a[_0x2c8b('0x46')]['id']}})[_0x2c8b('0x26')](handleEntityNotFound(_0x60862e,null))['then'](function(_0xd74d2b){if(_0xd74d2b){_0x147491=_0xd74d2b;_0x1a430c[_0x2c8b('0x30')]=_[_0x2c8b('0x33')](db[_0x2c8b('0x4e')][_0x2c8b('0x2d')]);_0x1a430c[_0x2c8b('0x32')]=_['keys'](_0x1ba84a[_0x2c8b('0x32')]);_0x1a430c[_0x2c8b('0x34')]=_[_0x2c8b('0x47')](_0x1a430c['model'],_0x1a430c[_0x2c8b('0x32')]);_0x7bed40['attributes']=_[_0x2c8b('0x47')](_0x1a430c[_0x2c8b('0x30')],qs[_0x2c8b('0x36')](_0x1ba84a[_0x2c8b('0x32')][_0x2c8b('0x36')]));_0x7bed40['attributes']=_0x7bed40[_0x2c8b('0x35')]['length']?_0x7bed40[_0x2c8b('0x35')]:_0x1a430c['model'];_0x7bed40[_0x2c8b('0x39')]=qs['sort'](_0x1ba84a[_0x2c8b('0x32')]['sort']);_0x7bed40[_0x2c8b('0x3d')]=qs[_0x2c8b('0x34')](_[_0x2c8b('0x3b')](_0x1ba84a['query'],_0x1a430c['filters']));if(_0x1ba84a[_0x2c8b('0x32')][_0x2c8b('0x3c')]){_0x7bed40[_0x2c8b('0x3d')]=_[_0x2c8b('0x3f')](_0x7bed40['where'],{'$or':_['map'](_0x7bed40[_0x2c8b('0x35')],function(_0x355720){var _0x4b44b2={};_0x4b44b2[_0x355720]={'$like':'%'+_0x1ba84a['query'][_0x2c8b('0x3c')]+'%'};return _0x4b44b2;})});}_0x7bed40=_['merge']({},_0x7bed40,_0x1ba84a['options']);return _0x147491['getDescriptions'](_0x7bed40);}})[_0x2c8b('0x26')](function(_0x84f2ec){if(_0x84f2ec){_0x1805c1=_0x84f2ec[_0x2c8b('0x48')];if(!_0x1ba84a[_0x2c8b('0x32')][_0x2c8b('0x37')](_0x2c8b('0x38'))){_0x7bed40['limit']=qs[_0x2c8b('0x1e')](_0x1ba84a[_0x2c8b('0x32')][_0x2c8b('0x1e')]);_0x7bed40[_0x2c8b('0x1b')]=qs[_0x2c8b('0x1b')](_0x1ba84a[_0x2c8b('0x32')][_0x2c8b('0x1b')]);}return _0x147491[_0x2c8b('0x4f')](_0x7bed40);}})['then'](function(_0x4ff023){if(_0x4ff023){return _0x4ff023?{'count':_0x1805c1,'rows':_0x4ff023}:null;}})[_0x2c8b('0x26')](respondWithResult(_0x60862e,null))[_0x2c8b('0x45')](handleError(_0x60862e,null));};exports[_0x2c8b('0x50')]=function(_0x599e76,_0x5d783c,_0x45afe5){var _0x1d509f={};var _0x3a5e32={};var _0x2e1a0d;var _0x15fb9b;return db[_0x2c8b('0x2c')][_0x2c8b('0x4d')]({'where':{'id':_0x599e76['params']['id']}})[_0x2c8b('0x26')](handleEntityNotFound(_0x5d783c,null))['then'](function(_0x3900cd){if(_0x3900cd){_0x2e1a0d=_0x3900cd;_0x3a5e32[_0x2c8b('0x30')]=_['keys'](db['FreshsalesField']['rawAttributes']);_0x3a5e32[_0x2c8b('0x32')]=_[_0x2c8b('0x33')](_0x599e76[_0x2c8b('0x32')]);_0x3a5e32[_0x2c8b('0x34')]=_[_0x2c8b('0x47')](_0x3a5e32[_0x2c8b('0x30')],_0x3a5e32[_0x2c8b('0x32')]);_0x1d509f[_0x2c8b('0x35')]=_[_0x2c8b('0x47')](_0x3a5e32[_0x2c8b('0x30')],qs[_0x2c8b('0x36')](_0x599e76['query'][_0x2c8b('0x36')]));_0x1d509f[_0x2c8b('0x35')]=_0x1d509f[_0x2c8b('0x35')][_0x2c8b('0x48')]?_0x1d509f[_0x2c8b('0x35')]:_0x3a5e32[_0x2c8b('0x30')];_0x1d509f[_0x2c8b('0x39')]=qs[_0x2c8b('0x3a')](_0x599e76['query'][_0x2c8b('0x3a')]);_0x1d509f['where']=qs[_0x2c8b('0x34')](_[_0x2c8b('0x3b')](_0x599e76[_0x2c8b('0x32')],_0x3a5e32[_0x2c8b('0x34')]));if(_0x599e76[_0x2c8b('0x32')][_0x2c8b('0x3c')]){_0x1d509f[_0x2c8b('0x3d')]=_[_0x2c8b('0x3f')](_0x1d509f[_0x2c8b('0x3d')],{'$or':_['map'](_0x1d509f[_0x2c8b('0x35')],function(_0x13cd21){var _0x1dfa92={};_0x1dfa92[_0x13cd21]={'$like':'%'+_0x599e76[_0x2c8b('0x32')][_0x2c8b('0x3c')]+'%'};return _0x1dfa92;})});}_0x1d509f=_[_0x2c8b('0x3f')]({},_0x1d509f,_0x599e76['options']);return _0x2e1a0d['getFields'](_0x1d509f);}})[_0x2c8b('0x26')](function(_0x486b4f){if(_0x486b4f){_0x15fb9b=_0x486b4f[_0x2c8b('0x48')];if(!_0x599e76['query'][_0x2c8b('0x37')](_0x2c8b('0x38'))){_0x1d509f['limit']=qs[_0x2c8b('0x1e')](_0x599e76[_0x2c8b('0x32')]['limit']);_0x1d509f['offset']=qs['offset'](_0x599e76[_0x2c8b('0x32')][_0x2c8b('0x1b')]);}return _0x2e1a0d['getFields'](_0x1d509f);}})[_0x2c8b('0x26')](function(_0x4d581d){if(_0x4d581d){return _0x4d581d?{'count':_0x15fb9b,'rows':_0x4d581d}:null;}})[_0x2c8b('0x26')](respondWithResult(_0x5d783c,null))[_0x2c8b('0x45')](handleError(_0x5d783c,null));};