Built motion from commit ff426b3f.|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 _0xa917=['Content-Range','apply','save','update','then','destroy','error','stack','name','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','intersection','create','body','find','FreshsalesConfiguration','getConfigurations','addConfiguration','Subjects','getSubjects','Descriptions','getDescriptions','channel','FreshsalesField','getFields','username','remoteUri','apiKey','lastIndexOf','format','%s%s','/api/selector/owners','Token\x20token=','email','Requested\x20Resource\x20not\x20Found','test','getFields,\x20%s,\x20%s,\x20%s','stringify','statusCode','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','offset','limit','undefined','count'];(function(_0x1267f9,_0xef5dda){var _0x18cce0=function(_0x136535){while(--_0x136535){_0x1267f9['push'](_0x1267f9['shift']());}};_0x18cce0(++_0xef5dda);}(_0xa917,0x168));var _0x7a91=function(_0x59ee6f,_0x450239){_0x59ee6f=_0x59ee6f-0x0;var _0x4c0979=_0xa917[_0x59ee6f];return _0x4c0979;};'use strict';var emlformat=require(_0x7a91('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x7a91('0x1'));var rp=require(_0x7a91('0x2'));var moment=require(_0x7a91('0x3'));var BPromise=require(_0x7a91('0x4'));var Mustache=require(_0x7a91('0x5'));var util=require(_0x7a91('0x6'));var path=require('path');var sox=require(_0x7a91('0x7'));var csv=require(_0x7a91('0x8'));var ejs=require(_0x7a91('0x9'));var fs=require('fs');var fs_extra=require(_0x7a91('0xa'));var _=require(_0x7a91('0xb'));var squel=require(_0x7a91('0xc'));var crypto=require(_0x7a91('0xd'));var jsforce=require(_0x7a91('0xe'));var deskjs=require(_0x7a91('0xf'));var toCsv=require(_0x7a91('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x7a91('0x10'));var qs=require(_0x7a91('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x7a91('0x12'))(_0x7a91('0x13'));var utils=require(_0x7a91('0x14'));var config=require(_0x7a91('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x7a91('0x16'))['db'];var integrations=require(_0x7a91('0x17'));function respondWithStatusCode(_0x32a456,_0x5e2a2){_0x5e2a2=_0x5e2a2||0xcc;return function(_0x19b132){if(_0x19b132){return _0x32a456[_0x7a91('0x18')](_0x5e2a2);}return _0x32a456[_0x7a91('0x19')](_0x5e2a2)[_0x7a91('0x1a')]();};}function respondWithResult(_0x21a092,_0x3fe09d){_0x3fe09d=_0x3fe09d||0xc8;return function(_0x46e315){if(_0x46e315){return _0x21a092[_0x7a91('0x19')](_0x3fe09d)[_0x7a91('0x1b')](_0x46e315);}};}function respondWithFilteredResult(_0x51346f,_0x66f6ed){return function(_0x5a15b6){if(_0x5a15b6){var _0x8b1a33=typeof _0x66f6ed[_0x7a91('0x1c')]==='undefined'&&typeof _0x66f6ed[_0x7a91('0x1d')]===_0x7a91('0x1e');var _0x3b00c0=_0x5a15b6[_0x7a91('0x1f')];var _0x2a085b=_0x8b1a33?0x0:_0x66f6ed[_0x7a91('0x1c')];var _0x268fa6=_0x8b1a33?_0x5a15b6[_0x7a91('0x1f')]:_0x66f6ed[_0x7a91('0x1c')]+_0x66f6ed[_0x7a91('0x1d')];var _0xf5f071;if(_0x268fa6>=_0x3b00c0){_0x268fa6=_0x3b00c0;_0xf5f071=0xc8;}else{_0xf5f071=0xce;}_0x51346f[_0x7a91('0x19')](_0xf5f071);return _0x51346f['set'](_0x7a91('0x20'),_0x2a085b+'-'+_0x268fa6+'/'+_0x3b00c0)[_0x7a91('0x1b')](_0x5a15b6);}return null;};}function patchUpdates(_0x46add2){return function(_0x1e7fce){try{jsonpatch[_0x7a91('0x21')](_0x1e7fce,_0x46add2,!![]);}catch(_0x995bcc){return BPromise['reject'](_0x995bcc);}return _0x1e7fce[_0x7a91('0x22')]();};}function saveUpdates(_0x3b19b1,_0x4af7ce){return function(_0x502aa2){if(_0x502aa2){return _0x502aa2[_0x7a91('0x23')](_0x3b19b1)[_0x7a91('0x24')](function(_0x5aa1b8){return _0x5aa1b8;});}return null;};}function removeEntity(_0x1fd338,_0x592cb3){return function(_0x47d559){if(_0x47d559){return _0x47d559[_0x7a91('0x25')]()[_0x7a91('0x24')](function(){_0x1fd338['status'](0xcc)[_0x7a91('0x1a')]();});}};}function handleEntityNotFound(_0x24c33e,_0xa872b7){return function(_0x66f7e4){if(!_0x66f7e4){_0x24c33e['sendStatus'](0x194);}return _0x66f7e4;};}function handleError(_0x31cfda,_0x3d4476){_0x3d4476=_0x3d4476||0x1f4;return function(_0x43609f){logger[_0x7a91('0x26')](_0x43609f[_0x7a91('0x27')]);if(_0x43609f[_0x7a91('0x28')]){delete _0x43609f['name'];}_0x31cfda[_0x7a91('0x19')](_0x3d4476)['send'](_0x43609f);};}exports['index']=function(_0x98c656,_0x5e6a2b){var _0x471ae5={},_0x7176c0={},_0x5595b4={'count':0x0,'rows':[]};var _0x20c8b0=_[_0x7a91('0x29')](db[_0x7a91('0x2a')][_0x7a91('0x2b')],function(_0xf948af){return{'name':_0xf948af[_0x7a91('0x2c')],'type':_0xf948af[_0x7a91('0x2d')][_0x7a91('0x2e')]};});_0x7176c0[_0x7a91('0x2f')]=_[_0x7a91('0x29')](_0x20c8b0,'name');_0x7176c0[_0x7a91('0x30')]=_[_0x7a91('0x31')](_0x98c656[_0x7a91('0x30')]);_0x7176c0[_0x7a91('0x32')]=_['intersection'](_0x7176c0[_0x7a91('0x2f')],_0x7176c0['query']);_0x471ae5[_0x7a91('0x33')]=_['intersection'](_0x7176c0[_0x7a91('0x2f')],qs[_0x7a91('0x34')](_0x98c656[_0x7a91('0x30')][_0x7a91('0x34')]));_0x471ae5['attributes']=_0x471ae5[_0x7a91('0x33')][_0x7a91('0x35')]?_0x471ae5[_0x7a91('0x33')]:_0x7176c0[_0x7a91('0x2f')];if(!_0x98c656[_0x7a91('0x30')][_0x7a91('0x36')](_0x7a91('0x37'))){_0x471ae5[_0x7a91('0x1d')]=qs['limit'](_0x98c656[_0x7a91('0x30')][_0x7a91('0x1d')]);_0x471ae5[_0x7a91('0x1c')]=qs[_0x7a91('0x1c')](_0x98c656[_0x7a91('0x30')][_0x7a91('0x1c')]);}_0x471ae5[_0x7a91('0x38')]=qs['sort'](_0x98c656[_0x7a91('0x30')][_0x7a91('0x39')]);_0x471ae5[_0x7a91('0x3a')]=qs[_0x7a91('0x32')](_[_0x7a91('0x3b')](_0x98c656[_0x7a91('0x30')],_0x7176c0[_0x7a91('0x32')]),_0x20c8b0);if(_0x98c656['query']['filter']){_0x471ae5[_0x7a91('0x3a')]=_[_0x7a91('0x3c')](_0x471ae5['where'],{'$or':_[_0x7a91('0x29')](_0x20c8b0,function(_0x19cd68){if(_0x19cd68[_0x7a91('0x2d')]!==_0x7a91('0x3d')){var _0x4ac61a={};_0x4ac61a[_0x19cd68[_0x7a91('0x28')]]={'$like':'%'+_0x98c656[_0x7a91('0x30')][_0x7a91('0x3e')]+'%'};return _0x4ac61a;}})});}_0x471ae5=_[_0x7a91('0x3c')]({},_0x471ae5,_0x98c656[_0x7a91('0x3f')]);var _0x51cae3={'where':_0x471ae5[_0x7a91('0x3a')]};return db['FreshsalesAccount'][_0x7a91('0x1f')](_0x51cae3)['then'](function(_0x53d7c2){_0x5595b4['count']=_0x53d7c2;if(_0x98c656[_0x7a91('0x30')]['includeAll']){_0x471ae5[_0x7a91('0x40')]=[{'all':!![]}];}return db['FreshsalesAccount'][_0x7a91('0x41')](_0x471ae5);})[_0x7a91('0x24')](function(_0x9329f0){_0x5595b4[_0x7a91('0x42')]=_0x9329f0;return _0x5595b4;})[_0x7a91('0x24')](respondWithFilteredResult(_0x5e6a2b,_0x471ae5))[_0x7a91('0x43')](handleError(_0x5e6a2b,null));};exports[_0x7a91('0x44')]=function(_0x533278,_0x3a3323){var _0x298dfc={'raw':![],'where':{'id':_0x533278[_0x7a91('0x45')]['id']}},_0x3304e5={};_0x3304e5[_0x7a91('0x2f')]=_[_0x7a91('0x31')](db[_0x7a91('0x2a')]['rawAttributes']);_0x3304e5['query']=_[_0x7a91('0x31')](_0x533278[_0x7a91('0x30')]);_0x3304e5['filters']=_[_0x7a91('0x46')](_0x3304e5['model'],_0x3304e5['query']);_0x298dfc[_0x7a91('0x33')]=_[_0x7a91('0x46')](_0x3304e5[_0x7a91('0x2f')],qs[_0x7a91('0x34')](_0x533278[_0x7a91('0x30')]['fields']));_0x298dfc[_0x7a91('0x33')]=_0x298dfc['attributes']['length']?_0x298dfc[_0x7a91('0x33')]:_0x3304e5[_0x7a91('0x2f')];if(_0x533278[_0x7a91('0x30')]['includeAll']){_0x298dfc['include']=[{'all':!![]}];}_0x298dfc=_[_0x7a91('0x3c')]({},_0x298dfc,_0x533278[_0x7a91('0x3f')]);return db['FreshsalesAccount']['find'](_0x298dfc)[_0x7a91('0x24')](handleEntityNotFound(_0x3a3323,null))['then'](respondWithResult(_0x3a3323,null))[_0x7a91('0x43')](handleError(_0x3a3323,null));};exports[_0x7a91('0x47')]=function(_0x159dde,_0x58e29a){return db['FreshsalesAccount'][_0x7a91('0x47')](_0x159dde[_0x7a91('0x48')],{})['then'](respondWithResult(_0x58e29a,0xc9))[_0x7a91('0x43')](handleError(_0x58e29a,null));};exports[_0x7a91('0x23')]=function(_0xa2ddaa,_0x24454c){if(_0xa2ddaa['body']['id']){delete _0xa2ddaa[_0x7a91('0x48')]['id'];}return db[_0x7a91('0x2a')]['find']({'where':{'id':_0xa2ddaa['params']['id']}})[_0x7a91('0x24')](handleEntityNotFound(_0x24454c,null))[_0x7a91('0x24')](saveUpdates(_0xa2ddaa[_0x7a91('0x48')],null))[_0x7a91('0x24')](respondWithResult(_0x24454c,null))['catch'](handleError(_0x24454c,null));};exports[_0x7a91('0x25')]=function(_0xafe2ad,_0x3c9a09){return db['FreshsalesAccount'][_0x7a91('0x49')]({'where':{'id':_0xafe2ad[_0x7a91('0x45')]['id']}})['then'](handleEntityNotFound(_0x3c9a09,null))[_0x7a91('0x24')](removeEntity(_0x3c9a09,null))[_0x7a91('0x43')](handleError(_0x3c9a09,null));};exports['getConfigurations']=function(_0x161ec3,_0x2cca05,_0x1f75b2){var _0x45c175={};var _0x414bc0={};var _0x64de88;var _0x4e8cca;return db[_0x7a91('0x2a')]['findOne']({'where':{'id':_0x161ec3['params']['id']}})[_0x7a91('0x24')](handleEntityNotFound(_0x2cca05,null))[_0x7a91('0x24')](function(_0x16fb02){if(_0x16fb02){_0x64de88=_0x16fb02;_0x414bc0[_0x7a91('0x2f')]=_[_0x7a91('0x31')](db[_0x7a91('0x4a')][_0x7a91('0x2b')]);_0x414bc0['query']=_[_0x7a91('0x31')](_0x161ec3['query']);_0x414bc0[_0x7a91('0x32')]=_[_0x7a91('0x46')](_0x414bc0[_0x7a91('0x2f')],_0x414bc0[_0x7a91('0x30')]);_0x45c175['attributes']=_[_0x7a91('0x46')](_0x414bc0[_0x7a91('0x2f')],qs[_0x7a91('0x34')](_0x161ec3['query'][_0x7a91('0x34')]));_0x45c175[_0x7a91('0x33')]=_0x45c175[_0x7a91('0x33')][_0x7a91('0x35')]?_0x45c175[_0x7a91('0x33')]:_0x414bc0[_0x7a91('0x2f')];_0x45c175[_0x7a91('0x38')]=qs[_0x7a91('0x39')](_0x161ec3['query'][_0x7a91('0x39')]);_0x45c175[_0x7a91('0x3a')]=qs['filters'](_[_0x7a91('0x3b')](_0x161ec3[_0x7a91('0x30')],_0x414bc0[_0x7a91('0x32')]));if(_0x161ec3[_0x7a91('0x30')]['filter']){_0x45c175[_0x7a91('0x3a')]=_['merge'](_0x45c175['where'],{'$or':_['map'](_0x45c175[_0x7a91('0x33')],function(_0xdfa085){var _0x40c858={};_0x40c858[_0xdfa085]={'$like':'%'+_0x161ec3[_0x7a91('0x30')][_0x7a91('0x3e')]+'%'};return _0x40c858;})});}_0x45c175=_[_0x7a91('0x3c')]({},_0x45c175,_0x161ec3[_0x7a91('0x3f')]);return _0x64de88[_0x7a91('0x4b')](_0x45c175);}})['then'](function(_0x18bb75){if(_0x18bb75){_0x4e8cca=_0x18bb75[_0x7a91('0x35')];if(!_0x161ec3[_0x7a91('0x30')][_0x7a91('0x36')](_0x7a91('0x37'))){_0x45c175[_0x7a91('0x1d')]=qs[_0x7a91('0x1d')](_0x161ec3['query'][_0x7a91('0x1d')]);_0x45c175[_0x7a91('0x1c')]=qs[_0x7a91('0x1c')](_0x161ec3['query'][_0x7a91('0x1c')]);}return _0x64de88[_0x7a91('0x4b')](_0x45c175);}})['then'](function(_0x273319){if(_0x273319){return _0x273319?{'count':_0x4e8cca,'rows':_0x273319}:null;}})[_0x7a91('0x24')](respondWithResult(_0x2cca05,null))[_0x7a91('0x43')](handleError(_0x2cca05,null));};exports[_0x7a91('0x4c')]=function(_0xeb5c84,_0x28f0e5,_0x502b5f){if(_0xeb5c84[_0x7a91('0x48')]['id']){delete _0xeb5c84[_0x7a91('0x48')]['id'];}return db[_0x7a91('0x2a')]['findOne']({'where':{'id':_0xeb5c84[_0x7a91('0x45')]['id']}})[_0x7a91('0x24')](handleEntityNotFound(_0x28f0e5,null))['then'](function(_0x532664){if(_0x532664){_0xeb5c84[_0x7a91('0x48')]['AccountId']=_0x532664['id'];_0xeb5c84[_0x7a91('0x48')][_0x7a91('0x4d')]=integrations[_0x7a91('0x4e')](_0xeb5c84[_0x7a91('0x48')]['channel'],_0xeb5c84[_0x7a91('0x48')][_0x7a91('0x2d')]);_0xeb5c84['body'][_0x7a91('0x4f')]=integrations[_0x7a91('0x50')](_0xeb5c84['body'][_0x7a91('0x51')],_0xeb5c84['body']['type']);return db[_0x7a91('0x4a')][_0x7a91('0x47')](_0xeb5c84['body'],{'include':[{'model':db[_0x7a91('0x52')],'as':_0x7a91('0x4d')},{'model':db[_0x7a91('0x52')],'as':_0x7a91('0x4f')}]});}return null;})[_0x7a91('0x24')](respondWithResult(_0x28f0e5,null))[_0x7a91('0x43')](handleError(_0x28f0e5,null));};exports[_0x7a91('0x53')]=function(_0x161987,_0x1597fd,_0x1a26ee){var _0x46ce90='';var _0x4a21be='';return db[_0x7a91('0x2a')]['findOne']({'where':{'id':_0x161987[_0x7a91('0x45')]['id']},'attributes':['id',_0x7a91('0x54'),_0x7a91('0x55'),_0x7a91('0x56')]})[_0x7a91('0x24')](handleEntityNotFound(_0x1597fd,null))[_0x7a91('0x24')](function(_0x398e1d){if(_0x398e1d){_0x4a21be=_0x398e1d[_0x7a91('0x54')];_0x46ce90=_0x398e1d[_0x7a91('0x55')];var _0x56fbf3=_0x398e1d[_0x7a91('0x55')]['slice'](-0x1);if(_0x56fbf3==='/'){_0x46ce90=_0x46ce90['substring'](0x0,_0x46ce90[_0x7a91('0x57')](_0x56fbf3));}return rp({'method':'GET','uri':util[_0x7a91('0x58')](_0x7a91('0x59'),_0x46ce90,_0x7a91('0x5a')),'headers':{'Authorization':_0x7a91('0x5b')+_0x398e1d[_0x7a91('0x56')]},'json':!![]});}})[_0x7a91('0x24')](function(_0x1be3fe){if(_0x1be3fe){var _0x1cd6d1=_0x1be3fe['users'];var _0x20269a=![];var _0x26f169=null;for(_0x26f169=0x0;_0x26f169<_0x1cd6d1[_0x7a91('0x35')];_0x26f169++){if(_0x1cd6d1[_0x26f169][_0x7a91('0x5c')]===_0x4a21be){_0x20269a=!![];}}if(_0x20269a){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x7a91('0x5d')});}}})[_0x7a91('0x24')](respondWithResult(_0x1597fd,null))[_0x7a91('0x43')](function(_0x164e1b){var _0x3f32bd=_0x161987[_0x7a91('0x30')][_0x7a91('0x5e')]?0x1f4:_0x164e1b['statusCode']||0x1f4;logger[_0x7a91('0x26')](_0x7a91('0x5f'),_0x7a91('0x53'),_0x3f32bd,JSON[_0x7a91('0x60')](_0x164e1b));delete _0x164e1b[_0x7a91('0x28')];if(_0x3f32bd===0x191){_0x3f32bd=0x190;}_0x1597fd[_0x7a91('0x19')](_0x3f32bd)['send'](_0x161987[_0x7a91('0x30')]['test']?{'message':'Wrong\x20credentials','statusCode':_0x164e1b[_0x7a91('0x61')]}:_0x164e1b);});};