Built motion from commit (unavailable).|2.4.20
[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 _0xdeeb=['squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','jayson/promise','http','test','Sequelize','ValidationError','request','then','info','FreshsalesAccount,\x20%s,\x20%s','request\x20sent','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','index','map','FreshsalesAccount','rawAttributes','name','query','keys','filters','model','intersection','fields','attributes','length','nolimit','pick','merge','where','type','VIRTUAL','options','includeAll','findAll','rows','show','params','include','find','create','body','getConfigurations','findOne','FreshsalesConfiguration','sort','filter','hasOwnProperty','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshsalesField','remoteUri','apiKey','username','slice','substring','lastIndexOf','GET','/api/selector/owners','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','Wrong\x20credentials','html-pdf','rimraf','zip-dir','fast-json-patch','moment','mustache','path','to-csv','ejs'];(function(_0x35fb7c,_0x4ee512){var _0x3b319e=function(_0x381eaa){while(--_0x381eaa){_0x35fb7c['push'](_0x35fb7c['shift']());}};_0x3b319e(++_0x4ee512);}(_0xdeeb,0x1b3));var _0xbdee=function(_0x26b80e,_0x5c9333){_0x26b80e=_0x26b80e-0x0;var _0x84a8a8=_0xdeeb[_0x26b80e];return _0x84a8a8;};'use strict';var pdf=require(_0xbdee('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xbdee('0x1'));var zipdir=require(_0xbdee('0x2'));var jsonpatch=require(_0xbdee('0x3'));var rp=require('request-promise');var moment=require(_0xbdee('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xbdee('0x5'));var util=require('util');var path=require(_0xbdee('0x6'));var sox=require('sox');var csv=require(_0xbdee('0x7'));var ejs=require(_0xbdee('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0xbdee('0x9'));var crypto=require('crypto');var jsforce=require(_0xbdee('0xa'));var deskjs=require(_0xbdee('0xb'));var toCsv=require('to-csv');var querystring=require(_0xbdee('0xc'));var Papa=require(_0xbdee('0xd'));var Redis=require(_0xbdee('0xe'));var authService=require(_0xbdee('0xf'));var qs=require(_0xbdee('0x10'));var as=require(_0xbdee('0x11'));var hardwareService=require(_0xbdee('0x12'));var logger=require(_0xbdee('0x13'))(_0xbdee('0x14'));var utils=require(_0xbdee('0x15'));var config=require(_0xbdee('0x16'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0xbdee('0x17'));var client=jayson['client'][_0xbdee('0x18')]({'port':0x232a});function checkPasswordPattern(_0x11295f,_0x15a576,_0x2abe2c){if(_0x2abe2c){var _0x194551=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x194551[_0xbdee('0x19')](_0x15a576)){return _0x11295f;}else{throw new db[(_0xbdee('0x1a'))][(_0xbdee('0x1b'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x11295f;}}function respondWithRpcPromise(_0x365d61,_0x2ba1d3,_0x2315d4,_0x101e67){return new BPromise(function(_0x144326,_0x5a3222){var _0x3107e1=_0x101e67||client;return _0x3107e1[_0xbdee('0x1c')](_0x365d61,_0x2315d4)[_0xbdee('0x1d')](function(_0x3d10a5){logger[_0xbdee('0x1e')](_0xbdee('0x1f'),_0x2ba1d3,_0xbdee('0x20'));logger[_0xbdee('0x21')](_0xbdee('0x22'),_0x2ba1d3,'request\x20sent',JSON[_0xbdee('0x23')](_0x3d10a5));if(_0x3d10a5[_0xbdee('0x24')]){if(_0x3d10a5[_0xbdee('0x24')][_0xbdee('0x25')]===0x1f4){logger[_0xbdee('0x24')](_0xbdee('0x1f'),_0x2ba1d3,_0x3d10a5[_0xbdee('0x24')]['message']);return _0x5a3222(_0x3d10a5['error'][_0xbdee('0x26')]);}logger[_0xbdee('0x24')](_0xbdee('0x1f'),_0x2ba1d3,_0x3d10a5[_0xbdee('0x24')][_0xbdee('0x26')]);return _0x144326(_0x3d10a5['error']['message']);}else{logger[_0xbdee('0x1e')](_0xbdee('0x1f'),_0x2ba1d3,'request\x20sent');_0x144326(_0x3d10a5[_0xbdee('0x27')][_0xbdee('0x26')]);}})[_0xbdee('0x28')](function(_0x1e4dc2){logger[_0xbdee('0x24')](_0xbdee('0x1f'),_0x2ba1d3,_0x1e4dc2);_0x5a3222(_0x1e4dc2);});});}function respondWithStatusCode(_0x31b54d,_0x19038e){_0x19038e=_0x19038e||0xcc;return function(_0x18a007){if(_0x18a007){return _0x31b54d[_0xbdee('0x29')](_0x19038e);}return _0x31b54d['status'](_0x19038e)[_0xbdee('0x2a')]();};}function respondWithResult(_0x5ed946,_0xb1a602){_0xb1a602=_0xb1a602||0xc8;return function(_0x22ef3e){if(_0x22ef3e){return _0x5ed946[_0xbdee('0x2b')](_0xb1a602)[_0xbdee('0x2c')](_0x22ef3e);}};}function respondWithFilteredResult(_0x3da7f9,_0x2fa6d9){return function(_0x304fee){if(_0x304fee){var _0x25d7f5=_0x304fee[_0xbdee('0x2d')],_0x4ebd79=_0x2fa6d9[_0xbdee('0x2e')],_0x33c70b=_0x2fa6d9['offset']+_0x2fa6d9[_0xbdee('0x2f')],_0x45d13e;if(_0x33c70b>=_0x25d7f5){_0x33c70b=_0x25d7f5;_0x45d13e=0xc8;}else{_0x45d13e=0xce;}_0x3da7f9[_0xbdee('0x2b')](_0x45d13e);return _0x3da7f9[_0xbdee('0x30')](_0xbdee('0x31'),_0x4ebd79+'-'+_0x33c70b+'/'+_0x25d7f5)[_0xbdee('0x2c')](_0x304fee);}return null;};}function patchUpdates(_0x214d5d){return function(_0x735253){try{jsonpatch[_0xbdee('0x32')](_0x735253,_0x214d5d,!![]);}catch(_0x5ee9ce){return BPromise[_0xbdee('0x33')](_0x5ee9ce);}return _0x735253[_0xbdee('0x34')]();};}function saveUpdates(_0x4119c5,_0x24a855){return function(_0xeebb5f){if(_0xeebb5f){return _0xeebb5f[_0xbdee('0x35')](_0x4119c5)[_0xbdee('0x1d')](function(_0xc76fed){return _0xc76fed;});}return null;};}function removeEntity(_0x231de7,_0xb2273b){return function(_0x1f2de0){if(_0x1f2de0){return _0x1f2de0['destroy']()[_0xbdee('0x1d')](function(){_0x231de7[_0xbdee('0x2b')](0xcc)[_0xbdee('0x2a')]();});}};}function handleEntityNotFound(_0xdede30,_0x17513d){return function(_0x35bd8e){if(!_0x35bd8e){_0xdede30[_0xbdee('0x29')](0x194);}return _0x35bd8e;};}function handleError(_0x27c2c2,_0x112b51){_0x112b51=_0x112b51||0x1f4;return function(_0x586833){logger[_0xbdee('0x24')](_0x586833['stack']);if(_0x586833['name']){delete _0x586833['name'];}_0x27c2c2[_0xbdee('0x2b')](_0x112b51)['send'](_0x586833);};}exports[_0xbdee('0x36')]=function(_0x73e0b,_0x2bc0c5){var _0x2bc9c0={},_0x59e45b={},_0xa2c4d5={'count':0x0,'rows':[]};var _0x4d7108=_[_0xbdee('0x37')](db[_0xbdee('0x38')][_0xbdee('0x39')],function(_0x246bf6){return{'name':_0x246bf6['fieldName'],'type':_0x246bf6['type']['key']};});_0x59e45b['model']=_[_0xbdee('0x37')](_0x4d7108,_0xbdee('0x3a'));_0x59e45b[_0xbdee('0x3b')]=_[_0xbdee('0x3c')](_0x73e0b['query']);_0x59e45b[_0xbdee('0x3d')]=_['intersection'](_0x59e45b[_0xbdee('0x3e')],_0x59e45b['query']);_0x2bc9c0['attributes']=_[_0xbdee('0x3f')](_0x59e45b['model'],qs[_0xbdee('0x40')](_0x73e0b[_0xbdee('0x3b')]['fields']));_0x2bc9c0[_0xbdee('0x41')]=_0x2bc9c0[_0xbdee('0x41')][_0xbdee('0x42')]?_0x2bc9c0[_0xbdee('0x41')]:_0x59e45b[_0xbdee('0x3e')];if(!_0x73e0b[_0xbdee('0x3b')]['hasOwnProperty'](_0xbdee('0x43'))){_0x2bc9c0[_0xbdee('0x2f')]=qs[_0xbdee('0x2f')](_0x73e0b[_0xbdee('0x3b')][_0xbdee('0x2f')]);_0x2bc9c0[_0xbdee('0x2e')]=qs['offset'](_0x73e0b[_0xbdee('0x3b')][_0xbdee('0x2e')]);}_0x2bc9c0['order']=qs['sort'](_0x73e0b[_0xbdee('0x3b')]['sort']);_0x2bc9c0['where']=qs[_0xbdee('0x3d')](_[_0xbdee('0x44')](_0x73e0b[_0xbdee('0x3b')],_0x59e45b[_0xbdee('0x3d')]));if(_0x73e0b[_0xbdee('0x3b')]['filter']){_0x2bc9c0['where']=_[_0xbdee('0x45')](_0x2bc9c0[_0xbdee('0x46')],{'$or':_[_0xbdee('0x37')](_0x4d7108,function(_0x1faf07){if(_0x1faf07[_0xbdee('0x47')]!==_0xbdee('0x48')){var _0x7c2ffb={};_0x7c2ffb[_0x1faf07[_0xbdee('0x3a')]]={'$like':'%'+_0x73e0b[_0xbdee('0x3b')]['filter']+'%'};return _0x7c2ffb;}})});}_0x2bc9c0=_[_0xbdee('0x45')]({},_0x2bc9c0,_0x73e0b[_0xbdee('0x49')]);var _0x3526c3={'where':_0x2bc9c0[_0xbdee('0x46')]};return db[_0xbdee('0x38')]['count'](_0x3526c3)[_0xbdee('0x1d')](function(_0x119b93){_0xa2c4d5['count']=_0x119b93;if(_0x73e0b[_0xbdee('0x3b')][_0xbdee('0x4a')]){_0x2bc9c0['include']=[{'all':!![]}];}return db[_0xbdee('0x38')][_0xbdee('0x4b')](_0x2bc9c0);})['then'](function(_0x6e425c){_0xa2c4d5[_0xbdee('0x4c')]=_0x6e425c;return _0xa2c4d5;})[_0xbdee('0x1d')](respondWithFilteredResult(_0x2bc0c5,_0x2bc9c0))[_0xbdee('0x28')](handleError(_0x2bc0c5,null));};exports[_0xbdee('0x4d')]=function(_0x37df8e,_0x2bf9b4){var _0x22fa81={'raw':![],'where':{'id':_0x37df8e[_0xbdee('0x4e')]['id']}},_0x20a396={};_0x20a396['model']=_[_0xbdee('0x3c')](db['FreshsalesAccount'][_0xbdee('0x39')]);_0x20a396[_0xbdee('0x3b')]=_[_0xbdee('0x3c')](_0x37df8e[_0xbdee('0x3b')]);_0x20a396['filters']=_[_0xbdee('0x3f')](_0x20a396['model'],_0x20a396[_0xbdee('0x3b')]);_0x22fa81[_0xbdee('0x41')]=_['intersection'](_0x20a396['model'],qs[_0xbdee('0x40')](_0x37df8e[_0xbdee('0x3b')][_0xbdee('0x40')]));_0x22fa81['attributes']=_0x22fa81[_0xbdee('0x41')][_0xbdee('0x42')]?_0x22fa81[_0xbdee('0x41')]:_0x20a396[_0xbdee('0x3e')];if(_0x37df8e[_0xbdee('0x3b')][_0xbdee('0x4a')]){_0x22fa81[_0xbdee('0x4f')]=[{'all':!![]}];}_0x22fa81=_[_0xbdee('0x45')]({},_0x22fa81,_0x37df8e[_0xbdee('0x49')]);return db[_0xbdee('0x38')][_0xbdee('0x50')](_0x22fa81)[_0xbdee('0x1d')](handleEntityNotFound(_0x2bf9b4,null))[_0xbdee('0x1d')](respondWithResult(_0x2bf9b4,null))[_0xbdee('0x28')](handleError(_0x2bf9b4,null));};exports[_0xbdee('0x51')]=function(_0x4e9585,_0x5a5964){return db[_0xbdee('0x38')]['create'](_0x4e9585[_0xbdee('0x52')],{})['then'](respondWithResult(_0x5a5964,0xc9))[_0xbdee('0x28')](handleError(_0x5a5964,null));};exports[_0xbdee('0x35')]=function(_0x310548,_0x4a3a28){if(_0x310548[_0xbdee('0x52')]['id']){delete _0x310548[_0xbdee('0x52')]['id'];}return db[_0xbdee('0x38')][_0xbdee('0x50')]({'where':{'id':_0x310548[_0xbdee('0x4e')]['id']}})[_0xbdee('0x1d')](handleEntityNotFound(_0x4a3a28,null))[_0xbdee('0x1d')](saveUpdates(_0x310548['body'],null))[_0xbdee('0x1d')](respondWithResult(_0x4a3a28,null))[_0xbdee('0x28')](handleError(_0x4a3a28,null));};exports['destroy']=function(_0x55449f,_0x13854){return db[_0xbdee('0x38')][_0xbdee('0x50')]({'where':{'id':_0x55449f[_0xbdee('0x4e')]['id']}})['then'](handleEntityNotFound(_0x13854,null))[_0xbdee('0x1d')](removeEntity(_0x13854,null))[_0xbdee('0x28')](handleError(_0x13854,null));};exports[_0xbdee('0x53')]=function(_0x16bd3b,_0x2f0690,_0x59069a){var _0xd40f6e={};var _0x4afa8b={};var _0x5eebb4;var _0x4dc006;return db[_0xbdee('0x38')][_0xbdee('0x54')]({'where':{'id':_0x16bd3b[_0xbdee('0x4e')]['id']}})[_0xbdee('0x1d')](handleEntityNotFound(_0x2f0690,null))[_0xbdee('0x1d')](function(_0x5ebed3){if(_0x5ebed3){_0x5eebb4=_0x5ebed3;_0x4afa8b[_0xbdee('0x3e')]=_['keys'](db[_0xbdee('0x55')]['rawAttributes']);_0x4afa8b[_0xbdee('0x3b')]=_[_0xbdee('0x3c')](_0x16bd3b[_0xbdee('0x3b')]);_0x4afa8b[_0xbdee('0x3d')]=_['intersection'](_0x4afa8b[_0xbdee('0x3e')],_0x4afa8b[_0xbdee('0x3b')]);_0xd40f6e['attributes']=_['intersection'](_0x4afa8b[_0xbdee('0x3e')],qs[_0xbdee('0x40')](_0x16bd3b[_0xbdee('0x3b')][_0xbdee('0x40')]));_0xd40f6e[_0xbdee('0x41')]=_0xd40f6e['attributes'][_0xbdee('0x42')]?_0xd40f6e[_0xbdee('0x41')]:_0x4afa8b[_0xbdee('0x3e')];_0xd40f6e['order']=qs[_0xbdee('0x56')](_0x16bd3b[_0xbdee('0x3b')][_0xbdee('0x56')]);_0xd40f6e['where']=qs[_0xbdee('0x3d')](_[_0xbdee('0x44')](_0x16bd3b[_0xbdee('0x3b')],_0x4afa8b['filters']));if(_0x16bd3b[_0xbdee('0x3b')][_0xbdee('0x57')]){_0xd40f6e[_0xbdee('0x46')]=_[_0xbdee('0x45')](_0xd40f6e[_0xbdee('0x46')],{'$or':_[_0xbdee('0x37')](_0xd40f6e[_0xbdee('0x41')],function(_0x35a400){var _0x55de79={};_0x55de79[_0x35a400]={'$like':'%'+_0x16bd3b[_0xbdee('0x3b')][_0xbdee('0x57')]+'%'};return _0x55de79;})});}_0xd40f6e=_[_0xbdee('0x45')]({},_0xd40f6e,_0x16bd3b[_0xbdee('0x49')]);return _0x5eebb4[_0xbdee('0x53')](_0xd40f6e);}})[_0xbdee('0x1d')](function(_0xd0cf50){if(_0xd0cf50){_0x4dc006=_0xd0cf50[_0xbdee('0x42')];if(!_0x16bd3b[_0xbdee('0x3b')][_0xbdee('0x58')](_0xbdee('0x43'))){_0xd40f6e[_0xbdee('0x2f')]=qs[_0xbdee('0x2f')](_0x16bd3b['query'][_0xbdee('0x2f')]);_0xd40f6e[_0xbdee('0x2e')]=qs[_0xbdee('0x2e')](_0x16bd3b[_0xbdee('0x3b')]['offset']);}return _0x5eebb4[_0xbdee('0x53')](_0xd40f6e);}})[_0xbdee('0x1d')](function(_0x39156e){if(_0x39156e){return _0x39156e?{'count':_0x4dc006,'rows':_0x39156e}:null;}})[_0xbdee('0x1d')](respondWithResult(_0x2f0690,null))[_0xbdee('0x28')](handleError(_0x2f0690,null));};exports['addConfiguration']=function(_0x449046,_0x1a5547,_0x2b40d3){if(_0x449046['body']['id']){delete _0x449046[_0xbdee('0x52')]['id'];}return db[_0xbdee('0x38')]['findOne']({'where':{'id':_0x449046[_0xbdee('0x4e')]['id']}})['then'](handleEntityNotFound(_0x1a5547,null))[_0xbdee('0x1d')](function(_0x54e91e){if(_0x54e91e){_0x449046[_0xbdee('0x52')]['AccountId']=_0x54e91e['id'];_0x449046[_0xbdee('0x52')][_0xbdee('0x59')]=integrations[_0xbdee('0x5a')](_0x449046['body'][_0xbdee('0x5b')],_0x449046[_0xbdee('0x52')][_0xbdee('0x47')]);_0x449046[_0xbdee('0x52')][_0xbdee('0x5c')]=integrations[_0xbdee('0x5d')](_0x449046[_0xbdee('0x52')]['channel'],_0x449046['body'][_0xbdee('0x47')]);return db[_0xbdee('0x55')][_0xbdee('0x51')](_0x449046[_0xbdee('0x52')],{'include':[{'model':db[_0xbdee('0x5e')],'as':'Subjects'},{'model':db[_0xbdee('0x5e')],'as':_0xbdee('0x5c')}]});}return null;})['then'](respondWithResult(_0x1a5547,null))[_0xbdee('0x28')](handleError(_0x1a5547,null));};exports['getFields']=function(_0x2b25c2,_0x320dc4,_0x35e933){var _0x525d24='';var _0x530129='';return db[_0xbdee('0x38')]['findOne']({'where':{'id':_0x2b25c2[_0xbdee('0x4e')]['id']},'attributes':['id','username',_0xbdee('0x5f'),_0xbdee('0x60')]})['then'](handleEntityNotFound(_0x320dc4,null))[_0xbdee('0x1d')](function(_0x16d60c){if(_0x16d60c){_0x530129=_0x16d60c[_0xbdee('0x61')];_0x525d24=_0x16d60c[_0xbdee('0x5f')];var _0x4cd60e=_0x16d60c[_0xbdee('0x5f')][_0xbdee('0x62')](-0x1);if(_0x4cd60e==='/'){_0x525d24=_0x525d24[_0xbdee('0x63')](0x0,_0x525d24[_0xbdee('0x64')](_0x4cd60e));}return rp({'method':_0xbdee('0x65'),'uri':util['format']('%s%s',_0x525d24,_0xbdee('0x66')),'headers':{'Authorization':_0xbdee('0x67')+_0x16d60c[_0xbdee('0x60')]},'json':!![]});}})[_0xbdee('0x1d')](function(_0x1a4117){if(_0x1a4117){var _0x453135=_0x1a4117[_0xbdee('0x68')];var _0x1a2d18=![];var _0x320d38=null;for(_0x320d38=0x0;_0x320d38<_0x453135['length'];_0x320d38++){if(_0x453135[_0x320d38][_0xbdee('0x69')]===_0x530129){_0x1a2d18=!![];}}if(_0x1a2d18){return!![];}else{throw new Error({'statusCode':0x194,'message':_0xbdee('0x6a')});}}})[_0xbdee('0x1d')](respondWithResult(_0x320dc4,null))[_0xbdee('0x28')](function(_0x1af2de){var _0x1be964=_0x2b25c2[_0xbdee('0x3b')][_0xbdee('0x19')]?0x1f4:_0x1af2de[_0xbdee('0x6b')]||0x1f4;logger[_0xbdee('0x24')](_0xbdee('0x6c'),'getFields',_0x1be964,JSON[_0xbdee('0x23')](_0x1af2de));delete _0x1af2de[_0xbdee('0x3a')];if(_0x1be964===0x191){_0x1be964=0x190;}_0x320dc4[_0xbdee('0x2b')](_0x1be964)[_0xbdee('0x6d')](_0x2b25c2[_0xbdee('0x3b')]['test']?{'message':_0xbdee('0x6e'),'statusCode':_0x1af2de[_0xbdee('0x6b')]}:_0x1af2de);});};