75e63b13040d86f664eb5a5368d7ca35f0f06c86
[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 _0x2899=['fieldName','type','model','query','keys','filters','intersection','attributes','fields','order','sort','where','filter','merge','options','includeAll','include','findAll','rows','catch','length','find','create','body','params','util','path','sox','ejs','fs-extra','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','reject','update','then','destroy','error','stack','name','send','index','map','SalesforceField','rawAttributes'];(function(_0x1694f5,_0x49b7c3){var _0x5b4321=function(_0x58c183){while(--_0x58c183){_0x1694f5['push'](_0x1694f5['shift']());}};_0x5b4321(++_0x49b7c3);}(_0x2899,0x121));var _0x9289=function(_0x23487f,_0x540ecd){_0x23487f=_0x23487f-0x0;var _0x1ebc8f=_0x2899[_0x23487f];return _0x1ebc8f;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x9289('0x0'));var path=require(_0x9289('0x1'));var sox=require(_0x9289('0x2'));var csv=require('to-csv');var ejs=require(_0x9289('0x3'));var fs=require('fs');var fs_extra=require(_0x9289('0x4'));var _=require('lodash');var squel=require(_0x9289('0x5'));var crypto=require(_0x9289('0x6'));var jsforce=require('jsforce');var deskjs=require(_0x9289('0x7'));var toCsv=require(_0x9289('0x8'));var querystring=require(_0x9289('0x9'));var Papa=require(_0x9289('0xa'));var Redis=require(_0x9289('0xb'));var authService=require(_0x9289('0xc'));var qs=require(_0x9289('0xd'));var as=require(_0x9289('0xe'));var hardwareService=require(_0x9289('0xf'));var logger=require('../../config/logger')('api');var utils=require(_0x9289('0x10'));var config=require(_0x9289('0x11'));var licenseUtil=require('../../config/license/util');var db=require(_0x9289('0x12'))['db'];function respondWithStatusCode(_0x477fbd,_0x28f92b){_0x28f92b=_0x28f92b||0xcc;return function(_0x251cc2){if(_0x251cc2){return _0x477fbd[_0x9289('0x13')](_0x28f92b);}return _0x477fbd['status'](_0x28f92b)[_0x9289('0x14')]();};}function respondWithResult(_0x11b3b5,_0x180116){_0x180116=_0x180116||0xc8;return function(_0x3f5c94){if(_0x3f5c94){return _0x11b3b5[_0x9289('0x15')](_0x180116)[_0x9289('0x16')](_0x3f5c94);}};}function respondWithFilteredResult(_0x485405,_0x401a1f){return function(_0x358af1){if(_0x358af1){var _0x48257c=typeof _0x401a1f[_0x9289('0x17')]===_0x9289('0x18')&&typeof _0x401a1f[_0x9289('0x19')]===_0x9289('0x18');var _0x498d71=_0x358af1[_0x9289('0x1a')];var _0x326d07=_0x48257c?0x0:_0x401a1f[_0x9289('0x17')];var _0x1c6e6a=_0x48257c?_0x358af1[_0x9289('0x1a')]:_0x401a1f[_0x9289('0x17')]+_0x401a1f[_0x9289('0x19')];var _0x173e44;if(_0x1c6e6a>=_0x498d71){_0x1c6e6a=_0x498d71;_0x173e44=0xc8;}else{_0x173e44=0xce;}_0x485405[_0x9289('0x15')](_0x173e44);return _0x485405[_0x9289('0x1b')](_0x9289('0x1c'),_0x326d07+'-'+_0x1c6e6a+'/'+_0x498d71)['json'](_0x358af1);}return null;};}function patchUpdates(_0x504fa9){return function(_0x3faf0f){try{jsonpatch['apply'](_0x3faf0f,_0x504fa9,!![]);}catch(_0x346170){return BPromise[_0x9289('0x1d')](_0x346170);}return _0x3faf0f['save']();};}function saveUpdates(_0x3d5a05,_0x542ba9){return function(_0x52557e){if(_0x52557e){return _0x52557e[_0x9289('0x1e')](_0x3d5a05)[_0x9289('0x1f')](function(_0x35be82){return _0x35be82;});}return null;};}function removeEntity(_0x2c0097,_0x56e898){return function(_0x557b79){if(_0x557b79){return _0x557b79[_0x9289('0x20')]()[_0x9289('0x1f')](function(){_0x2c0097[_0x9289('0x15')](0xcc)[_0x9289('0x14')]();});}};}function handleEntityNotFound(_0x168302,_0x30cf6c){return function(_0x5f2b85){if(!_0x5f2b85){_0x168302[_0x9289('0x13')](0x194);}return _0x5f2b85;};}function handleError(_0x214ca8,_0xbd9a2e){_0xbd9a2e=_0xbd9a2e||0x1f4;return function(_0x12b3eb){logger[_0x9289('0x21')](_0x12b3eb[_0x9289('0x22')]);if(_0x12b3eb[_0x9289('0x23')]){delete _0x12b3eb[_0x9289('0x23')];}_0x214ca8[_0x9289('0x15')](_0xbd9a2e)[_0x9289('0x24')](_0x12b3eb);};}exports[_0x9289('0x25')]=function(_0x26c4a6,_0x12d43c){var _0x5fd255={},_0x464401={},_0xe160de={'count':0x0,'rows':[]};var _0x330bde=_[_0x9289('0x26')](db[_0x9289('0x27')][_0x9289('0x28')],function(_0x1b6590){return{'name':_0x1b6590[_0x9289('0x29')],'type':_0x1b6590[_0x9289('0x2a')]['key']};});_0x464401[_0x9289('0x2b')]=_[_0x9289('0x26')](_0x330bde,'name');_0x464401[_0x9289('0x2c')]=_[_0x9289('0x2d')](_0x26c4a6['query']);_0x464401[_0x9289('0x2e')]=_[_0x9289('0x2f')](_0x464401[_0x9289('0x2b')],_0x464401[_0x9289('0x2c')]);_0x5fd255[_0x9289('0x30')]=_[_0x9289('0x2f')](_0x464401[_0x9289('0x2b')],qs['fields'](_0x26c4a6[_0x9289('0x2c')][_0x9289('0x31')]));_0x5fd255[_0x9289('0x30')]=_0x5fd255['attributes']['length']?_0x5fd255[_0x9289('0x30')]:_0x464401[_0x9289('0x2b')];if(!_0x26c4a6[_0x9289('0x2c')]['hasOwnProperty']('nolimit')){_0x5fd255[_0x9289('0x19')]=qs[_0x9289('0x19')](_0x26c4a6[_0x9289('0x2c')]['limit']);_0x5fd255[_0x9289('0x17')]=qs[_0x9289('0x17')](_0x26c4a6[_0x9289('0x2c')][_0x9289('0x17')]);}_0x5fd255[_0x9289('0x32')]=qs[_0x9289('0x33')](_0x26c4a6[_0x9289('0x2c')][_0x9289('0x33')]);_0x5fd255[_0x9289('0x34')]=qs[_0x9289('0x2e')](_['pick'](_0x26c4a6[_0x9289('0x2c')],_0x464401[_0x9289('0x2e')]),_0x330bde);if(_0x26c4a6[_0x9289('0x2c')][_0x9289('0x35')]){_0x5fd255[_0x9289('0x34')]=_['merge'](_0x5fd255[_0x9289('0x34')],{'$or':_[_0x9289('0x26')](_0x330bde,function(_0x4a3108){if(_0x4a3108['type']!=='VIRTUAL'){var _0x18fecf={};_0x18fecf[_0x4a3108[_0x9289('0x23')]]={'$like':'%'+_0x26c4a6[_0x9289('0x2c')]['filter']+'%'};return _0x18fecf;}})});}_0x5fd255=_[_0x9289('0x36')]({},_0x5fd255,_0x26c4a6[_0x9289('0x37')]);var _0x42da0a={'where':_0x5fd255[_0x9289('0x34')]};return db[_0x9289('0x27')][_0x9289('0x1a')](_0x42da0a)[_0x9289('0x1f')](function(_0x2879e0){_0xe160de['count']=_0x2879e0;if(_0x26c4a6['query'][_0x9289('0x38')]){_0x5fd255[_0x9289('0x39')]=[{'all':!![]}];}return db[_0x9289('0x27')][_0x9289('0x3a')](_0x5fd255);})['then'](function(_0x139e36){_0xe160de[_0x9289('0x3b')]=_0x139e36;return _0xe160de;})[_0x9289('0x1f')](respondWithFilteredResult(_0x12d43c,_0x5fd255))[_0x9289('0x3c')](handleError(_0x12d43c,null));};exports['show']=function(_0x13e43b,_0xd3d18e){var _0x252a22={'raw':!![],'where':{'id':_0x13e43b['params']['id']}},_0x1daae2={};_0x1daae2['model']=_[_0x9289('0x2d')](db[_0x9289('0x27')][_0x9289('0x28')]);_0x1daae2[_0x9289('0x2c')]=_['keys'](_0x13e43b['query']);_0x1daae2['filters']=_[_0x9289('0x2f')](_0x1daae2[_0x9289('0x2b')],_0x1daae2['query']);_0x252a22[_0x9289('0x30')]=_['intersection'](_0x1daae2[_0x9289('0x2b')],qs['fields'](_0x13e43b[_0x9289('0x2c')][_0x9289('0x31')]));_0x252a22[_0x9289('0x30')]=_0x252a22[_0x9289('0x30')][_0x9289('0x3d')]?_0x252a22[_0x9289('0x30')]:_0x1daae2['model'];if(_0x13e43b['query']['includeAll']){_0x252a22[_0x9289('0x39')]=[{'all':!![]}];}_0x252a22=_['merge']({},_0x252a22,_0x13e43b[_0x9289('0x37')]);return db[_0x9289('0x27')][_0x9289('0x3e')](_0x252a22)[_0x9289('0x1f')](handleEntityNotFound(_0xd3d18e,null))[_0x9289('0x1f')](respondWithResult(_0xd3d18e,null))['catch'](handleError(_0xd3d18e,null));};exports[_0x9289('0x3f')]=function(_0xf86e2c,_0x14c208){return db['SalesforceField'][_0x9289('0x3f')](_0xf86e2c[_0x9289('0x40')],{})[_0x9289('0x1f')](respondWithResult(_0x14c208,0xc9))[_0x9289('0x3c')](handleError(_0x14c208,null));};exports[_0x9289('0x1e')]=function(_0x17421f,_0x37bcc7){if(_0x17421f[_0x9289('0x40')]['id']){delete _0x17421f[_0x9289('0x40')]['id'];}return db[_0x9289('0x27')][_0x9289('0x3e')]({'where':{'id':_0x17421f['params']['id']}})[_0x9289('0x1f')](handleEntityNotFound(_0x37bcc7,null))['then'](saveUpdates(_0x17421f['body'],null))[_0x9289('0x1f')](respondWithResult(_0x37bcc7,null))['catch'](handleError(_0x37bcc7,null));};exports[_0x9289('0x20')]=function(_0x428c5c,_0x5d3bee){return db[_0x9289('0x27')][_0x9289('0x3e')]({'where':{'id':_0x428c5c[_0x9289('0x41')]['id']}})[_0x9289('0x1f')](handleEntityNotFound(_0x5d3bee,null))['then'](removeEntity(_0x5d3bee,null))['catch'](handleError(_0x5d3bee,null));};