Built motion from commit 449495f6.|2.6.27
[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 _0x235a=['stack','name','send','index','map','rawAttributes','query','intersection','model','fields','attributes','hasOwnProperty','nolimit','order','where','filters','pick','filter','type','VIRTUAL','options','SalesforceField','includeAll','include','findAll','rows','show','keys','length','merge','find','catch','body','params','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','apply','reject','then','end','error'];(function(_0x19e11a,_0x4fb378){var _0x3bc99e=function(_0x5b8e1a){while(--_0x5b8e1a){_0x19e11a['push'](_0x19e11a['shift']());}};_0x3bc99e(++_0x4fb378);}(_0x235a,0x100));var _0xa235=function(_0x4f28ab,_0x43d2f1){_0x4f28ab=_0x4f28ab-0x0;var _0x551362=_0x235a[_0x4f28ab];return _0x551362;};'use strict';var emlformat=require(_0xa235('0x0'));var rimraf=require(_0xa235('0x1'));var zipdir=require(_0xa235('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xa235('0x3'));var BPromise=require(_0xa235('0x4'));var Mustache=require(_0xa235('0x5'));var util=require(_0xa235('0x6'));var path=require(_0xa235('0x7'));var sox=require(_0xa235('0x8'));var csv=require(_0xa235('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xa235('0xa'));var _=require(_0xa235('0xb'));var squel=require(_0xa235('0xc'));var crypto=require(_0xa235('0xd'));var jsforce=require(_0xa235('0xe'));var deskjs=require(_0xa235('0xf'));var toCsv=require(_0xa235('0x9'));var querystring=require(_0xa235('0x10'));var Papa=require('papaparse');var Redis=require(_0xa235('0x11'));var authService=require(_0xa235('0x12'));var qs=require(_0xa235('0x13'));var as=require(_0xa235('0x14'));var hardwareService=require(_0xa235('0x15'));var logger=require(_0xa235('0x16'))(_0xa235('0x17'));var utils=require(_0xa235('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0xa235('0x19'));var db=require(_0xa235('0x1a'))['db'];function respondWithStatusCode(_0x2afea7,_0xdf11e5){_0xdf11e5=_0xdf11e5||0xcc;return function(_0x1f9a06){if(_0x1f9a06){return _0x2afea7[_0xa235('0x1b')](_0xdf11e5);}return _0x2afea7[_0xa235('0x1c')](_0xdf11e5)['end']();};}function respondWithResult(_0x43f994,_0x1de941){_0x1de941=_0x1de941||0xc8;return function(_0x2671c5){if(_0x2671c5){return _0x43f994[_0xa235('0x1c')](_0x1de941)[_0xa235('0x1d')](_0x2671c5);}};}function respondWithFilteredResult(_0x70733c,_0x8e42a5){return function(_0x20391c){if(_0x20391c){var _0x1ea7f7=typeof _0x8e42a5[_0xa235('0x1e')]===_0xa235('0x1f')&&typeof _0x8e42a5[_0xa235('0x20')]===_0xa235('0x1f');var _0x1a789c=_0x20391c['count'];var _0x39d9f4=_0x1ea7f7?0x0:_0x8e42a5['offset'];var _0x31c68b=_0x1ea7f7?_0x20391c[_0xa235('0x21')]:_0x8e42a5['offset']+_0x8e42a5[_0xa235('0x20')];var _0xa822e6;if(_0x31c68b>=_0x1a789c){_0x31c68b=_0x1a789c;_0xa822e6=0xc8;}else{_0xa822e6=0xce;}_0x70733c['status'](_0xa822e6);return _0x70733c[_0xa235('0x22')]('Content-Range',_0x39d9f4+'-'+_0x31c68b+'/'+_0x1a789c)[_0xa235('0x1d')](_0x20391c);}return null;};}function patchUpdates(_0x3f5108){return function(_0x327b82){try{jsonpatch[_0xa235('0x23')](_0x327b82,_0x3f5108,!![]);}catch(_0x34b1ba){return BPromise[_0xa235('0x24')](_0x34b1ba);}return _0x327b82['save']();};}function saveUpdates(_0x55bf39,_0x435370){return function(_0x509e77){if(_0x509e77){return _0x509e77['update'](_0x55bf39)[_0xa235('0x25')](function(_0x2cbc0a){return _0x2cbc0a;});}return null;};}function removeEntity(_0x3c07d0,_0x3c0c5e){return function(_0x9aecba){if(_0x9aecba){return _0x9aecba['destroy']()[_0xa235('0x25')](function(){_0x3c07d0['status'](0xcc)[_0xa235('0x26')]();});}};}function handleEntityNotFound(_0x3ebacd,_0x4dac4e){return function(_0x3e8449){if(!_0x3e8449){_0x3ebacd[_0xa235('0x1b')](0x194);}return _0x3e8449;};}function handleError(_0x2503d7,_0x599054){_0x599054=_0x599054||0x1f4;return function(_0x568d0f){logger[_0xa235('0x27')](_0x568d0f[_0xa235('0x28')]);if(_0x568d0f[_0xa235('0x29')]){delete _0x568d0f['name'];}_0x2503d7[_0xa235('0x1c')](_0x599054)[_0xa235('0x2a')](_0x568d0f);};}exports[_0xa235('0x2b')]=function(_0x270698,_0x1f6624){var _0x2de835={},_0x3db367={},_0x34f99f={'count':0x0,'rows':[]};var _0x325386=_[_0xa235('0x2c')](db['SalesforceField'][_0xa235('0x2d')],function(_0x30c223){return{'name':_0x30c223['fieldName'],'type':_0x30c223['type']['key']};});_0x3db367['model']=_[_0xa235('0x2c')](_0x325386,'name');_0x3db367['query']=_['keys'](_0x270698[_0xa235('0x2e')]);_0x3db367['filters']=_[_0xa235('0x2f')](_0x3db367[_0xa235('0x30')],_0x3db367[_0xa235('0x2e')]);_0x2de835['attributes']=_[_0xa235('0x2f')](_0x3db367[_0xa235('0x30')],qs[_0xa235('0x31')](_0x270698[_0xa235('0x2e')][_0xa235('0x31')]));_0x2de835[_0xa235('0x32')]=_0x2de835['attributes']['length']?_0x2de835['attributes']:_0x3db367[_0xa235('0x30')];if(!_0x270698[_0xa235('0x2e')][_0xa235('0x33')](_0xa235('0x34'))){_0x2de835[_0xa235('0x20')]=qs['limit'](_0x270698[_0xa235('0x2e')]['limit']);_0x2de835['offset']=qs['offset'](_0x270698[_0xa235('0x2e')][_0xa235('0x1e')]);}_0x2de835[_0xa235('0x35')]=qs['sort'](_0x270698['query']['sort']);_0x2de835[_0xa235('0x36')]=qs[_0xa235('0x37')](_[_0xa235('0x38')](_0x270698['query'],_0x3db367[_0xa235('0x37')]),_0x325386);if(_0x270698[_0xa235('0x2e')][_0xa235('0x39')]){_0x2de835[_0xa235('0x36')]=_['merge'](_0x2de835[_0xa235('0x36')],{'$or':_[_0xa235('0x2c')](_0x325386,function(_0xc5222){if(_0xc5222[_0xa235('0x3a')]!==_0xa235('0x3b')){var _0x2eb8f3={};_0x2eb8f3[_0xc5222[_0xa235('0x29')]]={'$like':'%'+_0x270698['query'][_0xa235('0x39')]+'%'};return _0x2eb8f3;}})});}_0x2de835=_['merge']({},_0x2de835,_0x270698[_0xa235('0x3c')]);var _0x235dec={'where':_0x2de835[_0xa235('0x36')]};return db[_0xa235('0x3d')][_0xa235('0x21')](_0x235dec)[_0xa235('0x25')](function(_0x13d376){_0x34f99f[_0xa235('0x21')]=_0x13d376;if(_0x270698[_0xa235('0x2e')][_0xa235('0x3e')]){_0x2de835[_0xa235('0x3f')]=[{'all':!![]}];}return db['SalesforceField'][_0xa235('0x40')](_0x2de835);})[_0xa235('0x25')](function(_0x3ae12e){_0x34f99f[_0xa235('0x41')]=_0x3ae12e;return _0x34f99f;})[_0xa235('0x25')](respondWithFilteredResult(_0x1f6624,_0x2de835))['catch'](handleError(_0x1f6624,null));};exports[_0xa235('0x42')]=function(_0x1009de,_0x3f55cf){var _0x27b9a5={'raw':!![],'where':{'id':_0x1009de['params']['id']}},_0x264c28={};_0x264c28[_0xa235('0x30')]=_[_0xa235('0x43')](db['SalesforceField'][_0xa235('0x2d')]);_0x264c28[_0xa235('0x2e')]=_[_0xa235('0x43')](_0x1009de[_0xa235('0x2e')]);_0x264c28[_0xa235('0x37')]=_[_0xa235('0x2f')](_0x264c28['model'],_0x264c28[_0xa235('0x2e')]);_0x27b9a5[_0xa235('0x32')]=_[_0xa235('0x2f')](_0x264c28['model'],qs[_0xa235('0x31')](_0x1009de['query'][_0xa235('0x31')]));_0x27b9a5[_0xa235('0x32')]=_0x27b9a5[_0xa235('0x32')][_0xa235('0x44')]?_0x27b9a5['attributes']:_0x264c28[_0xa235('0x30')];if(_0x1009de['query'][_0xa235('0x3e')]){_0x27b9a5['include']=[{'all':!![]}];}_0x27b9a5=_[_0xa235('0x45')]({},_0x27b9a5,_0x1009de[_0xa235('0x3c')]);return db['SalesforceField'][_0xa235('0x46')](_0x27b9a5)[_0xa235('0x25')](handleEntityNotFound(_0x3f55cf,null))[_0xa235('0x25')](respondWithResult(_0x3f55cf,null))[_0xa235('0x47')](handleError(_0x3f55cf,null));};exports['create']=function(_0x2d5fb8,_0x37a475){return db[_0xa235('0x3d')]['create'](_0x2d5fb8[_0xa235('0x48')],{})[_0xa235('0x25')](respondWithResult(_0x37a475,0xc9))['catch'](handleError(_0x37a475,null));};exports['update']=function(_0x2b8280,_0x5a182c){if(_0x2b8280['body']['id']){delete _0x2b8280[_0xa235('0x48')]['id'];}return db[_0xa235('0x3d')]['find']({'where':{'id':_0x2b8280[_0xa235('0x49')]['id']}})['then'](handleEntityNotFound(_0x5a182c,null))['then'](saveUpdates(_0x2b8280[_0xa235('0x48')],null))[_0xa235('0x25')](respondWithResult(_0x5a182c,null))[_0xa235('0x47')](handleError(_0x5a182c,null));};exports['destroy']=function(_0x2548ec,_0x1caf0c){return db[_0xa235('0x3d')][_0xa235('0x46')]({'where':{'id':_0x2548ec[_0xa235('0x49')]['id']}})['then'](handleEntityNotFound(_0x1caf0c,null))[_0xa235('0x25')](removeEntity(_0x1caf0c,null))[_0xa235('0x47')](handleError(_0x1caf0c,null));};