Built motion from commit (unavailable).|2.5.28
[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 _0x7a54=['mustache','util','path','sox','to-csv','fs-extra','squel','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','request','info','FreshsalesConfiguration,\x20%s,\x20%s','request\x20sent','debug','stringify','code','error','message','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','FreshsalesConfiguration','rawAttributes','fieldName','type','key','model','map','keys','query','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','VIRTUAL','options','includeAll','include','findAll','rows','params','length','merge','find','create','body','findOne','FreshsalesField','filter','getSubjects','getDescriptions','getFields','eml-format','rimraf','zip-dir','request-promise','moment'];(function(_0x2e531d,_0x5593d4){var _0x46156f=function(_0xf5f842){while(--_0xf5f842){_0x2e531d['push'](_0x2e531d['shift']());}};_0x46156f(++_0x5593d4);}(_0x7a54,0x106));var _0x47a5=function(_0x405b86,_0x220fc6){_0x405b86=_0x405b86-0x0;var _0x4e6ebd=_0x7a54[_0x405b86];return _0x4e6ebd;};'use strict';var emlformat=require(_0x47a5('0x0'));var rimraf=require(_0x47a5('0x1'));var zipdir=require(_0x47a5('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x47a5('0x3'));var moment=require(_0x47a5('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x47a5('0x5'));var util=require(_0x47a5('0x6'));var path=require(_0x47a5('0x7'));var sox=require(_0x47a5('0x8'));var csv=require(_0x47a5('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x47a5('0xa'));var _=require('lodash');var squel=require(_0x47a5('0xb'));var crypto=require(_0x47a5('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x47a5('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x47a5('0xe'));var authService=require(_0x47a5('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x47a5('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x47a5('0x11'));var utils=require(_0x47a5('0x12'));var config=require(_0x47a5('0x13'));var licenseUtil=require(_0x47a5('0x14'));var db=require(_0x47a5('0x15'))['db'];var jayson=require(_0x47a5('0x16'));var client=jayson[_0x47a5('0x17')]['http']({'port':0x232a});function respondWithRpcPromise(_0x44bd3e,_0x221b54,_0x1cf309,_0x711793){return new BPromise(function(_0x139f25,_0x620ee9){var _0x3c6c46=_0x711793||client;return _0x3c6c46[_0x47a5('0x18')](_0x44bd3e,_0x1cf309)['then'](function(_0x362359){logger[_0x47a5('0x19')](_0x47a5('0x1a'),_0x221b54,_0x47a5('0x1b'));logger[_0x47a5('0x1c')]('FreshsalesConfiguration,\x20%s,\x20%s,\x20%s',_0x221b54,'request\x20sent',JSON[_0x47a5('0x1d')](_0x362359));if(_0x362359['error']){if(_0x362359['error'][_0x47a5('0x1e')]===0x1f4){logger[_0x47a5('0x1f')](_0x47a5('0x1a'),_0x221b54,_0x362359[_0x47a5('0x1f')][_0x47a5('0x20')]);return _0x620ee9(_0x362359[_0x47a5('0x1f')][_0x47a5('0x20')]);}logger[_0x47a5('0x1f')](_0x47a5('0x1a'),_0x221b54,_0x362359['error'][_0x47a5('0x20')]);return _0x139f25(_0x362359[_0x47a5('0x1f')]['message']);}else{logger[_0x47a5('0x19')](_0x47a5('0x1a'),_0x221b54,_0x47a5('0x1b'));_0x139f25(_0x362359['result'][_0x47a5('0x20')]);}})[_0x47a5('0x21')](function(_0x23db32){logger[_0x47a5('0x1f')]('FreshsalesConfiguration,\x20%s,\x20%s',_0x221b54,_0x23db32);_0x620ee9(_0x23db32);});});}function respondWithStatusCode(_0xe2dea9,_0x385687){_0x385687=_0x385687||0xcc;return function(_0x513981){if(_0x513981){return _0xe2dea9[_0x47a5('0x22')](_0x385687);}return _0xe2dea9[_0x47a5('0x23')](_0x385687)[_0x47a5('0x24')]();};}function respondWithResult(_0x129ce5,_0x3abd6a){_0x3abd6a=_0x3abd6a||0xc8;return function(_0x50bf17){if(_0x50bf17){return _0x129ce5['status'](_0x3abd6a)[_0x47a5('0x25')](_0x50bf17);}};}function respondWithFilteredResult(_0x5686db,_0x1ea9c8){return function(_0x5b6c4e){if(_0x5b6c4e){var _0x23cb77=_0x5b6c4e[_0x47a5('0x26')],_0x378208=_0x1ea9c8[_0x47a5('0x27')],_0x36ad34=_0x1ea9c8[_0x47a5('0x27')]+_0x1ea9c8[_0x47a5('0x28')],_0x1dac65;if(_0x36ad34>=_0x23cb77){_0x36ad34=_0x23cb77;_0x1dac65=0xc8;}else{_0x1dac65=0xce;}_0x5686db[_0x47a5('0x23')](_0x1dac65);return _0x5686db[_0x47a5('0x29')](_0x47a5('0x2a'),_0x378208+'-'+_0x36ad34+'/'+_0x23cb77)[_0x47a5('0x25')](_0x5b6c4e);}return null;};}function patchUpdates(_0x3ad507){return function(_0x528582){try{jsonpatch[_0x47a5('0x2b')](_0x528582,_0x3ad507,!![]);}catch(_0x51833b){return BPromise[_0x47a5('0x2c')](_0x51833b);}return _0x528582[_0x47a5('0x2d')]();};}function saveUpdates(_0x16901f,_0x4d6b57){return function(_0x256650){if(_0x256650){return _0x256650[_0x47a5('0x2e')](_0x16901f)[_0x47a5('0x2f')](function(_0x1f1c68){return _0x1f1c68;});}return null;};}function removeEntity(_0x51cc81,_0x50d875){return function(_0x6f9a12){if(_0x6f9a12){return _0x6f9a12[_0x47a5('0x30')]()['then'](function(){_0x51cc81['status'](0xcc)[_0x47a5('0x24')]();});}};}function handleEntityNotFound(_0x51544e,_0x57bff6){return function(_0x42f70c){if(!_0x42f70c){_0x51544e['sendStatus'](0x194);}return _0x42f70c;};}function handleError(_0x122ed6,_0xd972c){_0xd972c=_0xd972c||0x1f4;return function(_0x5c5162){logger['error'](_0x5c5162[_0x47a5('0x31')]);if(_0x5c5162['name']){delete _0x5c5162[_0x47a5('0x32')];}_0x122ed6[_0x47a5('0x23')](_0xd972c)[_0x47a5('0x33')](_0x5c5162);};}exports['index']=function(_0x18f7e9,_0x50c086){var _0x53c754={},_0x65542e={},_0x5a8a7c={'count':0x0,'rows':[]};var _0x25cce0=_['map'](db[_0x47a5('0x34')][_0x47a5('0x35')],function(_0x38c8d4){return{'name':_0x38c8d4[_0x47a5('0x36')],'type':_0x38c8d4[_0x47a5('0x37')][_0x47a5('0x38')]};});_0x65542e[_0x47a5('0x39')]=_[_0x47a5('0x3a')](_0x25cce0,_0x47a5('0x32'));_0x65542e['query']=_[_0x47a5('0x3b')](_0x18f7e9[_0x47a5('0x3c')]);_0x65542e['filters']=_[_0x47a5('0x3d')](_0x65542e[_0x47a5('0x39')],_0x65542e[_0x47a5('0x3c')]);_0x53c754['attributes']=_[_0x47a5('0x3d')](_0x65542e[_0x47a5('0x39')],qs['fields'](_0x18f7e9[_0x47a5('0x3c')][_0x47a5('0x3e')]));_0x53c754['attributes']=_0x53c754['attributes']['length']?_0x53c754[_0x47a5('0x3f')]:_0x65542e['model'];if(!_0x18f7e9[_0x47a5('0x3c')][_0x47a5('0x40')](_0x47a5('0x41'))){_0x53c754[_0x47a5('0x28')]=qs[_0x47a5('0x28')](_0x18f7e9[_0x47a5('0x3c')][_0x47a5('0x28')]);_0x53c754[_0x47a5('0x27')]=qs[_0x47a5('0x27')](_0x18f7e9[_0x47a5('0x3c')][_0x47a5('0x27')]);}_0x53c754[_0x47a5('0x42')]=qs[_0x47a5('0x43')](_0x18f7e9['query'][_0x47a5('0x43')]);_0x53c754[_0x47a5('0x44')]=qs[_0x47a5('0x45')](_[_0x47a5('0x46')](_0x18f7e9['query'],_0x65542e[_0x47a5('0x45')]),_0x25cce0);if(_0x18f7e9['query']['filter']){_0x53c754['where']=_['merge'](_0x53c754[_0x47a5('0x44')],{'$or':_['map'](_0x25cce0,function(_0x2bb502){if(_0x2bb502[_0x47a5('0x37')]!==_0x47a5('0x47')){var _0x494526={};_0x494526[_0x2bb502[_0x47a5('0x32')]]={'$like':'%'+_0x18f7e9[_0x47a5('0x3c')]['filter']+'%'};return _0x494526;}})});}_0x53c754=_['merge']({},_0x53c754,_0x18f7e9[_0x47a5('0x48')]);var _0x4edf7f={'where':_0x53c754[_0x47a5('0x44')]};return db[_0x47a5('0x34')][_0x47a5('0x26')](_0x4edf7f)[_0x47a5('0x2f')](function(_0x34a9ae){_0x5a8a7c[_0x47a5('0x26')]=_0x34a9ae;if(_0x18f7e9[_0x47a5('0x3c')][_0x47a5('0x49')]){_0x53c754[_0x47a5('0x4a')]=[{'all':!![]}];}return db[_0x47a5('0x34')][_0x47a5('0x4b')](_0x53c754);})[_0x47a5('0x2f')](function(_0xe28d76){_0x5a8a7c[_0x47a5('0x4c')]=_0xe28d76;return _0x5a8a7c;})[_0x47a5('0x2f')](respondWithFilteredResult(_0x50c086,_0x53c754))[_0x47a5('0x21')](handleError(_0x50c086,null));};exports['show']=function(_0x2d38de,_0x23bb04){var _0x49eab1={'raw':![],'where':{'id':_0x2d38de[_0x47a5('0x4d')]['id']}},_0x52b3a8={};_0x52b3a8['model']=_[_0x47a5('0x3b')](db[_0x47a5('0x34')]['rawAttributes']);_0x52b3a8['query']=_[_0x47a5('0x3b')](_0x2d38de['query']);_0x52b3a8[_0x47a5('0x45')]=_[_0x47a5('0x3d')](_0x52b3a8[_0x47a5('0x39')],_0x52b3a8[_0x47a5('0x3c')]);_0x49eab1[_0x47a5('0x3f')]=_[_0x47a5('0x3d')](_0x52b3a8[_0x47a5('0x39')],qs['fields'](_0x2d38de['query'][_0x47a5('0x3e')]));_0x49eab1[_0x47a5('0x3f')]=_0x49eab1[_0x47a5('0x3f')][_0x47a5('0x4e')]?_0x49eab1[_0x47a5('0x3f')]:_0x52b3a8[_0x47a5('0x39')];if(_0x2d38de[_0x47a5('0x3c')]['includeAll']){_0x49eab1[_0x47a5('0x4a')]=[{'all':!![]}];}_0x49eab1=_[_0x47a5('0x4f')]({},_0x49eab1,_0x2d38de[_0x47a5('0x48')]);return db['FreshsalesConfiguration'][_0x47a5('0x50')](_0x49eab1)['then'](handleEntityNotFound(_0x23bb04,null))[_0x47a5('0x2f')](respondWithResult(_0x23bb04,null))[_0x47a5('0x21')](handleError(_0x23bb04,null));};exports[_0x47a5('0x51')]=function(_0xf03bd5,_0x588551){return db[_0x47a5('0x34')][_0x47a5('0x51')](_0xf03bd5[_0x47a5('0x52')],{})[_0x47a5('0x2f')](respondWithResult(_0x588551,0xc9))[_0x47a5('0x21')](handleError(_0x588551,null));};exports[_0x47a5('0x2e')]=function(_0x24e9f4,_0x481089){if(_0x24e9f4[_0x47a5('0x52')]['id']){delete _0x24e9f4[_0x47a5('0x52')]['id'];}return db[_0x47a5('0x34')][_0x47a5('0x50')]({'where':{'id':_0x24e9f4[_0x47a5('0x4d')]['id']}})[_0x47a5('0x2f')](handleEntityNotFound(_0x481089,null))['then'](saveUpdates(_0x24e9f4[_0x47a5('0x52')],null))[_0x47a5('0x2f')](respondWithResult(_0x481089,null))[_0x47a5('0x21')](handleError(_0x481089,null));};exports['destroy']=function(_0x4c5ed,_0x3c78b7){return db[_0x47a5('0x34')]['find']({'where':{'id':_0x4c5ed['params']['id']}})[_0x47a5('0x2f')](handleEntityNotFound(_0x3c78b7,null))[_0x47a5('0x2f')](removeEntity(_0x3c78b7,null))['catch'](handleError(_0x3c78b7,null));};exports['getSubjects']=function(_0x6d6b2b,_0x4d6a82,_0x16bb8a){var _0x5d383d={};var _0x482de6={};var _0x389ed9;var _0x46d2d3;return db['FreshsalesConfiguration'][_0x47a5('0x53')]({'where':{'id':_0x6d6b2b[_0x47a5('0x4d')]['id']}})['then'](handleEntityNotFound(_0x4d6a82,null))['then'](function(_0x16b4fd){if(_0x16b4fd){_0x389ed9=_0x16b4fd;_0x482de6[_0x47a5('0x39')]=_[_0x47a5('0x3b')](db[_0x47a5('0x54')]['rawAttributes']);_0x482de6[_0x47a5('0x3c')]=_[_0x47a5('0x3b')](_0x6d6b2b[_0x47a5('0x3c')]);_0x482de6['filters']=_[_0x47a5('0x3d')](_0x482de6['model'],_0x482de6[_0x47a5('0x3c')]);_0x5d383d[_0x47a5('0x3f')]=_[_0x47a5('0x3d')](_0x482de6[_0x47a5('0x39')],qs[_0x47a5('0x3e')](_0x6d6b2b['query'][_0x47a5('0x3e')]));_0x5d383d['attributes']=_0x5d383d['attributes']['length']?_0x5d383d['attributes']:_0x482de6[_0x47a5('0x39')];_0x5d383d[_0x47a5('0x42')]=qs[_0x47a5('0x43')](_0x6d6b2b['query']['sort']);_0x5d383d[_0x47a5('0x44')]=qs[_0x47a5('0x45')](_[_0x47a5('0x46')](_0x6d6b2b[_0x47a5('0x3c')],_0x482de6[_0x47a5('0x45')]));if(_0x6d6b2b['query'][_0x47a5('0x55')]){_0x5d383d['where']=_[_0x47a5('0x4f')](_0x5d383d[_0x47a5('0x44')],{'$or':_['map'](_0x5d383d[_0x47a5('0x3f')],function(_0x345104){var _0x132854={};_0x132854[_0x345104]={'$like':'%'+_0x6d6b2b[_0x47a5('0x3c')][_0x47a5('0x55')]+'%'};return _0x132854;})});}_0x5d383d=_[_0x47a5('0x4f')]({},_0x5d383d,_0x6d6b2b[_0x47a5('0x48')]);return _0x389ed9[_0x47a5('0x56')](_0x5d383d);}})['then'](function(_0x2dcc3b){if(_0x2dcc3b){_0x46d2d3=_0x2dcc3b[_0x47a5('0x4e')];if(!_0x6d6b2b[_0x47a5('0x3c')][_0x47a5('0x40')](_0x47a5('0x41'))){_0x5d383d['limit']=qs[_0x47a5('0x28')](_0x6d6b2b[_0x47a5('0x3c')][_0x47a5('0x28')]);_0x5d383d[_0x47a5('0x27')]=qs[_0x47a5('0x27')](_0x6d6b2b[_0x47a5('0x3c')][_0x47a5('0x27')]);}return _0x389ed9[_0x47a5('0x56')](_0x5d383d);}})[_0x47a5('0x2f')](function(_0x44cb90){if(_0x44cb90){return _0x44cb90?{'count':_0x46d2d3,'rows':_0x44cb90}:null;}})[_0x47a5('0x2f')](respondWithResult(_0x4d6a82,null))[_0x47a5('0x21')](handleError(_0x4d6a82,null));};exports[_0x47a5('0x57')]=function(_0x1cdadc,_0x3edd17,_0x5a6161){var _0x42dd7d={};var _0x284fb8={};var _0x30504e;var _0x4b42f3;return db[_0x47a5('0x34')][_0x47a5('0x53')]({'where':{'id':_0x1cdadc[_0x47a5('0x4d')]['id']}})[_0x47a5('0x2f')](handleEntityNotFound(_0x3edd17,null))['then'](function(_0x3ac402){if(_0x3ac402){_0x30504e=_0x3ac402;_0x284fb8['model']=_[_0x47a5('0x3b')](db['FreshsalesField'][_0x47a5('0x35')]);_0x284fb8['query']=_[_0x47a5('0x3b')](_0x1cdadc[_0x47a5('0x3c')]);_0x284fb8[_0x47a5('0x45')]=_['intersection'](_0x284fb8['model'],_0x284fb8['query']);_0x42dd7d[_0x47a5('0x3f')]=_[_0x47a5('0x3d')](_0x284fb8[_0x47a5('0x39')],qs[_0x47a5('0x3e')](_0x1cdadc['query'][_0x47a5('0x3e')]));_0x42dd7d[_0x47a5('0x3f')]=_0x42dd7d[_0x47a5('0x3f')][_0x47a5('0x4e')]?_0x42dd7d[_0x47a5('0x3f')]:_0x284fb8[_0x47a5('0x39')];_0x42dd7d[_0x47a5('0x42')]=qs[_0x47a5('0x43')](_0x1cdadc[_0x47a5('0x3c')][_0x47a5('0x43')]);_0x42dd7d[_0x47a5('0x44')]=qs[_0x47a5('0x45')](_['pick'](_0x1cdadc[_0x47a5('0x3c')],_0x284fb8['filters']));if(_0x1cdadc[_0x47a5('0x3c')][_0x47a5('0x55')]){_0x42dd7d[_0x47a5('0x44')]=_[_0x47a5('0x4f')](_0x42dd7d[_0x47a5('0x44')],{'$or':_[_0x47a5('0x3a')](_0x42dd7d[_0x47a5('0x3f')],function(_0x448981){var _0x11c1db={};_0x11c1db[_0x448981]={'$like':'%'+_0x1cdadc[_0x47a5('0x3c')][_0x47a5('0x55')]+'%'};return _0x11c1db;})});}_0x42dd7d=_[_0x47a5('0x4f')]({},_0x42dd7d,_0x1cdadc[_0x47a5('0x48')]);return _0x30504e[_0x47a5('0x57')](_0x42dd7d);}})[_0x47a5('0x2f')](function(_0x4de126){if(_0x4de126){_0x4b42f3=_0x4de126['length'];if(!_0x1cdadc['query']['hasOwnProperty'](_0x47a5('0x41'))){_0x42dd7d[_0x47a5('0x28')]=qs['limit'](_0x1cdadc[_0x47a5('0x3c')][_0x47a5('0x28')]);_0x42dd7d[_0x47a5('0x27')]=qs[_0x47a5('0x27')](_0x1cdadc[_0x47a5('0x3c')][_0x47a5('0x27')]);}return _0x30504e[_0x47a5('0x57')](_0x42dd7d);}})[_0x47a5('0x2f')](function(_0x2e9a96){if(_0x2e9a96){return _0x2e9a96?{'count':_0x4b42f3,'rows':_0x2e9a96}:null;}})[_0x47a5('0x2f')](respondWithResult(_0x3edd17,null))[_0x47a5('0x21')](handleError(_0x3edd17,null));};exports['getFields']=function(_0x18fa31,_0x1fbd42,_0x420671){var _0x4f35ff={};var _0x340846={};var _0x32f393;var _0x17b61d;return db['FreshsalesConfiguration'][_0x47a5('0x53')]({'where':{'id':_0x18fa31['params']['id']}})['then'](handleEntityNotFound(_0x1fbd42,null))[_0x47a5('0x2f')](function(_0x292d9c){if(_0x292d9c){_0x32f393=_0x292d9c;_0x340846[_0x47a5('0x39')]=_[_0x47a5('0x3b')](db[_0x47a5('0x54')][_0x47a5('0x35')]);_0x340846['query']=_['keys'](_0x18fa31[_0x47a5('0x3c')]);_0x340846['filters']=_[_0x47a5('0x3d')](_0x340846[_0x47a5('0x39')],_0x340846[_0x47a5('0x3c')]);_0x4f35ff[_0x47a5('0x3f')]=_['intersection'](_0x340846[_0x47a5('0x39')],qs['fields'](_0x18fa31['query'][_0x47a5('0x3e')]));_0x4f35ff[_0x47a5('0x3f')]=_0x4f35ff['attributes'][_0x47a5('0x4e')]?_0x4f35ff[_0x47a5('0x3f')]:_0x340846[_0x47a5('0x39')];_0x4f35ff['order']=qs[_0x47a5('0x43')](_0x18fa31['query'][_0x47a5('0x43')]);_0x4f35ff[_0x47a5('0x44')]=qs[_0x47a5('0x45')](_['pick'](_0x18fa31[_0x47a5('0x3c')],_0x340846[_0x47a5('0x45')]));if(_0x18fa31[_0x47a5('0x3c')]['filter']){_0x4f35ff[_0x47a5('0x44')]=_['merge'](_0x4f35ff[_0x47a5('0x44')],{'$or':_['map'](_0x4f35ff[_0x47a5('0x3f')],function(_0x20d8bd){var _0x20a742={};_0x20a742[_0x20d8bd]={'$like':'%'+_0x18fa31[_0x47a5('0x3c')]['filter']+'%'};return _0x20a742;})});}_0x4f35ff=_[_0x47a5('0x4f')]({},_0x4f35ff,_0x18fa31[_0x47a5('0x48')]);return _0x32f393[_0x47a5('0x58')](_0x4f35ff);}})[_0x47a5('0x2f')](function(_0x22d84a){if(_0x22d84a){_0x17b61d=_0x22d84a['length'];if(!_0x18fa31['query'][_0x47a5('0x40')]('nolimit')){_0x4f35ff[_0x47a5('0x28')]=qs[_0x47a5('0x28')](_0x18fa31[_0x47a5('0x3c')]['limit']);_0x4f35ff[_0x47a5('0x27')]=qs[_0x47a5('0x27')](_0x18fa31['query'][_0x47a5('0x27')]);}return _0x32f393[_0x47a5('0x58')](_0x4f35ff);}})[_0x47a5('0x2f')](function(_0x113beb){if(_0x113beb){return _0x113beb?{'count':_0x17b61d,'rows':_0x113beb}:null;}})['then'](respondWithResult(_0x1fbd42,null))['catch'](handleError(_0x1fbd42,null));};