Built motion from commit 953226e6.|2.6.32
[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 _0xb71c=['Subjects','getSubjects','channel','getDescriptions','Descriptions','getFields','remoteUri','substring','lastIndexOf','GET','format','%s%s','/api/selector/owners','Token\x20token=','apiKey','users','email','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','error','stack','name','send','index','FreshsalesAccount','rawAttributes','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','merge','where','type','VIRTUAL','filter','includeAll','include','findAll','then','catch','show','params','options','create','body','update','find','getConfigurations','findOne','FreshsalesConfiguration','AccountId'];(function(_0x4c3c88,_0x42f102){var _0x1587d4=function(_0x521d65){while(--_0x521d65){_0x4c3c88['push'](_0x4c3c88['shift']());}};_0x1587d4(++_0x42f102);}(_0xb71c,0x151));var _0xcb71=function(_0x672fb,_0x65b172){_0x672fb=_0x672fb-0x0;var _0x43185f=_0xb71c[_0x672fb];return _0x43185f;};'use strict';var emlformat=require(_0xcb71('0x0'));var rimraf=require(_0xcb71('0x1'));var zipdir=require(_0xcb71('0x2'));var jsonpatch=require(_0xcb71('0x3'));var rp=require(_0xcb71('0x4'));var moment=require(_0xcb71('0x5'));var BPromise=require(_0xcb71('0x6'));var Mustache=require(_0xcb71('0x7'));var util=require(_0xcb71('0x8'));var path=require(_0xcb71('0x9'));var sox=require('sox');var csv=require(_0xcb71('0xa'));var ejs=require(_0xcb71('0xb'));var fs=require('fs');var fs_extra=require(_0xcb71('0xc'));var _=require(_0xcb71('0xd'));var squel=require(_0xcb71('0xe'));var crypto=require(_0xcb71('0xf'));var jsforce=require('jsforce');var deskjs=require(_0xcb71('0x10'));var toCsv=require(_0xcb71('0xa'));var querystring=require(_0xcb71('0x11'));var Papa=require(_0xcb71('0x12'));var Redis=require(_0xcb71('0x13'));var authService=require(_0xcb71('0x14'));var qs=require(_0xcb71('0x15'));var as=require(_0xcb71('0x16'));var hardwareService=require(_0xcb71('0x17'));var logger=require(_0xcb71('0x18'))(_0xcb71('0x19'));var utils=require(_0xcb71('0x1a'));var config=require(_0xcb71('0x1b'));var licenseUtil=require('../../config/license/util');var db=require(_0xcb71('0x1c'))['db'];var integrations=require(_0xcb71('0x1d'));function respondWithStatusCode(_0x546b2d,_0x5f157b){_0x5f157b=_0x5f157b||0xcc;return function(_0x13419d){if(_0x13419d){return _0x546b2d[_0xcb71('0x1e')](_0x5f157b);}return _0x546b2d['status'](_0x5f157b)[_0xcb71('0x1f')]();};}function respondWithResult(_0x2b1033,_0x3c79f5){_0x3c79f5=_0x3c79f5||0xc8;return function(_0x41d1ee){if(_0x41d1ee){return _0x2b1033[_0xcb71('0x20')](_0x3c79f5)[_0xcb71('0x21')](_0x41d1ee);}};}function respondWithFilteredResult(_0x33708c,_0x5385ca){return function(_0x5f14cc){if(_0x5f14cc){var _0x3bee6b=typeof _0x5385ca[_0xcb71('0x22')]==='undefined'&&typeof _0x5385ca[_0xcb71('0x23')]===_0xcb71('0x24');var _0x216b82=_0x5f14cc[_0xcb71('0x25')];var _0x284a83=_0x3bee6b?0x0:_0x5385ca[_0xcb71('0x22')];var _0x587dfc=_0x3bee6b?_0x5f14cc[_0xcb71('0x25')]:_0x5385ca[_0xcb71('0x22')]+_0x5385ca['limit'];var _0x566b7a;if(_0x587dfc>=_0x216b82){_0x587dfc=_0x216b82;_0x566b7a=0xc8;}else{_0x566b7a=0xce;}_0x33708c[_0xcb71('0x20')](_0x566b7a);return _0x33708c[_0xcb71('0x26')](_0xcb71('0x27'),_0x284a83+'-'+_0x587dfc+'/'+_0x216b82)[_0xcb71('0x21')](_0x5f14cc);}return null;};}function patchUpdates(_0x287b7d){return function(_0x28f5b2){try{jsonpatch[_0xcb71('0x28')](_0x28f5b2,_0x287b7d,!![]);}catch(_0x24b55f){return BPromise['reject'](_0x24b55f);}return _0x28f5b2['save']();};}function saveUpdates(_0x2e0456,_0x55f640){return function(_0xba7d3c){if(_0xba7d3c){return _0xba7d3c['update'](_0x2e0456)['then'](function(_0xb67b56){return _0xb67b56;});}return null;};}function removeEntity(_0x4401e5,_0x25ee33){return function(_0x96411){if(_0x96411){return _0x96411['destroy']()['then'](function(){_0x4401e5[_0xcb71('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a3a7d,_0x57fa1a){return function(_0xe0ce13){if(!_0xe0ce13){_0x4a3a7d[_0xcb71('0x1e')](0x194);}return _0xe0ce13;};}function handleError(_0x58c492,_0x80eb67){_0x80eb67=_0x80eb67||0x1f4;return function(_0x20ca97){logger[_0xcb71('0x29')](_0x20ca97[_0xcb71('0x2a')]);if(_0x20ca97[_0xcb71('0x2b')]){delete _0x20ca97[_0xcb71('0x2b')];}_0x58c492[_0xcb71('0x20')](_0x80eb67)[_0xcb71('0x2c')](_0x20ca97);};}exports[_0xcb71('0x2d')]=function(_0x475861,_0x21ef09){var _0x553e7b={},_0x2550ae={},_0xe9157f={'count':0x0,'rows':[]};var _0x563f99=_['map'](db[_0xcb71('0x2e')][_0xcb71('0x2f')],function(_0x4efbcb){return{'name':_0x4efbcb['fieldName'],'type':_0x4efbcb['type']['key']};});_0x2550ae[_0xcb71('0x30')]=_[_0xcb71('0x31')](_0x563f99,'name');_0x2550ae[_0xcb71('0x32')]=_[_0xcb71('0x33')](_0x475861[_0xcb71('0x32')]);_0x2550ae[_0xcb71('0x34')]=_[_0xcb71('0x35')](_0x2550ae[_0xcb71('0x30')],_0x2550ae[_0xcb71('0x32')]);_0x553e7b[_0xcb71('0x36')]=_['intersection'](_0x2550ae[_0xcb71('0x30')],qs['fields'](_0x475861[_0xcb71('0x32')][_0xcb71('0x37')]));_0x553e7b[_0xcb71('0x36')]=_0x553e7b[_0xcb71('0x36')][_0xcb71('0x38')]?_0x553e7b[_0xcb71('0x36')]:_0x2550ae[_0xcb71('0x30')];if(!_0x475861[_0xcb71('0x32')][_0xcb71('0x39')](_0xcb71('0x3a'))){_0x553e7b[_0xcb71('0x23')]=qs[_0xcb71('0x23')](_0x475861['query'][_0xcb71('0x23')]);_0x553e7b[_0xcb71('0x22')]=qs['offset'](_0x475861['query'][_0xcb71('0x22')]);}_0x553e7b[_0xcb71('0x3b')]=qs[_0xcb71('0x3c')](_0x475861[_0xcb71('0x32')][_0xcb71('0x3c')]);_0x553e7b['where']=qs[_0xcb71('0x34')](_[_0xcb71('0x3d')](_0x475861[_0xcb71('0x32')],_0x2550ae['filters']),_0x563f99);if(_0x475861[_0xcb71('0x32')]['filter']){_0x553e7b['where']=_[_0xcb71('0x3e')](_0x553e7b[_0xcb71('0x3f')],{'$or':_[_0xcb71('0x31')](_0x563f99,function(_0x50db7d){if(_0x50db7d[_0xcb71('0x40')]!==_0xcb71('0x41')){var _0x4ff16e={};_0x4ff16e[_0x50db7d[_0xcb71('0x2b')]]={'$like':'%'+_0x475861['query'][_0xcb71('0x42')]+'%'};return _0x4ff16e;}})});}_0x553e7b=_[_0xcb71('0x3e')]({},_0x553e7b,_0x475861['options']);var _0x1c3e24={'where':_0x553e7b[_0xcb71('0x3f')]};return db[_0xcb71('0x2e')]['count'](_0x1c3e24)['then'](function(_0xa760eb){_0xe9157f[_0xcb71('0x25')]=_0xa760eb;if(_0x475861['query'][_0xcb71('0x43')]){_0x553e7b[_0xcb71('0x44')]=[{'all':!![]}];}return db[_0xcb71('0x2e')][_0xcb71('0x45')](_0x553e7b);})[_0xcb71('0x46')](function(_0x358639){_0xe9157f['rows']=_0x358639;return _0xe9157f;})[_0xcb71('0x46')](respondWithFilteredResult(_0x21ef09,_0x553e7b))[_0xcb71('0x47')](handleError(_0x21ef09,null));};exports[_0xcb71('0x48')]=function(_0x55f29a,_0x2b217f){var _0x12e5ad={'raw':![],'where':{'id':_0x55f29a[_0xcb71('0x49')]['id']}},_0x5c0b5f={};_0x5c0b5f[_0xcb71('0x30')]=_['keys'](db[_0xcb71('0x2e')][_0xcb71('0x2f')]);_0x5c0b5f[_0xcb71('0x32')]=_[_0xcb71('0x33')](_0x55f29a['query']);_0x5c0b5f[_0xcb71('0x34')]=_['intersection'](_0x5c0b5f[_0xcb71('0x30')],_0x5c0b5f[_0xcb71('0x32')]);_0x12e5ad[_0xcb71('0x36')]=_[_0xcb71('0x35')](_0x5c0b5f[_0xcb71('0x30')],qs[_0xcb71('0x37')](_0x55f29a[_0xcb71('0x32')]['fields']));_0x12e5ad[_0xcb71('0x36')]=_0x12e5ad['attributes']['length']?_0x12e5ad[_0xcb71('0x36')]:_0x5c0b5f[_0xcb71('0x30')];if(_0x55f29a[_0xcb71('0x32')][_0xcb71('0x43')]){_0x12e5ad['include']=[{'all':!![]}];}_0x12e5ad=_[_0xcb71('0x3e')]({},_0x12e5ad,_0x55f29a[_0xcb71('0x4a')]);return db[_0xcb71('0x2e')]['find'](_0x12e5ad)[_0xcb71('0x46')](handleEntityNotFound(_0x2b217f,null))[_0xcb71('0x46')](respondWithResult(_0x2b217f,null))[_0xcb71('0x47')](handleError(_0x2b217f,null));};exports[_0xcb71('0x4b')]=function(_0x3aaffd,_0x2d070c){return db[_0xcb71('0x2e')]['create'](_0x3aaffd[_0xcb71('0x4c')],{})[_0xcb71('0x46')](respondWithResult(_0x2d070c,0xc9))[_0xcb71('0x47')](handleError(_0x2d070c,null));};exports[_0xcb71('0x4d')]=function(_0x13ce8e,_0x3892e6){if(_0x13ce8e['body']['id']){delete _0x13ce8e['body']['id'];}return db[_0xcb71('0x2e')][_0xcb71('0x4e')]({'where':{'id':_0x13ce8e[_0xcb71('0x49')]['id']}})[_0xcb71('0x46')](handleEntityNotFound(_0x3892e6,null))[_0xcb71('0x46')](saveUpdates(_0x13ce8e[_0xcb71('0x4c')],null))[_0xcb71('0x46')](respondWithResult(_0x3892e6,null))[_0xcb71('0x47')](handleError(_0x3892e6,null));};exports['destroy']=function(_0x1a52ca,_0x3826fe){return db[_0xcb71('0x2e')][_0xcb71('0x4e')]({'where':{'id':_0x1a52ca[_0xcb71('0x49')]['id']}})[_0xcb71('0x46')](handleEntityNotFound(_0x3826fe,null))[_0xcb71('0x46')](removeEntity(_0x3826fe,null))[_0xcb71('0x47')](handleError(_0x3826fe,null));};exports[_0xcb71('0x4f')]=function(_0x1937bb,_0x326136,_0x62c106){var _0x4593e9={};var _0x3152f0={};var _0x5200ed;var _0x4ab509;return db[_0xcb71('0x2e')][_0xcb71('0x50')]({'where':{'id':_0x1937bb[_0xcb71('0x49')]['id']}})[_0xcb71('0x46')](handleEntityNotFound(_0x326136,null))[_0xcb71('0x46')](function(_0x25eeaf){if(_0x25eeaf){_0x5200ed=_0x25eeaf;_0x3152f0[_0xcb71('0x30')]=_[_0xcb71('0x33')](db[_0xcb71('0x51')][_0xcb71('0x2f')]);_0x3152f0[_0xcb71('0x32')]=_[_0xcb71('0x33')](_0x1937bb[_0xcb71('0x32')]);_0x3152f0[_0xcb71('0x34')]=_[_0xcb71('0x35')](_0x3152f0[_0xcb71('0x30')],_0x3152f0[_0xcb71('0x32')]);_0x4593e9[_0xcb71('0x36')]=_['intersection'](_0x3152f0['model'],qs[_0xcb71('0x37')](_0x1937bb['query'][_0xcb71('0x37')]));_0x4593e9[_0xcb71('0x36')]=_0x4593e9[_0xcb71('0x36')][_0xcb71('0x38')]?_0x4593e9[_0xcb71('0x36')]:_0x3152f0[_0xcb71('0x30')];_0x4593e9['order']=qs[_0xcb71('0x3c')](_0x1937bb[_0xcb71('0x32')][_0xcb71('0x3c')]);_0x4593e9[_0xcb71('0x3f')]=qs[_0xcb71('0x34')](_['pick'](_0x1937bb[_0xcb71('0x32')],_0x3152f0[_0xcb71('0x34')]));if(_0x1937bb[_0xcb71('0x32')][_0xcb71('0x42')]){_0x4593e9['where']=_['merge'](_0x4593e9['where'],{'$or':_['map'](_0x4593e9[_0xcb71('0x36')],function(_0xfddc12){var _0x5caf2e={};_0x5caf2e[_0xfddc12]={'$like':'%'+_0x1937bb[_0xcb71('0x32')][_0xcb71('0x42')]+'%'};return _0x5caf2e;})});}_0x4593e9=_[_0xcb71('0x3e')]({},_0x4593e9,_0x1937bb[_0xcb71('0x4a')]);return _0x5200ed[_0xcb71('0x4f')](_0x4593e9);}})[_0xcb71('0x46')](function(_0x2fc75b){if(_0x2fc75b){_0x4ab509=_0x2fc75b[_0xcb71('0x38')];if(!_0x1937bb['query'][_0xcb71('0x39')](_0xcb71('0x3a'))){_0x4593e9[_0xcb71('0x23')]=qs[_0xcb71('0x23')](_0x1937bb[_0xcb71('0x32')]['limit']);_0x4593e9[_0xcb71('0x22')]=qs[_0xcb71('0x22')](_0x1937bb[_0xcb71('0x32')][_0xcb71('0x22')]);}return _0x5200ed[_0xcb71('0x4f')](_0x4593e9);}})['then'](function(_0x15c3fb){if(_0x15c3fb){return _0x15c3fb?{'count':_0x4ab509,'rows':_0x15c3fb}:null;}})[_0xcb71('0x46')](respondWithResult(_0x326136,null))[_0xcb71('0x47')](handleError(_0x326136,null));};exports['addConfiguration']=function(_0x400ffb,_0x1b7ab6,_0xf43a4b){if(_0x400ffb[_0xcb71('0x4c')]['id']){delete _0x400ffb['body']['id'];}return db['FreshsalesAccount']['findOne']({'where':{'id':_0x400ffb['params']['id']}})[_0xcb71('0x46')](handleEntityNotFound(_0x1b7ab6,null))[_0xcb71('0x46')](function(_0x5dce97){if(_0x5dce97){_0x400ffb[_0xcb71('0x4c')][_0xcb71('0x52')]=_0x5dce97['id'];_0x400ffb[_0xcb71('0x4c')][_0xcb71('0x53')]=integrations[_0xcb71('0x54')](_0x400ffb[_0xcb71('0x4c')][_0xcb71('0x55')],_0x400ffb['body'][_0xcb71('0x40')]);_0x400ffb[_0xcb71('0x4c')]['Descriptions']=integrations[_0xcb71('0x56')](_0x400ffb[_0xcb71('0x4c')]['channel'],_0x400ffb[_0xcb71('0x4c')]['type']);return db[_0xcb71('0x51')][_0xcb71('0x4b')](_0x400ffb[_0xcb71('0x4c')],{'include':[{'model':db['FreshsalesField'],'as':_0xcb71('0x53')},{'model':db['FreshsalesField'],'as':_0xcb71('0x57')}]});}return null;})[_0xcb71('0x46')](respondWithResult(_0x1b7ab6,null))['catch'](handleError(_0x1b7ab6,null));};exports[_0xcb71('0x58')]=function(_0x4fad35,_0x3127f0,_0x2e9d63){var _0x47c306='';var _0x25796e='';return db[_0xcb71('0x2e')][_0xcb71('0x50')]({'where':{'id':_0x4fad35['params']['id']},'attributes':['id','username',_0xcb71('0x59'),'apiKey']})[_0xcb71('0x46')](handleEntityNotFound(_0x3127f0,null))[_0xcb71('0x46')](function(_0x502c22){if(_0x502c22){_0x25796e=_0x502c22['username'];_0x47c306=_0x502c22[_0xcb71('0x59')];var _0x614479=_0x502c22[_0xcb71('0x59')]['slice'](-0x1);if(_0x614479==='/'){_0x47c306=_0x47c306[_0xcb71('0x5a')](0x0,_0x47c306[_0xcb71('0x5b')](_0x614479));}return rp({'method':_0xcb71('0x5c'),'uri':util[_0xcb71('0x5d')](_0xcb71('0x5e'),_0x47c306,_0xcb71('0x5f')),'headers':{'Authorization':_0xcb71('0x60')+_0x502c22[_0xcb71('0x61')]},'json':!![]});}})[_0xcb71('0x46')](function(_0x394dfb){if(_0x394dfb){var _0x5780c6=_0x394dfb[_0xcb71('0x62')];var _0x276fe3=![];var _0x40f890=null;for(_0x40f890=0x0;_0x40f890<_0x5780c6[_0xcb71('0x38')];_0x40f890++){if(_0x5780c6[_0x40f890][_0xcb71('0x63')]===_0x25796e){_0x276fe3=!![];}}if(_0x276fe3){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})['then'](respondWithResult(_0x3127f0,null))[_0xcb71('0x47')](function(_0xcac07c){var _0x22b575=_0x4fad35[_0xcb71('0x32')][_0xcb71('0x64')]?0x1f4:_0xcac07c[_0xcb71('0x65')]||0x1f4;logger['error'](_0xcb71('0x66'),_0xcb71('0x58'),_0x22b575,JSON[_0xcb71('0x67')](_0xcac07c));delete _0xcac07c['name'];if(_0x22b575===0x191){_0x22b575=0x190;}_0x3127f0[_0xcb71('0x20')](_0x22b575)['send'](_0x4fad35[_0xcb71('0x32')]['test']?{'message':_0xcb71('0x68'),'statusCode':_0xcac07c[_0xcb71('0x65')]}:_0xcac07c);});};