e2dccb9900b48a249025e1b53f5dfe1305939e05
[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 _0xc533=['fields','length','hasOwnProperty','where','filters','filter','options','includeAll','include','findAll','rows','catch','params','find','create','body','order','sort','pick','merge','nolimit','getSubjects','getDescriptions','FreshsalesField','findOne','getFields','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','fs-extra','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','end','status','undefined','limit','count','offset','set','apply','reject','save','update','destroy','then','name','send','map','FreshsalesConfiguration','rawAttributes','fieldName','type','model','query','keys','attributes','intersection'];(function(_0x2641f9,_0x26715f){var _0x585741=function(_0x2d1462){while(--_0x2d1462){_0x2641f9['push'](_0x2641f9['shift']());}};_0x585741(++_0x26715f);}(_0xc533,0xb0));var _0x3c53=function(_0x4ae625,_0xf396d0){_0x4ae625=_0x4ae625-0x0;var _0x31accf=_0xc533[_0x4ae625];return _0x31accf;};'use strict';var emlformat=require(_0x3c53('0x0'));var rimraf=require(_0x3c53('0x1'));var zipdir=require(_0x3c53('0x2'));var jsonpatch=require(_0x3c53('0x3'));var rp=require('request-promise');var moment=require(_0x3c53('0x4'));var BPromise=require(_0x3c53('0x5'));var Mustache=require(_0x3c53('0x6'));var util=require('util');var path=require(_0x3c53('0x7'));var sox=require(_0x3c53('0x8'));var csv=require(_0x3c53('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3c53('0xa'));var _=require('lodash');var squel=require(_0x3c53('0xb'));var crypto=require('crypto');var jsforce=require(_0x3c53('0xc'));var deskjs=require(_0x3c53('0xd'));var toCsv=require(_0x3c53('0x9'));var querystring=require('querystring');var Papa=require(_0x3c53('0xe'));var Redis=require(_0x3c53('0xf'));var authService=require(_0x3c53('0x10'));var qs=require(_0x3c53('0x11'));var as=require(_0x3c53('0x12'));var hardwareService=require(_0x3c53('0x13'));var logger=require(_0x3c53('0x14'))(_0x3c53('0x15'));var utils=require('../../config/utils');var config=require(_0x3c53('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x3c53('0x17'))['db'];function respondWithStatusCode(_0x201abc,_0x3ef1f0){_0x3ef1f0=_0x3ef1f0||0xcc;return function(_0x375846){if(_0x375846){return _0x201abc['sendStatus'](_0x3ef1f0);}return _0x201abc['status'](_0x3ef1f0)[_0x3c53('0x18')]();};}function respondWithResult(_0x29b7b9,_0x5abf7c){_0x5abf7c=_0x5abf7c||0xc8;return function(_0x515e6e){if(_0x515e6e){return _0x29b7b9[_0x3c53('0x19')](_0x5abf7c)['json'](_0x515e6e);}};}function respondWithFilteredResult(_0x315532,_0x281c24){return function(_0x4c8a56){if(_0x4c8a56){var _0x598e4a=typeof _0x281c24['offset']===_0x3c53('0x1a')&&typeof _0x281c24[_0x3c53('0x1b')]===_0x3c53('0x1a');var _0x548275=_0x4c8a56[_0x3c53('0x1c')];var _0x36eaa7=_0x598e4a?0x0:_0x281c24[_0x3c53('0x1d')];var _0x6f7725=_0x598e4a?_0x4c8a56['count']:_0x281c24[_0x3c53('0x1d')]+_0x281c24['limit'];var _0x1aa8c1;if(_0x6f7725>=_0x548275){_0x6f7725=_0x548275;_0x1aa8c1=0xc8;}else{_0x1aa8c1=0xce;}_0x315532[_0x3c53('0x19')](_0x1aa8c1);return _0x315532[_0x3c53('0x1e')]('Content-Range',_0x36eaa7+'-'+_0x6f7725+'/'+_0x548275)['json'](_0x4c8a56);}return null;};}function patchUpdates(_0x4b3d93){return function(_0x4c7040){try{jsonpatch[_0x3c53('0x1f')](_0x4c7040,_0x4b3d93,!![]);}catch(_0x5d70df){return BPromise[_0x3c53('0x20')](_0x5d70df);}return _0x4c7040[_0x3c53('0x21')]();};}function saveUpdates(_0x47fbac,_0x4ab303){return function(_0x1e7e55){if(_0x1e7e55){return _0x1e7e55[_0x3c53('0x22')](_0x47fbac)['then'](function(_0x2f9180){return _0x2f9180;});}return null;};}function removeEntity(_0x43163c,_0x42e5cf){return function(_0x527d54){if(_0x527d54){return _0x527d54[_0x3c53('0x23')]()[_0x3c53('0x24')](function(){_0x43163c[_0x3c53('0x19')](0xcc)[_0x3c53('0x18')]();});}};}function handleEntityNotFound(_0x2f5592,_0x47c7ce){return function(_0x11ddf1){if(!_0x11ddf1){_0x2f5592['sendStatus'](0x194);}return _0x11ddf1;};}function handleError(_0x3e20ed,_0x23194a){_0x23194a=_0x23194a||0x1f4;return function(_0x3fde5a){logger['error'](_0x3fde5a['stack']);if(_0x3fde5a[_0x3c53('0x25')]){delete _0x3fde5a[_0x3c53('0x25')];}_0x3e20ed[_0x3c53('0x19')](_0x23194a)[_0x3c53('0x26')](_0x3fde5a);};}exports['index']=function(_0x24d48d,_0x337d64){var _0x3a86e2={},_0x1fb974={},_0x5996d8={'count':0x0,'rows':[]};var _0x371d8c=_[_0x3c53('0x27')](db[_0x3c53('0x28')][_0x3c53('0x29')],function(_0x197882){return{'name':_0x197882[_0x3c53('0x2a')],'type':_0x197882[_0x3c53('0x2b')]['key']};});_0x1fb974[_0x3c53('0x2c')]=_[_0x3c53('0x27')](_0x371d8c,'name');_0x1fb974[_0x3c53('0x2d')]=_[_0x3c53('0x2e')](_0x24d48d['query']);_0x1fb974['filters']=_['intersection'](_0x1fb974['model'],_0x1fb974[_0x3c53('0x2d')]);_0x3a86e2[_0x3c53('0x2f')]=_[_0x3c53('0x30')](_0x1fb974['model'],qs[_0x3c53('0x31')](_0x24d48d['query'][_0x3c53('0x31')]));_0x3a86e2[_0x3c53('0x2f')]=_0x3a86e2[_0x3c53('0x2f')][_0x3c53('0x32')]?_0x3a86e2['attributes']:_0x1fb974[_0x3c53('0x2c')];if(!_0x24d48d[_0x3c53('0x2d')][_0x3c53('0x33')]('nolimit')){_0x3a86e2[_0x3c53('0x1b')]=qs[_0x3c53('0x1b')](_0x24d48d[_0x3c53('0x2d')][_0x3c53('0x1b')]);_0x3a86e2['offset']=qs[_0x3c53('0x1d')](_0x24d48d['query'][_0x3c53('0x1d')]);}_0x3a86e2['order']=qs['sort'](_0x24d48d[_0x3c53('0x2d')]['sort']);_0x3a86e2[_0x3c53('0x34')]=qs['filters'](_['pick'](_0x24d48d[_0x3c53('0x2d')],_0x1fb974[_0x3c53('0x35')]),_0x371d8c);if(_0x24d48d[_0x3c53('0x2d')][_0x3c53('0x36')]){_0x3a86e2[_0x3c53('0x34')]=_['merge'](_0x3a86e2[_0x3c53('0x34')],{'$or':_[_0x3c53('0x27')](_0x371d8c,function(_0x53a1ec){if(_0x53a1ec[_0x3c53('0x2b')]!=='VIRTUAL'){var _0x2a9cb9={};_0x2a9cb9[_0x53a1ec[_0x3c53('0x25')]]={'$like':'%'+_0x24d48d[_0x3c53('0x2d')][_0x3c53('0x36')]+'%'};return _0x2a9cb9;}})});}_0x3a86e2=_['merge']({},_0x3a86e2,_0x24d48d[_0x3c53('0x37')]);var _0x5983e4={'where':_0x3a86e2[_0x3c53('0x34')]};return db['FreshsalesConfiguration'][_0x3c53('0x1c')](_0x5983e4)[_0x3c53('0x24')](function(_0x394849){_0x5996d8[_0x3c53('0x1c')]=_0x394849;if(_0x24d48d[_0x3c53('0x2d')][_0x3c53('0x38')]){_0x3a86e2[_0x3c53('0x39')]=[{'all':!![]}];}return db['FreshsalesConfiguration'][_0x3c53('0x3a')](_0x3a86e2);})[_0x3c53('0x24')](function(_0x47093c){_0x5996d8[_0x3c53('0x3b')]=_0x47093c;return _0x5996d8;})[_0x3c53('0x24')](respondWithFilteredResult(_0x337d64,_0x3a86e2))[_0x3c53('0x3c')](handleError(_0x337d64,null));};exports['show']=function(_0x30600e,_0x451346){var _0x582ab5={'raw':![],'where':{'id':_0x30600e[_0x3c53('0x3d')]['id']}},_0x4fc469={};_0x4fc469[_0x3c53('0x2c')]=_[_0x3c53('0x2e')](db[_0x3c53('0x28')]['rawAttributes']);_0x4fc469['query']=_[_0x3c53('0x2e')](_0x30600e[_0x3c53('0x2d')]);_0x4fc469[_0x3c53('0x35')]=_['intersection'](_0x4fc469[_0x3c53('0x2c')],_0x4fc469['query']);_0x582ab5[_0x3c53('0x2f')]=_[_0x3c53('0x30')](_0x4fc469[_0x3c53('0x2c')],qs['fields'](_0x30600e[_0x3c53('0x2d')][_0x3c53('0x31')]));_0x582ab5['attributes']=_0x582ab5['attributes']['length']?_0x582ab5[_0x3c53('0x2f')]:_0x4fc469[_0x3c53('0x2c')];if(_0x30600e['query'][_0x3c53('0x38')]){_0x582ab5['include']=[{'all':!![]}];}_0x582ab5=_['merge']({},_0x582ab5,_0x30600e[_0x3c53('0x37')]);return db[_0x3c53('0x28')][_0x3c53('0x3e')](_0x582ab5)[_0x3c53('0x24')](handleEntityNotFound(_0x451346,null))[_0x3c53('0x24')](respondWithResult(_0x451346,null))[_0x3c53('0x3c')](handleError(_0x451346,null));};exports['create']=function(_0x161ff3,_0x45bb57){return db['FreshsalesConfiguration'][_0x3c53('0x3f')](_0x161ff3[_0x3c53('0x40')],{})[_0x3c53('0x24')](respondWithResult(_0x45bb57,0xc9))[_0x3c53('0x3c')](handleError(_0x45bb57,null));};exports[_0x3c53('0x22')]=function(_0x4d85f5,_0x35d9ff){if(_0x4d85f5['body']['id']){delete _0x4d85f5['body']['id'];}return db['FreshsalesConfiguration'][_0x3c53('0x3e')]({'where':{'id':_0x4d85f5['params']['id']}})[_0x3c53('0x24')](handleEntityNotFound(_0x35d9ff,null))['then'](saveUpdates(_0x4d85f5[_0x3c53('0x40')],null))[_0x3c53('0x24')](respondWithResult(_0x35d9ff,null))[_0x3c53('0x3c')](handleError(_0x35d9ff,null));};exports['destroy']=function(_0x325a3f,_0x131379){return db[_0x3c53('0x28')]['find']({'where':{'id':_0x325a3f[_0x3c53('0x3d')]['id']}})[_0x3c53('0x24')](handleEntityNotFound(_0x131379,null))[_0x3c53('0x24')](removeEntity(_0x131379,null))[_0x3c53('0x3c')](handleError(_0x131379,null));};exports['getSubjects']=function(_0xf06e8,_0x525211,_0x2cfce6){var _0x534144={};var _0x331560={};var _0x1fbc8c;var _0x252fd2;return db[_0x3c53('0x28')]['findOne']({'where':{'id':_0xf06e8[_0x3c53('0x3d')]['id']}})[_0x3c53('0x24')](handleEntityNotFound(_0x525211,null))[_0x3c53('0x24')](function(_0x484438){if(_0x484438){_0x1fbc8c=_0x484438;_0x331560[_0x3c53('0x2c')]=_[_0x3c53('0x2e')](db['FreshsalesField'][_0x3c53('0x29')]);_0x331560[_0x3c53('0x2d')]=_[_0x3c53('0x2e')](_0xf06e8['query']);_0x331560[_0x3c53('0x35')]=_['intersection'](_0x331560[_0x3c53('0x2c')],_0x331560['query']);_0x534144['attributes']=_[_0x3c53('0x30')](_0x331560['model'],qs[_0x3c53('0x31')](_0xf06e8['query'][_0x3c53('0x31')]));_0x534144['attributes']=_0x534144[_0x3c53('0x2f')][_0x3c53('0x32')]?_0x534144[_0x3c53('0x2f')]:_0x331560[_0x3c53('0x2c')];_0x534144[_0x3c53('0x41')]=qs[_0x3c53('0x42')](_0xf06e8['query'][_0x3c53('0x42')]);_0x534144['where']=qs['filters'](_[_0x3c53('0x43')](_0xf06e8[_0x3c53('0x2d')],_0x331560['filters']));if(_0xf06e8[_0x3c53('0x2d')]['filter']){_0x534144[_0x3c53('0x34')]=_[_0x3c53('0x44')](_0x534144['where'],{'$or':_[_0x3c53('0x27')](_0x534144[_0x3c53('0x2f')],function(_0x162848){var _0x59956f={};_0x59956f[_0x162848]={'$like':'%'+_0xf06e8['query'][_0x3c53('0x36')]+'%'};return _0x59956f;})});}_0x534144=_[_0x3c53('0x44')]({},_0x534144,_0xf06e8[_0x3c53('0x37')]);return _0x1fbc8c['getSubjects'](_0x534144);}})[_0x3c53('0x24')](function(_0x454567){if(_0x454567){_0x252fd2=_0x454567[_0x3c53('0x32')];if(!_0xf06e8[_0x3c53('0x2d')]['hasOwnProperty'](_0x3c53('0x45'))){_0x534144[_0x3c53('0x1b')]=qs[_0x3c53('0x1b')](_0xf06e8['query'][_0x3c53('0x1b')]);_0x534144[_0x3c53('0x1d')]=qs[_0x3c53('0x1d')](_0xf06e8[_0x3c53('0x2d')]['offset']);}return _0x1fbc8c[_0x3c53('0x46')](_0x534144);}})[_0x3c53('0x24')](function(_0x4669c2){if(_0x4669c2){return _0x4669c2?{'count':_0x252fd2,'rows':_0x4669c2}:null;}})['then'](respondWithResult(_0x525211,null))[_0x3c53('0x3c')](handleError(_0x525211,null));};exports[_0x3c53('0x47')]=function(_0x2883d3,_0x27bcac,_0x482769){var _0xc62de3={};var _0x26263b={};var _0x3db232;var _0x16a136;return db['FreshsalesConfiguration']['findOne']({'where':{'id':_0x2883d3[_0x3c53('0x3d')]['id']}})[_0x3c53('0x24')](handleEntityNotFound(_0x27bcac,null))[_0x3c53('0x24')](function(_0x546d5e){if(_0x546d5e){_0x3db232=_0x546d5e;_0x26263b['model']=_[_0x3c53('0x2e')](db[_0x3c53('0x48')][_0x3c53('0x29')]);_0x26263b[_0x3c53('0x2d')]=_[_0x3c53('0x2e')](_0x2883d3[_0x3c53('0x2d')]);_0x26263b[_0x3c53('0x35')]=_['intersection'](_0x26263b[_0x3c53('0x2c')],_0x26263b[_0x3c53('0x2d')]);_0xc62de3[_0x3c53('0x2f')]=_[_0x3c53('0x30')](_0x26263b['model'],qs[_0x3c53('0x31')](_0x2883d3[_0x3c53('0x2d')]['fields']));_0xc62de3[_0x3c53('0x2f')]=_0xc62de3['attributes'][_0x3c53('0x32')]?_0xc62de3['attributes']:_0x26263b[_0x3c53('0x2c')];_0xc62de3[_0x3c53('0x41')]=qs['sort'](_0x2883d3[_0x3c53('0x2d')][_0x3c53('0x42')]);_0xc62de3[_0x3c53('0x34')]=qs[_0x3c53('0x35')](_[_0x3c53('0x43')](_0x2883d3[_0x3c53('0x2d')],_0x26263b[_0x3c53('0x35')]));if(_0x2883d3['query'][_0x3c53('0x36')]){_0xc62de3[_0x3c53('0x34')]=_[_0x3c53('0x44')](_0xc62de3[_0x3c53('0x34')],{'$or':_[_0x3c53('0x27')](_0xc62de3[_0x3c53('0x2f')],function(_0x56ca68){var _0x1f8842={};_0x1f8842[_0x56ca68]={'$like':'%'+_0x2883d3[_0x3c53('0x2d')][_0x3c53('0x36')]+'%'};return _0x1f8842;})});}_0xc62de3=_[_0x3c53('0x44')]({},_0xc62de3,_0x2883d3[_0x3c53('0x37')]);return _0x3db232[_0x3c53('0x47')](_0xc62de3);}})[_0x3c53('0x24')](function(_0x1fb1c6){if(_0x1fb1c6){_0x16a136=_0x1fb1c6['length'];if(!_0x2883d3[_0x3c53('0x2d')][_0x3c53('0x33')]('nolimit')){_0xc62de3[_0x3c53('0x1b')]=qs['limit'](_0x2883d3[_0x3c53('0x2d')]['limit']);_0xc62de3[_0x3c53('0x1d')]=qs['offset'](_0x2883d3['query'][_0x3c53('0x1d')]);}return _0x3db232['getDescriptions'](_0xc62de3);}})['then'](function(_0x2a39ed){if(_0x2a39ed){return _0x2a39ed?{'count':_0x16a136,'rows':_0x2a39ed}:null;}})[_0x3c53('0x24')](respondWithResult(_0x27bcac,null))['catch'](handleError(_0x27bcac,null));};exports['getFields']=function(_0xe838f8,_0x926530,_0x15e660){var _0x8358e0={};var _0x1b72a6={};var _0x664803;var _0x5b6cb4;return db[_0x3c53('0x28')][_0x3c53('0x49')]({'where':{'id':_0xe838f8[_0x3c53('0x3d')]['id']}})[_0x3c53('0x24')](handleEntityNotFound(_0x926530,null))['then'](function(_0x5eb5e3){if(_0x5eb5e3){_0x664803=_0x5eb5e3;_0x1b72a6[_0x3c53('0x2c')]=_[_0x3c53('0x2e')](db[_0x3c53('0x48')][_0x3c53('0x29')]);_0x1b72a6[_0x3c53('0x2d')]=_[_0x3c53('0x2e')](_0xe838f8[_0x3c53('0x2d')]);_0x1b72a6[_0x3c53('0x35')]=_[_0x3c53('0x30')](_0x1b72a6['model'],_0x1b72a6[_0x3c53('0x2d')]);_0x8358e0[_0x3c53('0x2f')]=_[_0x3c53('0x30')](_0x1b72a6[_0x3c53('0x2c')],qs[_0x3c53('0x31')](_0xe838f8['query']['fields']));_0x8358e0[_0x3c53('0x2f')]=_0x8358e0[_0x3c53('0x2f')][_0x3c53('0x32')]?_0x8358e0[_0x3c53('0x2f')]:_0x1b72a6[_0x3c53('0x2c')];_0x8358e0[_0x3c53('0x41')]=qs[_0x3c53('0x42')](_0xe838f8[_0x3c53('0x2d')][_0x3c53('0x42')]);_0x8358e0['where']=qs['filters'](_[_0x3c53('0x43')](_0xe838f8[_0x3c53('0x2d')],_0x1b72a6['filters']));if(_0xe838f8[_0x3c53('0x2d')][_0x3c53('0x36')]){_0x8358e0[_0x3c53('0x34')]=_[_0x3c53('0x44')](_0x8358e0[_0x3c53('0x34')],{'$or':_['map'](_0x8358e0[_0x3c53('0x2f')],function(_0x1d6e92){var _0x1bc744={};_0x1bc744[_0x1d6e92]={'$like':'%'+_0xe838f8[_0x3c53('0x2d')][_0x3c53('0x36')]+'%'};return _0x1bc744;})});}_0x8358e0=_[_0x3c53('0x44')]({},_0x8358e0,_0xe838f8['options']);return _0x664803[_0x3c53('0x4a')](_0x8358e0);}})[_0x3c53('0x24')](function(_0x46b66c){if(_0x46b66c){_0x5b6cb4=_0x46b66c[_0x3c53('0x32')];if(!_0xe838f8[_0x3c53('0x2d')][_0x3c53('0x33')](_0x3c53('0x45'))){_0x8358e0[_0x3c53('0x1b')]=qs['limit'](_0xe838f8[_0x3c53('0x2d')][_0x3c53('0x1b')]);_0x8358e0[_0x3c53('0x1d')]=qs[_0x3c53('0x1d')](_0xe838f8[_0x3c53('0x2d')][_0x3c53('0x1d')]);}return _0x664803[_0x3c53('0x4a')](_0x8358e0);}})[_0x3c53('0x24')](function(_0x4d7c96){if(_0x4d7c96){return _0x4d7c96?{'count':_0x5b6cb4,'rows':_0x4d7c96}:null;}})[_0x3c53('0x24')](respondWithResult(_0x926530,null))[_0x3c53('0x3c')](handleError(_0x926530,null));};