Built motion from commit (unavailable).|2.5.3
[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 _0xf513=['rows','catch','show','params','keys','merge','options','find','create','destroy','getConfigurations','findOne','pick','filter','addConfiguration','body','AccountId','Subjects','getSubjects','channel','getDescriptions','FreshsalesField','Descriptions','getFields','username','remoteUri','apiKey','slice','substring','lastIndexOf','GET','format','%s%s','/api/selector/owners','Token\x20token=','email','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','rimraf','zip-dir','moment','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','client','http','test','Sequelize','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~!@#$%^&-_=+[{]}.','info','request\x20sent','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','FreshsalesAccount,\x20%s,\x20%s','message','status','end','json','offset','Content-Range','apply','reject','save','update','then','sendStatus','name','send','rawAttributes','fieldName','type','key','model','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','filters','where','map','VIRTUAL','count','includeAll','include','FreshsalesAccount','findAll'];(function(_0xe593fe,_0x587956){var _0x49fe42=function(_0x5eb9fe){while(--_0x5eb9fe){_0xe593fe['push'](_0xe593fe['shift']());}};_0x49fe42(++_0x587956);}(_0xf513,0x109));var _0x3f51=function(_0x2807e5,_0x546ac7){_0x2807e5=_0x2807e5-0x0;var _0xa79a26=_0xf513[_0x2807e5];return _0xa79a26;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x3f51('0x0'));var zipdir=require(_0x3f51('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x3f51('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x3f51('0x3'));var util=require(_0x3f51('0x4'));var path=require(_0x3f51('0x5'));var sox=require(_0x3f51('0x6'));var csv=require(_0x3f51('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x3f51('0x8'));var squel=require(_0x3f51('0x9'));var crypto=require(_0x3f51('0xa'));var jsforce=require(_0x3f51('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x3f51('0x7'));var querystring=require(_0x3f51('0xc'));var Papa=require(_0x3f51('0xd'));var Redis=require(_0x3f51('0xe'));var authService=require(_0x3f51('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x3f51('0x10'))(_0x3f51('0x11'));var utils=require(_0x3f51('0x12'));var config=require(_0x3f51('0x13'));var db=require(_0x3f51('0x14'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x3f51('0x15'));var client=jayson[_0x3f51('0x16')][_0x3f51('0x17')]({'port':0x232a});function checkPasswordPattern(_0x24a556,_0x5e23ce,_0x905f25){if(_0x905f25){var _0x5ef30a=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x5ef30a[_0x3f51('0x18')](_0x5e23ce)){return _0x24a556;}else{throw new db[(_0x3f51('0x19'))][(_0x3f51('0x1a'))](_0x3f51('0x1b'));}}else{return _0x24a556;}}function respondWithRpcPromise(_0x2536dd,_0x42b650,_0x32e771,_0x4b8d4f){return new BPromise(function(_0x45ec9f,_0x464d74){var _0x4f0a=_0x4b8d4f||client;return _0x4f0a['request'](_0x2536dd,_0x32e771)['then'](function(_0x2d6a6b){logger[_0x3f51('0x1c')]('FreshsalesAccount,\x20%s,\x20%s',_0x42b650,_0x3f51('0x1d'));logger[_0x3f51('0x1e')](_0x3f51('0x1f'),_0x42b650,_0x3f51('0x1d'),JSON[_0x3f51('0x20')](_0x2d6a6b));if(_0x2d6a6b['error']){if(_0x2d6a6b[_0x3f51('0x21')][_0x3f51('0x22')]===0x1f4){logger[_0x3f51('0x21')](_0x3f51('0x23'),_0x42b650,_0x2d6a6b[_0x3f51('0x21')][_0x3f51('0x24')]);return _0x464d74(_0x2d6a6b[_0x3f51('0x21')][_0x3f51('0x24')]);}logger['error'](_0x3f51('0x23'),_0x42b650,_0x2d6a6b[_0x3f51('0x21')]['message']);return _0x45ec9f(_0x2d6a6b['error'][_0x3f51('0x24')]);}else{logger[_0x3f51('0x1c')]('FreshsalesAccount,\x20%s,\x20%s',_0x42b650,_0x3f51('0x1d'));_0x45ec9f(_0x2d6a6b['result'][_0x3f51('0x24')]);}})['catch'](function(_0x1f4224){logger[_0x3f51('0x21')](_0x3f51('0x23'),_0x42b650,_0x1f4224);_0x464d74(_0x1f4224);});});}function respondWithStatusCode(_0xbe09d8,_0xdf73f1){_0xdf73f1=_0xdf73f1||0xcc;return function(_0x2f4eae){if(_0x2f4eae){return _0xbe09d8['sendStatus'](_0xdf73f1);}return _0xbe09d8[_0x3f51('0x25')](_0xdf73f1)[_0x3f51('0x26')]();};}function respondWithResult(_0x4d99fe,_0x20da02){_0x20da02=_0x20da02||0xc8;return function(_0x226ca4){if(_0x226ca4){return _0x4d99fe['status'](_0x20da02)[_0x3f51('0x27')](_0x226ca4);}};}function respondWithFilteredResult(_0x40c0cb,_0x370b22){return function(_0xd7611){if(_0xd7611){var _0x1d0bb2=_0xd7611['count'],_0x52fb47=_0x370b22['offset'],_0x314089=_0x370b22[_0x3f51('0x28')]+_0x370b22['limit'],_0x30a151;if(_0x314089>=_0x1d0bb2){_0x314089=_0x1d0bb2;_0x30a151=0xc8;}else{_0x30a151=0xce;}_0x40c0cb[_0x3f51('0x25')](_0x30a151);return _0x40c0cb['set'](_0x3f51('0x29'),_0x52fb47+'-'+_0x314089+'/'+_0x1d0bb2)[_0x3f51('0x27')](_0xd7611);}return null;};}function patchUpdates(_0x9d5f2){return function(_0x4bc431){try{jsonpatch[_0x3f51('0x2a')](_0x4bc431,_0x9d5f2,!![]);}catch(_0x431262){return BPromise[_0x3f51('0x2b')](_0x431262);}return _0x4bc431[_0x3f51('0x2c')]();};}function saveUpdates(_0x4c72bd,_0x2f4359){return function(_0x3fa37e){if(_0x3fa37e){return _0x3fa37e[_0x3f51('0x2d')](_0x4c72bd)[_0x3f51('0x2e')](function(_0x29fee3){return _0x29fee3;});}return null;};}function removeEntity(_0x3433c0,_0x3bccf0){return function(_0x486f39){if(_0x486f39){return _0x486f39['destroy']()[_0x3f51('0x2e')](function(){_0x3433c0[_0x3f51('0x25')](0xcc)[_0x3f51('0x26')]();});}};}function handleEntityNotFound(_0xf82638,_0x186563){return function(_0x49c3aa){if(!_0x49c3aa){_0xf82638[_0x3f51('0x2f')](0x194);}return _0x49c3aa;};}function handleError(_0x53db17,_0x22299a){_0x22299a=_0x22299a||0x1f4;return function(_0x222bc0){logger[_0x3f51('0x21')](_0x222bc0['stack']);if(_0x222bc0[_0x3f51('0x30')]){delete _0x222bc0[_0x3f51('0x30')];}_0x53db17[_0x3f51('0x25')](_0x22299a)[_0x3f51('0x31')](_0x222bc0);};}exports['index']=function(_0x56eae5,_0x6583b8){var _0x1acbc6={},_0x174e8b={},_0x2d6a2b={'count':0x0,'rows':[]};var _0x1f5dbb=_['map'](db['FreshsalesAccount'][_0x3f51('0x32')],function(_0x14f9f9){return{'name':_0x14f9f9[_0x3f51('0x33')],'type':_0x14f9f9[_0x3f51('0x34')][_0x3f51('0x35')]};});_0x174e8b[_0x3f51('0x36')]=_['map'](_0x1f5dbb,_0x3f51('0x30'));_0x174e8b['query']=_['keys'](_0x56eae5['query']);_0x174e8b['filters']=_[_0x3f51('0x37')](_0x174e8b[_0x3f51('0x36')],_0x174e8b[_0x3f51('0x38')]);_0x1acbc6[_0x3f51('0x39')]=_[_0x3f51('0x37')](_0x174e8b[_0x3f51('0x36')],qs[_0x3f51('0x3a')](_0x56eae5['query'][_0x3f51('0x3a')]));_0x1acbc6[_0x3f51('0x39')]=_0x1acbc6['attributes'][_0x3f51('0x3b')]?_0x1acbc6['attributes']:_0x174e8b[_0x3f51('0x36')];if(!_0x56eae5[_0x3f51('0x38')][_0x3f51('0x3c')](_0x3f51('0x3d'))){_0x1acbc6[_0x3f51('0x3e')]=qs[_0x3f51('0x3e')](_0x56eae5[_0x3f51('0x38')][_0x3f51('0x3e')]);_0x1acbc6[_0x3f51('0x28')]=qs[_0x3f51('0x28')](_0x56eae5[_0x3f51('0x38')][_0x3f51('0x28')]);}_0x1acbc6[_0x3f51('0x3f')]=qs[_0x3f51('0x40')](_0x56eae5['query']['sort']);_0x1acbc6['where']=qs[_0x3f51('0x41')](_['pick'](_0x56eae5['query'],_0x174e8b[_0x3f51('0x41')]),_0x1f5dbb);if(_0x56eae5[_0x3f51('0x38')]['filter']){_0x1acbc6[_0x3f51('0x42')]=_['merge'](_0x1acbc6[_0x3f51('0x42')],{'$or':_[_0x3f51('0x43')](_0x1f5dbb,function(_0x4342c9){if(_0x4342c9['type']!==_0x3f51('0x44')){var _0x5e08d5={};_0x5e08d5[_0x4342c9[_0x3f51('0x30')]]={'$like':'%'+_0x56eae5[_0x3f51('0x38')]['filter']+'%'};return _0x5e08d5;}})});}_0x1acbc6=_['merge']({},_0x1acbc6,_0x56eae5['options']);var _0x532e8e={'where':_0x1acbc6[_0x3f51('0x42')]};return db['FreshsalesAccount']['count'](_0x532e8e)[_0x3f51('0x2e')](function(_0x47af1d){_0x2d6a2b[_0x3f51('0x45')]=_0x47af1d;if(_0x56eae5[_0x3f51('0x38')][_0x3f51('0x46')]){_0x1acbc6[_0x3f51('0x47')]=[{'all':!![]}];}return db[_0x3f51('0x48')][_0x3f51('0x49')](_0x1acbc6);})[_0x3f51('0x2e')](function(_0x5679fc){_0x2d6a2b[_0x3f51('0x4a')]=_0x5679fc;return _0x2d6a2b;})[_0x3f51('0x2e')](respondWithFilteredResult(_0x6583b8,_0x1acbc6))[_0x3f51('0x4b')](handleError(_0x6583b8,null));};exports[_0x3f51('0x4c')]=function(_0x3d0bd4,_0x1a74ba){var _0xd4c44e={'raw':![],'where':{'id':_0x3d0bd4[_0x3f51('0x4d')]['id']}},_0xbd552b={};_0xbd552b[_0x3f51('0x36')]=_[_0x3f51('0x4e')](db[_0x3f51('0x48')][_0x3f51('0x32')]);_0xbd552b[_0x3f51('0x38')]=_[_0x3f51('0x4e')](_0x3d0bd4['query']);_0xbd552b[_0x3f51('0x41')]=_[_0x3f51('0x37')](_0xbd552b[_0x3f51('0x36')],_0xbd552b[_0x3f51('0x38')]);_0xd4c44e[_0x3f51('0x39')]=_['intersection'](_0xbd552b['model'],qs['fields'](_0x3d0bd4[_0x3f51('0x38')][_0x3f51('0x3a')]));_0xd4c44e['attributes']=_0xd4c44e[_0x3f51('0x39')]['length']?_0xd4c44e[_0x3f51('0x39')]:_0xbd552b[_0x3f51('0x36')];if(_0x3d0bd4['query'][_0x3f51('0x46')]){_0xd4c44e['include']=[{'all':!![]}];}_0xd4c44e=_[_0x3f51('0x4f')]({},_0xd4c44e,_0x3d0bd4[_0x3f51('0x50')]);return db[_0x3f51('0x48')][_0x3f51('0x51')](_0xd4c44e)[_0x3f51('0x2e')](handleEntityNotFound(_0x1a74ba,null))[_0x3f51('0x2e')](respondWithResult(_0x1a74ba,null))[_0x3f51('0x4b')](handleError(_0x1a74ba,null));};exports[_0x3f51('0x52')]=function(_0x3ab3ff,_0x5dd84a){return db[_0x3f51('0x48')]['create'](_0x3ab3ff['body'],{})[_0x3f51('0x2e')](respondWithResult(_0x5dd84a,0xc9))['catch'](handleError(_0x5dd84a,null));};exports['update']=function(_0x13e87f,_0x4375ff){if(_0x13e87f['body']['id']){delete _0x13e87f['body']['id'];}return db[_0x3f51('0x48')][_0x3f51('0x51')]({'where':{'id':_0x13e87f[_0x3f51('0x4d')]['id']}})[_0x3f51('0x2e')](handleEntityNotFound(_0x4375ff,null))[_0x3f51('0x2e')](saveUpdates(_0x13e87f['body'],null))[_0x3f51('0x2e')](respondWithResult(_0x4375ff,null))[_0x3f51('0x4b')](handleError(_0x4375ff,null));};exports[_0x3f51('0x53')]=function(_0x6b0407,_0x407c24){return db[_0x3f51('0x48')][_0x3f51('0x51')]({'where':{'id':_0x6b0407[_0x3f51('0x4d')]['id']}})[_0x3f51('0x2e')](handleEntityNotFound(_0x407c24,null))[_0x3f51('0x2e')](removeEntity(_0x407c24,null))[_0x3f51('0x4b')](handleError(_0x407c24,null));};exports[_0x3f51('0x54')]=function(_0xea93e,_0x1f5338,_0x1fc78b){var _0x29f407={};var _0x592a97={};var _0x326d01;var _0x51c591;return db['FreshsalesAccount'][_0x3f51('0x55')]({'where':{'id':_0xea93e[_0x3f51('0x4d')]['id']}})[_0x3f51('0x2e')](handleEntityNotFound(_0x1f5338,null))[_0x3f51('0x2e')](function(_0x13ab19){if(_0x13ab19){_0x326d01=_0x13ab19;_0x592a97[_0x3f51('0x36')]=_['keys'](db['FreshsalesConfiguration'][_0x3f51('0x32')]);_0x592a97[_0x3f51('0x38')]=_[_0x3f51('0x4e')](_0xea93e['query']);_0x592a97['filters']=_[_0x3f51('0x37')](_0x592a97[_0x3f51('0x36')],_0x592a97['query']);_0x29f407[_0x3f51('0x39')]=_['intersection'](_0x592a97[_0x3f51('0x36')],qs[_0x3f51('0x3a')](_0xea93e['query']['fields']));_0x29f407['attributes']=_0x29f407[_0x3f51('0x39')][_0x3f51('0x3b')]?_0x29f407[_0x3f51('0x39')]:_0x592a97[_0x3f51('0x36')];_0x29f407[_0x3f51('0x3f')]=qs[_0x3f51('0x40')](_0xea93e[_0x3f51('0x38')][_0x3f51('0x40')]);_0x29f407[_0x3f51('0x42')]=qs[_0x3f51('0x41')](_[_0x3f51('0x56')](_0xea93e[_0x3f51('0x38')],_0x592a97['filters']));if(_0xea93e[_0x3f51('0x38')][_0x3f51('0x57')]){_0x29f407[_0x3f51('0x42')]=_['merge'](_0x29f407[_0x3f51('0x42')],{'$or':_[_0x3f51('0x43')](_0x29f407[_0x3f51('0x39')],function(_0x12bb30){var _0x9c61c1={};_0x9c61c1[_0x12bb30]={'$like':'%'+_0xea93e[_0x3f51('0x38')][_0x3f51('0x57')]+'%'};return _0x9c61c1;})});}_0x29f407=_[_0x3f51('0x4f')]({},_0x29f407,_0xea93e['options']);return _0x326d01[_0x3f51('0x54')](_0x29f407);}})['then'](function(_0x16ffa0){if(_0x16ffa0){_0x51c591=_0x16ffa0[_0x3f51('0x3b')];if(!_0xea93e['query'][_0x3f51('0x3c')](_0x3f51('0x3d'))){_0x29f407[_0x3f51('0x3e')]=qs[_0x3f51('0x3e')](_0xea93e[_0x3f51('0x38')][_0x3f51('0x3e')]);_0x29f407[_0x3f51('0x28')]=qs['offset'](_0xea93e[_0x3f51('0x38')][_0x3f51('0x28')]);}return _0x326d01['getConfigurations'](_0x29f407);}})[_0x3f51('0x2e')](function(_0x5bdafd){if(_0x5bdafd){return _0x5bdafd?{'count':_0x51c591,'rows':_0x5bdafd}:null;}})[_0x3f51('0x2e')](respondWithResult(_0x1f5338,null))[_0x3f51('0x4b')](handleError(_0x1f5338,null));};exports[_0x3f51('0x58')]=function(_0x2346f1,_0x5aaf4f,_0x3216b3){if(_0x2346f1[_0x3f51('0x59')]['id']){delete _0x2346f1[_0x3f51('0x59')]['id'];}return db['FreshsalesAccount'][_0x3f51('0x55')]({'where':{'id':_0x2346f1[_0x3f51('0x4d')]['id']}})['then'](handleEntityNotFound(_0x5aaf4f,null))['then'](function(_0x40616b){if(_0x40616b){_0x2346f1['body'][_0x3f51('0x5a')]=_0x40616b['id'];_0x2346f1['body'][_0x3f51('0x5b')]=integrations[_0x3f51('0x5c')](_0x2346f1[_0x3f51('0x59')][_0x3f51('0x5d')],_0x2346f1['body'][_0x3f51('0x34')]);_0x2346f1[_0x3f51('0x59')]['Descriptions']=integrations[_0x3f51('0x5e')](_0x2346f1['body'][_0x3f51('0x5d')],_0x2346f1['body'][_0x3f51('0x34')]);return db['FreshsalesConfiguration'][_0x3f51('0x52')](_0x2346f1[_0x3f51('0x59')],{'include':[{'model':db[_0x3f51('0x5f')],'as':_0x3f51('0x5b')},{'model':db['FreshsalesField'],'as':_0x3f51('0x60')}]});}return null;})['then'](respondWithResult(_0x5aaf4f,null))[_0x3f51('0x4b')](handleError(_0x5aaf4f,null));};exports[_0x3f51('0x61')]=function(_0x677899,_0x5355d8,_0x4a11e7){var _0x5b2d1e='';var _0x183fe8='';return db['FreshsalesAccount']['findOne']({'where':{'id':_0x677899[_0x3f51('0x4d')]['id']},'attributes':['id',_0x3f51('0x62'),_0x3f51('0x63'),_0x3f51('0x64')]})[_0x3f51('0x2e')](handleEntityNotFound(_0x5355d8,null))[_0x3f51('0x2e')](function(_0xbc024c){if(_0xbc024c){_0x183fe8=_0xbc024c['username'];_0x5b2d1e=_0xbc024c[_0x3f51('0x63')];var _0x485cd2=_0xbc024c[_0x3f51('0x63')][_0x3f51('0x65')](-0x1);if(_0x485cd2==='/'){_0x5b2d1e=_0x5b2d1e[_0x3f51('0x66')](0x0,_0x5b2d1e[_0x3f51('0x67')](_0x485cd2));}return rp({'method':_0x3f51('0x68'),'uri':util[_0x3f51('0x69')](_0x3f51('0x6a'),_0x5b2d1e,_0x3f51('0x6b')),'headers':{'Authorization':_0x3f51('0x6c')+_0xbc024c[_0x3f51('0x64')]},'json':!![]});}})['then'](function(_0x8197f5){if(_0x8197f5){var _0x57fc18=_0x8197f5['users'];var _0x575ed8=![];var _0x58fe9d=null;for(_0x58fe9d=0x0;_0x58fe9d<_0x57fc18[_0x3f51('0x3b')];_0x58fe9d++){if(_0x57fc18[_0x58fe9d][_0x3f51('0x6d')]===_0x183fe8){_0x575ed8=!![];}}if(_0x575ed8){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})['then'](respondWithResult(_0x5355d8,null))['catch'](function(_0x57c116){var _0x61246e=_0x677899[_0x3f51('0x38')]['test']?0x1f4:_0x57c116[_0x3f51('0x6e')]||0x1f4;logger['error'](_0x3f51('0x6f'),'getFields',_0x61246e,JSON['stringify'](_0x57c116));delete _0x57c116[_0x3f51('0x30')];if(_0x61246e===0x191){_0x61246e=0x190;}_0x5355d8[_0x3f51('0x25')](_0x61246e)[_0x3f51('0x31')](_0x677899['query'][_0x3f51('0x18')]?{'message':_0x3f51('0x70'),'statusCode':_0x57c116[_0x3f51('0x6e')]}:_0x57c116);});};