2f0e70a01a9995098c1668a4b6ff90dc6c1f383e
[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 _0x8edb=['index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','FreshsalesConfiguration','includeAll','include','findAll','rows','catch','show','params','find','create','body','getSubjects','findOne','FreshsalesField','length','getDescriptions','order','getFields','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','end','sendStatus','error','stack','name','send'];(function(_0x845304,_0x154c0f){var _0x51c06d=function(_0x36a285){while(--_0x36a285){_0x845304['push'](_0x845304['shift']());}};_0x51c06d(++_0x154c0f);}(_0x8edb,0xd0));var _0xb8ed=function(_0x4aeccc,_0x2a30f3){_0x4aeccc=_0x4aeccc-0x0;var _0x1d4e09=_0x8edb[_0x4aeccc];return _0x1d4e09;};'use strict';var emlformat=require(_0xb8ed('0x0'));var rimraf=require(_0xb8ed('0x1'));var zipdir=require(_0xb8ed('0x2'));var jsonpatch=require(_0xb8ed('0x3'));var rp=require(_0xb8ed('0x4'));var moment=require(_0xb8ed('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb8ed('0x6'));var util=require(_0xb8ed('0x7'));var path=require('path');var sox=require(_0xb8ed('0x8'));var csv=require(_0xb8ed('0x9'));var ejs=require(_0xb8ed('0xa'));var fs=require('fs');var fs_extra=require(_0xb8ed('0xb'));var _=require(_0xb8ed('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xb8ed('0xd'));var deskjs=require(_0xb8ed('0xe'));var toCsv=require(_0xb8ed('0x9'));var querystring=require(_0xb8ed('0xf'));var Papa=require(_0xb8ed('0x10'));var Redis=require(_0xb8ed('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xb8ed('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb8ed('0x13'));var logger=require(_0xb8ed('0x14'))('api');var utils=require(_0xb8ed('0x15'));var config=require(_0xb8ed('0x16'));var licenseUtil=require(_0xb8ed('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x580f18,_0x33b118){_0x33b118=_0x33b118||0xcc;return function(_0x119f89){if(_0x119f89){return _0x580f18['sendStatus'](_0x33b118);}return _0x580f18[_0xb8ed('0x18')](_0x33b118)['end']();};}function respondWithResult(_0xd898a0,_0x32fadd){_0x32fadd=_0x32fadd||0xc8;return function(_0x4204a8){if(_0x4204a8){return _0xd898a0[_0xb8ed('0x18')](_0x32fadd)[_0xb8ed('0x19')](_0x4204a8);}};}function respondWithFilteredResult(_0x114a3e,_0x23263f){return function(_0x409bed){if(_0x409bed){var _0x1becf2=typeof _0x23263f[_0xb8ed('0x1a')]===_0xb8ed('0x1b')&&typeof _0x23263f[_0xb8ed('0x1c')]===_0xb8ed('0x1b');var _0x4ece6b=_0x409bed[_0xb8ed('0x1d')];var _0x2c2442=_0x1becf2?0x0:_0x23263f[_0xb8ed('0x1a')];var _0x11d461=_0x1becf2?_0x409bed['count']:_0x23263f[_0xb8ed('0x1a')]+_0x23263f['limit'];var _0x1522cb;if(_0x11d461>=_0x4ece6b){_0x11d461=_0x4ece6b;_0x1522cb=0xc8;}else{_0x1522cb=0xce;}_0x114a3e[_0xb8ed('0x18')](_0x1522cb);return _0x114a3e[_0xb8ed('0x1e')](_0xb8ed('0x1f'),_0x2c2442+'-'+_0x11d461+'/'+_0x4ece6b)[_0xb8ed('0x19')](_0x409bed);}return null;};}function patchUpdates(_0x2388bf){return function(_0x125705){try{jsonpatch[_0xb8ed('0x20')](_0x125705,_0x2388bf,!![]);}catch(_0x34c21c){return BPromise[_0xb8ed('0x21')](_0x34c21c);}return _0x125705[_0xb8ed('0x22')]();};}function saveUpdates(_0x25fa6b,_0x411ba9){return function(_0x579f82){if(_0x579f82){return _0x579f82[_0xb8ed('0x23')](_0x25fa6b)[_0xb8ed('0x24')](function(_0x115c0a){return _0x115c0a;});}return null;};}function removeEntity(_0x550b22,_0x5198f4){return function(_0x1d959f){if(_0x1d959f){return _0x1d959f[_0xb8ed('0x25')]()[_0xb8ed('0x24')](function(){_0x550b22[_0xb8ed('0x18')](0xcc)[_0xb8ed('0x26')]();});}};}function handleEntityNotFound(_0x3841da,_0x19dfe8){return function(_0x35732e){if(!_0x35732e){_0x3841da[_0xb8ed('0x27')](0x194);}return _0x35732e;};}function handleError(_0x4c2158,_0x5e3101){_0x5e3101=_0x5e3101||0x1f4;return function(_0x3eb740){logger[_0xb8ed('0x28')](_0x3eb740[_0xb8ed('0x29')]);if(_0x3eb740[_0xb8ed('0x2a')]){delete _0x3eb740[_0xb8ed('0x2a')];}_0x4c2158['status'](_0x5e3101)[_0xb8ed('0x2b')](_0x3eb740);};}exports[_0xb8ed('0x2c')]=function(_0x45f3f0,_0x3424f0){var _0x478781={},_0x31b586={},_0x49acc9={'count':0x0,'rows':[]};var _0x4cd067=_[_0xb8ed('0x2d')](db['FreshsalesConfiguration'][_0xb8ed('0x2e')],function(_0x292d46){return{'name':_0x292d46[_0xb8ed('0x2f')],'type':_0x292d46[_0xb8ed('0x30')][_0xb8ed('0x31')]};});_0x31b586[_0xb8ed('0x32')]=_[_0xb8ed('0x2d')](_0x4cd067,_0xb8ed('0x2a'));_0x31b586['query']=_[_0xb8ed('0x33')](_0x45f3f0[_0xb8ed('0x34')]);_0x31b586[_0xb8ed('0x35')]=_[_0xb8ed('0x36')](_0x31b586[_0xb8ed('0x32')],_0x31b586[_0xb8ed('0x34')]);_0x478781[_0xb8ed('0x37')]=_['intersection'](_0x31b586['model'],qs['fields'](_0x45f3f0['query'][_0xb8ed('0x38')]));_0x478781['attributes']=_0x478781[_0xb8ed('0x37')]['length']?_0x478781['attributes']:_0x31b586['model'];if(!_0x45f3f0[_0xb8ed('0x34')][_0xb8ed('0x39')](_0xb8ed('0x3a'))){_0x478781[_0xb8ed('0x1c')]=qs['limit'](_0x45f3f0[_0xb8ed('0x34')][_0xb8ed('0x1c')]);_0x478781['offset']=qs[_0xb8ed('0x1a')](_0x45f3f0[_0xb8ed('0x34')]['offset']);}_0x478781['order']=qs[_0xb8ed('0x3b')](_0x45f3f0[_0xb8ed('0x34')][_0xb8ed('0x3b')]);_0x478781[_0xb8ed('0x3c')]=qs[_0xb8ed('0x35')](_[_0xb8ed('0x3d')](_0x45f3f0['query'],_0x31b586[_0xb8ed('0x35')]),_0x4cd067);if(_0x45f3f0[_0xb8ed('0x34')][_0xb8ed('0x3e')]){_0x478781[_0xb8ed('0x3c')]=_[_0xb8ed('0x3f')](_0x478781[_0xb8ed('0x3c')],{'$or':_['map'](_0x4cd067,function(_0x112fbf){if(_0x112fbf['type']!==_0xb8ed('0x40')){var _0x1c8b9e={};_0x1c8b9e[_0x112fbf[_0xb8ed('0x2a')]]={'$like':'%'+_0x45f3f0[_0xb8ed('0x34')]['filter']+'%'};return _0x1c8b9e;}})});}_0x478781=_[_0xb8ed('0x3f')]({},_0x478781,_0x45f3f0[_0xb8ed('0x41')]);var _0x1d7b01={'where':_0x478781[_0xb8ed('0x3c')]};return db[_0xb8ed('0x42')][_0xb8ed('0x1d')](_0x1d7b01)[_0xb8ed('0x24')](function(_0x2b7950){_0x49acc9[_0xb8ed('0x1d')]=_0x2b7950;if(_0x45f3f0['query'][_0xb8ed('0x43')]){_0x478781[_0xb8ed('0x44')]=[{'all':!![]}];}return db[_0xb8ed('0x42')][_0xb8ed('0x45')](_0x478781);})[_0xb8ed('0x24')](function(_0x515f06){_0x49acc9[_0xb8ed('0x46')]=_0x515f06;return _0x49acc9;})[_0xb8ed('0x24')](respondWithFilteredResult(_0x3424f0,_0x478781))[_0xb8ed('0x47')](handleError(_0x3424f0,null));};exports[_0xb8ed('0x48')]=function(_0x46810e,_0x18db8a){var _0x963cde={'raw':![],'where':{'id':_0x46810e[_0xb8ed('0x49')]['id']}},_0x30d689={};_0x30d689[_0xb8ed('0x32')]=_[_0xb8ed('0x33')](db[_0xb8ed('0x42')][_0xb8ed('0x2e')]);_0x30d689[_0xb8ed('0x34')]=_[_0xb8ed('0x33')](_0x46810e[_0xb8ed('0x34')]);_0x30d689[_0xb8ed('0x35')]=_[_0xb8ed('0x36')](_0x30d689[_0xb8ed('0x32')],_0x30d689[_0xb8ed('0x34')]);_0x963cde['attributes']=_[_0xb8ed('0x36')](_0x30d689['model'],qs[_0xb8ed('0x38')](_0x46810e[_0xb8ed('0x34')][_0xb8ed('0x38')]));_0x963cde[_0xb8ed('0x37')]=_0x963cde[_0xb8ed('0x37')]['length']?_0x963cde[_0xb8ed('0x37')]:_0x30d689['model'];if(_0x46810e[_0xb8ed('0x34')][_0xb8ed('0x43')]){_0x963cde[_0xb8ed('0x44')]=[{'all':!![]}];}_0x963cde=_[_0xb8ed('0x3f')]({},_0x963cde,_0x46810e[_0xb8ed('0x41')]);return db[_0xb8ed('0x42')][_0xb8ed('0x4a')](_0x963cde)['then'](handleEntityNotFound(_0x18db8a,null))[_0xb8ed('0x24')](respondWithResult(_0x18db8a,null))[_0xb8ed('0x47')](handleError(_0x18db8a,null));};exports[_0xb8ed('0x4b')]=function(_0x4ea6ac,_0x5df9ab){return db[_0xb8ed('0x42')][_0xb8ed('0x4b')](_0x4ea6ac[_0xb8ed('0x4c')],{})[_0xb8ed('0x24')](respondWithResult(_0x5df9ab,0xc9))[_0xb8ed('0x47')](handleError(_0x5df9ab,null));};exports[_0xb8ed('0x23')]=function(_0x5d3871,_0x367498){if(_0x5d3871[_0xb8ed('0x4c')]['id']){delete _0x5d3871[_0xb8ed('0x4c')]['id'];}return db[_0xb8ed('0x42')][_0xb8ed('0x4a')]({'where':{'id':_0x5d3871[_0xb8ed('0x49')]['id']}})[_0xb8ed('0x24')](handleEntityNotFound(_0x367498,null))[_0xb8ed('0x24')](saveUpdates(_0x5d3871[_0xb8ed('0x4c')],null))[_0xb8ed('0x24')](respondWithResult(_0x367498,null))[_0xb8ed('0x47')](handleError(_0x367498,null));};exports['destroy']=function(_0x317a8c,_0x485f5b){return db['FreshsalesConfiguration']['find']({'where':{'id':_0x317a8c['params']['id']}})[_0xb8ed('0x24')](handleEntityNotFound(_0x485f5b,null))[_0xb8ed('0x24')](removeEntity(_0x485f5b,null))[_0xb8ed('0x47')](handleError(_0x485f5b,null));};exports[_0xb8ed('0x4d')]=function(_0x510bf8,_0x4b606e,_0x18b4d8){var _0x14e20f={};var _0x235e71={};var _0x388b28;var _0x474d9b;return db[_0xb8ed('0x42')][_0xb8ed('0x4e')]({'where':{'id':_0x510bf8[_0xb8ed('0x49')]['id']}})[_0xb8ed('0x24')](handleEntityNotFound(_0x4b606e,null))[_0xb8ed('0x24')](function(_0x30bba2){if(_0x30bba2){_0x388b28=_0x30bba2;_0x235e71['model']=_[_0xb8ed('0x33')](db[_0xb8ed('0x4f')]['rawAttributes']);_0x235e71[_0xb8ed('0x34')]=_[_0xb8ed('0x33')](_0x510bf8[_0xb8ed('0x34')]);_0x235e71['filters']=_[_0xb8ed('0x36')](_0x235e71[_0xb8ed('0x32')],_0x235e71[_0xb8ed('0x34')]);_0x14e20f[_0xb8ed('0x37')]=_[_0xb8ed('0x36')](_0x235e71[_0xb8ed('0x32')],qs[_0xb8ed('0x38')](_0x510bf8[_0xb8ed('0x34')][_0xb8ed('0x38')]));_0x14e20f[_0xb8ed('0x37')]=_0x14e20f['attributes']['length']?_0x14e20f[_0xb8ed('0x37')]:_0x235e71[_0xb8ed('0x32')];_0x14e20f['order']=qs[_0xb8ed('0x3b')](_0x510bf8[_0xb8ed('0x34')][_0xb8ed('0x3b')]);_0x14e20f[_0xb8ed('0x3c')]=qs[_0xb8ed('0x35')](_['pick'](_0x510bf8['query'],_0x235e71[_0xb8ed('0x35')]));if(_0x510bf8[_0xb8ed('0x34')][_0xb8ed('0x3e')]){_0x14e20f[_0xb8ed('0x3c')]=_[_0xb8ed('0x3f')](_0x14e20f['where'],{'$or':_[_0xb8ed('0x2d')](_0x14e20f['attributes'],function(_0x344291){var _0x3fc99a={};_0x3fc99a[_0x344291]={'$like':'%'+_0x510bf8[_0xb8ed('0x34')][_0xb8ed('0x3e')]+'%'};return _0x3fc99a;})});}_0x14e20f=_[_0xb8ed('0x3f')]({},_0x14e20f,_0x510bf8[_0xb8ed('0x41')]);return _0x388b28[_0xb8ed('0x4d')](_0x14e20f);}})[_0xb8ed('0x24')](function(_0x1f5f31){if(_0x1f5f31){_0x474d9b=_0x1f5f31[_0xb8ed('0x50')];if(!_0x510bf8[_0xb8ed('0x34')][_0xb8ed('0x39')](_0xb8ed('0x3a'))){_0x14e20f['limit']=qs[_0xb8ed('0x1c')](_0x510bf8[_0xb8ed('0x34')][_0xb8ed('0x1c')]);_0x14e20f['offset']=qs['offset'](_0x510bf8[_0xb8ed('0x34')][_0xb8ed('0x1a')]);}return _0x388b28[_0xb8ed('0x4d')](_0x14e20f);}})[_0xb8ed('0x24')](function(_0x12548f){if(_0x12548f){return _0x12548f?{'count':_0x474d9b,'rows':_0x12548f}:null;}})[_0xb8ed('0x24')](respondWithResult(_0x4b606e,null))['catch'](handleError(_0x4b606e,null));};exports[_0xb8ed('0x51')]=function(_0x5068ed,_0x53f731,_0x52b6e7){var _0xd1f81c={};var _0x1a2627={};var _0x3dcd48;var _0x5ae4a1;return db[_0xb8ed('0x42')][_0xb8ed('0x4e')]({'where':{'id':_0x5068ed[_0xb8ed('0x49')]['id']}})[_0xb8ed('0x24')](handleEntityNotFound(_0x53f731,null))[_0xb8ed('0x24')](function(_0x55f54f){if(_0x55f54f){_0x3dcd48=_0x55f54f;_0x1a2627['model']=_[_0xb8ed('0x33')](db[_0xb8ed('0x4f')][_0xb8ed('0x2e')]);_0x1a2627[_0xb8ed('0x34')]=_[_0xb8ed('0x33')](_0x5068ed[_0xb8ed('0x34')]);_0x1a2627[_0xb8ed('0x35')]=_['intersection'](_0x1a2627[_0xb8ed('0x32')],_0x1a2627[_0xb8ed('0x34')]);_0xd1f81c[_0xb8ed('0x37')]=_[_0xb8ed('0x36')](_0x1a2627['model'],qs[_0xb8ed('0x38')](_0x5068ed[_0xb8ed('0x34')][_0xb8ed('0x38')]));_0xd1f81c[_0xb8ed('0x37')]=_0xd1f81c[_0xb8ed('0x37')][_0xb8ed('0x50')]?_0xd1f81c['attributes']:_0x1a2627[_0xb8ed('0x32')];_0xd1f81c[_0xb8ed('0x52')]=qs[_0xb8ed('0x3b')](_0x5068ed[_0xb8ed('0x34')][_0xb8ed('0x3b')]);_0xd1f81c[_0xb8ed('0x3c')]=qs[_0xb8ed('0x35')](_[_0xb8ed('0x3d')](_0x5068ed[_0xb8ed('0x34')],_0x1a2627[_0xb8ed('0x35')]));if(_0x5068ed[_0xb8ed('0x34')][_0xb8ed('0x3e')]){_0xd1f81c[_0xb8ed('0x3c')]=_[_0xb8ed('0x3f')](_0xd1f81c[_0xb8ed('0x3c')],{'$or':_['map'](_0xd1f81c[_0xb8ed('0x37')],function(_0x51cebe){var _0x5ff9c4={};_0x5ff9c4[_0x51cebe]={'$like':'%'+_0x5068ed['query'][_0xb8ed('0x3e')]+'%'};return _0x5ff9c4;})});}_0xd1f81c=_[_0xb8ed('0x3f')]({},_0xd1f81c,_0x5068ed[_0xb8ed('0x41')]);return _0x3dcd48[_0xb8ed('0x51')](_0xd1f81c);}})['then'](function(_0x41dabf){if(_0x41dabf){_0x5ae4a1=_0x41dabf['length'];if(!_0x5068ed['query']['hasOwnProperty']('nolimit')){_0xd1f81c[_0xb8ed('0x1c')]=qs[_0xb8ed('0x1c')](_0x5068ed[_0xb8ed('0x34')][_0xb8ed('0x1c')]);_0xd1f81c['offset']=qs['offset'](_0x5068ed['query'][_0xb8ed('0x1a')]);}return _0x3dcd48[_0xb8ed('0x51')](_0xd1f81c);}})[_0xb8ed('0x24')](function(_0x2bdae2){if(_0x2bdae2){return _0x2bdae2?{'count':_0x5ae4a1,'rows':_0x2bdae2}:null;}})[_0xb8ed('0x24')](respondWithResult(_0x53f731,null))[_0xb8ed('0x47')](handleError(_0x53f731,null));};exports['getFields']=function(_0x563611,_0x2299b0,_0x4339d0){var _0x16823f={};var _0x15b718={};var _0x200eba;var _0x32abc6;return db[_0xb8ed('0x42')][_0xb8ed('0x4e')]({'where':{'id':_0x563611[_0xb8ed('0x49')]['id']}})['then'](handleEntityNotFound(_0x2299b0,null))['then'](function(_0x58170a){if(_0x58170a){_0x200eba=_0x58170a;_0x15b718['model']=_[_0xb8ed('0x33')](db[_0xb8ed('0x4f')][_0xb8ed('0x2e')]);_0x15b718['query']=_[_0xb8ed('0x33')](_0x563611[_0xb8ed('0x34')]);_0x15b718['filters']=_[_0xb8ed('0x36')](_0x15b718[_0xb8ed('0x32')],_0x15b718[_0xb8ed('0x34')]);_0x16823f['attributes']=_['intersection'](_0x15b718['model'],qs[_0xb8ed('0x38')](_0x563611[_0xb8ed('0x34')][_0xb8ed('0x38')]));_0x16823f[_0xb8ed('0x37')]=_0x16823f[_0xb8ed('0x37')][_0xb8ed('0x50')]?_0x16823f[_0xb8ed('0x37')]:_0x15b718[_0xb8ed('0x32')];_0x16823f[_0xb8ed('0x52')]=qs[_0xb8ed('0x3b')](_0x563611['query'][_0xb8ed('0x3b')]);_0x16823f[_0xb8ed('0x3c')]=qs[_0xb8ed('0x35')](_[_0xb8ed('0x3d')](_0x563611[_0xb8ed('0x34')],_0x15b718['filters']));if(_0x563611['query'][_0xb8ed('0x3e')]){_0x16823f['where']=_[_0xb8ed('0x3f')](_0x16823f[_0xb8ed('0x3c')],{'$or':_['map'](_0x16823f[_0xb8ed('0x37')],function(_0x278cf2){var _0x31c91d={};_0x31c91d[_0x278cf2]={'$like':'%'+_0x563611['query']['filter']+'%'};return _0x31c91d;})});}_0x16823f=_[_0xb8ed('0x3f')]({},_0x16823f,_0x563611[_0xb8ed('0x41')]);return _0x200eba[_0xb8ed('0x53')](_0x16823f);}})['then'](function(_0x4adb0c){if(_0x4adb0c){_0x32abc6=_0x4adb0c[_0xb8ed('0x50')];if(!_0x563611[_0xb8ed('0x34')]['hasOwnProperty'](_0xb8ed('0x3a'))){_0x16823f[_0xb8ed('0x1c')]=qs[_0xb8ed('0x1c')](_0x563611[_0xb8ed('0x34')][_0xb8ed('0x1c')]);_0x16823f[_0xb8ed('0x1a')]=qs['offset'](_0x563611[_0xb8ed('0x34')]['offset']);}return _0x200eba[_0xb8ed('0x53')](_0x16823f);}})[_0xb8ed('0x24')](function(_0x3a9d8c){if(_0x3a9d8c){return _0x3a9d8c?{'count':_0x32abc6,'rows':_0x3a9d8c}:null;}})['then'](respondWithResult(_0x2299b0,null))['catch'](handleError(_0x2299b0,null));};