Built motion from commit 9d0783e6.|2.6.13
[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 _0xa778=['username','remoteUri','apiKey','slice','substring','GET','format','/api/selector/owners','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','test','statusCode','error','stringify','send','Wrong\x20credentials','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../components/integrations/configuration','status','end','offset','undefined','limit','count','set','apply','reject','save','update','destroy','then','sendStatus','stack','name','index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','length','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','FreshsalesAccount','includeAll','rows','catch','show','fields','include','options','find','create','body','params','getConfigurations','FreshsalesConfiguration','findOne','AccountId','getSubjects','channel','Descriptions','getDescriptions','Subjects','FreshsalesField'];(function(_0x46d7b2,_0x547b66){var _0x5a6376=function(_0x20ce4d){while(--_0x20ce4d){_0x46d7b2['push'](_0x46d7b2['shift']());}};_0x5a6376(++_0x547b66);}(_0xa778,0x14d));var _0x8a77=function(_0x44a783,_0x11b91d){_0x44a783=_0x44a783-0x0;var _0x24b728=_0xa778[_0x44a783];return _0x24b728;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8a77('0x0'));var zipdir=require(_0x8a77('0x1'));var jsonpatch=require(_0x8a77('0x2'));var rp=require('request-promise');var moment=require(_0x8a77('0x3'));var BPromise=require(_0x8a77('0x4'));var Mustache=require(_0x8a77('0x5'));var util=require(_0x8a77('0x6'));var path=require(_0x8a77('0x7'));var sox=require(_0x8a77('0x8'));var csv=require(_0x8a77('0x9'));var ejs=require(_0x8a77('0xa'));var fs=require('fs');var fs_extra=require(_0x8a77('0xb'));var _=require(_0x8a77('0xc'));var squel=require(_0x8a77('0xd'));var crypto=require(_0x8a77('0xe'));var jsforce=require(_0x8a77('0xf'));var deskjs=require(_0x8a77('0x10'));var toCsv=require(_0x8a77('0x9'));var querystring=require(_0x8a77('0x11'));var Papa=require(_0x8a77('0x12'));var Redis=require(_0x8a77('0x13'));var authService=require(_0x8a77('0x14'));var qs=require(_0x8a77('0x15'));var as=require(_0x8a77('0x16'));var hardwareService=require(_0x8a77('0x17'));var logger=require(_0x8a77('0x18'))(_0x8a77('0x19'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x8a77('0x1a'));var db=require('../../mysqldb')['db'];var integrations=require(_0x8a77('0x1b'));function respondWithStatusCode(_0x169541,_0x3329c3){_0x3329c3=_0x3329c3||0xcc;return function(_0x31743d){if(_0x31743d){return _0x169541['sendStatus'](_0x3329c3);}return _0x169541[_0x8a77('0x1c')](_0x3329c3)[_0x8a77('0x1d')]();};}function respondWithResult(_0x468ee7,_0x59a334){_0x59a334=_0x59a334||0xc8;return function(_0x43fc21){if(_0x43fc21){return _0x468ee7[_0x8a77('0x1c')](_0x59a334)['json'](_0x43fc21);}};}function respondWithFilteredResult(_0x508866,_0x3a1396){return function(_0x38e150){if(_0x38e150){var _0x515770=typeof _0x3a1396[_0x8a77('0x1e')]===_0x8a77('0x1f')&&typeof _0x3a1396[_0x8a77('0x20')]===_0x8a77('0x1f');var _0x372b30=_0x38e150[_0x8a77('0x21')];var _0x30b2d1=_0x515770?0x0:_0x3a1396[_0x8a77('0x1e')];var _0x3ef19b=_0x515770?_0x38e150[_0x8a77('0x21')]:_0x3a1396[_0x8a77('0x1e')]+_0x3a1396[_0x8a77('0x20')];var _0x1c500e;if(_0x3ef19b>=_0x372b30){_0x3ef19b=_0x372b30;_0x1c500e=0xc8;}else{_0x1c500e=0xce;}_0x508866[_0x8a77('0x1c')](_0x1c500e);return _0x508866[_0x8a77('0x22')]('Content-Range',_0x30b2d1+'-'+_0x3ef19b+'/'+_0x372b30)['json'](_0x38e150);}return null;};}function patchUpdates(_0x3f2d07){return function(_0x344700){try{jsonpatch[_0x8a77('0x23')](_0x344700,_0x3f2d07,!![]);}catch(_0x525242){return BPromise[_0x8a77('0x24')](_0x525242);}return _0x344700[_0x8a77('0x25')]();};}function saveUpdates(_0x497131,_0x46f549){return function(_0x11013d){if(_0x11013d){return _0x11013d[_0x8a77('0x26')](_0x497131)['then'](function(_0x4e2ea4){return _0x4e2ea4;});}return null;};}function removeEntity(_0x6908a1,_0x2d8f8f){return function(_0x159982){if(_0x159982){return _0x159982[_0x8a77('0x27')]()[_0x8a77('0x28')](function(){_0x6908a1['status'](0xcc)[_0x8a77('0x1d')]();});}};}function handleEntityNotFound(_0x34aae1,_0x3aeeee){return function(_0x3d44c5){if(!_0x3d44c5){_0x34aae1[_0x8a77('0x29')](0x194);}return _0x3d44c5;};}function handleError(_0x1f9316,_0x295d8f){_0x295d8f=_0x295d8f||0x1f4;return function(_0x142747){logger['error'](_0x142747[_0x8a77('0x2a')]);if(_0x142747[_0x8a77('0x2b')]){delete _0x142747['name'];}_0x1f9316[_0x8a77('0x1c')](_0x295d8f)['send'](_0x142747);};}exports[_0x8a77('0x2c')]=function(_0x264e8b,_0x4f1936){var _0x545032={},_0x1752c6={},_0x35d1aa={'count':0x0,'rows':[]};var _0x24fd7d=_[_0x8a77('0x2d')](db['FreshsalesAccount'][_0x8a77('0x2e')],function(_0x134231){return{'name':_0x134231[_0x8a77('0x2f')],'type':_0x134231[_0x8a77('0x30')][_0x8a77('0x31')]};});_0x1752c6[_0x8a77('0x32')]=_[_0x8a77('0x2d')](_0x24fd7d,'name');_0x1752c6['query']=_[_0x8a77('0x33')](_0x264e8b[_0x8a77('0x34')]);_0x1752c6[_0x8a77('0x35')]=_[_0x8a77('0x36')](_0x1752c6[_0x8a77('0x32')],_0x1752c6[_0x8a77('0x34')]);_0x545032[_0x8a77('0x37')]=_[_0x8a77('0x36')](_0x1752c6[_0x8a77('0x32')],qs['fields'](_0x264e8b['query']['fields']));_0x545032[_0x8a77('0x37')]=_0x545032['attributes'][_0x8a77('0x38')]?_0x545032['attributes']:_0x1752c6['model'];if(!_0x264e8b[_0x8a77('0x34')]['hasOwnProperty'](_0x8a77('0x39'))){_0x545032[_0x8a77('0x20')]=qs['limit'](_0x264e8b[_0x8a77('0x34')][_0x8a77('0x20')]);_0x545032['offset']=qs['offset'](_0x264e8b[_0x8a77('0x34')]['offset']);}_0x545032[_0x8a77('0x3a')]=qs[_0x8a77('0x3b')](_0x264e8b[_0x8a77('0x34')][_0x8a77('0x3b')]);_0x545032['where']=qs[_0x8a77('0x35')](_[_0x8a77('0x3c')](_0x264e8b[_0x8a77('0x34')],_0x1752c6['filters']),_0x24fd7d);if(_0x264e8b[_0x8a77('0x34')][_0x8a77('0x3d')]){_0x545032[_0x8a77('0x3e')]=_[_0x8a77('0x3f')](_0x545032[_0x8a77('0x3e')],{'$or':_[_0x8a77('0x2d')](_0x24fd7d,function(_0x2abcb9){if(_0x2abcb9[_0x8a77('0x30')]!==_0x8a77('0x40')){var _0xa76a0e={};_0xa76a0e[_0x2abcb9[_0x8a77('0x2b')]]={'$like':'%'+_0x264e8b[_0x8a77('0x34')]['filter']+'%'};return _0xa76a0e;}})});}_0x545032=_[_0x8a77('0x3f')]({},_0x545032,_0x264e8b['options']);var _0x4d2139={'where':_0x545032['where']};return db[_0x8a77('0x41')][_0x8a77('0x21')](_0x4d2139)['then'](function(_0x1220d6){_0x35d1aa[_0x8a77('0x21')]=_0x1220d6;if(_0x264e8b[_0x8a77('0x34')][_0x8a77('0x42')]){_0x545032['include']=[{'all':!![]}];}return db[_0x8a77('0x41')]['findAll'](_0x545032);})[_0x8a77('0x28')](function(_0x533adf){_0x35d1aa[_0x8a77('0x43')]=_0x533adf;return _0x35d1aa;})[_0x8a77('0x28')](respondWithFilteredResult(_0x4f1936,_0x545032))[_0x8a77('0x44')](handleError(_0x4f1936,null));};exports[_0x8a77('0x45')]=function(_0x36079e,_0x386e13){var _0x19cf21={'raw':![],'where':{'id':_0x36079e['params']['id']}},_0x1ae3cd={};_0x1ae3cd[_0x8a77('0x32')]=_['keys'](db[_0x8a77('0x41')][_0x8a77('0x2e')]);_0x1ae3cd['query']=_[_0x8a77('0x33')](_0x36079e[_0x8a77('0x34')]);_0x1ae3cd[_0x8a77('0x35')]=_[_0x8a77('0x36')](_0x1ae3cd[_0x8a77('0x32')],_0x1ae3cd[_0x8a77('0x34')]);_0x19cf21[_0x8a77('0x37')]=_[_0x8a77('0x36')](_0x1ae3cd[_0x8a77('0x32')],qs[_0x8a77('0x46')](_0x36079e[_0x8a77('0x34')][_0x8a77('0x46')]));_0x19cf21[_0x8a77('0x37')]=_0x19cf21[_0x8a77('0x37')]['length']?_0x19cf21[_0x8a77('0x37')]:_0x1ae3cd[_0x8a77('0x32')];if(_0x36079e[_0x8a77('0x34')][_0x8a77('0x42')]){_0x19cf21[_0x8a77('0x47')]=[{'all':!![]}];}_0x19cf21=_['merge']({},_0x19cf21,_0x36079e[_0x8a77('0x48')]);return db['FreshsalesAccount'][_0x8a77('0x49')](_0x19cf21)[_0x8a77('0x28')](handleEntityNotFound(_0x386e13,null))[_0x8a77('0x28')](respondWithResult(_0x386e13,null))['catch'](handleError(_0x386e13,null));};exports[_0x8a77('0x4a')]=function(_0x5e3182,_0x348e8c){return db['FreshsalesAccount'][_0x8a77('0x4a')](_0x5e3182['body'],{})[_0x8a77('0x28')](respondWithResult(_0x348e8c,0xc9))['catch'](handleError(_0x348e8c,null));};exports[_0x8a77('0x26')]=function(_0x53e0e3,_0x24e3bc){if(_0x53e0e3[_0x8a77('0x4b')]['id']){delete _0x53e0e3[_0x8a77('0x4b')]['id'];}return db[_0x8a77('0x41')]['find']({'where':{'id':_0x53e0e3[_0x8a77('0x4c')]['id']}})[_0x8a77('0x28')](handleEntityNotFound(_0x24e3bc,null))[_0x8a77('0x28')](saveUpdates(_0x53e0e3[_0x8a77('0x4b')],null))['then'](respondWithResult(_0x24e3bc,null))[_0x8a77('0x44')](handleError(_0x24e3bc,null));};exports[_0x8a77('0x27')]=function(_0x5264d,_0x16a6ce){return db[_0x8a77('0x41')]['find']({'where':{'id':_0x5264d[_0x8a77('0x4c')]['id']}})[_0x8a77('0x28')](handleEntityNotFound(_0x16a6ce,null))[_0x8a77('0x28')](removeEntity(_0x16a6ce,null))['catch'](handleError(_0x16a6ce,null));};exports[_0x8a77('0x4d')]=function(_0x1d195f,_0x11c2db,_0x3a1322){var _0x14bd4d={};var _0x4c0aed={};var _0xc96ff7;var _0x2b0f6c;return db['FreshsalesAccount']['findOne']({'where':{'id':_0x1d195f[_0x8a77('0x4c')]['id']}})[_0x8a77('0x28')](handleEntityNotFound(_0x11c2db,null))[_0x8a77('0x28')](function(_0x4d4f70){if(_0x4d4f70){_0xc96ff7=_0x4d4f70;_0x4c0aed[_0x8a77('0x32')]=_[_0x8a77('0x33')](db[_0x8a77('0x4e')][_0x8a77('0x2e')]);_0x4c0aed[_0x8a77('0x34')]=_[_0x8a77('0x33')](_0x1d195f[_0x8a77('0x34')]);_0x4c0aed[_0x8a77('0x35')]=_[_0x8a77('0x36')](_0x4c0aed[_0x8a77('0x32')],_0x4c0aed[_0x8a77('0x34')]);_0x14bd4d['attributes']=_[_0x8a77('0x36')](_0x4c0aed['model'],qs['fields'](_0x1d195f['query'][_0x8a77('0x46')]));_0x14bd4d[_0x8a77('0x37')]=_0x14bd4d[_0x8a77('0x37')][_0x8a77('0x38')]?_0x14bd4d[_0x8a77('0x37')]:_0x4c0aed['model'];_0x14bd4d[_0x8a77('0x3a')]=qs[_0x8a77('0x3b')](_0x1d195f['query'][_0x8a77('0x3b')]);_0x14bd4d['where']=qs['filters'](_[_0x8a77('0x3c')](_0x1d195f['query'],_0x4c0aed[_0x8a77('0x35')]));if(_0x1d195f[_0x8a77('0x34')][_0x8a77('0x3d')]){_0x14bd4d[_0x8a77('0x3e')]=_[_0x8a77('0x3f')](_0x14bd4d[_0x8a77('0x3e')],{'$or':_[_0x8a77('0x2d')](_0x14bd4d[_0x8a77('0x37')],function(_0x3f04e9){var _0x569a66={};_0x569a66[_0x3f04e9]={'$like':'%'+_0x1d195f[_0x8a77('0x34')][_0x8a77('0x3d')]+'%'};return _0x569a66;})});}_0x14bd4d=_['merge']({},_0x14bd4d,_0x1d195f[_0x8a77('0x48')]);return _0xc96ff7['getConfigurations'](_0x14bd4d);}})[_0x8a77('0x28')](function(_0x487bbd){if(_0x487bbd){_0x2b0f6c=_0x487bbd['length'];if(!_0x1d195f[_0x8a77('0x34')]['hasOwnProperty'](_0x8a77('0x39'))){_0x14bd4d[_0x8a77('0x20')]=qs[_0x8a77('0x20')](_0x1d195f['query'][_0x8a77('0x20')]);_0x14bd4d[_0x8a77('0x1e')]=qs[_0x8a77('0x1e')](_0x1d195f[_0x8a77('0x34')][_0x8a77('0x1e')]);}return _0xc96ff7[_0x8a77('0x4d')](_0x14bd4d);}})[_0x8a77('0x28')](function(_0x25cf10){if(_0x25cf10){return _0x25cf10?{'count':_0x2b0f6c,'rows':_0x25cf10}:null;}})['then'](respondWithResult(_0x11c2db,null))[_0x8a77('0x44')](handleError(_0x11c2db,null));};exports['addConfiguration']=function(_0xbe397d,_0x21e02e,_0xe6940){if(_0xbe397d[_0x8a77('0x4b')]['id']){delete _0xbe397d[_0x8a77('0x4b')]['id'];}return db[_0x8a77('0x41')][_0x8a77('0x4f')]({'where':{'id':_0xbe397d[_0x8a77('0x4c')]['id']}})[_0x8a77('0x28')](handleEntityNotFound(_0x21e02e,null))[_0x8a77('0x28')](function(_0x1ea88b){if(_0x1ea88b){_0xbe397d[_0x8a77('0x4b')][_0x8a77('0x50')]=_0x1ea88b['id'];_0xbe397d[_0x8a77('0x4b')]['Subjects']=integrations[_0x8a77('0x51')](_0xbe397d['body'][_0x8a77('0x52')],_0xbe397d[_0x8a77('0x4b')][_0x8a77('0x30')]);_0xbe397d[_0x8a77('0x4b')][_0x8a77('0x53')]=integrations[_0x8a77('0x54')](_0xbe397d['body']['channel'],_0xbe397d['body'][_0x8a77('0x30')]);return db['FreshsalesConfiguration'][_0x8a77('0x4a')](_0xbe397d[_0x8a77('0x4b')],{'include':[{'model':db['FreshsalesField'],'as':_0x8a77('0x55')},{'model':db[_0x8a77('0x56')],'as':_0x8a77('0x53')}]});}return null;})['then'](respondWithResult(_0x21e02e,null))[_0x8a77('0x44')](handleError(_0x21e02e,null));};exports['getFields']=function(_0x593413,_0x265c98,_0x6a23e8){var _0x1e35b9='';var _0x4dfa8d='';return db['FreshsalesAccount'][_0x8a77('0x4f')]({'where':{'id':_0x593413[_0x8a77('0x4c')]['id']},'attributes':['id',_0x8a77('0x57'),_0x8a77('0x58'),_0x8a77('0x59')]})['then'](handleEntityNotFound(_0x265c98,null))[_0x8a77('0x28')](function(_0x1c6e5d){if(_0x1c6e5d){_0x4dfa8d=_0x1c6e5d[_0x8a77('0x57')];_0x1e35b9=_0x1c6e5d[_0x8a77('0x58')];var _0x43c05a=_0x1c6e5d[_0x8a77('0x58')][_0x8a77('0x5a')](-0x1);if(_0x43c05a==='/'){_0x1e35b9=_0x1e35b9[_0x8a77('0x5b')](0x0,_0x1e35b9['lastIndexOf'](_0x43c05a));}return rp({'method':_0x8a77('0x5c'),'uri':util[_0x8a77('0x5d')]('%s%s',_0x1e35b9,_0x8a77('0x5e')),'headers':{'Authorization':_0x8a77('0x5f')+_0x1c6e5d[_0x8a77('0x59')]},'json':!![]});}})['then'](function(_0x40de19){if(_0x40de19){var _0x57996b=_0x40de19[_0x8a77('0x60')];var _0x441747=![];var _0x25157b=null;for(_0x25157b=0x0;_0x25157b<_0x57996b[_0x8a77('0x38')];_0x25157b++){if(_0x57996b[_0x25157b][_0x8a77('0x61')]===_0x4dfa8d){_0x441747=!![];}}if(_0x441747){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x8a77('0x62')});}}})[_0x8a77('0x28')](respondWithResult(_0x265c98,null))[_0x8a77('0x44')](function(_0x4a645c){var _0x1379c3=_0x593413[_0x8a77('0x34')][_0x8a77('0x63')]?0x1f4:_0x4a645c[_0x8a77('0x64')]||0x1f4;logger[_0x8a77('0x65')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x1379c3,JSON[_0x8a77('0x66')](_0x4a645c));delete _0x4a645c[_0x8a77('0x2b')];if(_0x1379c3===0x191){_0x1379c3=0x190;}_0x265c98[_0x8a77('0x1c')](_0x1379c3)[_0x8a77('0x67')](_0x593413['query'][_0x8a77('0x63')]?{'message':_0x8a77('0x68'),'statusCode':_0x4a645c[_0x8a77('0x64')]}:_0x4a645c);});};