24fec37b2a5f5d90463ff75f060ba359d6a6359a
[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 _0x914e=['then','error','name','send','index','map','FreshsalesConfiguration','fieldName','type','model','query','keys','intersection','fields','attributes','length','nolimit','sort','pick','filters','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','catch','include','find','create','update','body','params','getSubjects','findOne','FreshsalesField','rawAttributes','order','hasOwnProperty','getDescriptions','getFields','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save'];(function(_0x4d4d5c,_0x261483){var _0x1dc19f=function(_0x1cf029){while(--_0x1cf029){_0x4d4d5c['push'](_0x4d4d5c['shift']());}};_0x1dc19f(++_0x261483);}(_0x914e,0x1c5));var _0xe914=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x914e[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe914('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe914('0x1'));var rp=require(_0xe914('0x2'));var moment=require(_0xe914('0x3'));var BPromise=require(_0xe914('0x4'));var Mustache=require(_0xe914('0x5'));var util=require(_0xe914('0x6'));var path=require(_0xe914('0x7'));var sox=require(_0xe914('0x8'));var csv=require(_0xe914('0x9'));var ejs=require(_0xe914('0xa'));var fs=require('fs');var fs_extra=require(_0xe914('0xb'));var _=require(_0xe914('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xe914('0xd'));var deskjs=require(_0xe914('0xe'));var toCsv=require(_0xe914('0x9'));var querystring=require(_0xe914('0xf'));var Papa=require(_0xe914('0x10'));var Redis=require(_0xe914('0x11'));var authService=require(_0xe914('0x12'));var qs=require(_0xe914('0x13'));var as=require(_0xe914('0x14'));var hardwareService=require(_0xe914('0x15'));var logger=require(_0xe914('0x16'))(_0xe914('0x17'));var utils=require(_0xe914('0x18'));var config=require(_0xe914('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0xe914('0x1a'))['db'];function respondWithStatusCode(_0xf484ab,_0x70972c){_0x70972c=_0x70972c||0xcc;return function(_0x42e4ce){if(_0x42e4ce){return _0xf484ab[_0xe914('0x1b')](_0x70972c);}return _0xf484ab[_0xe914('0x1c')](_0x70972c)[_0xe914('0x1d')]();};}function respondWithResult(_0xb57992,_0x475cc1){_0x475cc1=_0x475cc1||0xc8;return function(_0x1229b3){if(_0x1229b3){return _0xb57992['status'](_0x475cc1)[_0xe914('0x1e')](_0x1229b3);}};}function respondWithFilteredResult(_0x266d24,_0x5a71c7){return function(_0x409326){if(_0x409326){var _0x12ddcc=typeof _0x5a71c7[_0xe914('0x1f')]===_0xe914('0x20')&&typeof _0x5a71c7[_0xe914('0x21')]===_0xe914('0x20');var _0x325287=_0x409326[_0xe914('0x22')];var _0x53409b=_0x12ddcc?0x0:_0x5a71c7[_0xe914('0x1f')];var _0x553c10=_0x12ddcc?_0x409326[_0xe914('0x22')]:_0x5a71c7[_0xe914('0x1f')]+_0x5a71c7[_0xe914('0x21')];var _0x8e17fb;if(_0x553c10>=_0x325287){_0x553c10=_0x325287;_0x8e17fb=0xc8;}else{_0x8e17fb=0xce;}_0x266d24[_0xe914('0x1c')](_0x8e17fb);return _0x266d24['set'](_0xe914('0x23'),_0x53409b+'-'+_0x553c10+'/'+_0x325287)['json'](_0x409326);}return null;};}function patchUpdates(_0x3a4dee){return function(_0x533657){try{jsonpatch[_0xe914('0x24')](_0x533657,_0x3a4dee,!![]);}catch(_0x18f5aa){return BPromise[_0xe914('0x25')](_0x18f5aa);}return _0x533657[_0xe914('0x26')]();};}function saveUpdates(_0x8315df,_0x7526ab){return function(_0x54c22d){if(_0x54c22d){return _0x54c22d['update'](_0x8315df)[_0xe914('0x27')](function(_0xd801e3){return _0xd801e3;});}return null;};}function removeEntity(_0x14646a,_0xab29a1){return function(_0x4aa5fb){if(_0x4aa5fb){return _0x4aa5fb['destroy']()[_0xe914('0x27')](function(){_0x14646a[_0xe914('0x1c')](0xcc)[_0xe914('0x1d')]();});}};}function handleEntityNotFound(_0x38a4fc,_0xee5e5a){return function(_0x341d41){if(!_0x341d41){_0x38a4fc[_0xe914('0x1b')](0x194);}return _0x341d41;};}function handleError(_0x5b1934,_0x38dfe2){_0x38dfe2=_0x38dfe2||0x1f4;return function(_0x49b60b){logger[_0xe914('0x28')](_0x49b60b['stack']);if(_0x49b60b[_0xe914('0x29')]){delete _0x49b60b[_0xe914('0x29')];}_0x5b1934[_0xe914('0x1c')](_0x38dfe2)[_0xe914('0x2a')](_0x49b60b);};}exports[_0xe914('0x2b')]=function(_0x1d9cfc,_0x2bed7b){var _0x5d56e5={},_0x37e176={},_0x3b2265={'count':0x0,'rows':[]};var _0xc5b6b4=_[_0xe914('0x2c')](db[_0xe914('0x2d')]['rawAttributes'],function(_0x37963a){return{'name':_0x37963a[_0xe914('0x2e')],'type':_0x37963a[_0xe914('0x2f')]['key']};});_0x37e176[_0xe914('0x30')]=_[_0xe914('0x2c')](_0xc5b6b4,_0xe914('0x29'));_0x37e176[_0xe914('0x31')]=_[_0xe914('0x32')](_0x1d9cfc[_0xe914('0x31')]);_0x37e176['filters']=_['intersection'](_0x37e176[_0xe914('0x30')],_0x37e176['query']);_0x5d56e5['attributes']=_[_0xe914('0x33')](_0x37e176['model'],qs[_0xe914('0x34')](_0x1d9cfc['query'][_0xe914('0x34')]));_0x5d56e5[_0xe914('0x35')]=_0x5d56e5[_0xe914('0x35')][_0xe914('0x36')]?_0x5d56e5[_0xe914('0x35')]:_0x37e176[_0xe914('0x30')];if(!_0x1d9cfc['query']['hasOwnProperty'](_0xe914('0x37'))){_0x5d56e5[_0xe914('0x21')]=qs[_0xe914('0x21')](_0x1d9cfc['query'][_0xe914('0x21')]);_0x5d56e5['offset']=qs[_0xe914('0x1f')](_0x1d9cfc['query'][_0xe914('0x1f')]);}_0x5d56e5['order']=qs['sort'](_0x1d9cfc[_0xe914('0x31')][_0xe914('0x38')]);_0x5d56e5['where']=qs['filters'](_[_0xe914('0x39')](_0x1d9cfc[_0xe914('0x31')],_0x37e176[_0xe914('0x3a')]),_0xc5b6b4);if(_0x1d9cfc[_0xe914('0x31')][_0xe914('0x3b')]){_0x5d56e5[_0xe914('0x3c')]=_[_0xe914('0x3d')](_0x5d56e5[_0xe914('0x3c')],{'$or':_[_0xe914('0x2c')](_0xc5b6b4,function(_0x4f145a){if(_0x4f145a[_0xe914('0x2f')]!==_0xe914('0x3e')){var _0x3d73d5={};_0x3d73d5[_0x4f145a[_0xe914('0x29')]]={'$like':'%'+_0x1d9cfc[_0xe914('0x31')][_0xe914('0x3b')]+'%'};return _0x3d73d5;}})});}_0x5d56e5=_[_0xe914('0x3d')]({},_0x5d56e5,_0x1d9cfc[_0xe914('0x3f')]);var _0x2a3ebd={'where':_0x5d56e5[_0xe914('0x3c')]};return db[_0xe914('0x2d')][_0xe914('0x22')](_0x2a3ebd)['then'](function(_0x1d529c){_0x3b2265[_0xe914('0x22')]=_0x1d529c;if(_0x1d9cfc[_0xe914('0x31')][_0xe914('0x40')]){_0x5d56e5['include']=[{'all':!![]}];}return db[_0xe914('0x2d')][_0xe914('0x41')](_0x5d56e5);})[_0xe914('0x27')](function(_0x2fb355){_0x3b2265[_0xe914('0x42')]=_0x2fb355;return _0x3b2265;})['then'](respondWithFilteredResult(_0x2bed7b,_0x5d56e5))[_0xe914('0x43')](handleError(_0x2bed7b,null));};exports['show']=function(_0x37b182,_0x6d36b1){var _0x14da46={'raw':![],'where':{'id':_0x37b182['params']['id']}},_0x45ddba={};_0x45ddba[_0xe914('0x30')]=_[_0xe914('0x32')](db[_0xe914('0x2d')]['rawAttributes']);_0x45ddba['query']=_['keys'](_0x37b182[_0xe914('0x31')]);_0x45ddba['filters']=_[_0xe914('0x33')](_0x45ddba[_0xe914('0x30')],_0x45ddba[_0xe914('0x31')]);_0x14da46['attributes']=_['intersection'](_0x45ddba[_0xe914('0x30')],qs[_0xe914('0x34')](_0x37b182[_0xe914('0x31')][_0xe914('0x34')]));_0x14da46[_0xe914('0x35')]=_0x14da46[_0xe914('0x35')]['length']?_0x14da46[_0xe914('0x35')]:_0x45ddba[_0xe914('0x30')];if(_0x37b182['query'][_0xe914('0x40')]){_0x14da46[_0xe914('0x44')]=[{'all':!![]}];}_0x14da46=_['merge']({},_0x14da46,_0x37b182[_0xe914('0x3f')]);return db[_0xe914('0x2d')][_0xe914('0x45')](_0x14da46)[_0xe914('0x27')](handleEntityNotFound(_0x6d36b1,null))[_0xe914('0x27')](respondWithResult(_0x6d36b1,null))[_0xe914('0x43')](handleError(_0x6d36b1,null));};exports[_0xe914('0x46')]=function(_0x4cd35d,_0x3d80a7){return db['FreshsalesConfiguration']['create'](_0x4cd35d['body'],{})[_0xe914('0x27')](respondWithResult(_0x3d80a7,0xc9))[_0xe914('0x43')](handleError(_0x3d80a7,null));};exports[_0xe914('0x47')]=function(_0x4db55a,_0x11f795){if(_0x4db55a[_0xe914('0x48')]['id']){delete _0x4db55a['body']['id'];}return db[_0xe914('0x2d')][_0xe914('0x45')]({'where':{'id':_0x4db55a['params']['id']}})[_0xe914('0x27')](handleEntityNotFound(_0x11f795,null))[_0xe914('0x27')](saveUpdates(_0x4db55a[_0xe914('0x48')],null))['then'](respondWithResult(_0x11f795,null))[_0xe914('0x43')](handleError(_0x11f795,null));};exports['destroy']=function(_0x5632f8,_0x3f34e8){return db['FreshsalesConfiguration'][_0xe914('0x45')]({'where':{'id':_0x5632f8[_0xe914('0x49')]['id']}})['then'](handleEntityNotFound(_0x3f34e8,null))['then'](removeEntity(_0x3f34e8,null))['catch'](handleError(_0x3f34e8,null));};exports[_0xe914('0x4a')]=function(_0x2abc4e,_0x20245a,_0x3c330d){var _0x13a630={};var _0x439d8b={};var _0x13219f;var _0x57feb8;return db[_0xe914('0x2d')][_0xe914('0x4b')]({'where':{'id':_0x2abc4e[_0xe914('0x49')]['id']}})[_0xe914('0x27')](handleEntityNotFound(_0x20245a,null))['then'](function(_0x5a03c7){if(_0x5a03c7){_0x13219f=_0x5a03c7;_0x439d8b['model']=_[_0xe914('0x32')](db[_0xe914('0x4c')][_0xe914('0x4d')]);_0x439d8b[_0xe914('0x31')]=_[_0xe914('0x32')](_0x2abc4e[_0xe914('0x31')]);_0x439d8b['filters']=_[_0xe914('0x33')](_0x439d8b[_0xe914('0x30')],_0x439d8b[_0xe914('0x31')]);_0x13a630['attributes']=_[_0xe914('0x33')](_0x439d8b[_0xe914('0x30')],qs[_0xe914('0x34')](_0x2abc4e[_0xe914('0x31')][_0xe914('0x34')]));_0x13a630['attributes']=_0x13a630[_0xe914('0x35')]['length']?_0x13a630[_0xe914('0x35')]:_0x439d8b[_0xe914('0x30')];_0x13a630[_0xe914('0x4e')]=qs['sort'](_0x2abc4e[_0xe914('0x31')]['sort']);_0x13a630[_0xe914('0x3c')]=qs['filters'](_[_0xe914('0x39')](_0x2abc4e[_0xe914('0x31')],_0x439d8b[_0xe914('0x3a')]));if(_0x2abc4e[_0xe914('0x31')][_0xe914('0x3b')]){_0x13a630['where']=_[_0xe914('0x3d')](_0x13a630[_0xe914('0x3c')],{'$or':_[_0xe914('0x2c')](_0x13a630[_0xe914('0x35')],function(_0xf0bb81){var _0x38180e={};_0x38180e[_0xf0bb81]={'$like':'%'+_0x2abc4e[_0xe914('0x31')][_0xe914('0x3b')]+'%'};return _0x38180e;})});}_0x13a630=_[_0xe914('0x3d')]({},_0x13a630,_0x2abc4e[_0xe914('0x3f')]);return _0x13219f[_0xe914('0x4a')](_0x13a630);}})['then'](function(_0x575d5a){if(_0x575d5a){_0x57feb8=_0x575d5a[_0xe914('0x36')];if(!_0x2abc4e[_0xe914('0x31')][_0xe914('0x4f')](_0xe914('0x37'))){_0x13a630[_0xe914('0x21')]=qs[_0xe914('0x21')](_0x2abc4e[_0xe914('0x31')][_0xe914('0x21')]);_0x13a630[_0xe914('0x1f')]=qs[_0xe914('0x1f')](_0x2abc4e[_0xe914('0x31')]['offset']);}return _0x13219f[_0xe914('0x4a')](_0x13a630);}})[_0xe914('0x27')](function(_0x4a752b){if(_0x4a752b){return _0x4a752b?{'count':_0x57feb8,'rows':_0x4a752b}:null;}})['then'](respondWithResult(_0x20245a,null))['catch'](handleError(_0x20245a,null));};exports[_0xe914('0x50')]=function(_0x394e50,_0x236482,_0x51a280){var _0x1bbfaf={};var _0x39f6e1={};var _0x45ee2d;var _0x28d14f;return db['FreshsalesConfiguration'][_0xe914('0x4b')]({'where':{'id':_0x394e50[_0xe914('0x49')]['id']}})['then'](handleEntityNotFound(_0x236482,null))[_0xe914('0x27')](function(_0x59e868){if(_0x59e868){_0x45ee2d=_0x59e868;_0x39f6e1['model']=_[_0xe914('0x32')](db[_0xe914('0x4c')][_0xe914('0x4d')]);_0x39f6e1[_0xe914('0x31')]=_[_0xe914('0x32')](_0x394e50[_0xe914('0x31')]);_0x39f6e1[_0xe914('0x3a')]=_[_0xe914('0x33')](_0x39f6e1[_0xe914('0x30')],_0x39f6e1[_0xe914('0x31')]);_0x1bbfaf[_0xe914('0x35')]=_[_0xe914('0x33')](_0x39f6e1['model'],qs[_0xe914('0x34')](_0x394e50[_0xe914('0x31')][_0xe914('0x34')]));_0x1bbfaf[_0xe914('0x35')]=_0x1bbfaf[_0xe914('0x35')][_0xe914('0x36')]?_0x1bbfaf['attributes']:_0x39f6e1[_0xe914('0x30')];_0x1bbfaf['order']=qs[_0xe914('0x38')](_0x394e50[_0xe914('0x31')][_0xe914('0x38')]);_0x1bbfaf['where']=qs[_0xe914('0x3a')](_[_0xe914('0x39')](_0x394e50[_0xe914('0x31')],_0x39f6e1[_0xe914('0x3a')]));if(_0x394e50['query'][_0xe914('0x3b')]){_0x1bbfaf['where']=_['merge'](_0x1bbfaf['where'],{'$or':_[_0xe914('0x2c')](_0x1bbfaf[_0xe914('0x35')],function(_0x4d9728){var _0xe5fccb={};_0xe5fccb[_0x4d9728]={'$like':'%'+_0x394e50['query'][_0xe914('0x3b')]+'%'};return _0xe5fccb;})});}_0x1bbfaf=_[_0xe914('0x3d')]({},_0x1bbfaf,_0x394e50[_0xe914('0x3f')]);return _0x45ee2d[_0xe914('0x50')](_0x1bbfaf);}})[_0xe914('0x27')](function(_0x417c71){if(_0x417c71){_0x28d14f=_0x417c71[_0xe914('0x36')];if(!_0x394e50[_0xe914('0x31')][_0xe914('0x4f')](_0xe914('0x37'))){_0x1bbfaf[_0xe914('0x21')]=qs['limit'](_0x394e50[_0xe914('0x31')][_0xe914('0x21')]);_0x1bbfaf['offset']=qs[_0xe914('0x1f')](_0x394e50[_0xe914('0x31')]['offset']);}return _0x45ee2d[_0xe914('0x50')](_0x1bbfaf);}})[_0xe914('0x27')](function(_0x1578b4){if(_0x1578b4){return _0x1578b4?{'count':_0x28d14f,'rows':_0x1578b4}:null;}})[_0xe914('0x27')](respondWithResult(_0x236482,null))[_0xe914('0x43')](handleError(_0x236482,null));};exports[_0xe914('0x51')]=function(_0x570bac,_0x366ab5,_0x12b4f3){var _0x115962={};var _0x15821d={};var _0x305a52;var _0x5085e1;return db['FreshsalesConfiguration'][_0xe914('0x4b')]({'where':{'id':_0x570bac[_0xe914('0x49')]['id']}})[_0xe914('0x27')](handleEntityNotFound(_0x366ab5,null))[_0xe914('0x27')](function(_0x3fd751){if(_0x3fd751){_0x305a52=_0x3fd751;_0x15821d[_0xe914('0x30')]=_['keys'](db[_0xe914('0x4c')][_0xe914('0x4d')]);_0x15821d[_0xe914('0x31')]=_[_0xe914('0x32')](_0x570bac[_0xe914('0x31')]);_0x15821d[_0xe914('0x3a')]=_['intersection'](_0x15821d[_0xe914('0x30')],_0x15821d[_0xe914('0x31')]);_0x115962[_0xe914('0x35')]=_[_0xe914('0x33')](_0x15821d[_0xe914('0x30')],qs[_0xe914('0x34')](_0x570bac[_0xe914('0x31')]['fields']));_0x115962['attributes']=_0x115962['attributes'][_0xe914('0x36')]?_0x115962[_0xe914('0x35')]:_0x15821d['model'];_0x115962[_0xe914('0x4e')]=qs[_0xe914('0x38')](_0x570bac[_0xe914('0x31')][_0xe914('0x38')]);_0x115962[_0xe914('0x3c')]=qs[_0xe914('0x3a')](_[_0xe914('0x39')](_0x570bac['query'],_0x15821d['filters']));if(_0x570bac[_0xe914('0x31')][_0xe914('0x3b')]){_0x115962['where']=_[_0xe914('0x3d')](_0x115962[_0xe914('0x3c')],{'$or':_['map'](_0x115962[_0xe914('0x35')],function(_0xa3780c){var _0x594cdc={};_0x594cdc[_0xa3780c]={'$like':'%'+_0x570bac['query'][_0xe914('0x3b')]+'%'};return _0x594cdc;})});}_0x115962=_[_0xe914('0x3d')]({},_0x115962,_0x570bac[_0xe914('0x3f')]);return _0x305a52[_0xe914('0x51')](_0x115962);}})[_0xe914('0x27')](function(_0x3ce0bf){if(_0x3ce0bf){_0x5085e1=_0x3ce0bf['length'];if(!_0x570bac[_0xe914('0x31')][_0xe914('0x4f')](_0xe914('0x37'))){_0x115962[_0xe914('0x21')]=qs[_0xe914('0x21')](_0x570bac[_0xe914('0x31')][_0xe914('0x21')]);_0x115962[_0xe914('0x1f')]=qs['offset'](_0x570bac['query']['offset']);}return _0x305a52[_0xe914('0x51')](_0x115962);}})[_0xe914('0x27')](function(_0x1cb38a){if(_0x1cb38a){return _0x1cb38a?{'count':_0x5085e1,'rows':_0x1cb38a}:null;}})[_0xe914('0x27')](respondWithResult(_0x366ab5,null))['catch'](handleError(_0x366ab5,null));};