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 _0x11f0=['name','index','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','show','params','find','catch','create','body','getConfigurations','findOne','FreshsalesConfiguration','order','addConfiguration','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','FreshsalesField','getFields','username','remoteUri','apiKey','slice','substring','lastIndexOf','GET','format','%s%s','/api/selector/owners','users','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','send','zip-dir','request-promise','mustache','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','status','json','undefined','limit','count','offset','set','apply','reject','save','update','then','destroy','sendStatus','error','stack'];(function(_0x2b81be,_0x544bdf){var _0x8ed4a7=function(_0x4a7bf4){while(--_0x4a7bf4){_0x2b81be['push'](_0x2b81be['shift']());}};_0x8ed4a7(++_0x544bdf);}(_0x11f0,0x1ce));var _0x011f=function(_0x4015cd,_0x5aec08){_0x4015cd=_0x4015cd-0x0;var _0xc157e8=_0x11f0[_0x4015cd];return _0xc157e8;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x011f('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x011f('0x1'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x011f('0x2'));var util=require('util');var path=require(_0x011f('0x3'));var sox=require(_0x011f('0x4'));var csv=require(_0x011f('0x5'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x011f('0x6'));var squel=require(_0x011f('0x7'));var crypto=require(_0x011f('0x8'));var jsforce=require(_0x011f('0x9'));var deskjs=require(_0x011f('0xa'));var toCsv=require('to-csv');var querystring=require(_0x011f('0xb'));var Papa=require(_0x011f('0xc'));var Redis=require('ioredis');var authService=require(_0x011f('0xd'));var qs=require(_0x011f('0xe'));var as=require(_0x011f('0xf'));var hardwareService=require(_0x011f('0x10'));var logger=require(_0x011f('0x11'))('api');var utils=require(_0x011f('0x12'));var config=require(_0x011f('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x011f('0x14'))['db'];var integrations=require(_0x011f('0x15'));function respondWithStatusCode(_0x16b060,_0x171422){_0x171422=_0x171422||0xcc;return function(_0x574bcb){if(_0x574bcb){return _0x16b060['sendStatus'](_0x171422);}return _0x16b060[_0x011f('0x16')](_0x171422)['end']();};}function respondWithResult(_0x5c7a77,_0x35f249){_0x35f249=_0x35f249||0xc8;return function(_0x6000b4){if(_0x6000b4){return _0x5c7a77['status'](_0x35f249)[_0x011f('0x17')](_0x6000b4);}};}function respondWithFilteredResult(_0x132df4,_0x3e0b10){return function(_0x3e545e){if(_0x3e545e){var _0x30dbb3=typeof _0x3e0b10['offset']===_0x011f('0x18')&&typeof _0x3e0b10[_0x011f('0x19')]===_0x011f('0x18');var _0x3d8d27=_0x3e545e[_0x011f('0x1a')];var _0x50c98e=_0x30dbb3?0x0:_0x3e0b10[_0x011f('0x1b')];var _0x7f9760=_0x30dbb3?_0x3e545e[_0x011f('0x1a')]:_0x3e0b10[_0x011f('0x1b')]+_0x3e0b10[_0x011f('0x19')];var _0x222884;if(_0x7f9760>=_0x3d8d27){_0x7f9760=_0x3d8d27;_0x222884=0xc8;}else{_0x222884=0xce;}_0x132df4[_0x011f('0x16')](_0x222884);return _0x132df4[_0x011f('0x1c')]('Content-Range',_0x50c98e+'-'+_0x7f9760+'/'+_0x3d8d27)[_0x011f('0x17')](_0x3e545e);}return null;};}function patchUpdates(_0x5da00b){return function(_0x28f8a8){try{jsonpatch[_0x011f('0x1d')](_0x28f8a8,_0x5da00b,!![]);}catch(_0x3dbdf9){return BPromise[_0x011f('0x1e')](_0x3dbdf9);}return _0x28f8a8[_0x011f('0x1f')]();};}function saveUpdates(_0x1c5a59,_0x23ff76){return function(_0x54c36f){if(_0x54c36f){return _0x54c36f[_0x011f('0x20')](_0x1c5a59)[_0x011f('0x21')](function(_0x601296){return _0x601296;});}return null;};}function removeEntity(_0xcd9096,_0x42a645){return function(_0x57887d){if(_0x57887d){return _0x57887d[_0x011f('0x22')]()[_0x011f('0x21')](function(){_0xcd9096[_0x011f('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x6d4d62,_0x302fd4){return function(_0x50a56c){if(!_0x50a56c){_0x6d4d62[_0x011f('0x23')](0x194);}return _0x50a56c;};}function handleError(_0xe32e0c,_0x330a7a){_0x330a7a=_0x330a7a||0x1f4;return function(_0xa7ec92){logger[_0x011f('0x24')](_0xa7ec92[_0x011f('0x25')]);if(_0xa7ec92['name']){delete _0xa7ec92[_0x011f('0x26')];}_0xe32e0c[_0x011f('0x16')](_0x330a7a)['send'](_0xa7ec92);};}exports[_0x011f('0x27')]=function(_0x5534d8,_0x3d8f97){var _0x255887={},_0x1b1d6f={},_0xd091db={'count':0x0,'rows':[]};var _0xf9b236=_[_0x011f('0x28')](db[_0x011f('0x29')][_0x011f('0x2a')],function(_0x59b0d5){return{'name':_0x59b0d5[_0x011f('0x2b')],'type':_0x59b0d5[_0x011f('0x2c')][_0x011f('0x2d')]};});_0x1b1d6f[_0x011f('0x2e')]=_[_0x011f('0x28')](_0xf9b236,_0x011f('0x26'));_0x1b1d6f[_0x011f('0x2f')]=_[_0x011f('0x30')](_0x5534d8['query']);_0x1b1d6f[_0x011f('0x31')]=_[_0x011f('0x32')](_0x1b1d6f[_0x011f('0x2e')],_0x1b1d6f[_0x011f('0x2f')]);_0x255887[_0x011f('0x33')]=_[_0x011f('0x32')](_0x1b1d6f[_0x011f('0x2e')],qs['fields'](_0x5534d8[_0x011f('0x2f')][_0x011f('0x34')]));_0x255887[_0x011f('0x33')]=_0x255887[_0x011f('0x33')][_0x011f('0x35')]?_0x255887['attributes']:_0x1b1d6f[_0x011f('0x2e')];if(!_0x5534d8['query'][_0x011f('0x36')](_0x011f('0x37'))){_0x255887[_0x011f('0x19')]=qs[_0x011f('0x19')](_0x5534d8[_0x011f('0x2f')][_0x011f('0x19')]);_0x255887[_0x011f('0x1b')]=qs[_0x011f('0x1b')](_0x5534d8[_0x011f('0x2f')][_0x011f('0x1b')]);}_0x255887['order']=qs[_0x011f('0x38')](_0x5534d8['query'][_0x011f('0x38')]);_0x255887[_0x011f('0x39')]=qs[_0x011f('0x31')](_[_0x011f('0x3a')](_0x5534d8['query'],_0x1b1d6f[_0x011f('0x31')]),_0xf9b236);if(_0x5534d8['query'][_0x011f('0x3b')]){_0x255887['where']=_[_0x011f('0x3c')](_0x255887['where'],{'$or':_[_0x011f('0x28')](_0xf9b236,function(_0x6a7b92){if(_0x6a7b92[_0x011f('0x2c')]!=='VIRTUAL'){var _0x1ec7d6={};_0x1ec7d6[_0x6a7b92['name']]={'$like':'%'+_0x5534d8['query']['filter']+'%'};return _0x1ec7d6;}})});}_0x255887=_[_0x011f('0x3c')]({},_0x255887,_0x5534d8[_0x011f('0x3d')]);var _0x78f0fc={'where':_0x255887[_0x011f('0x39')]};return db[_0x011f('0x29')][_0x011f('0x1a')](_0x78f0fc)[_0x011f('0x21')](function(_0x3d2524){_0xd091db[_0x011f('0x1a')]=_0x3d2524;if(_0x5534d8[_0x011f('0x2f')][_0x011f('0x3e')]){_0x255887[_0x011f('0x3f')]=[{'all':!![]}];}return db['FreshsalesAccount'][_0x011f('0x40')](_0x255887);})[_0x011f('0x21')](function(_0x3642e3){_0xd091db[_0x011f('0x41')]=_0x3642e3;return _0xd091db;})[_0x011f('0x21')](respondWithFilteredResult(_0x3d8f97,_0x255887))['catch'](handleError(_0x3d8f97,null));};exports[_0x011f('0x42')]=function(_0x413229,_0x51346f){var _0x3fa06f={'raw':![],'where':{'id':_0x413229[_0x011f('0x43')]['id']}},_0x24f539={};_0x24f539['model']=_[_0x011f('0x30')](db[_0x011f('0x29')][_0x011f('0x2a')]);_0x24f539[_0x011f('0x2f')]=_[_0x011f('0x30')](_0x413229[_0x011f('0x2f')]);_0x24f539[_0x011f('0x31')]=_['intersection'](_0x24f539[_0x011f('0x2e')],_0x24f539[_0x011f('0x2f')]);_0x3fa06f[_0x011f('0x33')]=_['intersection'](_0x24f539[_0x011f('0x2e')],qs[_0x011f('0x34')](_0x413229[_0x011f('0x2f')][_0x011f('0x34')]));_0x3fa06f[_0x011f('0x33')]=_0x3fa06f[_0x011f('0x33')][_0x011f('0x35')]?_0x3fa06f[_0x011f('0x33')]:_0x24f539['model'];if(_0x413229['query']['includeAll']){_0x3fa06f[_0x011f('0x3f')]=[{'all':!![]}];}_0x3fa06f=_[_0x011f('0x3c')]({},_0x3fa06f,_0x413229[_0x011f('0x3d')]);return db[_0x011f('0x29')][_0x011f('0x44')](_0x3fa06f)[_0x011f('0x21')](handleEntityNotFound(_0x51346f,null))[_0x011f('0x21')](respondWithResult(_0x51346f,null))[_0x011f('0x45')](handleError(_0x51346f,null));};exports['create']=function(_0x4469f1,_0x10b330){return db[_0x011f('0x29')][_0x011f('0x46')](_0x4469f1[_0x011f('0x47')],{})[_0x011f('0x21')](respondWithResult(_0x10b330,0xc9))[_0x011f('0x45')](handleError(_0x10b330,null));};exports['update']=function(_0x1946a3,_0x454638){if(_0x1946a3[_0x011f('0x47')]['id']){delete _0x1946a3['body']['id'];}return db[_0x011f('0x29')][_0x011f('0x44')]({'where':{'id':_0x1946a3[_0x011f('0x43')]['id']}})[_0x011f('0x21')](handleEntityNotFound(_0x454638,null))[_0x011f('0x21')](saveUpdates(_0x1946a3[_0x011f('0x47')],null))['then'](respondWithResult(_0x454638,null))[_0x011f('0x45')](handleError(_0x454638,null));};exports[_0x011f('0x22')]=function(_0x25c346,_0x2a192c){return db[_0x011f('0x29')][_0x011f('0x44')]({'where':{'id':_0x25c346[_0x011f('0x43')]['id']}})[_0x011f('0x21')](handleEntityNotFound(_0x2a192c,null))['then'](removeEntity(_0x2a192c,null))[_0x011f('0x45')](handleError(_0x2a192c,null));};exports[_0x011f('0x48')]=function(_0x3a06d7,_0x56e670,_0x6bd344){var _0x1b0318={};var _0x563171={};var _0x1e37cb;var _0x1162e2;return db['FreshsalesAccount'][_0x011f('0x49')]({'where':{'id':_0x3a06d7[_0x011f('0x43')]['id']}})[_0x011f('0x21')](handleEntityNotFound(_0x56e670,null))['then'](function(_0x44c0a0){if(_0x44c0a0){_0x1e37cb=_0x44c0a0;_0x563171['model']=_[_0x011f('0x30')](db[_0x011f('0x4a')][_0x011f('0x2a')]);_0x563171[_0x011f('0x2f')]=_['keys'](_0x3a06d7['query']);_0x563171[_0x011f('0x31')]=_[_0x011f('0x32')](_0x563171[_0x011f('0x2e')],_0x563171[_0x011f('0x2f')]);_0x1b0318[_0x011f('0x33')]=_['intersection'](_0x563171[_0x011f('0x2e')],qs[_0x011f('0x34')](_0x3a06d7[_0x011f('0x2f')][_0x011f('0x34')]));_0x1b0318[_0x011f('0x33')]=_0x1b0318[_0x011f('0x33')][_0x011f('0x35')]?_0x1b0318[_0x011f('0x33')]:_0x563171['model'];_0x1b0318[_0x011f('0x4b')]=qs['sort'](_0x3a06d7['query'][_0x011f('0x38')]);_0x1b0318[_0x011f('0x39')]=qs[_0x011f('0x31')](_[_0x011f('0x3a')](_0x3a06d7[_0x011f('0x2f')],_0x563171[_0x011f('0x31')]));if(_0x3a06d7['query'][_0x011f('0x3b')]){_0x1b0318[_0x011f('0x39')]=_[_0x011f('0x3c')](_0x1b0318[_0x011f('0x39')],{'$or':_[_0x011f('0x28')](_0x1b0318[_0x011f('0x33')],function(_0x375aa4){var _0x500209={};_0x500209[_0x375aa4]={'$like':'%'+_0x3a06d7[_0x011f('0x2f')]['filter']+'%'};return _0x500209;})});}_0x1b0318=_[_0x011f('0x3c')]({},_0x1b0318,_0x3a06d7[_0x011f('0x3d')]);return _0x1e37cb[_0x011f('0x48')](_0x1b0318);}})[_0x011f('0x21')](function(_0x1358c4){if(_0x1358c4){_0x1162e2=_0x1358c4[_0x011f('0x35')];if(!_0x3a06d7[_0x011f('0x2f')][_0x011f('0x36')](_0x011f('0x37'))){_0x1b0318[_0x011f('0x19')]=qs[_0x011f('0x19')](_0x3a06d7['query'][_0x011f('0x19')]);_0x1b0318['offset']=qs[_0x011f('0x1b')](_0x3a06d7[_0x011f('0x2f')]['offset']);}return _0x1e37cb['getConfigurations'](_0x1b0318);}})[_0x011f('0x21')](function(_0x68c7e4){if(_0x68c7e4){return _0x68c7e4?{'count':_0x1162e2,'rows':_0x68c7e4}:null;}})[_0x011f('0x21')](respondWithResult(_0x56e670,null))[_0x011f('0x45')](handleError(_0x56e670,null));};exports[_0x011f('0x4c')]=function(_0xffc6c1,_0x4f6c63,_0x73ee1d){if(_0xffc6c1[_0x011f('0x47')]['id']){delete _0xffc6c1['body']['id'];}return db[_0x011f('0x29')]['findOne']({'where':{'id':_0xffc6c1[_0x011f('0x43')]['id']}})[_0x011f('0x21')](handleEntityNotFound(_0x4f6c63,null))['then'](function(_0x17b33c){if(_0x17b33c){_0xffc6c1[_0x011f('0x47')][_0x011f('0x4d')]=_0x17b33c['id'];_0xffc6c1[_0x011f('0x47')][_0x011f('0x4e')]=integrations[_0x011f('0x4f')](_0xffc6c1[_0x011f('0x47')]['channel'],_0xffc6c1[_0x011f('0x47')][_0x011f('0x2c')]);_0xffc6c1[_0x011f('0x47')][_0x011f('0x50')]=integrations[_0x011f('0x51')](_0xffc6c1[_0x011f('0x47')]['channel'],_0xffc6c1[_0x011f('0x47')][_0x011f('0x2c')]);return db['FreshsalesConfiguration'][_0x011f('0x46')](_0xffc6c1['body'],{'include':[{'model':db[_0x011f('0x52')],'as':_0x011f('0x4e')},{'model':db[_0x011f('0x52')],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0x4f6c63,null))[_0x011f('0x45')](handleError(_0x4f6c63,null));};exports[_0x011f('0x53')]=function(_0x39a5cd,_0x3a8f6e,_0x3caf7d){var _0xd1ab5e='';var _0xac2d4d='';return db[_0x011f('0x29')][_0x011f('0x49')]({'where':{'id':_0x39a5cd[_0x011f('0x43')]['id']},'attributes':['id',_0x011f('0x54'),_0x011f('0x55'),_0x011f('0x56')]})[_0x011f('0x21')](handleEntityNotFound(_0x3a8f6e,null))[_0x011f('0x21')](function(_0x91f62c){if(_0x91f62c){_0xac2d4d=_0x91f62c[_0x011f('0x54')];_0xd1ab5e=_0x91f62c[_0x011f('0x55')];var _0x5f0e6d=_0x91f62c[_0x011f('0x55')][_0x011f('0x57')](-0x1);if(_0x5f0e6d==='/'){_0xd1ab5e=_0xd1ab5e[_0x011f('0x58')](0x0,_0xd1ab5e[_0x011f('0x59')](_0x5f0e6d));}return rp({'method':_0x011f('0x5a'),'uri':util[_0x011f('0x5b')](_0x011f('0x5c'),_0xd1ab5e,_0x011f('0x5d')),'headers':{'Authorization':'Token\x20token='+_0x91f62c[_0x011f('0x56')]},'json':!![]});}})['then'](function(_0x5ec44d){if(_0x5ec44d){var _0x5c5f6d=_0x5ec44d[_0x011f('0x5e')];var _0xfb16f=![];var _0x535e26=null;for(_0x535e26=0x0;_0x535e26<_0x5c5f6d[_0x011f('0x35')];_0x535e26++){if(_0x5c5f6d[_0x535e26]['email']===_0xac2d4d){_0xfb16f=!![];}}if(_0xfb16f){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0x011f('0x21')](respondWithResult(_0x3a8f6e,null))[_0x011f('0x45')](function(_0x397cb4){var _0x1f19ca=_0x39a5cd[_0x011f('0x2f')][_0x011f('0x5f')]?0x1f4:_0x397cb4[_0x011f('0x60')]||0x1f4;logger[_0x011f('0x24')](_0x011f('0x61'),'getFields',_0x1f19ca,JSON[_0x011f('0x62')](_0x397cb4));delete _0x397cb4[_0x011f('0x26')];if(_0x1f19ca===0x191){_0x1f19ca=0x190;}_0x3a8f6e['status'](_0x1f19ca)[_0x011f('0x63')](_0x39a5cd[_0x011f('0x2f')][_0x011f('0x5f')]?{'message':'Wrong\x20credentials','statusCode':_0x397cb4[_0x011f('0x60')]}:_0x397cb4);});};