Built motion from commit 497d3d92.|2.5.43
[motion2.git] / server / api / intSalesforceField / intSalesforceField.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 _0x26f5=['name','index','rawAttributes','fieldName','type','key','model','map','query','keys','filters','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','SalesforceField','then','includeAll','include','findAll','rows','catch','show','params','intersection','find','create','update','body','eml-format','rimraf','zip-dir','request-promise','moment','path','sox','to-csv','fs-extra','squel','crypto','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','destroy','error','stack'];(function(_0x3b644f,_0x56bded){var _0x1431e6=function(_0x383d67){while(--_0x383d67){_0x3b644f['push'](_0x3b644f['shift']());}};_0x1431e6(++_0x56bded);}(_0x26f5,0x149));var _0x526f=function(_0x18a5dd,_0x138389){_0x18a5dd=_0x18a5dd-0x0;var _0x5dac3f=_0x26f5[_0x18a5dd];return _0x5dac3f;};'use strict';var emlformat=require(_0x526f('0x0'));var rimraf=require(_0x526f('0x1'));var zipdir=require(_0x526f('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x526f('0x3'));var moment=require(_0x526f('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0x526f('0x5'));var sox=require(_0x526f('0x6'));var csv=require(_0x526f('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x526f('0x8'));var _=require('lodash');var squel=require(_0x526f('0x9'));var crypto=require(_0x526f('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x526f('0x7'));var querystring=require('querystring');var Papa=require(_0x526f('0xb'));var Redis=require(_0x526f('0xc'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x526f('0xd'));var hardwareService=require(_0x526f('0xe'));var logger=require(_0x526f('0xf'))(_0x526f('0x10'));var utils=require('../../config/utils');var config=require(_0x526f('0x11'));var licenseUtil=require(_0x526f('0x12'));var db=require(_0x526f('0x13'))['db'];function respondWithStatusCode(_0x4c91ee,_0x50a1ac){_0x50a1ac=_0x50a1ac||0xcc;return function(_0x31e150){if(_0x31e150){return _0x4c91ee[_0x526f('0x14')](_0x50a1ac);}return _0x4c91ee[_0x526f('0x15')](_0x50a1ac)[_0x526f('0x16')]();};}function respondWithResult(_0x38511a,_0x2e20a5){_0x2e20a5=_0x2e20a5||0xc8;return function(_0x3c13e2){if(_0x3c13e2){return _0x38511a[_0x526f('0x15')](_0x2e20a5)[_0x526f('0x17')](_0x3c13e2);}};}function respondWithFilteredResult(_0x333f8a,_0x7ab213){return function(_0x8ac135){if(_0x8ac135){var _0x4a7ff8=typeof _0x7ab213[_0x526f('0x18')]==='undefined'&&typeof _0x7ab213[_0x526f('0x19')]===_0x526f('0x1a');var _0x42f009=_0x8ac135['count'];var _0x1f990b=_0x4a7ff8?0x0:_0x7ab213[_0x526f('0x18')];var _0x29d0d4=_0x4a7ff8?_0x8ac135[_0x526f('0x1b')]:_0x7ab213[_0x526f('0x18')]+_0x7ab213['limit'];var _0x2b6984;if(_0x29d0d4>=_0x42f009){_0x29d0d4=_0x42f009;_0x2b6984=0xc8;}else{_0x2b6984=0xce;}_0x333f8a[_0x526f('0x15')](_0x2b6984);return _0x333f8a[_0x526f('0x1c')](_0x526f('0x1d'),_0x1f990b+'-'+_0x29d0d4+'/'+_0x42f009)['json'](_0x8ac135);}return null;};}function patchUpdates(_0x4c1a3e){return function(_0x2c3e13){try{jsonpatch[_0x526f('0x1e')](_0x2c3e13,_0x4c1a3e,!![]);}catch(_0x18fbbb){return BPromise[_0x526f('0x1f')](_0x18fbbb);}return _0x2c3e13[_0x526f('0x20')]();};}function saveUpdates(_0x49af55,_0x444be6){return function(_0x44db6f){if(_0x44db6f){return _0x44db6f['update'](_0x49af55)['then'](function(_0x4e2e19){return _0x4e2e19;});}return null;};}function removeEntity(_0x42f756,_0x46cc8b){return function(_0x718cac){if(_0x718cac){return _0x718cac[_0x526f('0x21')]()['then'](function(){_0x42f756['status'](0xcc)[_0x526f('0x16')]();});}};}function handleEntityNotFound(_0x547b48,_0x32f588){return function(_0x291008){if(!_0x291008){_0x547b48[_0x526f('0x14')](0x194);}return _0x291008;};}function handleError(_0x43d340,_0x52854e){_0x52854e=_0x52854e||0x1f4;return function(_0x3dacde){logger[_0x526f('0x22')](_0x3dacde[_0x526f('0x23')]);if(_0x3dacde[_0x526f('0x24')]){delete _0x3dacde[_0x526f('0x24')];}_0x43d340[_0x526f('0x15')](_0x52854e)['send'](_0x3dacde);};}exports[_0x526f('0x25')]=function(_0x57b635,_0x46b086){var _0x5270d7={},_0x460038={},_0xa1886d={'count':0x0,'rows':[]};var _0x508938=_['map'](db['SalesforceField'][_0x526f('0x26')],function(_0x6a9c65){return{'name':_0x6a9c65[_0x526f('0x27')],'type':_0x6a9c65[_0x526f('0x28')][_0x526f('0x29')]};});_0x460038[_0x526f('0x2a')]=_[_0x526f('0x2b')](_0x508938,'name');_0x460038[_0x526f('0x2c')]=_[_0x526f('0x2d')](_0x57b635[_0x526f('0x2c')]);_0x460038[_0x526f('0x2e')]=_['intersection'](_0x460038[_0x526f('0x2a')],_0x460038[_0x526f('0x2c')]);_0x5270d7['attributes']=_['intersection'](_0x460038[_0x526f('0x2a')],qs['fields'](_0x57b635['query'][_0x526f('0x2f')]));_0x5270d7[_0x526f('0x30')]=_0x5270d7[_0x526f('0x30')][_0x526f('0x31')]?_0x5270d7['attributes']:_0x460038[_0x526f('0x2a')];if(!_0x57b635[_0x526f('0x2c')][_0x526f('0x32')](_0x526f('0x33'))){_0x5270d7[_0x526f('0x19')]=qs[_0x526f('0x19')](_0x57b635[_0x526f('0x2c')]['limit']);_0x5270d7['offset']=qs[_0x526f('0x18')](_0x57b635[_0x526f('0x2c')][_0x526f('0x18')]);}_0x5270d7[_0x526f('0x34')]=qs[_0x526f('0x35')](_0x57b635['query'][_0x526f('0x35')]);_0x5270d7[_0x526f('0x36')]=qs['filters'](_[_0x526f('0x37')](_0x57b635[_0x526f('0x2c')],_0x460038[_0x526f('0x2e')]),_0x508938);if(_0x57b635[_0x526f('0x2c')][_0x526f('0x38')]){_0x5270d7['where']=_[_0x526f('0x39')](_0x5270d7[_0x526f('0x36')],{'$or':_['map'](_0x508938,function(_0x3b3ff7){if(_0x3b3ff7[_0x526f('0x28')]!==_0x526f('0x3a')){var _0x5e51a1={};_0x5e51a1[_0x3b3ff7[_0x526f('0x24')]]={'$like':'%'+_0x57b635[_0x526f('0x2c')][_0x526f('0x38')]+'%'};return _0x5e51a1;}})});}_0x5270d7=_['merge']({},_0x5270d7,_0x57b635['options']);var _0x51706f={'where':_0x5270d7[_0x526f('0x36')]};return db[_0x526f('0x3b')]['count'](_0x51706f)[_0x526f('0x3c')](function(_0x195370){_0xa1886d['count']=_0x195370;if(_0x57b635[_0x526f('0x2c')][_0x526f('0x3d')]){_0x5270d7[_0x526f('0x3e')]=[{'all':!![]}];}return db[_0x526f('0x3b')][_0x526f('0x3f')](_0x5270d7);})[_0x526f('0x3c')](function(_0x3a5086){_0xa1886d[_0x526f('0x40')]=_0x3a5086;return _0xa1886d;})['then'](respondWithFilteredResult(_0x46b086,_0x5270d7))[_0x526f('0x41')](handleError(_0x46b086,null));};exports[_0x526f('0x42')]=function(_0x4c564c,_0x337f50){var _0x396b2d={'raw':!![],'where':{'id':_0x4c564c[_0x526f('0x43')]['id']}},_0x564a4a={};_0x564a4a['model']=_[_0x526f('0x2d')](db[_0x526f('0x3b')][_0x526f('0x26')]);_0x564a4a['query']=_[_0x526f('0x2d')](_0x4c564c[_0x526f('0x2c')]);_0x564a4a[_0x526f('0x2e')]=_[_0x526f('0x44')](_0x564a4a[_0x526f('0x2a')],_0x564a4a[_0x526f('0x2c')]);_0x396b2d[_0x526f('0x30')]=_[_0x526f('0x44')](_0x564a4a['model'],qs[_0x526f('0x2f')](_0x4c564c['query']['fields']));_0x396b2d[_0x526f('0x30')]=_0x396b2d[_0x526f('0x30')][_0x526f('0x31')]?_0x396b2d[_0x526f('0x30')]:_0x564a4a[_0x526f('0x2a')];if(_0x4c564c['query']['includeAll']){_0x396b2d['include']=[{'all':!![]}];}_0x396b2d=_['merge']({},_0x396b2d,_0x4c564c['options']);return db[_0x526f('0x3b')][_0x526f('0x45')](_0x396b2d)[_0x526f('0x3c')](handleEntityNotFound(_0x337f50,null))[_0x526f('0x3c')](respondWithResult(_0x337f50,null))[_0x526f('0x41')](handleError(_0x337f50,null));};exports[_0x526f('0x46')]=function(_0x2ae1f8,_0x55cb71){return db[_0x526f('0x3b')]['create'](_0x2ae1f8['body'],{})[_0x526f('0x3c')](respondWithResult(_0x55cb71,0xc9))[_0x526f('0x41')](handleError(_0x55cb71,null));};exports[_0x526f('0x47')]=function(_0x1586e3,_0xf32c8b){if(_0x1586e3['body']['id']){delete _0x1586e3[_0x526f('0x48')]['id'];}return db[_0x526f('0x3b')][_0x526f('0x45')]({'where':{'id':_0x1586e3[_0x526f('0x43')]['id']}})[_0x526f('0x3c')](handleEntityNotFound(_0xf32c8b,null))[_0x526f('0x3c')](saveUpdates(_0x1586e3[_0x526f('0x48')],null))['then'](respondWithResult(_0xf32c8b,null))['catch'](handleError(_0xf32c8b,null));};exports[_0x526f('0x21')]=function(_0x26e452,_0x516740){return db[_0x526f('0x3b')]['find']({'where':{'id':_0x26e452[_0x526f('0x43')]['id']}})[_0x526f('0x3c')](handleEntityNotFound(_0x516740,null))[_0x526f('0x3c')](removeEntity(_0x516740,null))[_0x526f('0x41')](handleError(_0x516740,null));};