Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / api / intSalesforceAccount / intSalesforceAccount.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 _0xe7cd=['find','create','body','destroy','getConfigurations','findOne','addConfiguration','Subjects','getSubjects','channel','getDescriptions','SalesforceConfiguration','SalesforceField','getFields','Task','remoteUri','clientId','clientSecret','username','password','securityToken','slice','substring','lastIndexOf','Connection','concat','ticketType','describe','OwnerId','ActivityDate','IsRecurrence','Subject','string','picklist','boolean','textarea','remove','includes','custom','picklistValues','label','value','True','true','false','test','statusCode','stringify','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','sendStatus','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','key','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type','VIRTUAL','options','includeAll','findAll','rows','then','catch','show','params','keys'];(function(_0x2fa64e,_0x40d833){var _0x16367f=function(_0x10da0e){while(--_0x10da0e){_0x2fa64e['push'](_0x2fa64e['shift']());}};_0x16367f(++_0x40d833);}(_0xe7cd,0xaa));var _0xde7c=function(_0x2e2ff9,_0x178c81){_0x2e2ff9=_0x2e2ff9-0x0;var _0x588fe1=_0xe7cd[_0x2e2ff9];return _0x588fe1;};'use strict';var emlformat=require(_0xde7c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xde7c('0x1'));var jsonpatch=require(_0xde7c('0x2'));var rp=require(_0xde7c('0x3'));var moment=require(_0xde7c('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xde7c('0x5'));var util=require('util');var path=require(_0xde7c('0x6'));var sox=require(_0xde7c('0x7'));var csv=require('to-csv');var ejs=require(_0xde7c('0x8'));var fs=require('fs');var fs_extra=require(_0xde7c('0x9'));var _=require('lodash');var squel=require(_0xde7c('0xa'));var crypto=require(_0xde7c('0xb'));var jsforce=require(_0xde7c('0xc'));var deskjs=require(_0xde7c('0xd'));var toCsv=require('to-csv');var querystring=require(_0xde7c('0xe'));var Papa=require(_0xde7c('0xf'));var Redis=require(_0xde7c('0x10'));var authService=require(_0xde7c('0x11'));var qs=require(_0xde7c('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xde7c('0x13'));var logger=require('../../config/logger')(_0xde7c('0x14'));var utils=require(_0xde7c('0x15'));var config=require(_0xde7c('0x16'));var licenseUtil=require(_0xde7c('0x17'));var db=require('../../mysqldb')['db'];var integrations=require(_0xde7c('0x18'));function respondWithStatusCode(_0x133d81,_0x1e2f1e){_0x1e2f1e=_0x1e2f1e||0xcc;return function(_0x48ec21){if(_0x48ec21){return _0x133d81['sendStatus'](_0x1e2f1e);}return _0x133d81[_0xde7c('0x19')](_0x1e2f1e)[_0xde7c('0x1a')]();};}function respondWithResult(_0x182b51,_0x4612c2){_0x4612c2=_0x4612c2||0xc8;return function(_0x2c6864){if(_0x2c6864){return _0x182b51[_0xde7c('0x19')](_0x4612c2)['json'](_0x2c6864);}};}function respondWithFilteredResult(_0x313dab,_0x1adf0e){return function(_0x4b05f5){if(_0x4b05f5){var _0x4d9214=typeof _0x1adf0e[_0xde7c('0x1b')]===_0xde7c('0x1c')&&typeof _0x1adf0e[_0xde7c('0x1d')]===_0xde7c('0x1c');var _0x42480a=_0x4b05f5[_0xde7c('0x1e')];var _0x495b55=_0x4d9214?0x0:_0x1adf0e[_0xde7c('0x1b')];var _0x413732=_0x4d9214?_0x4b05f5[_0xde7c('0x1e')]:_0x1adf0e[_0xde7c('0x1b')]+_0x1adf0e[_0xde7c('0x1d')];var _0x25d915;if(_0x413732>=_0x42480a){_0x413732=_0x42480a;_0x25d915=0xc8;}else{_0x25d915=0xce;}_0x313dab[_0xde7c('0x19')](_0x25d915);return _0x313dab[_0xde7c('0x1f')](_0xde7c('0x20'),_0x495b55+'-'+_0x413732+'/'+_0x42480a)[_0xde7c('0x21')](_0x4b05f5);}return null;};}function patchUpdates(_0xadaa4f){return function(_0x395339){try{jsonpatch[_0xde7c('0x22')](_0x395339,_0xadaa4f,!![]);}catch(_0x3c9bdc){return BPromise[_0xde7c('0x23')](_0x3c9bdc);}return _0x395339[_0xde7c('0x24')]();};}function saveUpdates(_0x555781,_0x468bd5){return function(_0x58bc16){if(_0x58bc16){return _0x58bc16['update'](_0x555781)['then'](function(_0x4c52b2){return _0x4c52b2;});}return null;};}function removeEntity(_0x5aa662,_0x135869){return function(_0x15bf7b){if(_0x15bf7b){return _0x15bf7b['destroy']()['then'](function(){_0x5aa662[_0xde7c('0x19')](0xcc)[_0xde7c('0x1a')]();});}};}function handleEntityNotFound(_0x26f9a2,_0x47164d){return function(_0x59cd72){if(!_0x59cd72){_0x26f9a2[_0xde7c('0x25')](0x194);}return _0x59cd72;};}function handleError(_0x96a23d,_0x5390f3){_0x5390f3=_0x5390f3||0x1f4;return function(_0xd8cb79){logger[_0xde7c('0x26')](_0xd8cb79[_0xde7c('0x27')]);if(_0xd8cb79[_0xde7c('0x28')]){delete _0xd8cb79[_0xde7c('0x28')];}_0x96a23d[_0xde7c('0x19')](_0x5390f3)[_0xde7c('0x29')](_0xd8cb79);};}exports[_0xde7c('0x2a')]=function(_0x127d1e,_0x3b1402){var _0x268fce={},_0x3ff7ac={},_0x1bbade={'count':0x0,'rows':[]};var _0x44696f=_[_0xde7c('0x2b')](db[_0xde7c('0x2c')][_0xde7c('0x2d')],function(_0x2fc1e9){return{'name':_0x2fc1e9[_0xde7c('0x2e')],'type':_0x2fc1e9['type'][_0xde7c('0x2f')]};});_0x3ff7ac['model']=_[_0xde7c('0x2b')](_0x44696f,_0xde7c('0x28'));_0x3ff7ac[_0xde7c('0x30')]=_['keys'](_0x127d1e[_0xde7c('0x30')]);_0x3ff7ac[_0xde7c('0x31')]=_['intersection'](_0x3ff7ac[_0xde7c('0x32')],_0x3ff7ac['query']);_0x268fce[_0xde7c('0x33')]=_[_0xde7c('0x34')](_0x3ff7ac[_0xde7c('0x32')],qs['fields'](_0x127d1e[_0xde7c('0x30')][_0xde7c('0x35')]));_0x268fce[_0xde7c('0x33')]=_0x268fce[_0xde7c('0x33')][_0xde7c('0x36')]?_0x268fce[_0xde7c('0x33')]:_0x3ff7ac[_0xde7c('0x32')];if(!_0x127d1e[_0xde7c('0x30')][_0xde7c('0x37')](_0xde7c('0x38'))){_0x268fce[_0xde7c('0x1d')]=qs[_0xde7c('0x1d')](_0x127d1e[_0xde7c('0x30')]['limit']);_0x268fce['offset']=qs[_0xde7c('0x1b')](_0x127d1e['query'][_0xde7c('0x1b')]);}_0x268fce[_0xde7c('0x39')]=qs[_0xde7c('0x3a')](_0x127d1e[_0xde7c('0x30')][_0xde7c('0x3a')]);_0x268fce['where']=qs[_0xde7c('0x31')](_[_0xde7c('0x3b')](_0x127d1e[_0xde7c('0x30')],_0x3ff7ac[_0xde7c('0x31')]),_0x44696f);if(_0x127d1e[_0xde7c('0x30')][_0xde7c('0x3c')]){_0x268fce[_0xde7c('0x3d')]=_[_0xde7c('0x3e')](_0x268fce[_0xde7c('0x3d')],{'$or':_[_0xde7c('0x2b')](_0x44696f,function(_0x3c7387){if(_0x3c7387[_0xde7c('0x3f')]!==_0xde7c('0x40')){var _0x195660={};_0x195660[_0x3c7387[_0xde7c('0x28')]]={'$like':'%'+_0x127d1e[_0xde7c('0x30')][_0xde7c('0x3c')]+'%'};return _0x195660;}})});}_0x268fce=_[_0xde7c('0x3e')]({},_0x268fce,_0x127d1e[_0xde7c('0x41')]);var _0x8fa1b9={'where':_0x268fce[_0xde7c('0x3d')]};return db['SalesforceAccount'][_0xde7c('0x1e')](_0x8fa1b9)['then'](function(_0x329b0d){_0x1bbade['count']=_0x329b0d;if(_0x127d1e[_0xde7c('0x30')][_0xde7c('0x42')]){_0x268fce['include']=[{'all':!![]}];}return db[_0xde7c('0x2c')][_0xde7c('0x43')](_0x268fce);})['then'](function(_0xef06aa){_0x1bbade[_0xde7c('0x44')]=_0xef06aa;return _0x1bbade;})[_0xde7c('0x45')](respondWithFilteredResult(_0x3b1402,_0x268fce))[_0xde7c('0x46')](handleError(_0x3b1402,null));};exports[_0xde7c('0x47')]=function(_0x17ecf0,_0x2ae391){var _0x35dc04={'raw':![],'where':{'id':_0x17ecf0[_0xde7c('0x48')]['id']}},_0x121969={};_0x121969['model']=_[_0xde7c('0x49')](db['SalesforceAccount'][_0xde7c('0x2d')]);_0x121969[_0xde7c('0x30')]=_[_0xde7c('0x49')](_0x17ecf0[_0xde7c('0x30')]);_0x121969[_0xde7c('0x31')]=_['intersection'](_0x121969[_0xde7c('0x32')],_0x121969[_0xde7c('0x30')]);_0x35dc04['attributes']=_[_0xde7c('0x34')](_0x121969['model'],qs[_0xde7c('0x35')](_0x17ecf0['query'][_0xde7c('0x35')]));_0x35dc04['attributes']=_0x35dc04[_0xde7c('0x33')][_0xde7c('0x36')]?_0x35dc04['attributes']:_0x121969[_0xde7c('0x32')];if(_0x17ecf0[_0xde7c('0x30')]['includeAll']){_0x35dc04['include']=[{'all':!![]}];}_0x35dc04=_[_0xde7c('0x3e')]({},_0x35dc04,_0x17ecf0[_0xde7c('0x41')]);return db['SalesforceAccount'][_0xde7c('0x4a')](_0x35dc04)[_0xde7c('0x45')](handleEntityNotFound(_0x2ae391,null))[_0xde7c('0x45')](respondWithResult(_0x2ae391,null))['catch'](handleError(_0x2ae391,null));};exports[_0xde7c('0x4b')]=function(_0x467a4f,_0x28b10d){return db[_0xde7c('0x2c')]['create'](_0x467a4f[_0xde7c('0x4c')],{})[_0xde7c('0x45')](respondWithResult(_0x28b10d,0xc9))['catch'](handleError(_0x28b10d,null));};exports['update']=function(_0x35e42d,_0x3f4a13){if(_0x35e42d[_0xde7c('0x4c')]['id']){delete _0x35e42d['body']['id'];}return db['SalesforceAccount'][_0xde7c('0x4a')]({'where':{'id':_0x35e42d[_0xde7c('0x48')]['id']}})[_0xde7c('0x45')](handleEntityNotFound(_0x3f4a13,null))[_0xde7c('0x45')](saveUpdates(_0x35e42d['body'],null))[_0xde7c('0x45')](respondWithResult(_0x3f4a13,null))['catch'](handleError(_0x3f4a13,null));};exports[_0xde7c('0x4d')]=function(_0x2a3f92,_0x2791f4){return db[_0xde7c('0x2c')][_0xde7c('0x4a')]({'where':{'id':_0x2a3f92[_0xde7c('0x48')]['id']}})[_0xde7c('0x45')](handleEntityNotFound(_0x2791f4,null))[_0xde7c('0x45')](removeEntity(_0x2791f4,null))[_0xde7c('0x46')](handleError(_0x2791f4,null));};exports[_0xde7c('0x4e')]=function(_0x47102a,_0x436cbe,_0x49ab3f){var _0x26f94e={};var _0x42ac6f={};var _0x20daca;var _0x2fd8a4;return db['SalesforceAccount'][_0xde7c('0x4f')]({'where':{'id':_0x47102a[_0xde7c('0x48')]['id']}})[_0xde7c('0x45')](handleEntityNotFound(_0x436cbe,null))[_0xde7c('0x45')](function(_0x18cd07){if(_0x18cd07){_0x20daca=_0x18cd07;_0x42ac6f[_0xde7c('0x32')]=_['keys'](db['SalesforceConfiguration'][_0xde7c('0x2d')]);_0x42ac6f[_0xde7c('0x30')]=_[_0xde7c('0x49')](_0x47102a['query']);_0x42ac6f['filters']=_[_0xde7c('0x34')](_0x42ac6f[_0xde7c('0x32')],_0x42ac6f['query']);_0x26f94e['attributes']=_[_0xde7c('0x34')](_0x42ac6f[_0xde7c('0x32')],qs[_0xde7c('0x35')](_0x47102a[_0xde7c('0x30')]['fields']));_0x26f94e['attributes']=_0x26f94e[_0xde7c('0x33')][_0xde7c('0x36')]?_0x26f94e[_0xde7c('0x33')]:_0x42ac6f[_0xde7c('0x32')];_0x26f94e[_0xde7c('0x39')]=qs[_0xde7c('0x3a')](_0x47102a[_0xde7c('0x30')]['sort']);_0x26f94e[_0xde7c('0x3d')]=qs[_0xde7c('0x31')](_[_0xde7c('0x3b')](_0x47102a[_0xde7c('0x30')],_0x42ac6f[_0xde7c('0x31')]));if(_0x47102a[_0xde7c('0x30')][_0xde7c('0x3c')]){_0x26f94e[_0xde7c('0x3d')]=_[_0xde7c('0x3e')](_0x26f94e[_0xde7c('0x3d')],{'$or':_[_0xde7c('0x2b')](_0x26f94e[_0xde7c('0x33')],function(_0x4cbfd1){var _0x26c5a1={};_0x26c5a1[_0x4cbfd1]={'$like':'%'+_0x47102a[_0xde7c('0x30')][_0xde7c('0x3c')]+'%'};return _0x26c5a1;})});}_0x26f94e=_['merge']({},_0x26f94e,_0x47102a['options']);return _0x20daca['getConfigurations'](_0x26f94e);}})[_0xde7c('0x45')](function(_0x3ec1d4){if(_0x3ec1d4){_0x2fd8a4=_0x3ec1d4[_0xde7c('0x36')];if(!_0x47102a[_0xde7c('0x30')][_0xde7c('0x37')]('nolimit')){_0x26f94e[_0xde7c('0x1d')]=qs['limit'](_0x47102a[_0xde7c('0x30')]['limit']);_0x26f94e['offset']=qs[_0xde7c('0x1b')](_0x47102a[_0xde7c('0x30')]['offset']);}return _0x20daca[_0xde7c('0x4e')](_0x26f94e);}})['then'](function(_0x3aa35a){if(_0x3aa35a){return _0x3aa35a?{'count':_0x2fd8a4,'rows':_0x3aa35a}:null;}})[_0xde7c('0x45')](respondWithResult(_0x436cbe,null))[_0xde7c('0x46')](handleError(_0x436cbe,null));};exports[_0xde7c('0x50')]=function(_0x31b8f1,_0x288255,_0x4b0f62){if(_0x31b8f1['body']['id']){delete _0x31b8f1[_0xde7c('0x4c')]['id'];}return db[_0xde7c('0x2c')][_0xde7c('0x4f')]({'where':{'id':_0x31b8f1[_0xde7c('0x48')]['id']}})[_0xde7c('0x45')](handleEntityNotFound(_0x288255,null))[_0xde7c('0x45')](function(_0xeabdea){if(_0xeabdea){_0x31b8f1[_0xde7c('0x4c')]['AccountId']=_0xeabdea['id'];_0x31b8f1[_0xde7c('0x4c')][_0xde7c('0x51')]=integrations[_0xde7c('0x52')](_0x31b8f1[_0xde7c('0x4c')][_0xde7c('0x53')],_0x31b8f1[_0xde7c('0x4c')][_0xde7c('0x3f')]);_0x31b8f1['body']['Descriptions']=integrations[_0xde7c('0x54')](_0x31b8f1[_0xde7c('0x4c')]['channel'],_0x31b8f1[_0xde7c('0x4c')][_0xde7c('0x3f')]);return db[_0xde7c('0x55')][_0xde7c('0x4b')](_0x31b8f1[_0xde7c('0x4c')],{'include':[{'model':db['SalesforceField'],'as':'Subjects'},{'model':db[_0xde7c('0x56')],'as':'Descriptions'}]});}return null;})[_0xde7c('0x45')](respondWithResult(_0x288255,null))[_0xde7c('0x46')](handleError(_0x288255,null));};exports[_0xde7c('0x57')]=function(_0x126874,_0x58e03d,_0x1bed3a){var _0x23b446;var _0x4157fc='';var _0x277c43=_0xde7c('0x58');return db[_0xde7c('0x2c')][_0xde7c('0x4f')]({'where':{'id':_0x126874[_0xde7c('0x48')]['id']},'attributes':['id',_0xde7c('0x59'),_0xde7c('0x5a'),_0xde7c('0x5b'),_0xde7c('0x5c'),_0xde7c('0x5d'),_0xde7c('0x5e')]})[_0xde7c('0x45')](handleEntityNotFound(_0x58e03d,null))[_0xde7c('0x45')](function(_0x1af004){if(_0x1af004){_0x4157fc=_0x1af004[_0xde7c('0x59')];var _0x284d96=_0x4157fc[_0xde7c('0x5f')](-0x1);if(_0x284d96==='/'){_0x4157fc=_0x4157fc[_0xde7c('0x60')](0x0,_0x4157fc[_0xde7c('0x61')](_0x284d96));}_0x23b446=new jsforce[(_0xde7c('0x62'))]({'oauth2':{'loginUrl':_0x4157fc,'clientId':_0x1af004[_0xde7c('0x5a')],'clientSecret':_0x1af004[_0xde7c('0x5b')]}});return _0x23b446['login'](_0x1af004[_0xde7c('0x5c')],_0x1af004[_0xde7c('0x5d')][_0xde7c('0x63')](_0x1af004[_0xde7c('0x5e')]));}})['then'](function(_0x56500c){if(_0x56500c){if(!_['isNil'](_0x126874[_0xde7c('0x30')][_0xde7c('0x64')])){_0x277c43=_0x126874['query'][_0xde7c('0x64')];}return _0x23b446['sobject'](_0x277c43)[_0xde7c('0x65')]();}})[_0xde7c('0x45')](function(_0x150a1d){var _0x12336d=[_0xde7c('0x66'),_0xde7c('0x67'),'IsReminderSet',_0xde7c('0x68'),_0xde7c('0x69'),'Description'];var _0x437a1c=[_0xde7c('0x6a'),'int',_0xde7c('0x6b'),_0xde7c('0x6c'),'email',_0xde7c('0x6d'),'phone'];if(_0x150a1d){_[_0xde7c('0x6e')](_0x150a1d[_0xde7c('0x35')],function(_0x24359f){return _0x12336d[_0xde7c('0x6f')](_0x24359f['name'])||!_0x437a1c[_0xde7c('0x6f')](_0x24359f['type']);});return{'count':_0x150a1d['fields'][_0xde7c('0x36')],'rows':_[_0xde7c('0x2b')](_0x150a1d[_0xde7c('0x35')],function(_0x99b415){return{'id':_0x99b415[_0xde7c('0x28')],'name':_0x99b415['label'],'custom':_0x99b415[_0xde7c('0x70')],'options':_0x99b415[_0xde7c('0x71')]['length']>0x0?_[_0xde7c('0x2b')](_0x99b415[_0xde7c('0x71')],function(_0x5ab758){return{'name':_0x5ab758[_0xde7c('0x72')],'value':_0x5ab758[_0xde7c('0x73')]};}):_0x99b415[_0xde7c('0x3f')]=='boolean'?[{'name':_0xde7c('0x74'),'value':_0xde7c('0x75')},{'name':'False','value':_0xde7c('0x76')}]:[]};})};}})[_0xde7c('0x45')](respondWithResult(_0x58e03d,null))[_0xde7c('0x46')](function(_0x4c9537){var _0x59c7ac=_0x126874[_0xde7c('0x30')][_0xde7c('0x77')]?0x1f4:_0x4c9537[_0xde7c('0x78')]||0x1f4;logger[_0xde7c('0x26')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x59c7ac,JSON[_0xde7c('0x79')](_0x4c9537));delete _0x4c9537['name'];if(_0x59c7ac===0x191){_0x59c7ac=0x190;}_0x58e03d[_0xde7c('0x19')](_0x59c7ac)[_0xde7c('0x29')](_0x126874[_0xde7c('0x30')][_0xde7c('0x77')]?{'message':'Wrong\x20credentials','statusCode':_0x4c9537[_0xde7c('0x78')]}:_0x4c9537);});};