Built motion from commit 753c950e.|2.5.42
[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 _0xd680=['filter','type','VIRTUAL','merge','rows','catch','show','include','create','body','find','params','getSubjects','FreshsalesField','options','getDescriptions','findOne','getFields','nolimit','eml-format','zip-dir','fast-json-patch','request-promise','mustache','path','sox','to-csv','ejs','fs-extra','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','FreshsalesConfiguration','rawAttributes','key','model','query','keys','filters','intersection','fields','length','attributes','hasOwnProperty','order','sort','where','pick'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0xd680,0xaf));var _0x0d68=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xd680[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x0d68('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0d68('0x1'));var jsonpatch=require(_0x0d68('0x2'));var rp=require(_0x0d68('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x0d68('0x4'));var util=require('util');var path=require(_0x0d68('0x5'));var sox=require(_0x0d68('0x6'));var csv=require(_0x0d68('0x7'));var ejs=require(_0x0d68('0x8'));var fs=require('fs');var fs_extra=require(_0x0d68('0x9'));var _=require('lodash');var squel=require(_0x0d68('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0d68('0xb'));var toCsv=require(_0x0d68('0x7'));var querystring=require(_0x0d68('0xc'));var Papa=require(_0x0d68('0xd'));var Redis=require(_0x0d68('0xe'));var authService=require(_0x0d68('0xf'));var qs=require(_0x0d68('0x10'));var as=require(_0x0d68('0x11'));var hardwareService=require(_0x0d68('0x12'));var logger=require(_0x0d68('0x13'))('api');var utils=require(_0x0d68('0x14'));var config=require(_0x0d68('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x0d68('0x16'))['db'];function respondWithStatusCode(_0x38d29d,_0x35e49f){_0x35e49f=_0x35e49f||0xcc;return function(_0xd2fa98){if(_0xd2fa98){return _0x38d29d[_0x0d68('0x17')](_0x35e49f);}return _0x38d29d[_0x0d68('0x18')](_0x35e49f)[_0x0d68('0x19')]();};}function respondWithResult(_0x1f6ef6,_0x450acb){_0x450acb=_0x450acb||0xc8;return function(_0x53fe89){if(_0x53fe89){return _0x1f6ef6[_0x0d68('0x18')](_0x450acb)[_0x0d68('0x1a')](_0x53fe89);}};}function respondWithFilteredResult(_0x58f39f,_0x157922){return function(_0x1ec336){if(_0x1ec336){var _0x347236=typeof _0x157922[_0x0d68('0x1b')]===_0x0d68('0x1c')&&typeof _0x157922[_0x0d68('0x1d')]===_0x0d68('0x1c');var _0x5c68af=_0x1ec336[_0x0d68('0x1e')];var _0x10e6c2=_0x347236?0x0:_0x157922[_0x0d68('0x1b')];var _0x485580=_0x347236?_0x1ec336[_0x0d68('0x1e')]:_0x157922[_0x0d68('0x1b')]+_0x157922[_0x0d68('0x1d')];var _0x128e5b;if(_0x485580>=_0x5c68af){_0x485580=_0x5c68af;_0x128e5b=0xc8;}else{_0x128e5b=0xce;}_0x58f39f[_0x0d68('0x18')](_0x128e5b);return _0x58f39f['set']('Content-Range',_0x10e6c2+'-'+_0x485580+'/'+_0x5c68af)[_0x0d68('0x1a')](_0x1ec336);}return null;};}function patchUpdates(_0x40293f){return function(_0x2c7c83){try{jsonpatch[_0x0d68('0x1f')](_0x2c7c83,_0x40293f,!![]);}catch(_0x236d1b){return BPromise[_0x0d68('0x20')](_0x236d1b);}return _0x2c7c83[_0x0d68('0x21')]();};}function saveUpdates(_0x519467,_0x3ff863){return function(_0x41a6bf){if(_0x41a6bf){return _0x41a6bf[_0x0d68('0x22')](_0x519467)[_0x0d68('0x23')](function(_0x3a9d5d){return _0x3a9d5d;});}return null;};}function removeEntity(_0x1e5844,_0x46eea7){return function(_0xc522a1){if(_0xc522a1){return _0xc522a1[_0x0d68('0x24')]()[_0x0d68('0x23')](function(){_0x1e5844['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x20f9a4,_0x39880f){return function(_0x515834){if(!_0x515834){_0x20f9a4['sendStatus'](0x194);}return _0x515834;};}function handleError(_0x36f6b9,_0x27eec2){_0x27eec2=_0x27eec2||0x1f4;return function(_0x6d11aa){logger[_0x0d68('0x25')](_0x6d11aa[_0x0d68('0x26')]);if(_0x6d11aa[_0x0d68('0x27')]){delete _0x6d11aa[_0x0d68('0x27')];}_0x36f6b9[_0x0d68('0x18')](_0x27eec2)[_0x0d68('0x28')](_0x6d11aa);};}exports[_0x0d68('0x29')]=function(_0x55e56b,_0x57016c){var _0x1ddb0f={},_0x400027={},_0x56747d={'count':0x0,'rows':[]};var _0x21c6c7=_[_0x0d68('0x2a')](db[_0x0d68('0x2b')][_0x0d68('0x2c')],function(_0x13c126){return{'name':_0x13c126['fieldName'],'type':_0x13c126['type'][_0x0d68('0x2d')]};});_0x400027[_0x0d68('0x2e')]=_['map'](_0x21c6c7,_0x0d68('0x27'));_0x400027[_0x0d68('0x2f')]=_[_0x0d68('0x30')](_0x55e56b['query']);_0x400027[_0x0d68('0x31')]=_[_0x0d68('0x32')](_0x400027[_0x0d68('0x2e')],_0x400027[_0x0d68('0x2f')]);_0x1ddb0f['attributes']=_[_0x0d68('0x32')](_0x400027['model'],qs['fields'](_0x55e56b[_0x0d68('0x2f')][_0x0d68('0x33')]));_0x1ddb0f['attributes']=_0x1ddb0f['attributes'][_0x0d68('0x34')]?_0x1ddb0f[_0x0d68('0x35')]:_0x400027[_0x0d68('0x2e')];if(!_0x55e56b[_0x0d68('0x2f')][_0x0d68('0x36')]('nolimit')){_0x1ddb0f['limit']=qs['limit'](_0x55e56b[_0x0d68('0x2f')][_0x0d68('0x1d')]);_0x1ddb0f[_0x0d68('0x1b')]=qs[_0x0d68('0x1b')](_0x55e56b[_0x0d68('0x2f')][_0x0d68('0x1b')]);}_0x1ddb0f[_0x0d68('0x37')]=qs[_0x0d68('0x38')](_0x55e56b[_0x0d68('0x2f')][_0x0d68('0x38')]);_0x1ddb0f[_0x0d68('0x39')]=qs[_0x0d68('0x31')](_[_0x0d68('0x3a')](_0x55e56b[_0x0d68('0x2f')],_0x400027[_0x0d68('0x31')]),_0x21c6c7);if(_0x55e56b[_0x0d68('0x2f')][_0x0d68('0x3b')]){_0x1ddb0f['where']=_['merge'](_0x1ddb0f[_0x0d68('0x39')],{'$or':_['map'](_0x21c6c7,function(_0x5772a8){if(_0x5772a8[_0x0d68('0x3c')]!==_0x0d68('0x3d')){var _0x146d33={};_0x146d33[_0x5772a8['name']]={'$like':'%'+_0x55e56b[_0x0d68('0x2f')]['filter']+'%'};return _0x146d33;}})});}_0x1ddb0f=_[_0x0d68('0x3e')]({},_0x1ddb0f,_0x55e56b['options']);var _0x29b397={'where':_0x1ddb0f[_0x0d68('0x39')]};return db[_0x0d68('0x2b')]['count'](_0x29b397)[_0x0d68('0x23')](function(_0xd18f01){_0x56747d['count']=_0xd18f01;if(_0x55e56b['query']['includeAll']){_0x1ddb0f['include']=[{'all':!![]}];}return db['FreshsalesConfiguration']['findAll'](_0x1ddb0f);})[_0x0d68('0x23')](function(_0x5f5b86){_0x56747d[_0x0d68('0x3f')]=_0x5f5b86;return _0x56747d;})['then'](respondWithFilteredResult(_0x57016c,_0x1ddb0f))[_0x0d68('0x40')](handleError(_0x57016c,null));};exports[_0x0d68('0x41')]=function(_0x3dbcfe,_0x1ee168){var _0x14d194={'raw':![],'where':{'id':_0x3dbcfe['params']['id']}},_0x2576c0={};_0x2576c0[_0x0d68('0x2e')]=_[_0x0d68('0x30')](db[_0x0d68('0x2b')]['rawAttributes']);_0x2576c0['query']=_[_0x0d68('0x30')](_0x3dbcfe['query']);_0x2576c0[_0x0d68('0x31')]=_[_0x0d68('0x32')](_0x2576c0[_0x0d68('0x2e')],_0x2576c0[_0x0d68('0x2f')]);_0x14d194['attributes']=_[_0x0d68('0x32')](_0x2576c0[_0x0d68('0x2e')],qs[_0x0d68('0x33')](_0x3dbcfe[_0x0d68('0x2f')][_0x0d68('0x33')]));_0x14d194['attributes']=_0x14d194['attributes']['length']?_0x14d194['attributes']:_0x2576c0[_0x0d68('0x2e')];if(_0x3dbcfe[_0x0d68('0x2f')]['includeAll']){_0x14d194[_0x0d68('0x42')]=[{'all':!![]}];}_0x14d194=_[_0x0d68('0x3e')]({},_0x14d194,_0x3dbcfe['options']);return db[_0x0d68('0x2b')]['find'](_0x14d194)[_0x0d68('0x23')](handleEntityNotFound(_0x1ee168,null))[_0x0d68('0x23')](respondWithResult(_0x1ee168,null))['catch'](handleError(_0x1ee168,null));};exports['create']=function(_0x14f097,_0x7e109e){return db['FreshsalesConfiguration'][_0x0d68('0x43')](_0x14f097[_0x0d68('0x44')],{})[_0x0d68('0x23')](respondWithResult(_0x7e109e,0xc9))[_0x0d68('0x40')](handleError(_0x7e109e,null));};exports[_0x0d68('0x22')]=function(_0x206a68,_0x42cf5b){if(_0x206a68[_0x0d68('0x44')]['id']){delete _0x206a68[_0x0d68('0x44')]['id'];}return db['FreshsalesConfiguration']['find']({'where':{'id':_0x206a68['params']['id']}})[_0x0d68('0x23')](handleEntityNotFound(_0x42cf5b,null))[_0x0d68('0x23')](saveUpdates(_0x206a68[_0x0d68('0x44')],null))['then'](respondWithResult(_0x42cf5b,null))[_0x0d68('0x40')](handleError(_0x42cf5b,null));};exports[_0x0d68('0x24')]=function(_0x33cfb5,_0x5700a3){return db[_0x0d68('0x2b')][_0x0d68('0x45')]({'where':{'id':_0x33cfb5[_0x0d68('0x46')]['id']}})[_0x0d68('0x23')](handleEntityNotFound(_0x5700a3,null))[_0x0d68('0x23')](removeEntity(_0x5700a3,null))['catch'](handleError(_0x5700a3,null));};exports[_0x0d68('0x47')]=function(_0x3e47c8,_0x55fcc6,_0x1a6bca){var _0x3a740b={};var _0x27ef98={};var _0x586a9f;var _0x45eb86;return db[_0x0d68('0x2b')]['findOne']({'where':{'id':_0x3e47c8['params']['id']}})[_0x0d68('0x23')](handleEntityNotFound(_0x55fcc6,null))[_0x0d68('0x23')](function(_0x147b95){if(_0x147b95){_0x586a9f=_0x147b95;_0x27ef98[_0x0d68('0x2e')]=_[_0x0d68('0x30')](db[_0x0d68('0x48')][_0x0d68('0x2c')]);_0x27ef98[_0x0d68('0x2f')]=_[_0x0d68('0x30')](_0x3e47c8[_0x0d68('0x2f')]);_0x27ef98[_0x0d68('0x31')]=_[_0x0d68('0x32')](_0x27ef98[_0x0d68('0x2e')],_0x27ef98[_0x0d68('0x2f')]);_0x3a740b[_0x0d68('0x35')]=_['intersection'](_0x27ef98[_0x0d68('0x2e')],qs[_0x0d68('0x33')](_0x3e47c8[_0x0d68('0x2f')][_0x0d68('0x33')]));_0x3a740b[_0x0d68('0x35')]=_0x3a740b['attributes'][_0x0d68('0x34')]?_0x3a740b['attributes']:_0x27ef98['model'];_0x3a740b['order']=qs['sort'](_0x3e47c8[_0x0d68('0x2f')]['sort']);_0x3a740b[_0x0d68('0x39')]=qs[_0x0d68('0x31')](_[_0x0d68('0x3a')](_0x3e47c8[_0x0d68('0x2f')],_0x27ef98[_0x0d68('0x31')]));if(_0x3e47c8[_0x0d68('0x2f')][_0x0d68('0x3b')]){_0x3a740b[_0x0d68('0x39')]=_[_0x0d68('0x3e')](_0x3a740b['where'],{'$or':_[_0x0d68('0x2a')](_0x3a740b[_0x0d68('0x35')],function(_0x44c3dd){var _0xf91002={};_0xf91002[_0x44c3dd]={'$like':'%'+_0x3e47c8['query'][_0x0d68('0x3b')]+'%'};return _0xf91002;})});}_0x3a740b=_[_0x0d68('0x3e')]({},_0x3a740b,_0x3e47c8[_0x0d68('0x49')]);return _0x586a9f[_0x0d68('0x47')](_0x3a740b);}})['then'](function(_0x4e6e49){if(_0x4e6e49){_0x45eb86=_0x4e6e49[_0x0d68('0x34')];if(!_0x3e47c8['query'][_0x0d68('0x36')]('nolimit')){_0x3a740b[_0x0d68('0x1d')]=qs[_0x0d68('0x1d')](_0x3e47c8[_0x0d68('0x2f')][_0x0d68('0x1d')]);_0x3a740b[_0x0d68('0x1b')]=qs[_0x0d68('0x1b')](_0x3e47c8[_0x0d68('0x2f')][_0x0d68('0x1b')]);}return _0x586a9f[_0x0d68('0x47')](_0x3a740b);}})[_0x0d68('0x23')](function(_0x17ec8b){if(_0x17ec8b){return _0x17ec8b?{'count':_0x45eb86,'rows':_0x17ec8b}:null;}})[_0x0d68('0x23')](respondWithResult(_0x55fcc6,null))[_0x0d68('0x40')](handleError(_0x55fcc6,null));};exports[_0x0d68('0x4a')]=function(_0x54ba5c,_0x19110a,_0xa1c03e){var _0x33ea81={};var _0x33f578={};var _0x5e0de7;var _0x53647a;return db[_0x0d68('0x2b')][_0x0d68('0x4b')]({'where':{'id':_0x54ba5c[_0x0d68('0x46')]['id']}})[_0x0d68('0x23')](handleEntityNotFound(_0x19110a,null))[_0x0d68('0x23')](function(_0x179c6e){if(_0x179c6e){_0x5e0de7=_0x179c6e;_0x33f578[_0x0d68('0x2e')]=_[_0x0d68('0x30')](db['FreshsalesField'][_0x0d68('0x2c')]);_0x33f578[_0x0d68('0x2f')]=_[_0x0d68('0x30')](_0x54ba5c[_0x0d68('0x2f')]);_0x33f578['filters']=_['intersection'](_0x33f578[_0x0d68('0x2e')],_0x33f578[_0x0d68('0x2f')]);_0x33ea81['attributes']=_[_0x0d68('0x32')](_0x33f578[_0x0d68('0x2e')],qs[_0x0d68('0x33')](_0x54ba5c[_0x0d68('0x2f')][_0x0d68('0x33')]));_0x33ea81[_0x0d68('0x35')]=_0x33ea81[_0x0d68('0x35')][_0x0d68('0x34')]?_0x33ea81['attributes']:_0x33f578[_0x0d68('0x2e')];_0x33ea81[_0x0d68('0x37')]=qs['sort'](_0x54ba5c[_0x0d68('0x2f')][_0x0d68('0x38')]);_0x33ea81['where']=qs[_0x0d68('0x31')](_[_0x0d68('0x3a')](_0x54ba5c['query'],_0x33f578[_0x0d68('0x31')]));if(_0x54ba5c['query'][_0x0d68('0x3b')]){_0x33ea81[_0x0d68('0x39')]=_[_0x0d68('0x3e')](_0x33ea81[_0x0d68('0x39')],{'$or':_[_0x0d68('0x2a')](_0x33ea81['attributes'],function(_0x2aae45){var _0x5179a7={};_0x5179a7[_0x2aae45]={'$like':'%'+_0x54ba5c['query'][_0x0d68('0x3b')]+'%'};return _0x5179a7;})});}_0x33ea81=_[_0x0d68('0x3e')]({},_0x33ea81,_0x54ba5c[_0x0d68('0x49')]);return _0x5e0de7[_0x0d68('0x4a')](_0x33ea81);}})[_0x0d68('0x23')](function(_0x52a07e){if(_0x52a07e){_0x53647a=_0x52a07e[_0x0d68('0x34')];if(!_0x54ba5c[_0x0d68('0x2f')][_0x0d68('0x36')]('nolimit')){_0x33ea81[_0x0d68('0x1d')]=qs[_0x0d68('0x1d')](_0x54ba5c[_0x0d68('0x2f')][_0x0d68('0x1d')]);_0x33ea81[_0x0d68('0x1b')]=qs[_0x0d68('0x1b')](_0x54ba5c[_0x0d68('0x2f')][_0x0d68('0x1b')]);}return _0x5e0de7['getDescriptions'](_0x33ea81);}})[_0x0d68('0x23')](function(_0xd5313d){if(_0xd5313d){return _0xd5313d?{'count':_0x53647a,'rows':_0xd5313d}:null;}})[_0x0d68('0x23')](respondWithResult(_0x19110a,null))[_0x0d68('0x40')](handleError(_0x19110a,null));};exports[_0x0d68('0x4c')]=function(_0x148eca,_0x58eff8,_0x52bc9d){var _0x41aaec={};var _0x33067a={};var _0x58af73;var _0x407f29;return db[_0x0d68('0x2b')][_0x0d68('0x4b')]({'where':{'id':_0x148eca[_0x0d68('0x46')]['id']}})['then'](handleEntityNotFound(_0x58eff8,null))['then'](function(_0x4b4029){if(_0x4b4029){_0x58af73=_0x4b4029;_0x33067a[_0x0d68('0x2e')]=_[_0x0d68('0x30')](db[_0x0d68('0x48')]['rawAttributes']);_0x33067a['query']=_[_0x0d68('0x30')](_0x148eca[_0x0d68('0x2f')]);_0x33067a['filters']=_[_0x0d68('0x32')](_0x33067a[_0x0d68('0x2e')],_0x33067a[_0x0d68('0x2f')]);_0x41aaec[_0x0d68('0x35')]=_[_0x0d68('0x32')](_0x33067a['model'],qs[_0x0d68('0x33')](_0x148eca['query'][_0x0d68('0x33')]));_0x41aaec['attributes']=_0x41aaec[_0x0d68('0x35')][_0x0d68('0x34')]?_0x41aaec[_0x0d68('0x35')]:_0x33067a[_0x0d68('0x2e')];_0x41aaec[_0x0d68('0x37')]=qs[_0x0d68('0x38')](_0x148eca[_0x0d68('0x2f')]['sort']);_0x41aaec[_0x0d68('0x39')]=qs[_0x0d68('0x31')](_[_0x0d68('0x3a')](_0x148eca['query'],_0x33067a[_0x0d68('0x31')]));if(_0x148eca['query'][_0x0d68('0x3b')]){_0x41aaec['where']=_[_0x0d68('0x3e')](_0x41aaec[_0x0d68('0x39')],{'$or':_[_0x0d68('0x2a')](_0x41aaec[_0x0d68('0x35')],function(_0x54ac85){var _0xb80972={};_0xb80972[_0x54ac85]={'$like':'%'+_0x148eca[_0x0d68('0x2f')][_0x0d68('0x3b')]+'%'};return _0xb80972;})});}_0x41aaec=_[_0x0d68('0x3e')]({},_0x41aaec,_0x148eca[_0x0d68('0x49')]);return _0x58af73[_0x0d68('0x4c')](_0x41aaec);}})['then'](function(_0x1a10d5){if(_0x1a10d5){_0x407f29=_0x1a10d5[_0x0d68('0x34')];if(!_0x148eca[_0x0d68('0x2f')][_0x0d68('0x36')](_0x0d68('0x4d'))){_0x41aaec[_0x0d68('0x1d')]=qs[_0x0d68('0x1d')](_0x148eca[_0x0d68('0x2f')][_0x0d68('0x1d')]);_0x41aaec[_0x0d68('0x1b')]=qs['offset'](_0x148eca['query']['offset']);}return _0x58af73[_0x0d68('0x4c')](_0x41aaec);}})[_0x0d68('0x23')](function(_0x10b438){if(_0x10b438){return _0x10b438?{'count':_0x407f29,'rows':_0x10b438}:null;}})['then'](respondWithResult(_0x58eff8,null))[_0x0d68('0x40')](handleError(_0x58eff8,null));};