Built motion from commit 54184aa2.|2.6.22
[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 _0xcb69=['getConfigurations','addConfiguration','getSubjects','channel','getDescriptions','SalesforceConfiguration','SalesforceField','Descriptions','getFields','Task','remoteUri','clientId','clientSecret','username','slice','substring','Connection','login','concat','securityToken','isNil','ticketType','sobject','OwnerId','ActivityDate','IsReminderSet','Subject','string','picklist','email','textarea','phone','includes','picklistValues','label','value','True','true','False','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','test','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','destroy','then','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','catch','show','params','create','body','update','find','findOne','nolimit'];(function(_0x1d9e40,_0x1c44db){var _0x2ee94f=function(_0x37a330){while(--_0x37a330){_0x1d9e40['push'](_0x1d9e40['shift']());}};_0x2ee94f(++_0x1c44db);}(_0xcb69,0xab));var _0x9cb6=function(_0x6ee536,_0x312299){_0x6ee536=_0x6ee536-0x0;var _0x2d4126=_0xcb69[_0x6ee536];return _0x2d4126;};'use strict';var emlformat=require(_0x9cb6('0x0'));var rimraf=require(_0x9cb6('0x1'));var zipdir=require(_0x9cb6('0x2'));var jsonpatch=require(_0x9cb6('0x3'));var rp=require(_0x9cb6('0x4'));var moment=require(_0x9cb6('0x5'));var BPromise=require(_0x9cb6('0x6'));var Mustache=require(_0x9cb6('0x7'));var util=require('util');var path=require(_0x9cb6('0x8'));var sox=require(_0x9cb6('0x9'));var csv=require('to-csv');var ejs=require(_0x9cb6('0xa'));var fs=require('fs');var fs_extra=require(_0x9cb6('0xb'));var _=require(_0x9cb6('0xc'));var squel=require(_0x9cb6('0xd'));var crypto=require('crypto');var jsforce=require(_0x9cb6('0xe'));var deskjs=require(_0x9cb6('0xf'));var toCsv=require(_0x9cb6('0x10'));var querystring=require(_0x9cb6('0x11'));var Papa=require(_0x9cb6('0x12'));var Redis=require(_0x9cb6('0x13'));var authService=require(_0x9cb6('0x14'));var qs=require(_0x9cb6('0x15'));var as=require(_0x9cb6('0x16'));var hardwareService=require(_0x9cb6('0x17'));var logger=require('../../config/logger')(_0x9cb6('0x18'));var utils=require(_0x9cb6('0x19'));var config=require(_0x9cb6('0x1a'));var licenseUtil=require(_0x9cb6('0x1b'));var db=require(_0x9cb6('0x1c'))['db'];var integrations=require(_0x9cb6('0x1d'));function respondWithStatusCode(_0x33d367,_0x11a14a){_0x11a14a=_0x11a14a||0xcc;return function(_0xa76558){if(_0xa76558){return _0x33d367[_0x9cb6('0x1e')](_0x11a14a);}return _0x33d367['status'](_0x11a14a)[_0x9cb6('0x1f')]();};}function respondWithResult(_0x1906c5,_0x1fe52b){_0x1fe52b=_0x1fe52b||0xc8;return function(_0x5585f6){if(_0x5585f6){return _0x1906c5[_0x9cb6('0x20')](_0x1fe52b)[_0x9cb6('0x21')](_0x5585f6);}};}function respondWithFilteredResult(_0x803b65,_0x22cb6f){return function(_0x46bbe4){if(_0x46bbe4){var _0x31bf68=typeof _0x22cb6f[_0x9cb6('0x22')]===_0x9cb6('0x23')&&typeof _0x22cb6f[_0x9cb6('0x24')]===_0x9cb6('0x23');var _0x3dc58f=_0x46bbe4[_0x9cb6('0x25')];var _0x2cf023=_0x31bf68?0x0:_0x22cb6f[_0x9cb6('0x22')];var _0x37e5e0=_0x31bf68?_0x46bbe4[_0x9cb6('0x25')]:_0x22cb6f[_0x9cb6('0x22')]+_0x22cb6f[_0x9cb6('0x24')];var _0x16ebd4;if(_0x37e5e0>=_0x3dc58f){_0x37e5e0=_0x3dc58f;_0x16ebd4=0xc8;}else{_0x16ebd4=0xce;}_0x803b65[_0x9cb6('0x20')](_0x16ebd4);return _0x803b65[_0x9cb6('0x26')](_0x9cb6('0x27'),_0x2cf023+'-'+_0x37e5e0+'/'+_0x3dc58f)[_0x9cb6('0x21')](_0x46bbe4);}return null;};}function patchUpdates(_0x3ea571){return function(_0x5a628f){try{jsonpatch[_0x9cb6('0x28')](_0x5a628f,_0x3ea571,!![]);}catch(_0x3fdf64){return BPromise['reject'](_0x3fdf64);}return _0x5a628f[_0x9cb6('0x29')]();};}function saveUpdates(_0x228f04,_0x54c771){return function(_0xa92dd1){if(_0xa92dd1){return _0xa92dd1['update'](_0x228f04)['then'](function(_0x2c735c){return _0x2c735c;});}return null;};}function removeEntity(_0x1dbd15,_0x5c9899){return function(_0x3ee97f){if(_0x3ee97f){return _0x3ee97f[_0x9cb6('0x2a')]()[_0x9cb6('0x2b')](function(){_0x1dbd15[_0x9cb6('0x20')](0xcc)[_0x9cb6('0x1f')]();});}};}function handleEntityNotFound(_0x3b2249,_0x2993f6){return function(_0x56e9ad){if(!_0x56e9ad){_0x3b2249['sendStatus'](0x194);}return _0x56e9ad;};}function handleError(_0x1ef587,_0x459cda){_0x459cda=_0x459cda||0x1f4;return function(_0x2ff020){logger[_0x9cb6('0x2c')](_0x2ff020[_0x9cb6('0x2d')]);if(_0x2ff020[_0x9cb6('0x2e')]){delete _0x2ff020[_0x9cb6('0x2e')];}_0x1ef587[_0x9cb6('0x20')](_0x459cda)[_0x9cb6('0x2f')](_0x2ff020);};}exports[_0x9cb6('0x30')]=function(_0x483ce9,_0xb15516){var _0x42e167={},_0x54c5bf={},_0x44057e={'count':0x0,'rows':[]};var _0x119aa4=_[_0x9cb6('0x31')](db[_0x9cb6('0x32')][_0x9cb6('0x33')],function(_0xfee2a9){return{'name':_0xfee2a9[_0x9cb6('0x34')],'type':_0xfee2a9[_0x9cb6('0x35')][_0x9cb6('0x36')]};});_0x54c5bf[_0x9cb6('0x37')]=_[_0x9cb6('0x31')](_0x119aa4,_0x9cb6('0x2e'));_0x54c5bf[_0x9cb6('0x38')]=_[_0x9cb6('0x39')](_0x483ce9[_0x9cb6('0x38')]);_0x54c5bf[_0x9cb6('0x3a')]=_['intersection'](_0x54c5bf[_0x9cb6('0x37')],_0x54c5bf[_0x9cb6('0x38')]);_0x42e167['attributes']=_[_0x9cb6('0x3b')](_0x54c5bf['model'],qs[_0x9cb6('0x3c')](_0x483ce9[_0x9cb6('0x38')]['fields']));_0x42e167[_0x9cb6('0x3d')]=_0x42e167[_0x9cb6('0x3d')][_0x9cb6('0x3e')]?_0x42e167[_0x9cb6('0x3d')]:_0x54c5bf[_0x9cb6('0x37')];if(!_0x483ce9[_0x9cb6('0x38')][_0x9cb6('0x3f')]('nolimit')){_0x42e167[_0x9cb6('0x24')]=qs[_0x9cb6('0x24')](_0x483ce9[_0x9cb6('0x38')][_0x9cb6('0x24')]);_0x42e167[_0x9cb6('0x22')]=qs['offset'](_0x483ce9[_0x9cb6('0x38')][_0x9cb6('0x22')]);}_0x42e167[_0x9cb6('0x40')]=qs['sort'](_0x483ce9[_0x9cb6('0x38')][_0x9cb6('0x41')]);_0x42e167[_0x9cb6('0x42')]=qs[_0x9cb6('0x3a')](_[_0x9cb6('0x43')](_0x483ce9['query'],_0x54c5bf[_0x9cb6('0x3a')]),_0x119aa4);if(_0x483ce9['query'][_0x9cb6('0x44')]){_0x42e167['where']=_[_0x9cb6('0x45')](_0x42e167[_0x9cb6('0x42')],{'$or':_[_0x9cb6('0x31')](_0x119aa4,function(_0xca1c65){if(_0xca1c65[_0x9cb6('0x35')]!=='VIRTUAL'){var _0x4893ac={};_0x4893ac[_0xca1c65[_0x9cb6('0x2e')]]={'$like':'%'+_0x483ce9[_0x9cb6('0x38')][_0x9cb6('0x44')]+'%'};return _0x4893ac;}})});}_0x42e167=_['merge']({},_0x42e167,_0x483ce9[_0x9cb6('0x46')]);var _0x34bc6b={'where':_0x42e167[_0x9cb6('0x42')]};return db[_0x9cb6('0x32')]['count'](_0x34bc6b)[_0x9cb6('0x2b')](function(_0x4c181a){_0x44057e[_0x9cb6('0x25')]=_0x4c181a;if(_0x483ce9[_0x9cb6('0x38')][_0x9cb6('0x47')]){_0x42e167[_0x9cb6('0x48')]=[{'all':!![]}];}return db[_0x9cb6('0x32')][_0x9cb6('0x49')](_0x42e167);})[_0x9cb6('0x2b')](function(_0x25ca19){_0x44057e['rows']=_0x25ca19;return _0x44057e;})['then'](respondWithFilteredResult(_0xb15516,_0x42e167))[_0x9cb6('0x4a')](handleError(_0xb15516,null));};exports[_0x9cb6('0x4b')]=function(_0x16cd6b,_0x40aa9e){var _0x45b2fa={'raw':![],'where':{'id':_0x16cd6b[_0x9cb6('0x4c')]['id']}},_0x4a6db4={};_0x4a6db4[_0x9cb6('0x37')]=_[_0x9cb6('0x39')](db[_0x9cb6('0x32')][_0x9cb6('0x33')]);_0x4a6db4[_0x9cb6('0x38')]=_['keys'](_0x16cd6b[_0x9cb6('0x38')]);_0x4a6db4['filters']=_[_0x9cb6('0x3b')](_0x4a6db4['model'],_0x4a6db4[_0x9cb6('0x38')]);_0x45b2fa[_0x9cb6('0x3d')]=_['intersection'](_0x4a6db4['model'],qs[_0x9cb6('0x3c')](_0x16cd6b[_0x9cb6('0x38')][_0x9cb6('0x3c')]));_0x45b2fa[_0x9cb6('0x3d')]=_0x45b2fa[_0x9cb6('0x3d')][_0x9cb6('0x3e')]?_0x45b2fa['attributes']:_0x4a6db4[_0x9cb6('0x37')];if(_0x16cd6b[_0x9cb6('0x38')][_0x9cb6('0x47')]){_0x45b2fa[_0x9cb6('0x48')]=[{'all':!![]}];}_0x45b2fa=_['merge']({},_0x45b2fa,_0x16cd6b['options']);return db[_0x9cb6('0x32')]['find'](_0x45b2fa)[_0x9cb6('0x2b')](handleEntityNotFound(_0x40aa9e,null))[_0x9cb6('0x2b')](respondWithResult(_0x40aa9e,null))[_0x9cb6('0x4a')](handleError(_0x40aa9e,null));};exports[_0x9cb6('0x4d')]=function(_0x212b40,_0x288e7f){return db[_0x9cb6('0x32')]['create'](_0x212b40[_0x9cb6('0x4e')],{})['then'](respondWithResult(_0x288e7f,0xc9))[_0x9cb6('0x4a')](handleError(_0x288e7f,null));};exports[_0x9cb6('0x4f')]=function(_0x44f06c,_0x3b06e0){if(_0x44f06c[_0x9cb6('0x4e')]['id']){delete _0x44f06c[_0x9cb6('0x4e')]['id'];}return db[_0x9cb6('0x32')][_0x9cb6('0x50')]({'where':{'id':_0x44f06c[_0x9cb6('0x4c')]['id']}})[_0x9cb6('0x2b')](handleEntityNotFound(_0x3b06e0,null))[_0x9cb6('0x2b')](saveUpdates(_0x44f06c[_0x9cb6('0x4e')],null))['then'](respondWithResult(_0x3b06e0,null))['catch'](handleError(_0x3b06e0,null));};exports[_0x9cb6('0x2a')]=function(_0x48f8c1,_0x4c2b28){return db['SalesforceAccount']['find']({'where':{'id':_0x48f8c1[_0x9cb6('0x4c')]['id']}})['then'](handleEntityNotFound(_0x4c2b28,null))[_0x9cb6('0x2b')](removeEntity(_0x4c2b28,null))[_0x9cb6('0x4a')](handleError(_0x4c2b28,null));};exports['getConfigurations']=function(_0x138824,_0x2d9969,_0x56545e){var _0x345841={};var _0x249109={};var _0x43b913;var _0x564767;return db[_0x9cb6('0x32')][_0x9cb6('0x51')]({'where':{'id':_0x138824[_0x9cb6('0x4c')]['id']}})['then'](handleEntityNotFound(_0x2d9969,null))[_0x9cb6('0x2b')](function(_0x27ae3c){if(_0x27ae3c){_0x43b913=_0x27ae3c;_0x249109[_0x9cb6('0x37')]=_[_0x9cb6('0x39')](db['SalesforceConfiguration'][_0x9cb6('0x33')]);_0x249109['query']=_[_0x9cb6('0x39')](_0x138824['query']);_0x249109[_0x9cb6('0x3a')]=_[_0x9cb6('0x3b')](_0x249109[_0x9cb6('0x37')],_0x249109[_0x9cb6('0x38')]);_0x345841[_0x9cb6('0x3d')]=_[_0x9cb6('0x3b')](_0x249109[_0x9cb6('0x37')],qs[_0x9cb6('0x3c')](_0x138824[_0x9cb6('0x38')][_0x9cb6('0x3c')]));_0x345841['attributes']=_0x345841[_0x9cb6('0x3d')][_0x9cb6('0x3e')]?_0x345841[_0x9cb6('0x3d')]:_0x249109[_0x9cb6('0x37')];_0x345841[_0x9cb6('0x40')]=qs['sort'](_0x138824[_0x9cb6('0x38')][_0x9cb6('0x41')]);_0x345841[_0x9cb6('0x42')]=qs[_0x9cb6('0x3a')](_[_0x9cb6('0x43')](_0x138824[_0x9cb6('0x38')],_0x249109[_0x9cb6('0x3a')]));if(_0x138824[_0x9cb6('0x38')][_0x9cb6('0x44')]){_0x345841[_0x9cb6('0x42')]=_[_0x9cb6('0x45')](_0x345841[_0x9cb6('0x42')],{'$or':_[_0x9cb6('0x31')](_0x345841[_0x9cb6('0x3d')],function(_0x4d4731){var _0x3db745={};_0x3db745[_0x4d4731]={'$like':'%'+_0x138824['query'][_0x9cb6('0x44')]+'%'};return _0x3db745;})});}_0x345841=_[_0x9cb6('0x45')]({},_0x345841,_0x138824[_0x9cb6('0x46')]);return _0x43b913['getConfigurations'](_0x345841);}})[_0x9cb6('0x2b')](function(_0x267056){if(_0x267056){_0x564767=_0x267056[_0x9cb6('0x3e')];if(!_0x138824[_0x9cb6('0x38')][_0x9cb6('0x3f')](_0x9cb6('0x52'))){_0x345841['limit']=qs['limit'](_0x138824[_0x9cb6('0x38')][_0x9cb6('0x24')]);_0x345841['offset']=qs['offset'](_0x138824[_0x9cb6('0x38')]['offset']);}return _0x43b913[_0x9cb6('0x53')](_0x345841);}})['then'](function(_0x566ea4){if(_0x566ea4){return _0x566ea4?{'count':_0x564767,'rows':_0x566ea4}:null;}})[_0x9cb6('0x2b')](respondWithResult(_0x2d9969,null))[_0x9cb6('0x4a')](handleError(_0x2d9969,null));};exports[_0x9cb6('0x54')]=function(_0x30027c,_0x255f32,_0x41f641){if(_0x30027c[_0x9cb6('0x4e')]['id']){delete _0x30027c['body']['id'];}return db['SalesforceAccount'][_0x9cb6('0x51')]({'where':{'id':_0x30027c[_0x9cb6('0x4c')]['id']}})['then'](handleEntityNotFound(_0x255f32,null))['then'](function(_0x13914d){if(_0x13914d){_0x30027c[_0x9cb6('0x4e')]['AccountId']=_0x13914d['id'];_0x30027c[_0x9cb6('0x4e')]['Subjects']=integrations[_0x9cb6('0x55')](_0x30027c[_0x9cb6('0x4e')][_0x9cb6('0x56')],_0x30027c[_0x9cb6('0x4e')][_0x9cb6('0x35')]);_0x30027c['body']['Descriptions']=integrations[_0x9cb6('0x57')](_0x30027c[_0x9cb6('0x4e')][_0x9cb6('0x56')],_0x30027c[_0x9cb6('0x4e')][_0x9cb6('0x35')]);return db[_0x9cb6('0x58')]['create'](_0x30027c[_0x9cb6('0x4e')],{'include':[{'model':db[_0x9cb6('0x59')],'as':'Subjects'},{'model':db['SalesforceField'],'as':_0x9cb6('0x5a')}]});}return null;})['then'](respondWithResult(_0x255f32,null))[_0x9cb6('0x4a')](handleError(_0x255f32,null));};exports[_0x9cb6('0x5b')]=function(_0x4ad55e,_0x4ebbbe,_0x5d33a8){var _0x3d65c2;var _0x270718='';var _0x3f61bb=_0x9cb6('0x5c');return db[_0x9cb6('0x32')][_0x9cb6('0x51')]({'where':{'id':_0x4ad55e[_0x9cb6('0x4c')]['id']},'attributes':['id',_0x9cb6('0x5d'),_0x9cb6('0x5e'),_0x9cb6('0x5f'),_0x9cb6('0x60'),'password','securityToken']})[_0x9cb6('0x2b')](handleEntityNotFound(_0x4ebbbe,null))[_0x9cb6('0x2b')](function(_0x243fb6){if(_0x243fb6){_0x270718=_0x243fb6[_0x9cb6('0x5d')];var _0x4b4bb4=_0x270718[_0x9cb6('0x61')](-0x1);if(_0x4b4bb4==='/'){_0x270718=_0x270718[_0x9cb6('0x62')](0x0,_0x270718['lastIndexOf'](_0x4b4bb4));}_0x3d65c2=new jsforce[(_0x9cb6('0x63'))]({'oauth2':{'loginUrl':_0x270718,'clientId':_0x243fb6[_0x9cb6('0x5e')],'clientSecret':_0x243fb6[_0x9cb6('0x5f')]}});return _0x3d65c2[_0x9cb6('0x64')](_0x243fb6['username'],_0x243fb6['password'][_0x9cb6('0x65')](_0x243fb6[_0x9cb6('0x66')]));}})[_0x9cb6('0x2b')](function(_0x3d18f3){if(_0x3d18f3){if(!_[_0x9cb6('0x67')](_0x4ad55e[_0x9cb6('0x38')][_0x9cb6('0x68')])){_0x3f61bb=_0x4ad55e[_0x9cb6('0x38')][_0x9cb6('0x68')];}return _0x3d65c2[_0x9cb6('0x69')](_0x3f61bb)['describe']();}})[_0x9cb6('0x2b')](function(_0x1bd1f7){var _0x2b102f=[_0x9cb6('0x6a'),_0x9cb6('0x6b'),_0x9cb6('0x6c'),'IsRecurrence',_0x9cb6('0x6d'),'Description'];var _0x28b946=[_0x9cb6('0x6e'),'int',_0x9cb6('0x6f'),'boolean',_0x9cb6('0x70'),_0x9cb6('0x71'),_0x9cb6('0x72')];if(_0x1bd1f7){_['remove'](_0x1bd1f7[_0x9cb6('0x3c')],function(_0xe46d1d){return _0x2b102f[_0x9cb6('0x73')](_0xe46d1d['name'])||!_0x28b946[_0x9cb6('0x73')](_0xe46d1d[_0x9cb6('0x35')]);});return{'count':_0x1bd1f7[_0x9cb6('0x3c')][_0x9cb6('0x3e')],'rows':_[_0x9cb6('0x31')](_0x1bd1f7[_0x9cb6('0x3c')],function(_0x3ee70a){return{'id':_0x3ee70a['name'],'name':_0x3ee70a['label'],'custom':_0x3ee70a['custom'],'options':_0x3ee70a[_0x9cb6('0x74')][_0x9cb6('0x3e')]>0x0?_[_0x9cb6('0x31')](_0x3ee70a['picklistValues'],function(_0x5dc19e){return{'name':_0x5dc19e[_0x9cb6('0x75')],'value':_0x5dc19e[_0x9cb6('0x76')]};}):_0x3ee70a[_0x9cb6('0x35')]=='boolean'?[{'name':_0x9cb6('0x77'),'value':_0x9cb6('0x78')},{'name':_0x9cb6('0x79'),'value':'false'}]:[]};})};}})[_0x9cb6('0x2b')](respondWithResult(_0x4ebbbe,null))['catch'](function(_0x84e492){var _0x25a054=_0x4ad55e[_0x9cb6('0x38')]['test']?0x1f4:_0x84e492[_0x9cb6('0x7a')]||0x1f4;logger[_0x9cb6('0x2c')](_0x9cb6('0x7b'),_0x9cb6('0x5b'),_0x25a054,JSON[_0x9cb6('0x7c')](_0x84e492));delete _0x84e492['name'];if(_0x25a054===0x191){_0x25a054=0x190;}_0x4ebbbe[_0x9cb6('0x20')](_0x25a054)['send'](_0x4ad55e[_0x9cb6('0x38')][_0x9cb6('0x7d')]?{'message':_0x9cb6('0x7e'),'statusCode':_0x84e492[_0x9cb6('0x7a')]}:_0x84e492);});};