Built motion from commit c116dc8b.|2.6.30
[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 _0x8a48=['save','then','end','error','stack','name','send','index','map','FreshsalesConfiguration','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','nolimit','sort','where','filters','pick','filter','VIRTUAL','includeAll','include','findAll','rows','catch','show','length','merge','options','create','body','update','find','params','destroy','FreshsalesField','getDescriptions','findOne','order','hasOwnProperty','getFields','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply'];(function(_0x513aa5,_0x1fba79){var _0x1a1a7c=function(_0x240e3f){while(--_0x240e3f){_0x513aa5['push'](_0x513aa5['shift']());}};_0x1a1a7c(++_0x1fba79);}(_0x8a48,0x1ca));var _0x88a4=function(_0xa00046,_0x1855b1){_0xa00046=_0xa00046-0x0;var _0x123e4a=_0x8a48[_0xa00046];return _0x123e4a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x88a4('0x0'));var zipdir=require(_0x88a4('0x1'));var jsonpatch=require(_0x88a4('0x2'));var rp=require(_0x88a4('0x3'));var moment=require('moment');var BPromise=require(_0x88a4('0x4'));var Mustache=require(_0x88a4('0x5'));var util=require('util');var path=require(_0x88a4('0x6'));var sox=require(_0x88a4('0x7'));var csv=require(_0x88a4('0x8'));var ejs=require(_0x88a4('0x9'));var fs=require('fs');var fs_extra=require(_0x88a4('0xa'));var _=require(_0x88a4('0xb'));var squel=require(_0x88a4('0xc'));var crypto=require(_0x88a4('0xd'));var jsforce=require(_0x88a4('0xe'));var deskjs=require(_0x88a4('0xf'));var toCsv=require(_0x88a4('0x8'));var querystring=require(_0x88a4('0x10'));var Papa=require('papaparse');var Redis=require(_0x88a4('0x11'));var authService=require(_0x88a4('0x12'));var qs=require(_0x88a4('0x13'));var as=require(_0x88a4('0x14'));var hardwareService=require(_0x88a4('0x15'));var logger=require(_0x88a4('0x16'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x88a4('0x17'))['db'];function respondWithStatusCode(_0x570156,_0x4d6649){_0x4d6649=_0x4d6649||0xcc;return function(_0x5ec41b){if(_0x5ec41b){return _0x570156[_0x88a4('0x18')](_0x4d6649);}return _0x570156[_0x88a4('0x19')](_0x4d6649)['end']();};}function respondWithResult(_0x3ee93e,_0xd335c9){_0xd335c9=_0xd335c9||0xc8;return function(_0x2fd543){if(_0x2fd543){return _0x3ee93e[_0x88a4('0x19')](_0xd335c9)[_0x88a4('0x1a')](_0x2fd543);}};}function respondWithFilteredResult(_0xcaef33,_0x10555f){return function(_0x9e9664){if(_0x9e9664){var _0x1c1004=typeof _0x10555f[_0x88a4('0x1b')]===_0x88a4('0x1c')&&typeof _0x10555f[_0x88a4('0x1d')]==='undefined';var _0x9fe48e=_0x9e9664['count'];var _0x1435a9=_0x1c1004?0x0:_0x10555f[_0x88a4('0x1b')];var _0x115ec4=_0x1c1004?_0x9e9664[_0x88a4('0x1e')]:_0x10555f[_0x88a4('0x1b')]+_0x10555f[_0x88a4('0x1d')];var _0x31ec19;if(_0x115ec4>=_0x9fe48e){_0x115ec4=_0x9fe48e;_0x31ec19=0xc8;}else{_0x31ec19=0xce;}_0xcaef33['status'](_0x31ec19);return _0xcaef33[_0x88a4('0x1f')](_0x88a4('0x20'),_0x1435a9+'-'+_0x115ec4+'/'+_0x9fe48e)['json'](_0x9e9664);}return null;};}function patchUpdates(_0xc905f2){return function(_0x1fabca){try{jsonpatch[_0x88a4('0x21')](_0x1fabca,_0xc905f2,!![]);}catch(_0x150f02){return BPromise['reject'](_0x150f02);}return _0x1fabca[_0x88a4('0x22')]();};}function saveUpdates(_0x5c0c68,_0x5085c1){return function(_0x3f72dc){if(_0x3f72dc){return _0x3f72dc['update'](_0x5c0c68)[_0x88a4('0x23')](function(_0x5c6de1){return _0x5c6de1;});}return null;};}function removeEntity(_0x46ebc4,_0x43061f){return function(_0x537544){if(_0x537544){return _0x537544['destroy']()['then'](function(){_0x46ebc4[_0x88a4('0x19')](0xcc)[_0x88a4('0x24')]();});}};}function handleEntityNotFound(_0x40a262,_0x49507f){return function(_0x2e367d){if(!_0x2e367d){_0x40a262[_0x88a4('0x18')](0x194);}return _0x2e367d;};}function handleError(_0x244219,_0xc0322b){_0xc0322b=_0xc0322b||0x1f4;return function(_0x2d4f1b){logger[_0x88a4('0x25')](_0x2d4f1b[_0x88a4('0x26')]);if(_0x2d4f1b[_0x88a4('0x27')]){delete _0x2d4f1b['name'];}_0x244219[_0x88a4('0x19')](_0xc0322b)[_0x88a4('0x28')](_0x2d4f1b);};}exports[_0x88a4('0x29')]=function(_0x2af731,_0x3f597a){var _0x353382={},_0x2919b7={},_0x596dce={'count':0x0,'rows':[]};var _0x188112=_[_0x88a4('0x2a')](db[_0x88a4('0x2b')][_0x88a4('0x2c')],function(_0x2ed500){return{'name':_0x2ed500[_0x88a4('0x2d')],'type':_0x2ed500[_0x88a4('0x2e')][_0x88a4('0x2f')]};});_0x2919b7[_0x88a4('0x30')]=_[_0x88a4('0x2a')](_0x188112,_0x88a4('0x27'));_0x2919b7[_0x88a4('0x31')]=_[_0x88a4('0x32')](_0x2af731[_0x88a4('0x31')]);_0x2919b7['filters']=_[_0x88a4('0x33')](_0x2919b7[_0x88a4('0x30')],_0x2919b7['query']);_0x353382[_0x88a4('0x34')]=_[_0x88a4('0x33')](_0x2919b7[_0x88a4('0x30')],qs['fields'](_0x2af731[_0x88a4('0x31')][_0x88a4('0x35')]));_0x353382['attributes']=_0x353382[_0x88a4('0x34')]['length']?_0x353382[_0x88a4('0x34')]:_0x2919b7[_0x88a4('0x30')];if(!_0x2af731[_0x88a4('0x31')]['hasOwnProperty'](_0x88a4('0x36'))){_0x353382['limit']=qs[_0x88a4('0x1d')](_0x2af731[_0x88a4('0x31')][_0x88a4('0x1d')]);_0x353382[_0x88a4('0x1b')]=qs[_0x88a4('0x1b')](_0x2af731[_0x88a4('0x31')][_0x88a4('0x1b')]);}_0x353382['order']=qs[_0x88a4('0x37')](_0x2af731[_0x88a4('0x31')][_0x88a4('0x37')]);_0x353382[_0x88a4('0x38')]=qs[_0x88a4('0x39')](_[_0x88a4('0x3a')](_0x2af731[_0x88a4('0x31')],_0x2919b7[_0x88a4('0x39')]),_0x188112);if(_0x2af731[_0x88a4('0x31')][_0x88a4('0x3b')]){_0x353382[_0x88a4('0x38')]=_['merge'](_0x353382[_0x88a4('0x38')],{'$or':_[_0x88a4('0x2a')](_0x188112,function(_0x3cab0a){if(_0x3cab0a[_0x88a4('0x2e')]!==_0x88a4('0x3c')){var _0x4338aa={};_0x4338aa[_0x3cab0a[_0x88a4('0x27')]]={'$like':'%'+_0x2af731[_0x88a4('0x31')][_0x88a4('0x3b')]+'%'};return _0x4338aa;}})});}_0x353382=_['merge']({},_0x353382,_0x2af731['options']);var _0x1ae3ee={'where':_0x353382['where']};return db['FreshsalesConfiguration'][_0x88a4('0x1e')](_0x1ae3ee)[_0x88a4('0x23')](function(_0x3b04ea){_0x596dce['count']=_0x3b04ea;if(_0x2af731[_0x88a4('0x31')][_0x88a4('0x3d')]){_0x353382[_0x88a4('0x3e')]=[{'all':!![]}];}return db['FreshsalesConfiguration'][_0x88a4('0x3f')](_0x353382);})[_0x88a4('0x23')](function(_0x5053b6){_0x596dce[_0x88a4('0x40')]=_0x5053b6;return _0x596dce;})[_0x88a4('0x23')](respondWithFilteredResult(_0x3f597a,_0x353382))[_0x88a4('0x41')](handleError(_0x3f597a,null));};exports[_0x88a4('0x42')]=function(_0x2b0991,_0x395046){var _0x3ba52c={'raw':![],'where':{'id':_0x2b0991['params']['id']}},_0x1dbe10={};_0x1dbe10[_0x88a4('0x30')]=_[_0x88a4('0x32')](db['FreshsalesConfiguration'][_0x88a4('0x2c')]);_0x1dbe10[_0x88a4('0x31')]=_[_0x88a4('0x32')](_0x2b0991['query']);_0x1dbe10[_0x88a4('0x39')]=_[_0x88a4('0x33')](_0x1dbe10[_0x88a4('0x30')],_0x1dbe10[_0x88a4('0x31')]);_0x3ba52c[_0x88a4('0x34')]=_[_0x88a4('0x33')](_0x1dbe10[_0x88a4('0x30')],qs['fields'](_0x2b0991[_0x88a4('0x31')][_0x88a4('0x35')]));_0x3ba52c[_0x88a4('0x34')]=_0x3ba52c[_0x88a4('0x34')][_0x88a4('0x43')]?_0x3ba52c[_0x88a4('0x34')]:_0x1dbe10[_0x88a4('0x30')];if(_0x2b0991[_0x88a4('0x31')][_0x88a4('0x3d')]){_0x3ba52c[_0x88a4('0x3e')]=[{'all':!![]}];}_0x3ba52c=_[_0x88a4('0x44')]({},_0x3ba52c,_0x2b0991[_0x88a4('0x45')]);return db[_0x88a4('0x2b')]['find'](_0x3ba52c)[_0x88a4('0x23')](handleEntityNotFound(_0x395046,null))[_0x88a4('0x23')](respondWithResult(_0x395046,null))['catch'](handleError(_0x395046,null));};exports[_0x88a4('0x46')]=function(_0x2e21cd,_0x5723f1){return db['FreshsalesConfiguration']['create'](_0x2e21cd[_0x88a4('0x47')],{})['then'](respondWithResult(_0x5723f1,0xc9))[_0x88a4('0x41')](handleError(_0x5723f1,null));};exports[_0x88a4('0x48')]=function(_0x3cb747,_0xcf8731){if(_0x3cb747[_0x88a4('0x47')]['id']){delete _0x3cb747[_0x88a4('0x47')]['id'];}return db['FreshsalesConfiguration'][_0x88a4('0x49')]({'where':{'id':_0x3cb747[_0x88a4('0x4a')]['id']}})[_0x88a4('0x23')](handleEntityNotFound(_0xcf8731,null))[_0x88a4('0x23')](saveUpdates(_0x3cb747['body'],null))[_0x88a4('0x23')](respondWithResult(_0xcf8731,null))['catch'](handleError(_0xcf8731,null));};exports[_0x88a4('0x4b')]=function(_0x3375a0,_0x76deb4){return db[_0x88a4('0x2b')][_0x88a4('0x49')]({'where':{'id':_0x3375a0[_0x88a4('0x4a')]['id']}})['then'](handleEntityNotFound(_0x76deb4,null))[_0x88a4('0x23')](removeEntity(_0x76deb4,null))['catch'](handleError(_0x76deb4,null));};exports['getSubjects']=function(_0x7c5847,_0x21a6ed,_0x418aec){var _0x4e9ff7={};var _0x4acecd={};var _0xd3b3fc;var _0x1658b6;return db[_0x88a4('0x2b')]['findOne']({'where':{'id':_0x7c5847['params']['id']}})[_0x88a4('0x23')](handleEntityNotFound(_0x21a6ed,null))['then'](function(_0x48a1f7){if(_0x48a1f7){_0xd3b3fc=_0x48a1f7;_0x4acecd[_0x88a4('0x30')]=_['keys'](db[_0x88a4('0x4c')][_0x88a4('0x2c')]);_0x4acecd[_0x88a4('0x31')]=_[_0x88a4('0x32')](_0x7c5847['query']);_0x4acecd[_0x88a4('0x39')]=_['intersection'](_0x4acecd[_0x88a4('0x30')],_0x4acecd[_0x88a4('0x31')]);_0x4e9ff7['attributes']=_[_0x88a4('0x33')](_0x4acecd[_0x88a4('0x30')],qs[_0x88a4('0x35')](_0x7c5847['query'][_0x88a4('0x35')]));_0x4e9ff7[_0x88a4('0x34')]=_0x4e9ff7[_0x88a4('0x34')][_0x88a4('0x43')]?_0x4e9ff7[_0x88a4('0x34')]:_0x4acecd[_0x88a4('0x30')];_0x4e9ff7['order']=qs['sort'](_0x7c5847[_0x88a4('0x31')][_0x88a4('0x37')]);_0x4e9ff7[_0x88a4('0x38')]=qs[_0x88a4('0x39')](_['pick'](_0x7c5847['query'],_0x4acecd[_0x88a4('0x39')]));if(_0x7c5847['query'][_0x88a4('0x3b')]){_0x4e9ff7['where']=_['merge'](_0x4e9ff7[_0x88a4('0x38')],{'$or':_['map'](_0x4e9ff7[_0x88a4('0x34')],function(_0x1edf97){var _0x476513={};_0x476513[_0x1edf97]={'$like':'%'+_0x7c5847['query'][_0x88a4('0x3b')]+'%'};return _0x476513;})});}_0x4e9ff7=_[_0x88a4('0x44')]({},_0x4e9ff7,_0x7c5847[_0x88a4('0x45')]);return _0xd3b3fc['getSubjects'](_0x4e9ff7);}})[_0x88a4('0x23')](function(_0x52d24d){if(_0x52d24d){_0x1658b6=_0x52d24d[_0x88a4('0x43')];if(!_0x7c5847[_0x88a4('0x31')]['hasOwnProperty'](_0x88a4('0x36'))){_0x4e9ff7['limit']=qs[_0x88a4('0x1d')](_0x7c5847[_0x88a4('0x31')][_0x88a4('0x1d')]);_0x4e9ff7[_0x88a4('0x1b')]=qs[_0x88a4('0x1b')](_0x7c5847[_0x88a4('0x31')]['offset']);}return _0xd3b3fc['getSubjects'](_0x4e9ff7);}})[_0x88a4('0x23')](function(_0x32c331){if(_0x32c331){return _0x32c331?{'count':_0x1658b6,'rows':_0x32c331}:null;}})['then'](respondWithResult(_0x21a6ed,null))[_0x88a4('0x41')](handleError(_0x21a6ed,null));};exports[_0x88a4('0x4d')]=function(_0x33108f,_0x1e1b61,_0x5b816a){var _0x4595b1={};var _0x4dad25={};var _0xf34f1e;var _0xf3cfb2;return db[_0x88a4('0x2b')][_0x88a4('0x4e')]({'where':{'id':_0x33108f[_0x88a4('0x4a')]['id']}})['then'](handleEntityNotFound(_0x1e1b61,null))['then'](function(_0xb6bd6b){if(_0xb6bd6b){_0xf34f1e=_0xb6bd6b;_0x4dad25['model']=_[_0x88a4('0x32')](db['FreshsalesField'][_0x88a4('0x2c')]);_0x4dad25[_0x88a4('0x31')]=_[_0x88a4('0x32')](_0x33108f['query']);_0x4dad25[_0x88a4('0x39')]=_[_0x88a4('0x33')](_0x4dad25[_0x88a4('0x30')],_0x4dad25[_0x88a4('0x31')]);_0x4595b1['attributes']=_[_0x88a4('0x33')](_0x4dad25[_0x88a4('0x30')],qs[_0x88a4('0x35')](_0x33108f[_0x88a4('0x31')][_0x88a4('0x35')]));_0x4595b1['attributes']=_0x4595b1['attributes']['length']?_0x4595b1['attributes']:_0x4dad25[_0x88a4('0x30')];_0x4595b1[_0x88a4('0x4f')]=qs['sort'](_0x33108f[_0x88a4('0x31')][_0x88a4('0x37')]);_0x4595b1[_0x88a4('0x38')]=qs[_0x88a4('0x39')](_[_0x88a4('0x3a')](_0x33108f[_0x88a4('0x31')],_0x4dad25[_0x88a4('0x39')]));if(_0x33108f['query']['filter']){_0x4595b1[_0x88a4('0x38')]=_[_0x88a4('0x44')](_0x4595b1[_0x88a4('0x38')],{'$or':_[_0x88a4('0x2a')](_0x4595b1[_0x88a4('0x34')],function(_0x34898b){var _0x9a7d1a={};_0x9a7d1a[_0x34898b]={'$like':'%'+_0x33108f[_0x88a4('0x31')]['filter']+'%'};return _0x9a7d1a;})});}_0x4595b1=_[_0x88a4('0x44')]({},_0x4595b1,_0x33108f[_0x88a4('0x45')]);return _0xf34f1e[_0x88a4('0x4d')](_0x4595b1);}})[_0x88a4('0x23')](function(_0x5a92e7){if(_0x5a92e7){_0xf3cfb2=_0x5a92e7[_0x88a4('0x43')];if(!_0x33108f[_0x88a4('0x31')][_0x88a4('0x50')](_0x88a4('0x36'))){_0x4595b1[_0x88a4('0x1d')]=qs[_0x88a4('0x1d')](_0x33108f[_0x88a4('0x31')][_0x88a4('0x1d')]);_0x4595b1[_0x88a4('0x1b')]=qs[_0x88a4('0x1b')](_0x33108f[_0x88a4('0x31')][_0x88a4('0x1b')]);}return _0xf34f1e['getDescriptions'](_0x4595b1);}})['then'](function(_0x3ab24a){if(_0x3ab24a){return _0x3ab24a?{'count':_0xf3cfb2,'rows':_0x3ab24a}:null;}})[_0x88a4('0x23')](respondWithResult(_0x1e1b61,null))[_0x88a4('0x41')](handleError(_0x1e1b61,null));};exports['getFields']=function(_0xb1f189,_0x435791,_0x4a68af){var _0x2c763f={};var _0x48960a={};var _0x464416;var _0x390330;return db[_0x88a4('0x2b')]['findOne']({'where':{'id':_0xb1f189[_0x88a4('0x4a')]['id']}})[_0x88a4('0x23')](handleEntityNotFound(_0x435791,null))['then'](function(_0x2ac593){if(_0x2ac593){_0x464416=_0x2ac593;_0x48960a[_0x88a4('0x30')]=_[_0x88a4('0x32')](db[_0x88a4('0x4c')][_0x88a4('0x2c')]);_0x48960a[_0x88a4('0x31')]=_[_0x88a4('0x32')](_0xb1f189[_0x88a4('0x31')]);_0x48960a['filters']=_[_0x88a4('0x33')](_0x48960a[_0x88a4('0x30')],_0x48960a[_0x88a4('0x31')]);_0x2c763f[_0x88a4('0x34')]=_[_0x88a4('0x33')](_0x48960a[_0x88a4('0x30')],qs['fields'](_0xb1f189[_0x88a4('0x31')]['fields']));_0x2c763f[_0x88a4('0x34')]=_0x2c763f[_0x88a4('0x34')][_0x88a4('0x43')]?_0x2c763f[_0x88a4('0x34')]:_0x48960a['model'];_0x2c763f[_0x88a4('0x4f')]=qs[_0x88a4('0x37')](_0xb1f189[_0x88a4('0x31')][_0x88a4('0x37')]);_0x2c763f[_0x88a4('0x38')]=qs['filters'](_[_0x88a4('0x3a')](_0xb1f189[_0x88a4('0x31')],_0x48960a[_0x88a4('0x39')]));if(_0xb1f189[_0x88a4('0x31')][_0x88a4('0x3b')]){_0x2c763f['where']=_[_0x88a4('0x44')](_0x2c763f[_0x88a4('0x38')],{'$or':_[_0x88a4('0x2a')](_0x2c763f['attributes'],function(_0x8c5ee7){var _0x29db7d={};_0x29db7d[_0x8c5ee7]={'$like':'%'+_0xb1f189[_0x88a4('0x31')][_0x88a4('0x3b')]+'%'};return _0x29db7d;})});}_0x2c763f=_[_0x88a4('0x44')]({},_0x2c763f,_0xb1f189['options']);return _0x464416[_0x88a4('0x51')](_0x2c763f);}})[_0x88a4('0x23')](function(_0x5f2c4e){if(_0x5f2c4e){_0x390330=_0x5f2c4e[_0x88a4('0x43')];if(!_0xb1f189[_0x88a4('0x31')][_0x88a4('0x50')](_0x88a4('0x36'))){_0x2c763f[_0x88a4('0x1d')]=qs[_0x88a4('0x1d')](_0xb1f189[_0x88a4('0x31')][_0x88a4('0x1d')]);_0x2c763f[_0x88a4('0x1b')]=qs[_0x88a4('0x1b')](_0xb1f189['query']['offset']);}return _0x464416[_0x88a4('0x51')](_0x2c763f);}})[_0x88a4('0x23')](function(_0x4f2c5c){if(_0x4f2c5c){return _0x4f2c5c?{'count':_0x390330,'rows':_0x4f2c5c}:null;}})[_0x88a4('0x23')](respondWithResult(_0x435791,null))[_0x88a4('0x41')](handleError(_0x435791,null));};