Built motion from commit 9c91e9f5.|2.6.29
[motion2.git] / server / api / intFreshsalesAccount / intFreshsalesAccount.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 _0x9d21=['sendStatus','status','end','offset','undefined','limit','set','Content-Range','apply','reject','save','update','then','name','send','index','map','FreshsalesAccount','rawAttributes','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','filter','where','merge','type','VIRTUAL','options','count','includeAll','include','findAll','rows','show','params','catch','create','body','find','FreshsalesConfiguration','getConfigurations','nolimit','addConfiguration','findOne','Subjects','Descriptions','getDescriptions','channel','FreshsalesField','remoteUri','apiKey','username','substring','lastIndexOf','GET','format','%s%s','Token\x20token=','users','Requested\x20Resource\x20not\x20Found','test','statusCode','error','getFields,\x20%s,\x20%s,\x20%s','getFields','stringify','Wrong\x20credentials','rimraf','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x9d21,0x17b));var _0x19d2=function(_0x42225e,_0x1164f2){_0x42225e=_0x42225e-0x0;var _0x2bf9e5=_0x9d21[_0x42225e];return _0x2bf9e5;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x19d2('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x19d2('0x1'));var Mustache=require(_0x19d2('0x2'));var util=require(_0x19d2('0x3'));var path=require(_0x19d2('0x4'));var sox=require(_0x19d2('0x5'));var csv=require(_0x19d2('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x19d2('0x7'));var squel=require(_0x19d2('0x8'));var crypto=require(_0x19d2('0x9'));var jsforce=require(_0x19d2('0xa'));var deskjs=require(_0x19d2('0xb'));var toCsv=require(_0x19d2('0x6'));var querystring=require('querystring');var Papa=require(_0x19d2('0xc'));var Redis=require(_0x19d2('0xd'));var authService=require(_0x19d2('0xe'));var qs=require(_0x19d2('0xf'));var as=require(_0x19d2('0x10'));var hardwareService=require(_0x19d2('0x11'));var logger=require(_0x19d2('0x12'))(_0x19d2('0x13'));var utils=require(_0x19d2('0x14'));var config=require(_0x19d2('0x15'));var licenseUtil=require(_0x19d2('0x16'));var db=require(_0x19d2('0x17'))['db'];var integrations=require(_0x19d2('0x18'));function respondWithStatusCode(_0x1ccf7f,_0x50c381){_0x50c381=_0x50c381||0xcc;return function(_0x20ac81){if(_0x20ac81){return _0x1ccf7f[_0x19d2('0x19')](_0x50c381);}return _0x1ccf7f[_0x19d2('0x1a')](_0x50c381)[_0x19d2('0x1b')]();};}function respondWithResult(_0x58b60e,_0x5e7d3b){_0x5e7d3b=_0x5e7d3b||0xc8;return function(_0x512bdd){if(_0x512bdd){return _0x58b60e[_0x19d2('0x1a')](_0x5e7d3b)['json'](_0x512bdd);}};}function respondWithFilteredResult(_0x2f9432,_0x1f675b){return function(_0x7b871c){if(_0x7b871c){var _0x1eacf4=typeof _0x1f675b[_0x19d2('0x1c')]===_0x19d2('0x1d')&&typeof _0x1f675b[_0x19d2('0x1e')]===_0x19d2('0x1d');var _0x5e7833=_0x7b871c['count'];var _0x55f18f=_0x1eacf4?0x0:_0x1f675b[_0x19d2('0x1c')];var _0x5b1df9=_0x1eacf4?_0x7b871c['count']:_0x1f675b[_0x19d2('0x1c')]+_0x1f675b[_0x19d2('0x1e')];var _0x24a650;if(_0x5b1df9>=_0x5e7833){_0x5b1df9=_0x5e7833;_0x24a650=0xc8;}else{_0x24a650=0xce;}_0x2f9432[_0x19d2('0x1a')](_0x24a650);return _0x2f9432[_0x19d2('0x1f')](_0x19d2('0x20'),_0x55f18f+'-'+_0x5b1df9+'/'+_0x5e7833)['json'](_0x7b871c);}return null;};}function patchUpdates(_0xc46709){return function(_0x1b91c7){try{jsonpatch[_0x19d2('0x21')](_0x1b91c7,_0xc46709,!![]);}catch(_0x38ae3b){return BPromise[_0x19d2('0x22')](_0x38ae3b);}return _0x1b91c7[_0x19d2('0x23')]();};}function saveUpdates(_0x1a4f26,_0x2cd792){return function(_0x2cd9dc){if(_0x2cd9dc){return _0x2cd9dc[_0x19d2('0x24')](_0x1a4f26)[_0x19d2('0x25')](function(_0x2d0710){return _0x2d0710;});}return null;};}function removeEntity(_0x5b71c3,_0x582907){return function(_0x247cb7){if(_0x247cb7){return _0x247cb7['destroy']()[_0x19d2('0x25')](function(){_0x5b71c3['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x56976e,_0x50a06d){return function(_0x3884ce){if(!_0x3884ce){_0x56976e['sendStatus'](0x194);}return _0x3884ce;};}function handleError(_0x1b6d27,_0x2e1799){_0x2e1799=_0x2e1799||0x1f4;return function(_0x3162f9){logger['error'](_0x3162f9['stack']);if(_0x3162f9['name']){delete _0x3162f9[_0x19d2('0x26')];}_0x1b6d27[_0x19d2('0x1a')](_0x2e1799)[_0x19d2('0x27')](_0x3162f9);};}exports[_0x19d2('0x28')]=function(_0x51ede9,_0x1405cf){var _0x9bde05={},_0x18fd23={},_0x254de8={'count':0x0,'rows':[]};var _0x366682=_[_0x19d2('0x29')](db[_0x19d2('0x2a')][_0x19d2('0x2b')],function(_0x216e63){return{'name':_0x216e63['fieldName'],'type':_0x216e63['type'][_0x19d2('0x2c')]};});_0x18fd23[_0x19d2('0x2d')]=_['map'](_0x366682,'name');_0x18fd23[_0x19d2('0x2e')]=_[_0x19d2('0x2f')](_0x51ede9['query']);_0x18fd23[_0x19d2('0x30')]=_[_0x19d2('0x31')](_0x18fd23[_0x19d2('0x2d')],_0x18fd23[_0x19d2('0x2e')]);_0x9bde05['attributes']=_[_0x19d2('0x31')](_0x18fd23[_0x19d2('0x2d')],qs[_0x19d2('0x32')](_0x51ede9[_0x19d2('0x2e')][_0x19d2('0x32')]));_0x9bde05[_0x19d2('0x33')]=_0x9bde05[_0x19d2('0x33')][_0x19d2('0x34')]?_0x9bde05['attributes']:_0x18fd23[_0x19d2('0x2d')];if(!_0x51ede9['query'][_0x19d2('0x35')]('nolimit')){_0x9bde05[_0x19d2('0x1e')]=qs['limit'](_0x51ede9[_0x19d2('0x2e')][_0x19d2('0x1e')]);_0x9bde05['offset']=qs[_0x19d2('0x1c')](_0x51ede9[_0x19d2('0x2e')][_0x19d2('0x1c')]);}_0x9bde05[_0x19d2('0x36')]=qs[_0x19d2('0x37')](_0x51ede9[_0x19d2('0x2e')]['sort']);_0x9bde05['where']=qs[_0x19d2('0x30')](_['pick'](_0x51ede9[_0x19d2('0x2e')],_0x18fd23[_0x19d2('0x30')]),_0x366682);if(_0x51ede9['query'][_0x19d2('0x38')]){_0x9bde05[_0x19d2('0x39')]=_[_0x19d2('0x3a')](_0x9bde05[_0x19d2('0x39')],{'$or':_[_0x19d2('0x29')](_0x366682,function(_0x214625){if(_0x214625[_0x19d2('0x3b')]!==_0x19d2('0x3c')){var _0x3522b2={};_0x3522b2[_0x214625[_0x19d2('0x26')]]={'$like':'%'+_0x51ede9[_0x19d2('0x2e')][_0x19d2('0x38')]+'%'};return _0x3522b2;}})});}_0x9bde05=_[_0x19d2('0x3a')]({},_0x9bde05,_0x51ede9[_0x19d2('0x3d')]);var _0x408c80={'where':_0x9bde05['where']};return db[_0x19d2('0x2a')][_0x19d2('0x3e')](_0x408c80)[_0x19d2('0x25')](function(_0x10b36e){_0x254de8[_0x19d2('0x3e')]=_0x10b36e;if(_0x51ede9[_0x19d2('0x2e')][_0x19d2('0x3f')]){_0x9bde05[_0x19d2('0x40')]=[{'all':!![]}];}return db[_0x19d2('0x2a')][_0x19d2('0x41')](_0x9bde05);})[_0x19d2('0x25')](function(_0x3682ad){_0x254de8[_0x19d2('0x42')]=_0x3682ad;return _0x254de8;})['then'](respondWithFilteredResult(_0x1405cf,_0x9bde05))['catch'](handleError(_0x1405cf,null));};exports[_0x19d2('0x43')]=function(_0x128264,_0x225659){var _0x2a414a={'raw':![],'where':{'id':_0x128264[_0x19d2('0x44')]['id']}},_0x1890a6={};_0x1890a6[_0x19d2('0x2d')]=_[_0x19d2('0x2f')](db[_0x19d2('0x2a')][_0x19d2('0x2b')]);_0x1890a6[_0x19d2('0x2e')]=_[_0x19d2('0x2f')](_0x128264[_0x19d2('0x2e')]);_0x1890a6['filters']=_['intersection'](_0x1890a6[_0x19d2('0x2d')],_0x1890a6[_0x19d2('0x2e')]);_0x2a414a[_0x19d2('0x33')]=_[_0x19d2('0x31')](_0x1890a6[_0x19d2('0x2d')],qs['fields'](_0x128264[_0x19d2('0x2e')][_0x19d2('0x32')]));_0x2a414a[_0x19d2('0x33')]=_0x2a414a[_0x19d2('0x33')][_0x19d2('0x34')]?_0x2a414a[_0x19d2('0x33')]:_0x1890a6['model'];if(_0x128264[_0x19d2('0x2e')]['includeAll']){_0x2a414a[_0x19d2('0x40')]=[{'all':!![]}];}_0x2a414a=_[_0x19d2('0x3a')]({},_0x2a414a,_0x128264['options']);return db[_0x19d2('0x2a')]['find'](_0x2a414a)[_0x19d2('0x25')](handleEntityNotFound(_0x225659,null))[_0x19d2('0x25')](respondWithResult(_0x225659,null))[_0x19d2('0x45')](handleError(_0x225659,null));};exports[_0x19d2('0x46')]=function(_0x26b27a,_0x1babf5){return db[_0x19d2('0x2a')][_0x19d2('0x46')](_0x26b27a['body'],{})[_0x19d2('0x25')](respondWithResult(_0x1babf5,0xc9))[_0x19d2('0x45')](handleError(_0x1babf5,null));};exports[_0x19d2('0x24')]=function(_0x31b3f6,_0x5054fc){if(_0x31b3f6[_0x19d2('0x47')]['id']){delete _0x31b3f6[_0x19d2('0x47')]['id'];}return db[_0x19d2('0x2a')][_0x19d2('0x48')]({'where':{'id':_0x31b3f6['params']['id']}})[_0x19d2('0x25')](handleEntityNotFound(_0x5054fc,null))['then'](saveUpdates(_0x31b3f6[_0x19d2('0x47')],null))[_0x19d2('0x25')](respondWithResult(_0x5054fc,null))[_0x19d2('0x45')](handleError(_0x5054fc,null));};exports['destroy']=function(_0x474c3c,_0x1f9b7e){return db[_0x19d2('0x2a')][_0x19d2('0x48')]({'where':{'id':_0x474c3c[_0x19d2('0x44')]['id']}})[_0x19d2('0x25')](handleEntityNotFound(_0x1f9b7e,null))['then'](removeEntity(_0x1f9b7e,null))[_0x19d2('0x45')](handleError(_0x1f9b7e,null));};exports['getConfigurations']=function(_0x1cc17f,_0x40e3d6,_0x3836e9){var _0x1066c5={};var _0x17f5ce={};var _0x1a7dad;var _0xe9c484;return db[_0x19d2('0x2a')]['findOne']({'where':{'id':_0x1cc17f[_0x19d2('0x44')]['id']}})[_0x19d2('0x25')](handleEntityNotFound(_0x40e3d6,null))[_0x19d2('0x25')](function(_0x57273c){if(_0x57273c){_0x1a7dad=_0x57273c;_0x17f5ce[_0x19d2('0x2d')]=_[_0x19d2('0x2f')](db[_0x19d2('0x49')][_0x19d2('0x2b')]);_0x17f5ce[_0x19d2('0x2e')]=_[_0x19d2('0x2f')](_0x1cc17f[_0x19d2('0x2e')]);_0x17f5ce[_0x19d2('0x30')]=_[_0x19d2('0x31')](_0x17f5ce['model'],_0x17f5ce[_0x19d2('0x2e')]);_0x1066c5[_0x19d2('0x33')]=_['intersection'](_0x17f5ce['model'],qs[_0x19d2('0x32')](_0x1cc17f[_0x19d2('0x2e')][_0x19d2('0x32')]));_0x1066c5[_0x19d2('0x33')]=_0x1066c5['attributes'][_0x19d2('0x34')]?_0x1066c5['attributes']:_0x17f5ce['model'];_0x1066c5[_0x19d2('0x36')]=qs[_0x19d2('0x37')](_0x1cc17f['query'][_0x19d2('0x37')]);_0x1066c5[_0x19d2('0x39')]=qs[_0x19d2('0x30')](_['pick'](_0x1cc17f[_0x19d2('0x2e')],_0x17f5ce[_0x19d2('0x30')]));if(_0x1cc17f[_0x19d2('0x2e')][_0x19d2('0x38')]){_0x1066c5[_0x19d2('0x39')]=_[_0x19d2('0x3a')](_0x1066c5[_0x19d2('0x39')],{'$or':_[_0x19d2('0x29')](_0x1066c5[_0x19d2('0x33')],function(_0x2d86bc){var _0xe6eba8={};_0xe6eba8[_0x2d86bc]={'$like':'%'+_0x1cc17f[_0x19d2('0x2e')][_0x19d2('0x38')]+'%'};return _0xe6eba8;})});}_0x1066c5=_[_0x19d2('0x3a')]({},_0x1066c5,_0x1cc17f[_0x19d2('0x3d')]);return _0x1a7dad[_0x19d2('0x4a')](_0x1066c5);}})[_0x19d2('0x25')](function(_0x1d7b8b){if(_0x1d7b8b){_0xe9c484=_0x1d7b8b['length'];if(!_0x1cc17f[_0x19d2('0x2e')]['hasOwnProperty'](_0x19d2('0x4b'))){_0x1066c5[_0x19d2('0x1e')]=qs[_0x19d2('0x1e')](_0x1cc17f[_0x19d2('0x2e')][_0x19d2('0x1e')]);_0x1066c5[_0x19d2('0x1c')]=qs[_0x19d2('0x1c')](_0x1cc17f[_0x19d2('0x2e')][_0x19d2('0x1c')]);}return _0x1a7dad[_0x19d2('0x4a')](_0x1066c5);}})[_0x19d2('0x25')](function(_0x1b3590){if(_0x1b3590){return _0x1b3590?{'count':_0xe9c484,'rows':_0x1b3590}:null;}})['then'](respondWithResult(_0x40e3d6,null))[_0x19d2('0x45')](handleError(_0x40e3d6,null));};exports[_0x19d2('0x4c')]=function(_0x556ae9,_0x49194d,_0x3d888c){if(_0x556ae9[_0x19d2('0x47')]['id']){delete _0x556ae9['body']['id'];}return db[_0x19d2('0x2a')][_0x19d2('0x4d')]({'where':{'id':_0x556ae9[_0x19d2('0x44')]['id']}})[_0x19d2('0x25')](handleEntityNotFound(_0x49194d,null))['then'](function(_0x327b0c){if(_0x327b0c){_0x556ae9[_0x19d2('0x47')]['AccountId']=_0x327b0c['id'];_0x556ae9['body'][_0x19d2('0x4e')]=integrations['getSubjects'](_0x556ae9[_0x19d2('0x47')]['channel'],_0x556ae9['body'][_0x19d2('0x3b')]);_0x556ae9['body'][_0x19d2('0x4f')]=integrations[_0x19d2('0x50')](_0x556ae9['body'][_0x19d2('0x51')],_0x556ae9['body']['type']);return db[_0x19d2('0x49')][_0x19d2('0x46')](_0x556ae9[_0x19d2('0x47')],{'include':[{'model':db[_0x19d2('0x52')],'as':'Subjects'},{'model':db[_0x19d2('0x52')],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0x49194d,null))[_0x19d2('0x45')](handleError(_0x49194d,null));};exports['getFields']=function(_0x42a04a,_0x1cc09d,_0x2a868d){var _0x3d6b5a='';var _0x19f28d='';return db['FreshsalesAccount'][_0x19d2('0x4d')]({'where':{'id':_0x42a04a[_0x19d2('0x44')]['id']},'attributes':['id','username',_0x19d2('0x53'),_0x19d2('0x54')]})[_0x19d2('0x25')](handleEntityNotFound(_0x1cc09d,null))['then'](function(_0x174ed7){if(_0x174ed7){_0x19f28d=_0x174ed7[_0x19d2('0x55')];_0x3d6b5a=_0x174ed7[_0x19d2('0x53')];var _0x14db68=_0x174ed7[_0x19d2('0x53')]['slice'](-0x1);if(_0x14db68==='/'){_0x3d6b5a=_0x3d6b5a[_0x19d2('0x56')](0x0,_0x3d6b5a[_0x19d2('0x57')](_0x14db68));}return rp({'method':_0x19d2('0x58'),'uri':util[_0x19d2('0x59')](_0x19d2('0x5a'),_0x3d6b5a,'/api/selector/owners'),'headers':{'Authorization':_0x19d2('0x5b')+_0x174ed7['apiKey']},'json':!![]});}})[_0x19d2('0x25')](function(_0x2b18fc){if(_0x2b18fc){var _0x7b8704=_0x2b18fc[_0x19d2('0x5c')];var _0x113acb=![];var _0x1c0c6b=null;for(_0x1c0c6b=0x0;_0x1c0c6b<_0x7b8704['length'];_0x1c0c6b++){if(_0x7b8704[_0x1c0c6b]['email']===_0x19f28d){_0x113acb=!![];}}if(_0x113acb){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x19d2('0x5d')});}}})[_0x19d2('0x25')](respondWithResult(_0x1cc09d,null))[_0x19d2('0x45')](function(_0x49ca6f){var _0x492438=_0x42a04a[_0x19d2('0x2e')][_0x19d2('0x5e')]?0x1f4:_0x49ca6f[_0x19d2('0x5f')]||0x1f4;logger[_0x19d2('0x60')](_0x19d2('0x61'),_0x19d2('0x62'),_0x492438,JSON[_0x19d2('0x63')](_0x49ca6f));delete _0x49ca6f[_0x19d2('0x26')];if(_0x492438===0x191){_0x492438=0x190;}_0x1cc09d[_0x19d2('0x1a')](_0x492438)[_0x19d2('0x27')](_0x42a04a[_0x19d2('0x2e')][_0x19d2('0x5e')]?{'message':_0x19d2('0x64'),'statusCode':_0x49ca6f['statusCode']}:_0x49ca6f);});};