Built motion from commit (unavailable).|2.5.4
[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 _0xd701=['params','intersection','length','find','create','body','getConfigurations','addConfiguration','findOne','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshsalesConfiguration','FreshsalesField','getFields','username','remoteUri','slice','substring','%s%s','/api/selector/owners','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','getFields,\x20%s,\x20%s,\x20%s','statusCode','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','sox','ejs','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','jayson/promise','http','test','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','info','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','request\x20sent','error','FreshsalesAccount,\x20%s,\x20%s','message','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','name','send','index','map','FreshsalesAccount','rawAttributes','type','model','query','keys','filters','fields','attributes','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','rows','show'];(function(_0x48ced1,_0x502259){var _0x33edb6=function(_0x4f260c){while(--_0x4f260c){_0x48ced1['push'](_0x48ced1['shift']());}};_0x33edb6(++_0x502259);}(_0xd701,0x86));var _0x1d70=function(_0x4fd540,_0x4de6c7){_0x4fd540=_0x4fd540-0x0;var _0x735bb2=_0xd701[_0x4fd540];return _0x735bb2;};'use strict';var pdf=require(_0x1d70('0x0'));var emlformat=require(_0x1d70('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x1d70('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x1d70('0x3'));var moment=require(_0x1d70('0x4'));var BPromise=require(_0x1d70('0x5'));var Mustache=require(_0x1d70('0x6'));var util=require('util');var path=require('path');var sox=require(_0x1d70('0x7'));var csv=require('to-csv');var ejs=require(_0x1d70('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x1d70('0x9'));var crypto=require('crypto');var jsforce=require(_0x1d70('0xa'));var deskjs=require(_0x1d70('0xb'));var toCsv=require(_0x1d70('0xc'));var querystring=require(_0x1d70('0xd'));var Papa=require(_0x1d70('0xe'));var Redis=require(_0x1d70('0xf'));var authService=require(_0x1d70('0x10'));var qs=require(_0x1d70('0x11'));var as=require(_0x1d70('0x12'));var hardwareService=require(_0x1d70('0x13'));var logger=require(_0x1d70('0x14'))(_0x1d70('0x15'));var utils=require('../../config/utils');var config=require(_0x1d70('0x16'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x1d70('0x17'));var client=jayson['client'][_0x1d70('0x18')]({'port':0x232a});function checkPasswordPattern(_0x385e8a,_0x420211,_0x98e95c){if(_0x98e95c){var _0x397ef5=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x397ef5[_0x1d70('0x19')](_0x420211)){return _0x385e8a;}else{throw new db['Sequelize'][(_0x1d70('0x1a'))](_0x1d70('0x1b'));}}else{return _0x385e8a;}}function respondWithRpcPromise(_0x411ef1,_0x51f73f,_0x35ba16,_0x2042b5){return new BPromise(function(_0x4b99a7,_0x4aeccd){var _0x5328de=_0x2042b5||client;return _0x5328de['request'](_0x411ef1,_0x35ba16)[_0x1d70('0x1c')](function(_0x3c74f7){logger[_0x1d70('0x1d')]('FreshsalesAccount,\x20%s,\x20%s',_0x51f73f,'request\x20sent');logger[_0x1d70('0x1e')](_0x1d70('0x1f'),_0x51f73f,_0x1d70('0x20'),JSON['stringify'](_0x3c74f7));if(_0x3c74f7[_0x1d70('0x21')]){if(_0x3c74f7['error']['code']===0x1f4){logger[_0x1d70('0x21')](_0x1d70('0x22'),_0x51f73f,_0x3c74f7[_0x1d70('0x21')]['message']);return _0x4aeccd(_0x3c74f7[_0x1d70('0x21')]['message']);}logger[_0x1d70('0x21')]('FreshsalesAccount,\x20%s,\x20%s',_0x51f73f,_0x3c74f7[_0x1d70('0x21')][_0x1d70('0x23')]);return _0x4b99a7(_0x3c74f7[_0x1d70('0x21')]['message']);}else{logger[_0x1d70('0x1d')](_0x1d70('0x22'),_0x51f73f,_0x1d70('0x20'));_0x4b99a7(_0x3c74f7[_0x1d70('0x24')][_0x1d70('0x23')]);}})[_0x1d70('0x25')](function(_0x439073){logger[_0x1d70('0x21')](_0x1d70('0x22'),_0x51f73f,_0x439073);_0x4aeccd(_0x439073);});});}function respondWithStatusCode(_0x3f47e7,_0x5d7c79){_0x5d7c79=_0x5d7c79||0xcc;return function(_0x4a7fbd){if(_0x4a7fbd){return _0x3f47e7[_0x1d70('0x26')](_0x5d7c79);}return _0x3f47e7['status'](_0x5d7c79)['end']();};}function respondWithResult(_0x4c65a9,_0x37c939){_0x37c939=_0x37c939||0xc8;return function(_0xf2e962){if(_0xf2e962){return _0x4c65a9[_0x1d70('0x27')](_0x37c939)[_0x1d70('0x28')](_0xf2e962);}};}function respondWithFilteredResult(_0x2e2194,_0x5b4da3){return function(_0x42367b){if(_0x42367b){var _0x3a0363=_0x42367b[_0x1d70('0x29')],_0x34d333=_0x5b4da3[_0x1d70('0x2a')],_0x370253=_0x5b4da3[_0x1d70('0x2a')]+_0x5b4da3[_0x1d70('0x2b')],_0x1b20cc;if(_0x370253>=_0x3a0363){_0x370253=_0x3a0363;_0x1b20cc=0xc8;}else{_0x1b20cc=0xce;}_0x2e2194['status'](_0x1b20cc);return _0x2e2194[_0x1d70('0x2c')](_0x1d70('0x2d'),_0x34d333+'-'+_0x370253+'/'+_0x3a0363)[_0x1d70('0x28')](_0x42367b);}return null;};}function patchUpdates(_0x379dec){return function(_0x37ed0d){try{jsonpatch[_0x1d70('0x2e')](_0x37ed0d,_0x379dec,!![]);}catch(_0x3cb963){return BPromise[_0x1d70('0x2f')](_0x3cb963);}return _0x37ed0d[_0x1d70('0x30')]();};}function saveUpdates(_0x1b4f59,_0xc2733b){return function(_0x42959b){if(_0x42959b){return _0x42959b[_0x1d70('0x31')](_0x1b4f59)[_0x1d70('0x1c')](function(_0x2eeaeb){return _0x2eeaeb;});}return null;};}function removeEntity(_0x78c185,_0x57bd01){return function(_0x98df8){if(_0x98df8){return _0x98df8[_0x1d70('0x32')]()[_0x1d70('0x1c')](function(){_0x78c185[_0x1d70('0x27')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1a435a,_0x32d22c){return function(_0x230b70){if(!_0x230b70){_0x1a435a[_0x1d70('0x26')](0x194);}return _0x230b70;};}function handleError(_0x5cfa94,_0x118aae){_0x118aae=_0x118aae||0x1f4;return function(_0x565a74){logger[_0x1d70('0x21')](_0x565a74['stack']);if(_0x565a74[_0x1d70('0x33')]){delete _0x565a74['name'];}_0x5cfa94[_0x1d70('0x27')](_0x118aae)[_0x1d70('0x34')](_0x565a74);};}exports[_0x1d70('0x35')]=function(_0x12fae8,_0x18e128){var _0x10e94c={},_0x5309dc={},_0x247b42={'count':0x0,'rows':[]};var _0x3d1cea=_[_0x1d70('0x36')](db[_0x1d70('0x37')][_0x1d70('0x38')],function(_0xf4f421){return{'name':_0xf4f421['fieldName'],'type':_0xf4f421[_0x1d70('0x39')]['key']};});_0x5309dc[_0x1d70('0x3a')]=_['map'](_0x3d1cea,_0x1d70('0x33'));_0x5309dc[_0x1d70('0x3b')]=_[_0x1d70('0x3c')](_0x12fae8[_0x1d70('0x3b')]);_0x5309dc[_0x1d70('0x3d')]=_['intersection'](_0x5309dc[_0x1d70('0x3a')],_0x5309dc['query']);_0x10e94c['attributes']=_['intersection'](_0x5309dc[_0x1d70('0x3a')],qs[_0x1d70('0x3e')](_0x12fae8[_0x1d70('0x3b')][_0x1d70('0x3e')]));_0x10e94c[_0x1d70('0x3f')]=_0x10e94c[_0x1d70('0x3f')]['length']?_0x10e94c[_0x1d70('0x3f')]:_0x5309dc['model'];if(!_0x12fae8[_0x1d70('0x3b')]['hasOwnProperty'](_0x1d70('0x40'))){_0x10e94c['limit']=qs[_0x1d70('0x2b')](_0x12fae8[_0x1d70('0x3b')]['limit']);_0x10e94c[_0x1d70('0x2a')]=qs['offset'](_0x12fae8['query'][_0x1d70('0x2a')]);}_0x10e94c[_0x1d70('0x41')]=qs['sort'](_0x12fae8['query'][_0x1d70('0x42')]);_0x10e94c[_0x1d70('0x43')]=qs['filters'](_[_0x1d70('0x44')](_0x12fae8[_0x1d70('0x3b')],_0x5309dc[_0x1d70('0x3d')]),_0x3d1cea);if(_0x12fae8[_0x1d70('0x3b')][_0x1d70('0x45')]){_0x10e94c['where']=_['merge'](_0x10e94c[_0x1d70('0x43')],{'$or':_[_0x1d70('0x36')](_0x3d1cea,function(_0xc3b3d3){if(_0xc3b3d3[_0x1d70('0x39')]!==_0x1d70('0x46')){var _0x48eee9={};_0x48eee9[_0xc3b3d3[_0x1d70('0x33')]]={'$like':'%'+_0x12fae8[_0x1d70('0x3b')][_0x1d70('0x45')]+'%'};return _0x48eee9;}})});}_0x10e94c=_[_0x1d70('0x47')]({},_0x10e94c,_0x12fae8[_0x1d70('0x48')]);var _0x9db34f={'where':_0x10e94c['where']};return db[_0x1d70('0x37')][_0x1d70('0x29')](_0x9db34f)[_0x1d70('0x1c')](function(_0x584c4e){_0x247b42[_0x1d70('0x29')]=_0x584c4e;if(_0x12fae8[_0x1d70('0x3b')][_0x1d70('0x49')]){_0x10e94c['include']=[{'all':!![]}];}return db[_0x1d70('0x37')]['findAll'](_0x10e94c);})[_0x1d70('0x1c')](function(_0x5918c8){_0x247b42[_0x1d70('0x4a')]=_0x5918c8;return _0x247b42;})['then'](respondWithFilteredResult(_0x18e128,_0x10e94c))[_0x1d70('0x25')](handleError(_0x18e128,null));};exports[_0x1d70('0x4b')]=function(_0x37fca7,_0x465620){var _0x5ca88b={'raw':![],'where':{'id':_0x37fca7[_0x1d70('0x4c')]['id']}},_0x14c163={};_0x14c163[_0x1d70('0x3a')]=_[_0x1d70('0x3c')](db[_0x1d70('0x37')][_0x1d70('0x38')]);_0x14c163[_0x1d70('0x3b')]=_[_0x1d70('0x3c')](_0x37fca7['query']);_0x14c163[_0x1d70('0x3d')]=_[_0x1d70('0x4d')](_0x14c163[_0x1d70('0x3a')],_0x14c163[_0x1d70('0x3b')]);_0x5ca88b['attributes']=_[_0x1d70('0x4d')](_0x14c163[_0x1d70('0x3a')],qs[_0x1d70('0x3e')](_0x37fca7[_0x1d70('0x3b')][_0x1d70('0x3e')]));_0x5ca88b[_0x1d70('0x3f')]=_0x5ca88b[_0x1d70('0x3f')][_0x1d70('0x4e')]?_0x5ca88b[_0x1d70('0x3f')]:_0x14c163['model'];if(_0x37fca7[_0x1d70('0x3b')][_0x1d70('0x49')]){_0x5ca88b['include']=[{'all':!![]}];}_0x5ca88b=_[_0x1d70('0x47')]({},_0x5ca88b,_0x37fca7['options']);return db[_0x1d70('0x37')][_0x1d70('0x4f')](_0x5ca88b)[_0x1d70('0x1c')](handleEntityNotFound(_0x465620,null))['then'](respondWithResult(_0x465620,null))[_0x1d70('0x25')](handleError(_0x465620,null));};exports[_0x1d70('0x50')]=function(_0x38b49c,_0x286ac6){return db[_0x1d70('0x37')]['create'](_0x38b49c['body'],{})[_0x1d70('0x1c')](respondWithResult(_0x286ac6,0xc9))[_0x1d70('0x25')](handleError(_0x286ac6,null));};exports[_0x1d70('0x31')]=function(_0x31c05c,_0x9b17fa){if(_0x31c05c[_0x1d70('0x51')]['id']){delete _0x31c05c[_0x1d70('0x51')]['id'];}return db['FreshsalesAccount'][_0x1d70('0x4f')]({'where':{'id':_0x31c05c['params']['id']}})[_0x1d70('0x1c')](handleEntityNotFound(_0x9b17fa,null))[_0x1d70('0x1c')](saveUpdates(_0x31c05c[_0x1d70('0x51')],null))[_0x1d70('0x1c')](respondWithResult(_0x9b17fa,null))[_0x1d70('0x25')](handleError(_0x9b17fa,null));};exports['destroy']=function(_0x3bb7ce,_0x37abbb){return db[_0x1d70('0x37')][_0x1d70('0x4f')]({'where':{'id':_0x3bb7ce[_0x1d70('0x4c')]['id']}})[_0x1d70('0x1c')](handleEntityNotFound(_0x37abbb,null))[_0x1d70('0x1c')](removeEntity(_0x37abbb,null))[_0x1d70('0x25')](handleError(_0x37abbb,null));};exports[_0x1d70('0x52')]=function(_0x21a7e9,_0x5ef66c,_0x4a15b8){var _0x4a4d04={};var _0x5344f4={};var _0x26b11c;var _0x2b0259;return db['FreshsalesAccount']['findOne']({'where':{'id':_0x21a7e9['params']['id']}})['then'](handleEntityNotFound(_0x5ef66c,null))['then'](function(_0x414bb6){if(_0x414bb6){_0x26b11c=_0x414bb6;_0x5344f4[_0x1d70('0x3a')]=_[_0x1d70('0x3c')](db['FreshsalesConfiguration'][_0x1d70('0x38')]);_0x5344f4['query']=_[_0x1d70('0x3c')](_0x21a7e9[_0x1d70('0x3b')]);_0x5344f4[_0x1d70('0x3d')]=_[_0x1d70('0x4d')](_0x5344f4[_0x1d70('0x3a')],_0x5344f4[_0x1d70('0x3b')]);_0x4a4d04[_0x1d70('0x3f')]=_[_0x1d70('0x4d')](_0x5344f4[_0x1d70('0x3a')],qs[_0x1d70('0x3e')](_0x21a7e9[_0x1d70('0x3b')][_0x1d70('0x3e')]));_0x4a4d04[_0x1d70('0x3f')]=_0x4a4d04[_0x1d70('0x3f')][_0x1d70('0x4e')]?_0x4a4d04[_0x1d70('0x3f')]:_0x5344f4['model'];_0x4a4d04['order']=qs[_0x1d70('0x42')](_0x21a7e9[_0x1d70('0x3b')][_0x1d70('0x42')]);_0x4a4d04['where']=qs[_0x1d70('0x3d')](_[_0x1d70('0x44')](_0x21a7e9[_0x1d70('0x3b')],_0x5344f4[_0x1d70('0x3d')]));if(_0x21a7e9[_0x1d70('0x3b')][_0x1d70('0x45')]){_0x4a4d04[_0x1d70('0x43')]=_['merge'](_0x4a4d04[_0x1d70('0x43')],{'$or':_['map'](_0x4a4d04[_0x1d70('0x3f')],function(_0x6b4a89){var _0x33d994={};_0x33d994[_0x6b4a89]={'$like':'%'+_0x21a7e9['query']['filter']+'%'};return _0x33d994;})});}_0x4a4d04=_[_0x1d70('0x47')]({},_0x4a4d04,_0x21a7e9[_0x1d70('0x48')]);return _0x26b11c[_0x1d70('0x52')](_0x4a4d04);}})[_0x1d70('0x1c')](function(_0xfb75b2){if(_0xfb75b2){_0x2b0259=_0xfb75b2[_0x1d70('0x4e')];if(!_0x21a7e9[_0x1d70('0x3b')]['hasOwnProperty']('nolimit')){_0x4a4d04[_0x1d70('0x2b')]=qs['limit'](_0x21a7e9['query'][_0x1d70('0x2b')]);_0x4a4d04[_0x1d70('0x2a')]=qs[_0x1d70('0x2a')](_0x21a7e9[_0x1d70('0x3b')][_0x1d70('0x2a')]);}return _0x26b11c[_0x1d70('0x52')](_0x4a4d04);}})['then'](function(_0x1b1171){if(_0x1b1171){return _0x1b1171?{'count':_0x2b0259,'rows':_0x1b1171}:null;}})['then'](respondWithResult(_0x5ef66c,null))[_0x1d70('0x25')](handleError(_0x5ef66c,null));};exports[_0x1d70('0x53')]=function(_0x3f104c,_0xce57a2,_0x2567f8){if(_0x3f104c['body']['id']){delete _0x3f104c[_0x1d70('0x51')]['id'];}return db[_0x1d70('0x37')][_0x1d70('0x54')]({'where':{'id':_0x3f104c[_0x1d70('0x4c')]['id']}})[_0x1d70('0x1c')](handleEntityNotFound(_0xce57a2,null))[_0x1d70('0x1c')](function(_0x42ceb3){if(_0x42ceb3){_0x3f104c[_0x1d70('0x51')]['AccountId']=_0x42ceb3['id'];_0x3f104c['body'][_0x1d70('0x55')]=integrations[_0x1d70('0x56')](_0x3f104c[_0x1d70('0x51')][_0x1d70('0x57')],_0x3f104c[_0x1d70('0x51')]['type']);_0x3f104c[_0x1d70('0x51')][_0x1d70('0x58')]=integrations[_0x1d70('0x59')](_0x3f104c[_0x1d70('0x51')]['channel'],_0x3f104c['body'][_0x1d70('0x39')]);return db[_0x1d70('0x5a')][_0x1d70('0x50')](_0x3f104c['body'],{'include':[{'model':db[_0x1d70('0x5b')],'as':'Subjects'},{'model':db[_0x1d70('0x5b')],'as':_0x1d70('0x58')}]});}return null;})['then'](respondWithResult(_0xce57a2,null))[_0x1d70('0x25')](handleError(_0xce57a2,null));};exports[_0x1d70('0x5c')]=function(_0x558946,_0x139e7a,_0x311ceb){var _0x18b777='';var _0xdd0b86='';return db[_0x1d70('0x37')][_0x1d70('0x54')]({'where':{'id':_0x558946[_0x1d70('0x4c')]['id']},'attributes':['id',_0x1d70('0x5d'),_0x1d70('0x5e'),'apiKey']})[_0x1d70('0x1c')](handleEntityNotFound(_0x139e7a,null))[_0x1d70('0x1c')](function(_0x232a41){if(_0x232a41){_0xdd0b86=_0x232a41[_0x1d70('0x5d')];_0x18b777=_0x232a41[_0x1d70('0x5e')];var _0xc6f7f7=_0x232a41[_0x1d70('0x5e')][_0x1d70('0x5f')](-0x1);if(_0xc6f7f7==='/'){_0x18b777=_0x18b777[_0x1d70('0x60')](0x0,_0x18b777['lastIndexOf'](_0xc6f7f7));}return rp({'method':'GET','uri':util['format'](_0x1d70('0x61'),_0x18b777,_0x1d70('0x62')),'headers':{'Authorization':_0x1d70('0x63')+_0x232a41['apiKey']},'json':!![]});}})[_0x1d70('0x1c')](function(_0x2b157e){if(_0x2b157e){var _0x3f1efc=_0x2b157e[_0x1d70('0x64')];var _0x36597d=![];var _0x148495=null;for(_0x148495=0x0;_0x148495<_0x3f1efc['length'];_0x148495++){if(_0x3f1efc[_0x148495][_0x1d70('0x65')]===_0xdd0b86){_0x36597d=!![];}}if(_0x36597d){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x1d70('0x66')});}}})[_0x1d70('0x1c')](respondWithResult(_0x139e7a,null))[_0x1d70('0x25')](function(_0x39ad93){var _0x4f0362=_0x558946[_0x1d70('0x3b')][_0x1d70('0x19')]?0x1f4:_0x39ad93['statusCode']||0x1f4;logger[_0x1d70('0x21')](_0x1d70('0x67'),_0x1d70('0x5c'),_0x4f0362,JSON['stringify'](_0x39ad93));delete _0x39ad93['name'];if(_0x4f0362===0x191){_0x4f0362=0x190;}_0x139e7a['status'](_0x4f0362)[_0x1d70('0x34')](_0x558946[_0x1d70('0x3b')][_0x1d70('0x19')]?{'message':'Wrong\x20credentials','statusCode':_0x39ad93[_0x1d70('0x68')]}:_0x39ad93);});};