Built motion from commit a679711e.|2.6.15
[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 _0x35ef=['json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','error','name','send','FreshsalesAccount','rawAttributes','fieldName','type','key','model','map','filters','intersection','query','fields','attributes','length','nolimit','sort','filter','where','merge','VIRTUAL','includeAll','include','rows','catch','show','params','keys','options','find','body','destroy','findOne','FreshsalesConfiguration','pick','hasOwnProperty','addConfiguration','Subjects','getSubjects','channel','create','FreshsalesField','Descriptions','getFields','username','remoteUri','apiKey','slice','substring','GET','format','%s%s','Token\x20token=','users','Requested\x20Resource\x20not\x20Found','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end'];(function(_0x20714a,_0x7de591){var _0x15e877=function(_0x3f9f8d){while(--_0x3f9f8d){_0x20714a['push'](_0x20714a['shift']());}};_0x15e877(++_0x7de591);}(_0x35ef,0x16a));var _0xf35e=function(_0x69d07b,_0x1aa0c5){_0x69d07b=_0x69d07b-0x0;var _0x40b5da=_0x35ef[_0x69d07b];return _0x40b5da;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xf35e('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf35e('0x1'));var rp=require(_0xf35e('0x2'));var moment=require(_0xf35e('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xf35e('0x4'));var util=require(_0xf35e('0x5'));var path=require(_0xf35e('0x6'));var sox=require(_0xf35e('0x7'));var csv=require(_0xf35e('0x8'));var ejs=require(_0xf35e('0x9'));var fs=require('fs');var fs_extra=require(_0xf35e('0xa'));var _=require('lodash');var squel=require(_0xf35e('0xb'));var crypto=require(_0xf35e('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xf35e('0xd'));var toCsv=require('to-csv');var querystring=require(_0xf35e('0xe'));var Papa=require(_0xf35e('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xf35e('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf35e('0x11'));var logger=require(_0xf35e('0x12'))(_0xf35e('0x13'));var utils=require(_0xf35e('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xf35e('0x15'));var db=require(_0xf35e('0x16'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x20752c,_0x2e81c5){_0x2e81c5=_0x2e81c5||0xcc;return function(_0x4e9ca0){if(_0x4e9ca0){return _0x20752c[_0xf35e('0x17')](_0x2e81c5);}return _0x20752c[_0xf35e('0x18')](_0x2e81c5)[_0xf35e('0x19')]();};}function respondWithResult(_0x11ef3a,_0x5391c8){_0x5391c8=_0x5391c8||0xc8;return function(_0x579298){if(_0x579298){return _0x11ef3a[_0xf35e('0x18')](_0x5391c8)[_0xf35e('0x1a')](_0x579298);}};}function respondWithFilteredResult(_0x1ce36c,_0x56b108){return function(_0x43318b){if(_0x43318b){var _0x1ffa72=typeof _0x56b108[_0xf35e('0x1b')]===_0xf35e('0x1c')&&typeof _0x56b108[_0xf35e('0x1d')]===_0xf35e('0x1c');var _0x1cc08a=_0x43318b[_0xf35e('0x1e')];var _0x5b75a0=_0x1ffa72?0x0:_0x56b108['offset'];var _0x5e9dcc=_0x1ffa72?_0x43318b[_0xf35e('0x1e')]:_0x56b108[_0xf35e('0x1b')]+_0x56b108[_0xf35e('0x1d')];var _0x639a06;if(_0x5e9dcc>=_0x1cc08a){_0x5e9dcc=_0x1cc08a;_0x639a06=0xc8;}else{_0x639a06=0xce;}_0x1ce36c[_0xf35e('0x18')](_0x639a06);return _0x1ce36c[_0xf35e('0x1f')](_0xf35e('0x20'),_0x5b75a0+'-'+_0x5e9dcc+'/'+_0x1cc08a)[_0xf35e('0x1a')](_0x43318b);}return null;};}function patchUpdates(_0x2d90a2){return function(_0x1a696d){try{jsonpatch[_0xf35e('0x21')](_0x1a696d,_0x2d90a2,!![]);}catch(_0x38598d){return BPromise[_0xf35e('0x22')](_0x38598d);}return _0x1a696d[_0xf35e('0x23')]();};}function saveUpdates(_0x4cea5e,_0x240b27){return function(_0x1b9523){if(_0x1b9523){return _0x1b9523['update'](_0x4cea5e)[_0xf35e('0x24')](function(_0x84ebcf){return _0x84ebcf;});}return null;};}function removeEntity(_0x1ada30,_0x527a3e){return function(_0x1e920b){if(_0x1e920b){return _0x1e920b['destroy']()[_0xf35e('0x24')](function(){_0x1ada30['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x82f750,_0x200b14){return function(_0x395dae){if(!_0x395dae){_0x82f750[_0xf35e('0x17')](0x194);}return _0x395dae;};}function handleError(_0x2d753d,_0x19c6f7){_0x19c6f7=_0x19c6f7||0x1f4;return function(_0x50d1f3){logger[_0xf35e('0x25')](_0x50d1f3['stack']);if(_0x50d1f3[_0xf35e('0x26')]){delete _0x50d1f3[_0xf35e('0x26')];}_0x2d753d[_0xf35e('0x18')](_0x19c6f7)[_0xf35e('0x27')](_0x50d1f3);};}exports['index']=function(_0xfa20a1,_0x49de90){var _0x2107a5={},_0x1e7707={},_0x561c34={'count':0x0,'rows':[]};var _0x449638=_['map'](db[_0xf35e('0x28')][_0xf35e('0x29')],function(_0x176e20){return{'name':_0x176e20[_0xf35e('0x2a')],'type':_0x176e20[_0xf35e('0x2b')][_0xf35e('0x2c')]};});_0x1e7707[_0xf35e('0x2d')]=_[_0xf35e('0x2e')](_0x449638,_0xf35e('0x26'));_0x1e7707['query']=_['keys'](_0xfa20a1['query']);_0x1e7707[_0xf35e('0x2f')]=_[_0xf35e('0x30')](_0x1e7707[_0xf35e('0x2d')],_0x1e7707[_0xf35e('0x31')]);_0x2107a5['attributes']=_[_0xf35e('0x30')](_0x1e7707['model'],qs[_0xf35e('0x32')](_0xfa20a1[_0xf35e('0x31')]['fields']));_0x2107a5[_0xf35e('0x33')]=_0x2107a5['attributes'][_0xf35e('0x34')]?_0x2107a5[_0xf35e('0x33')]:_0x1e7707[_0xf35e('0x2d')];if(!_0xfa20a1[_0xf35e('0x31')]['hasOwnProperty'](_0xf35e('0x35'))){_0x2107a5[_0xf35e('0x1d')]=qs[_0xf35e('0x1d')](_0xfa20a1['query'][_0xf35e('0x1d')]);_0x2107a5[_0xf35e('0x1b')]=qs[_0xf35e('0x1b')](_0xfa20a1[_0xf35e('0x31')]['offset']);}_0x2107a5['order']=qs[_0xf35e('0x36')](_0xfa20a1[_0xf35e('0x31')]['sort']);_0x2107a5['where']=qs[_0xf35e('0x2f')](_['pick'](_0xfa20a1[_0xf35e('0x31')],_0x1e7707[_0xf35e('0x2f')]),_0x449638);if(_0xfa20a1[_0xf35e('0x31')][_0xf35e('0x37')]){_0x2107a5[_0xf35e('0x38')]=_[_0xf35e('0x39')](_0x2107a5['where'],{'$or':_['map'](_0x449638,function(_0x3a3cbe){if(_0x3a3cbe[_0xf35e('0x2b')]!==_0xf35e('0x3a')){var _0x51bbcd={};_0x51bbcd[_0x3a3cbe[_0xf35e('0x26')]]={'$like':'%'+_0xfa20a1['query'][_0xf35e('0x37')]+'%'};return _0x51bbcd;}})});}_0x2107a5=_[_0xf35e('0x39')]({},_0x2107a5,_0xfa20a1['options']);var _0x3a0f07={'where':_0x2107a5[_0xf35e('0x38')]};return db[_0xf35e('0x28')]['count'](_0x3a0f07)[_0xf35e('0x24')](function(_0x8aa8e9){_0x561c34[_0xf35e('0x1e')]=_0x8aa8e9;if(_0xfa20a1[_0xf35e('0x31')][_0xf35e('0x3b')]){_0x2107a5[_0xf35e('0x3c')]=[{'all':!![]}];}return db[_0xf35e('0x28')]['findAll'](_0x2107a5);})[_0xf35e('0x24')](function(_0x828ea9){_0x561c34[_0xf35e('0x3d')]=_0x828ea9;return _0x561c34;})[_0xf35e('0x24')](respondWithFilteredResult(_0x49de90,_0x2107a5))[_0xf35e('0x3e')](handleError(_0x49de90,null));};exports[_0xf35e('0x3f')]=function(_0x55313b,_0x3d305a){var _0xcf7507={'raw':![],'where':{'id':_0x55313b[_0xf35e('0x40')]['id']}},_0x101beb={};_0x101beb[_0xf35e('0x2d')]=_[_0xf35e('0x41')](db[_0xf35e('0x28')][_0xf35e('0x29')]);_0x101beb[_0xf35e('0x31')]=_[_0xf35e('0x41')](_0x55313b[_0xf35e('0x31')]);_0x101beb[_0xf35e('0x2f')]=_[_0xf35e('0x30')](_0x101beb[_0xf35e('0x2d')],_0x101beb[_0xf35e('0x31')]);_0xcf7507[_0xf35e('0x33')]=_[_0xf35e('0x30')](_0x101beb['model'],qs[_0xf35e('0x32')](_0x55313b[_0xf35e('0x31')][_0xf35e('0x32')]));_0xcf7507[_0xf35e('0x33')]=_0xcf7507[_0xf35e('0x33')][_0xf35e('0x34')]?_0xcf7507[_0xf35e('0x33')]:_0x101beb['model'];if(_0x55313b['query'][_0xf35e('0x3b')]){_0xcf7507[_0xf35e('0x3c')]=[{'all':!![]}];}_0xcf7507=_[_0xf35e('0x39')]({},_0xcf7507,_0x55313b[_0xf35e('0x42')]);return db[_0xf35e('0x28')][_0xf35e('0x43')](_0xcf7507)['then'](handleEntityNotFound(_0x3d305a,null))[_0xf35e('0x24')](respondWithResult(_0x3d305a,null))[_0xf35e('0x3e')](handleError(_0x3d305a,null));};exports['create']=function(_0x1f9587,_0x14ffc5){return db['FreshsalesAccount']['create'](_0x1f9587[_0xf35e('0x44')],{})[_0xf35e('0x24')](respondWithResult(_0x14ffc5,0xc9))[_0xf35e('0x3e')](handleError(_0x14ffc5,null));};exports['update']=function(_0x5acb21,_0x329963){if(_0x5acb21[_0xf35e('0x44')]['id']){delete _0x5acb21['body']['id'];}return db['FreshsalesAccount'][_0xf35e('0x43')]({'where':{'id':_0x5acb21[_0xf35e('0x40')]['id']}})[_0xf35e('0x24')](handleEntityNotFound(_0x329963,null))[_0xf35e('0x24')](saveUpdates(_0x5acb21[_0xf35e('0x44')],null))[_0xf35e('0x24')](respondWithResult(_0x329963,null))[_0xf35e('0x3e')](handleError(_0x329963,null));};exports[_0xf35e('0x45')]=function(_0x2d2aa9,_0x54a51f){return db['FreshsalesAccount'][_0xf35e('0x43')]({'where':{'id':_0x2d2aa9[_0xf35e('0x40')]['id']}})[_0xf35e('0x24')](handleEntityNotFound(_0x54a51f,null))[_0xf35e('0x24')](removeEntity(_0x54a51f,null))[_0xf35e('0x3e')](handleError(_0x54a51f,null));};exports['getConfigurations']=function(_0x30df7a,_0x3a5d0c,_0x4936bf){var _0x90021c={};var _0x55dace={};var _0x20b53e;var _0x1972b1;return db[_0xf35e('0x28')][_0xf35e('0x46')]({'where':{'id':_0x30df7a[_0xf35e('0x40')]['id']}})[_0xf35e('0x24')](handleEntityNotFound(_0x3a5d0c,null))[_0xf35e('0x24')](function(_0x326f40){if(_0x326f40){_0x20b53e=_0x326f40;_0x55dace[_0xf35e('0x2d')]=_['keys'](db[_0xf35e('0x47')]['rawAttributes']);_0x55dace[_0xf35e('0x31')]=_[_0xf35e('0x41')](_0x30df7a[_0xf35e('0x31')]);_0x55dace[_0xf35e('0x2f')]=_['intersection'](_0x55dace['model'],_0x55dace[_0xf35e('0x31')]);_0x90021c[_0xf35e('0x33')]=_[_0xf35e('0x30')](_0x55dace[_0xf35e('0x2d')],qs[_0xf35e('0x32')](_0x30df7a[_0xf35e('0x31')][_0xf35e('0x32')]));_0x90021c['attributes']=_0x90021c[_0xf35e('0x33')][_0xf35e('0x34')]?_0x90021c[_0xf35e('0x33')]:_0x55dace['model'];_0x90021c['order']=qs['sort'](_0x30df7a[_0xf35e('0x31')]['sort']);_0x90021c[_0xf35e('0x38')]=qs['filters'](_[_0xf35e('0x48')](_0x30df7a[_0xf35e('0x31')],_0x55dace['filters']));if(_0x30df7a[_0xf35e('0x31')][_0xf35e('0x37')]){_0x90021c[_0xf35e('0x38')]=_[_0xf35e('0x39')](_0x90021c[_0xf35e('0x38')],{'$or':_[_0xf35e('0x2e')](_0x90021c[_0xf35e('0x33')],function(_0x3b8d93){var _0x160b73={};_0x160b73[_0x3b8d93]={'$like':'%'+_0x30df7a[_0xf35e('0x31')]['filter']+'%'};return _0x160b73;})});}_0x90021c=_[_0xf35e('0x39')]({},_0x90021c,_0x30df7a['options']);return _0x20b53e['getConfigurations'](_0x90021c);}})[_0xf35e('0x24')](function(_0x43d885){if(_0x43d885){_0x1972b1=_0x43d885[_0xf35e('0x34')];if(!_0x30df7a[_0xf35e('0x31')][_0xf35e('0x49')]('nolimit')){_0x90021c[_0xf35e('0x1d')]=qs[_0xf35e('0x1d')](_0x30df7a[_0xf35e('0x31')][_0xf35e('0x1d')]);_0x90021c[_0xf35e('0x1b')]=qs[_0xf35e('0x1b')](_0x30df7a[_0xf35e('0x31')][_0xf35e('0x1b')]);}return _0x20b53e['getConfigurations'](_0x90021c);}})[_0xf35e('0x24')](function(_0x53b94f){if(_0x53b94f){return _0x53b94f?{'count':_0x1972b1,'rows':_0x53b94f}:null;}})[_0xf35e('0x24')](respondWithResult(_0x3a5d0c,null))[_0xf35e('0x3e')](handleError(_0x3a5d0c,null));};exports[_0xf35e('0x4a')]=function(_0x227a8b,_0x5190ab,_0x27ff18){if(_0x227a8b[_0xf35e('0x44')]['id']){delete _0x227a8b['body']['id'];}return db[_0xf35e('0x28')][_0xf35e('0x46')]({'where':{'id':_0x227a8b[_0xf35e('0x40')]['id']}})[_0xf35e('0x24')](handleEntityNotFound(_0x5190ab,null))[_0xf35e('0x24')](function(_0x16a305){if(_0x16a305){_0x227a8b['body']['AccountId']=_0x16a305['id'];_0x227a8b[_0xf35e('0x44')][_0xf35e('0x4b')]=integrations[_0xf35e('0x4c')](_0x227a8b['body'][_0xf35e('0x4d')],_0x227a8b[_0xf35e('0x44')][_0xf35e('0x2b')]);_0x227a8b['body']['Descriptions']=integrations['getDescriptions'](_0x227a8b['body'][_0xf35e('0x4d')],_0x227a8b[_0xf35e('0x44')]['type']);return db['FreshsalesConfiguration'][_0xf35e('0x4e')](_0x227a8b[_0xf35e('0x44')],{'include':[{'model':db['FreshsalesField'],'as':_0xf35e('0x4b')},{'model':db[_0xf35e('0x4f')],'as':_0xf35e('0x50')}]});}return null;})['then'](respondWithResult(_0x5190ab,null))[_0xf35e('0x3e')](handleError(_0x5190ab,null));};exports[_0xf35e('0x51')]=function(_0x41f973,_0xe7fc4a,_0x328065){var _0x54fc2b='';var _0x49f88a='';return db[_0xf35e('0x28')][_0xf35e('0x46')]({'where':{'id':_0x41f973[_0xf35e('0x40')]['id']},'attributes':['id',_0xf35e('0x52'),_0xf35e('0x53'),_0xf35e('0x54')]})[_0xf35e('0x24')](handleEntityNotFound(_0xe7fc4a,null))[_0xf35e('0x24')](function(_0x18c689){if(_0x18c689){_0x49f88a=_0x18c689['username'];_0x54fc2b=_0x18c689[_0xf35e('0x53')];var _0x4325f4=_0x18c689[_0xf35e('0x53')][_0xf35e('0x55')](-0x1);if(_0x4325f4==='/'){_0x54fc2b=_0x54fc2b[_0xf35e('0x56')](0x0,_0x54fc2b['lastIndexOf'](_0x4325f4));}return rp({'method':_0xf35e('0x57'),'uri':util[_0xf35e('0x58')](_0xf35e('0x59'),_0x54fc2b,'/api/selector/owners'),'headers':{'Authorization':_0xf35e('0x5a')+_0x18c689['apiKey']},'json':!![]});}})[_0xf35e('0x24')](function(_0x3231ec){if(_0x3231ec){var _0x3efec9=_0x3231ec[_0xf35e('0x5b')];var _0x1bab93=![];var _0x2b8328=null;for(_0x2b8328=0x0;_0x2b8328<_0x3efec9['length'];_0x2b8328++){if(_0x3efec9[_0x2b8328]['email']===_0x49f88a){_0x1bab93=!![];}}if(_0x1bab93){return!![];}else{throw new Error({'statusCode':0x194,'message':_0xf35e('0x5c')});}}})[_0xf35e('0x24')](respondWithResult(_0xe7fc4a,null))[_0xf35e('0x3e')](function(_0x225c4c){var _0x5c7fe7=_0x41f973[_0xf35e('0x31')][_0xf35e('0x5d')]?0x1f4:_0x225c4c[_0xf35e('0x5e')]||0x1f4;logger[_0xf35e('0x25')](_0xf35e('0x5f'),'getFields',_0x5c7fe7,JSON['stringify'](_0x225c4c));delete _0x225c4c[_0xf35e('0x26')];if(_0x5c7fe7===0x191){_0x5c7fe7=0x190;}_0xe7fc4a['status'](_0x5c7fe7)[_0xf35e('0x27')](_0x41f973[_0xf35e('0x31')][_0xf35e('0x5d')]?{'message':_0xf35e('0x60'),'statusCode':_0x225c4c['statusCode']}:_0x225c4c);});};